﻿@font-face {
    font-family: "Helvetica Neue";
    font-weight: normal;
    font-style: normal;
    src: url(../Fonts/HelveticaNeue-Regular.otf) format("opentype");
}

@font-face {
    font-family: "Helvetica Neue";
    font-weight: normal;
    font-style: italic;
    src: url("../Fonts/HelveticaNeue-Italic.ttf") format("ttf"), url("../Fonts/HelveticaNeue-Italic.ttf") format("ttf"), url("../Fonts/HelveticaNeue-Italic.ttf.ttf") format("truetype");
}

@font-face {
    font-family: "Helvetica Neue";
    font-weight: bold;
    src: url(../Fonts/HelveticaNeue-Bold) format("opentype");
}

@font-face {
    font-family: "Helvetica Neue";
    font-weight: bold;
    font-style: italic;
    src: url(../Fonts/HelveticaNeue-BoldItalic.otf) format("opentype");
}

:root {
    --primary-color: #C0021C;
    --secondary-color: #000;
    --accent-color: #BF001A;
    --accent-color4: #172F66;
    --black: #000;
    --white: #FFF;
    --grey: #B4B4B4;
    --text-color: var(--black);
    --login-block-bg: var(--primary-color);
    --login-text: var(--white);
    --login-input-bg: var(--white);
    --login-input-text: var(--secondary-color);
    --row-header-bg: var(--primary-color);
    --row-header-text: var(--white);
    --header-bg: var(--black);
    --header-text: var(--white);
    --header-list-bg: var(--white);
    --header-list-text: var(--black);
    --header-sticky-bg: var(--primary-color);
    --header-sticky-text: var(--white);
    --header-sticky-list-bg: var(--white);
    --header-sticky-list-text: var(--black);
    --basket-list-bg: var(--primary-color);
    --basket-list-text: var(--white);
    --basket-button-bg: var(--primary-color);
    --basket-button-text: var(--white);
    --basket-button-hover-bg: var(--white);
    --order-step-bg: var(--primary-color);
    --order-step-text: var(--white);
    --order-step-hover: var(--secondary-color);
    --order-step-active-bg: var(--secondary-color);
    --order-step-active-text: var(--white);
    --product-points-text: var(--primary-color);
    --footer-bg: var(--primary-color);
    --footer-text: var(--white);
    --slider-start: var(--primary-color);
    --slider-end: var(--primary-color);
    --footer-size: 54px;
    --footer-size-loggedin: 254px;
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: var(--text-color);
}

/* Header */
.row-header {
    background: var(--row-header-bg) !important;
    color: var(--row-header-text) !important;
}

    .row-header .row .logo-container {
        padding: 0 2px !important;
    }

        .row-header .row .logo-container img {
            margin: 0 !important;
            padding: 5px 0 !important;
            max-height: 60px !important;
        }

    .row-header .logo-container .logo-row {
        padding: 0 2px !important;
    }

        .row-header .logo-container .logo-row img {
            margin: 5px 0 -5px 0 !important;
            padding: 0 !important;
            max-height: 60px !important;
        }

    .row-header .header-points a, .header-points span {
        color: var(--white) !important;
    }

        .row-header .header-points a:hover, .header-points a:focus {
            color: var(--secondary-color) !important;
        }

    .row-header .header-pull-down {
        margin: 15px 0 10px 0 !important;
        padding: 0 !important;
    }

        .row-header .header-pull-down .header-points {
            line-height: 30px;
        }

    .row-header .savings-goal-star-active {
        color: var(--secondary-color) !important;
    }

    .row-header .savings-goal-order-btn {
        color: #696762;
    }

        .row-header .savings-goal-order-btn .mat-icon:hover, .row-header .savings-goal-order-btn .mat-icon:focus {
            color: var(--accent-color);
        }

    .row-header .basket-click {
        background: url(../Images/basket_icon_white.png) no-repeat center;
        color: var(--row-header-text) !important;
    }

        .row-header .basket-click:hover {
            color: var(--secondary-color) !important;
        }

    .row-header .header-user .user-list ul li a {
        color: var(--black);
    }

        .row-header .header-user .user-list ul li a:hover {
            color: var(--accent-color);
        }

    .row-header #savings-goal-dropdown {
        color: var(--black);
        z-index: 98;
    }

        .row-header #savings-goal-dropdown .title.text-start {
            padding-left: 0px;
        }

.basket-list .basket_top,
.basket-list .basket_total {
    background: var(--basket-list-bg) !important;
    color: var(--basket-list-text) !important;
}

    .basket-list .basket_total .text-end {
        color: var(--white) !important;
        font-weight: bold;
    }

.basket-list .basket_button button {
    background: var(--basket-button-bg) !important;
    color: var(--basket-button-text) !important;
}

    .basket-list .basket_button button:hover {
        background: var(--basket-button-text) !important;
        outline: 1px solid var(--basket-button-bg) !important;
        color: var(--basket-button-bg) !important;
    }

/* Header - Mobile */
.mobile-header {
    background: var(--primary-color);
    color: var(--white);
    border-bottom: 3px solid var(--primary-color) !important;
}

    .mobile-header .savings-goal-star-active {
        color: var(--secondary-color) !important;
    }

    .mobile-header a {
        color: var(--white) !important;
    }

        .mobile-header a:hover {
            color: var(--secondary-color) !important;
        }

    .mobile-header .basket-click {
        background: url(../Images/basket_icon_white.png) no-repeat center;
        color: var(--white) !important;
        max-height: 24px !important;
        padding: 0px 2px 0px 7px;
    }

        .mobile-header .basket-click:hover {
            color: var(--secondary-color) !important;
        }

    .mobile-header .navbar-toggler .mat-icon {
        color: var(--white);
    }

        .mobile-header .navbar-toggler .mat-icon:hover {
            color: var(--secondary-color);
        }

.logo-container-mobile {
    background: var(--white) !important;
}

    .logo-container-mobile img {
        max-width: 180px;
        padding-left: 8px;
        padding-right: 8px;
    }

/* Menu */
.desktop-menu-container {
    background: var(--header-bg);
    color: var(--header-text);
}

    .desktop-menu-container li a {
        background: none;
        color: var(--header-text) !important;
    }

        .desktop-menu-container li a:hover {
            background: none !important;
            color: var(--accent-color) !important;
        }

    .desktop-menu-container .submenu li a {
        background: none;
        color: var(--header-list-text) !important;
    }

        .desktop-menu-container .submenu li a:hover {
            background: none;
            color: var(--accent-color) !important;
        }

.desktop-menu-container-sticky {
    background: var(--header-sticky-bg);
    color: var(--header-sticky-text);
}

    .desktop-menu-container-sticky .sticky-logo {
        margin: 0 !important;
        padding: 0 2px !important;
    }

        .desktop-menu-container-sticky .sticky-logo img {
            margin: 5px 0 0 0 !important;
            max-height: 60px !important;
        }

    .desktop-menu-container-sticky .sticky-menu-items {
        margin: 10px 0 !important;
        padding: 0 !important;
    }

        .desktop-menu-container-sticky .sticky-menu-items .navbar {
            margin: 0 !important;
            padding: 0 !important;
            line-height: 30px;
        }

    .desktop-menu-container-sticky li a {
        background: none;
        color: var(--header-sticky-text) !important;
    }

        .desktop-menu-container-sticky li a:hover {
            background: none;
            color: var(--secondary-color) !important;
        }

    .desktop-menu-container-sticky .submenu li a {
        background: none;
        color: var(--header-sticky-list-text) !important;
    }

        .desktop-menu-container-sticky .submenu li a:hover {
            background: none;
            color: var(--accent-color) !important;
        }

    .desktop-menu-container-sticky .header-points a {
        color: var(--header-sticky-text) !important;
    }

        .desktop-menu-container-sticky .header-points a:hover, .desktop-menu-container-sticky .header-points a:focus {
            color: var(--secondary-color) !important;
        }

    .desktop-menu-container-sticky .basket-click {
        background: url(../Images/basket_icon_white.png) no-repeat center;
        color: var(--header-sticky-text) !important;
    }

        .desktop-menu-container-sticky .basket-click:hover {
            color: var(--secondary-color) !important;
        }

/* Menu - Mobile */
.mobile-menu .mobile-user {
    background: var(--primary-color) !important;
    border-top: 4px solid var(--primary-color);
}

    .mobile-menu .mobile-user a,
    .mobile-menu .mobile-user span {
        color: var(--white) !important;
    }

        .mobile-menu .mobile-user a:hover,
        .mobile-menu .mobile-user span:hover {
            color: var(--black) !important;
        }

.mobile-menu .sidebar-nav li a {
    color: var(--white) !important;
}

    .mobile-menu .sidebar-nav li a:hover {
        background: var(--black) !important;
        color: var(--primary-color) !important;
        border-left: var(--accent-color) 2px solid !important;
    }

.mobile-menu .mobile-menu-block {
    background: var(--black);
    border-bottom: 4px solid var(--primary-color);
}

.offcanvas-body {
    background: var(--black);
}

/* Catalog */
.input-group .input-group-text {
    background: var(--white) !important;
    color: var(--primary-color) !important;
}

    .input-group .input-group-text:hover, .input-group .input-group-text:focus {
        background: var(--primary-color) !important;
        border-color: var(--accent-color) !important;
        color: var(--white) !important;
    }

.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.ngrs-range-slider .ngrs-join {
    background-image: linear-gradient(var(--slider-start), var(--slider-end));
}

.slider-value .slider-dummy-button {
    background: var(--white) !important;
    color: var(--primary-color) !important;
}

    .slider-value .slider-dummy-button:hover, .slider-value .slider-dummy-button:focus {
        background: var(--primary-color) !important;
        border-color: var(--accent-color) !important;
        color: var(--white) !important;
    }

.catalog-block {
    background: var(--white) !important;
    color: var(--secondary-color) !important;
}

    .catalog-block:hover {
        background: var(--primary-color) !important;
        color: var(--white) !important;
    }

    .catalog-block .catalog-img {
        filter: brightness(0) saturate(100%)
    }

    .catalog-block:hover .catalog-img {
        filter: brightness(0) saturate(100%) invert(100%) sepia(5%) saturate(1%) hue-rotate(61deg) brightness(105%) contrast(100%);
    }

    .catalog-block .catalog-block-savingsgoal-overlay {
        background: var(--primary-color) !important;
        color: var(--white) !important;
    }

        .catalog-block .catalog-block-savingsgoal-overlay .progress-buttons .mat-icon {
            color: var(--white) !important;
        }

            .catalog-block .catalog-block-savingsgoal-overlay .progress-buttons .mat-icon:hover {
                color: var(--secondary-color) !important;
            }

/* Order */
.order-steps {
    background-color: var(--order-step-bg) !important;
    color: var(--order-step-text) !important;
}

    .order-steps div:hover {
        background-color: var(--order-step-hover) !important;
        color: var(--order-step-active-text);
    }

    .order-steps div.disable-step:hover {
        background-color: var(--order-step-bg) !important;
        color: var(--order-step-text) !important;
    }

    .order-steps div.active-step {
        background-color: var(--order-step-active-bg) !important;
        color: var(--order-step-active-text) !important;
    }

        .order-steps div.active-step:hover {
            background-color: var(--order-step-hover) !important;
            color: var(--order-step-text) !important;
        }

.basket-continue-button button {
    background: var(--white) !important;
    outline: 1px solid var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}

    .basket-continue-button button:hover {
        background: var(--primary-color) !important;
        color: var(--white) !important;
    }

.basket-continue-button .btn-success {
    background: var(--primary-color) !important;
    color: var(--white) !important;
}

    .basket-continue-button .btn-success:hover {
        background: var(--white) !important;
        outline: 1px solid var(--primary-color) !important;
        border-color: var(--primary-color) !important;
        color: var(--primary-color) !important;
    }

/* Footer */
.footer-container {
    background: var(--footer-bg);
    color: var(--footer-text);
    padding: 10px 0 !important;
    font-size: 14px;
    line-height: 34px !important;
}

    .footer-container .footer-copyright {
        padding: 10px 0 0 0 !important;
        line-height: 34px !important;
    }

    .footer-container a {
        color: var(--footer-text);
    }

        .footer-container a:hover {
            color: var(--black);
        }

    .footer-container .social-container {
        float: right;
        height: 34px !important;
    }

        .footer-container .social-container img {
            margin-left: 8px;
        }

    .footer-container .social-container-mobile {
        align-content: center;
        text-align: center;
        margin: 10px 10px 0 0 !important;
    }

        .footer-container .social-container-mobile img {
            margin: 0 4px;
        }

.wrapper_main_content {
    padding-bottom: var(--footer-size);
}

.wrapper_main_footer {
    margin-top: calc(-1 * var(--footer-size));
    height: var(--footer-size);
    max-height: var(--footer-size);
}

    .wrapper_main_footer svg {
        padding: 0px !important;
    }

.wrapper_main_content_loggedin {
    padding-bottom: var(--footer-size-loggedin);
}

.wrapper_main_footer_loggedin {
    margin-top: calc(-1 * var(--footer-size-loggedin));
    height: var(--footer-size-loggedin);
    max-height: var(--footer-size-loggedin);
}

/* Login */
.loginblock .front {
    background: var(--login-block-bg);
    color: var(--login-text) !important;
}

    .loginblock .front .form-check-input:checked {
        background-color: var(--secondary-color);
        border-color: var(--secondary-color);
    }

.loginblock .back {
    background: var(--login-block-bg);
    color: var(--login-text) !important;
}

.loginblock #UserName,
.loginblock #UserNameLogin,
.loginblock #Password {
    background: var(--login-input-bg);
    outline: 1px solid var(--primary-color) !important;
    color: var(--login-input-text);
}

.loginblock form.ng-touched > div:nth-child(1) > span:nth-child(3),
.loginblock form.ng-touched > div:nth-child(2) > span:nth-child(3) {
    color: var(--white) !important;
}

.login_action_container .btn-primary {
    background: var(--white) !important;
    color: var(--secondary-color) !important;
}

    .login_action_container .btn-primary:hover,
    .login_action_container .btn-primary:focus {
        background: var(--secondary-color) !important;
        outline: 1px solid var(--secondary-color) !important;
        color: var(--white) !important;
    }

.login_links a {
    color: var(--white);
}

    .login_links a:hover {
        color: var(--secondary-color);
    }

.btn-primary,
.order-direct-container,
.delivery-container .btn-primary {
    background: var(--white) !important;
    color: var(--secondary-color) !important;
}

    .btn-primary:hover,
    .btn-primary:focus {
        background: var(--white) !important;
        outline: 1px solid var(--secondary-color) !important;
        color: var(--primary-color) !important;
    }

/* Show more */
.fade-out-block-button-open span,
.fade-out-block-button-open .mat-icon,
.fade-out-block-button-close span,
.fade-out-block-button-close .mat-icon {
    color: var(--primary-color);
}

/* Product */
.product-points,
.product-container-blocks .product-title a:hover {
    color: var(--product-points-text);
}

.product-icon div .mat-icon {
    color: var(--secondary-color);
}

    .product-icon div .mat-icon:hover, .product-icon div .mat-icon:focus {
        color: var(--primary-color);
    }

.product-details-button .btn {
    background: var(--primary-color) !important;
    color: var(--white) !important;
}

    .product-details-button .btn:hover {
        background: var(--white) !important;
        outline: 2px solid var(--primary-color) !important;
        color: var(--primary-color) !important;
    }

.product-offer {
    background: var(--primary-color) !important;
    color: var(--white) !important;
}

.product-recommend {
    background: var(--primary-color) !important;
    color: var(--white) !important;
}

.product-details-icon .mat-icon {
    color: var(--secondary-color);
}

    .product-details-icon .mat-icon:hover,
    .product-details-icon .mat-icon:focus {
        color: var(--accent-color);
    }

/* Service */
.service-btn:hover {
    background: var(--accent-color) !important;
}

/* Others */
.delivery-container .btn-primary,
.delivery-container .btn-primary:hover,
.delivery-container .btn-primary:focus {
    border: 1px solid var(--accent-color);
}

.max-body-width {
    padding-bottom: 10px;
}

.voucher-claim-button-container .btn,
.voucher-claim-button-container .btn:hover {
    background: var(--accent-color) !important;
    color: var(--white) !important;
}

.order-direct-container {
    border: 2px solid var(--accent-color);
    border-radius: 6px;
}

    .order-direct-container:hover {
        color: var(--white) !important;
        background: var(--accent-color) !important;
    }

@media (max-width: 576px) {
    .voucher-claim-button-container {
        margin-bottom: 5px;
        padding: 0px;
    }

    .ng-claim-voucher-container,
    .voucher-claim-field-container {
        padding: 0px;
    }
}

/* Claims */
.claim-container .claim-articles-container .claim-available-articles {
    text-align: center;
}

    .claim-container .claim-articles-container .claim-available-articles .claim-article {
        display: inline-block;
        padding: 10px;
        margin: 10px 10px 10px 0;
        border: 1px solid #d4d4d4;
        /*width: 410px; voor 2 per regel*/
        width: 270px; /*voor 3 per regel*/
    }

        .claim-container .claim-articles-container .claim-available-articles .claim-article img {
            width: 100%;
            object-fit: cover;
        }

        .claim-container .claim-articles-container .claim-available-articles .claim-article .claim-article-description {
            text-align: center;
            font-weight: bold;
            margin: 10px 0 0 0;
        }

            .claim-container .claim-articles-container .claim-available-articles .claim-article .claim-article-description span {
                font-weight: normal;
            }

        .claim-container .claim-articles-container .claim-available-articles .claim-article .claim-article-buttons {
            width: 100px;
            margin: 15px auto 0 auto;
        }

            .claim-container .claim-articles-container .claim-available-articles .claim-article .claim-article-buttons input {
                text-align: center;
                width: 100px;
            }

                .claim-container .claim-articles-container .claim-available-articles .claim-article .claim-article-buttons input[type=number]::-webkit-inner-spin-button,
                .claim-container .claim-articles-container .claim-available-articles .claim-article .claim-article-buttons input[type=number]::-webkit-outer-spin-button {
                    opacity: 1;
                }

.claim-container .claim-info-container .claim-invoice, .claim-container .claim-info-container .claim-submit {
    padding: 10px;
    margin: 10px 0 10px 0;
    border: 1px solid #d4d4d4;
}

    .claim-container .claim-info-container .claim-invoice h2, .claim-container .claim-info-container .claim-submit h2 {
        color: #2871af;
        font-size: 20px;
        margin: 0 0 20px 0;
    }

    .claim-container .claim-info-container .claim-invoice mat-form-field {
        width: 100%;
        margin-bottom: 5px;
    }

    .claim-container .claim-info-container .claim-invoice .claim-invoice-error {
        margin-bottom: 10px;
    }

    .claim-container .claim-info-container .claim-submit label {
        font-weight: normal;
    }

        .claim-container .claim-info-container .claim-submit label.mat-checkbox-layout {
            white-space: normal;
            display: block;
        }

    .claim-container .claim-info-container .claim-submit .error {
        margin-top: 10px;
        font-weight: bold;
    }

@media (max-width: 1180px) {
    .claim-container .claim-articles-container .claim-available-articles .claim-article {
        width: 270px;
    }

        .claim-container .claim-articles-container .claim-available-articles .claim-article .claim-article-buttons {
            margin: 10px 0 0 75px;
        }
}

.claim-file-upload-field {
    display: flex;
    flex-direction: column;
    margin-top: 1rem;
}

.claim-file-input-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.claim-file-name,
.claim-file-placeholder {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 14px;
    font-style: italic;
    color: rgba(0, 0, 0, 0.7);
}

.mat-dialog-container button span {
    color: var(--white) !important;
}
