html {
    /* FDS colors */
    --fds-black: #000;
    --fds-white: #fff;
    --fds-primary-lighter: #eaeefa;
    --fds-primary-light: #a9bce9;
    --fds-primary: #2957c8;
    --fds-primary-dark: #0736a8;
    --fds-primary-darker: #041d58;
    --fds-blue-foyer-lighter: #f0f5fa;
    --fds-blue-foyer-light: #3979b4;
    --fds-blue-foyer: #004c92;
    --fds-blue-foyer-dark: #033767;
    --fds-blue-foyer-darker: #01213c;
    --fds-yellow-lighter: #fefae8;
    --fds-yellow-light: #f9e176;
    --fds-yellow: #f5ce22;
    --fds-yellow-dark: #ddb91f;
    --fds-yellow-darker: #7b6711;
    --fds-warning-lighter: #ffede0;
    --fds-warning-light: #fcb373;
    --fds-warning: #fb8823;
    --fds-warning-dark: #c35004;
    --fds-warning-darker: #642902;
    --fds-danger-lighter: #fff0f0;
    --fds-danger-light: #f39194;
    --fds-danger: #ed5e63;
    --fds-danger-dark: #d14449;
    --fds-danger-darker: #a32c30;
    --fds-success-lighter: #e0f5f3;
    --fds-success-light: #59c5b3;
    --fds-success: #00a88c;
    --fds-success-dark: #008670;
    --fds-success-darker: #006353;
    --fds-feather-grey-lighter: #f8f9fc;
    --fds-feather-grey-light: #eaeef6;
    --fds-feather-grey: #c4cede;
    --fds-feather-grey-dark: #67768e;
    --fds-feather-grey-darker: #454f5f;
    --fds-grey-shadow: rgba(64, 72, 79, .25);
    --fds-udb-mobile: #f5ce22;
    --fds-udb-habitation: #c4057a;
    --fds-udb-sante: #c780b4;
    --fds-udb-pension: #69c2c3;
    --fds-white-000: hsla(0, 0%, 100%, 0);
    --fds-white-050: hsla(0, 0%, 100%, .05);
    --fds-white-100: hsla(0, 0%, 100%, .1);
    --fds-white-150: hsla(0, 0%, 100%, .15);
    --fds-white-200: hsla(0, 0%, 100%, .2);
    --fds-white-250: hsla(0, 0%, 100%, .25);
    --fds-white-400: hsla(0, 0%, 100%, .4);
    --fds-white-500: hsla(0, 0%, 100%, .5);
    --fds-white-650: hsla(0, 0%, 100%, .65);
    --fds-white-800: hsla(0, 0%, 100%, .8);
    --fds-white-900: hsla(0, 0%, 100%, .9);
    --fds-black-000: transparent;
    --fds-black-050: rgba(0, 0, 0, .05);
    --fds-black-100: rgba(0, 0, 0, .1);
    --fds-black-150: rgba(0, 0, 0, .15);
    --fds-black-200: rgba(0, 0, 0, .2);
    --fds-black-400: rgba(0, 0, 0, .4);
    --fds-black-500: rgba(0, 0, 0, .5);
}

/**
 * Global
 */

body,
html {
    overflow-x: hidden;
}

h1 {font-size: 2.488rem;}
.block-category h1 {
    font-size: 2.488em
}

h2 {font-size: 2.074rem;}

h3 {font-size: 1.728rem;}

h4 {font-size: 1.44rem;}

h5 {font-size: 1.2rem;}

.h1, .h2, .h3, .h4, .h5, .h6{
    text-transform: none;
    color:var(--fds-primary-dark);
}

small, .text_small {font-size: 0.833rem;}

.text-uppercase {
    text-transform:none !important;
}

#wrapper[id="wrapper"] {
    background: var(--fds-primary-lighter);
}

#content section > .h2 {
    font-size: 2rem;
    text-transform: none!important;
    text-align: center;
    font-weight: bold;
    color: var(--fds-primary);
}

.btn {
    border-radius:4px;
}

/*
 * Top nav over the logo banner
 */

#header .header-nav {
    max-height: none;
    font-size: 0.8rem;
    border-bottom: 1px solid var(--fds-feather-grey-light);
    color: var(--fds-feather-grey-darker);
    background: var(--fds-primary-lighter);
}

#header .header-nav a {
    color: var(--fds-feather-grey-darker);

}

.header-nav .hidden-sm-down .col-md-5 {
    display: flex;
    gap: 24px;
}

.header-nav .hidden-sm-down [id="_desktop_language_selector"] {
    order: -1;
}

.header-nav .material-icons {
    font-size: 20px;
}

.header-nav .user-info {
    display: flex;    
}

.header-nav .user-info .logout {
    overflow: hidden;
    max-width: 20px;
    order: 10;
    margin-left: 8px;
    transition: all .5s;
}

.header-nav .user-info .logout:hover,
.header-nav .user-info .logout:focus {
    max-width: 20ch;
}

.header-nav .user-info .logout::before {
    content: '\e8ac';
    display: inline-block;
    width: 1em;
    height: 1em;
    font-family: "Material Icons", Arial, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    vertical-align: middle;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    color: var(--fds-danger-dark);
}

.account .material-icons.hidden-md-up {
    display: inline-block!important;
}

.logout .material-icons {
    display: none;
}

/*
 * The cart link using different stats
 */

#header .header-nav .blockcart {
    position: relative;
    background: var(--fds-primary-lighter);
    color: var(--fds-primary);
}

#header .header-nav .blockcart.active {
    background: var(--fds-primary);
    color: var(--fds-white);
    font-weight: 500;
}

#header .header-nav .blockcart .material-icons {
    color: inherit;
}

#header .header-nav .blockcart .header a::before {
    content: '';
    position: absolute;
    inset: 0;
}

#header .header-nav .blockcart .header a:focus::before,
#header .header-nav .blockcart .header a:hover::before {
    background: rgba(0,0,0,.2);
}

#header .header-nav .blockcart .header a:focus {
    outline: none;
}

#header .header-nav .blockcart .header a:focus-visible::before {
    outline: 2px solid var(--fds-primary);
    outline-offset: 2px;
}

/*
 * Logo + Navigation
 */
#header .header-top {
    padding: 1rem 0
}

/* Navigation specific */
#header .header-top > .container > .row:first-of-type {
    align-items: stretch;
}
#header .header-top .header-top-right {
    display: flex;
    float: none;
}

.header-top-right .top-menu[data-depth="0"],
#header .header-top-right > .menu {
    display: flex;   
}

.header-top-right .search-widgets {
    align-self: center;
    margin-left: auto;
}

.header-top-right #search_widget.search-widgets input {
    background: var(--fds-feather-grey-lighter);
    border: 2px solid var(--fds-feather-grey);
}

#search_widget form i {
    padding: 0;
    top: 50%;
    transform: translateY(-50%) translateX(10px);
}

#header .header-top .menu > ul > li > a {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0.625rem 0.875rem;
    text-transform: none;
    font-weight: bold;
    font-size: 0.925rem;
    color: var(--fds-feather-grey-dark);
}

#header .header-top .menu > ul > li > a.dropdown-item > .hidden-md-up {
    display: inline-block!important;
    order: 2;
}

.navbar-toggler {
    padding-inline-start: 2px;
}

.navbar-toggler .material-icons {
    color: var(--fds-feather-grey);
}

.navbar-toggler .remove {
    display: none;
}

#header .header-top .menu > ul > li > a.dropdown-item:hover .remove,
.category:has(.sub-menu:hover) a.dropdown-item:hover .remove,
.category:hover a.dropdown-item .remove {
    display: inline-block;
}

#header .header-top .menu > ul > li > a.dropdown-item:hover .add,
.category:has(.sub-menu:hover) a.dropdown-item:hover .add,
.category:hover a.dropdown-item .add {
    display: none;    
}

#header .header-top .menu .dropdown-item[data-depth="0"]:hover,
#header .header-top .menu .dropdown-item[data-depth="0"]:focus {
    color: var(--fds-primary)
}

/*
 * Submenus
 */
a.dropdown-item:focus-visible + .popover.sub-menu,
.popover.sub-menu:focus-within {
    opacity: 1;
    visibility: visible;
}

.popover.sub-menu {
    top: 100%!important;
    padding: 32px;
    border-radius: 0 0 16px 16px;
}
.popover.sub-menu .top-menu[data-depth="1"] {
    display: flex;
    gap: 40px;
    margin: 0;
}

.popover.sub-menu .top-menu[data-depth="1"] > li {
    flex-grow: 1;
    float: none;
    margin: 0;
}

#header .dropdown-item[data-depth="1"] {
    display: block;
    margin-bottom: .5em;
    font-weight: bold;
    color: var(--fds-primary);
}

#header .dropdown-item[data-depth="1"]:hover {
    text-decoration: underline;
}

#header .dropdown-item[data-depth="2"] {
    transition: all .375s;
    padding: 0.625rem 0.625rem 0.625rem 0;
}

#header .dropdown-item[data-depth="2"]:hover {
    padding: 0.625rem 0 0.625rem 0.625rem;
    background: var(--fds-primary-lighter);
    color: var(--fds-primary);
}

.block-categories {
    padding: 1rem 1rem;
    /* margin-bottom: 1.563rem; */
    background: var(--fds-white);
}

/**
 * Some page content
 */

.category-top-menu {
    margin:0;
}

.block-category {
    padding:1rem;
    min-height: fit-content;
}

.block-category .block-category-inner {
    display: flex;
    justify-content: start;
    flex-direction: row-reverse;
}

.block-categories .h6 {
    font-size: 1rem;
    font-weight: 700;
}

.block-categories .category-sub-menu li[data-depth="0"]>a {
    display: inline-block;
    width: 100%;
    padding-bottom: 0;
    margin-bottom: 0.5rem;
    font-weight: 400;
    color: var(--fds-primary);
}

.text-muted{
    width: 100%;
    align-self: center;
    padding-left: 2rem;
    font-size:1rem;
}

#subcategories .subcategory-heading {
    margin-bottom: 20px;
    font-weight: 400;
    color: var(--fds-primary-darker);
}

#subcategories ul li .subcategory-name {
    text-transform: none;
    font-size: 1rem;
}

#wrapper{
    padding-top: 2.074rem;
}

.breadcrumb{
    margin-bottom: 2.074rem;
}

#wrapper .breadcrumb li a {
    color: var(--fds-feather-grey-dark);
    font-size: 0.833rem;
}

#wrapper .breadcrumb li::after {
    color: var(--fds-feather-grey);
    content: "/";
}

#wrapper .breadcrumb li:last-child {
    color: var(--fds-primary);
    font-weight: 700;
    font-size: 0.833rem;
}

/*
 * Homepage Specific
 */
.page-index #wrapper {
    padding-block-start: 0;
}
.page-home .carousel {
    position: relative;
    inset: 0 50%;
    width: 100vw;
    margin-inline: -50vw;
}

.page-home .carousel .carousel-inner {
    height: 100%;
    aspect-ratio: 120/31;
}

.page-home .carousel-item.active a,
.page-home .carousel-item figure {
    display: block;
}

.page-home .carousel .direction {
    display: none;
}

/*
 * Content block
 */
#wrapper .banner,
#custom-text[id="custom-text"] {
    text-align: left;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 16px 80px -24px rgba(0, 0, 0, .2)
}

.homepage-table-layout,
.homepage-table-layout tbody,
.homepage-table-layout tr{
    display: flex;
    gap: 40px;
}

#custom-text .homepage-table-layout h2 {
    color: var(--fds-primary);
    text-transform: none;
    font-weight: bold;
    margin-bottom: .75em;
}

#custom-text .homepage-table-layout p {
    font-size: 1rem;
    line-height: 1.7;
}

#custom-text p:last-child a {
    display: inline-block;
    padding: 12px 16px;
    background: var(--fds-primary);
    text-decoration: none;
    border-radius: 4px;
    color: var(--fds-white);
    font-weight: bold;
}

/**
 * Product list block
 */
#products .all-product-link,
.featured-products .all-product-link,
.product-accessories .all-product-link {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    clear: both;
    font-weight: 500;
    color: var(--fds-primary);
    border: 1px solid var(--fds-primary-light);
    padding: 8px 16px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    font-size: 1rem;
    transition: all .3s;

}

#products .all-product-link,
.featured-products .all-product-link:hover,
.product-accessories .all-product-link:hover {
    background: var(--fds-white);
}

#products .products-section-title,
.featured-products .products-section-title,
.product-accessories .products-section-title {
    margin: 2.5rem 0;
    font-weight: 700;
    text-align: left;
    width: 100%;
    color: var(--fds-feather-grey-darker);
}

.page-index .product, .page-search .product {
    display: flex;
}

.page-not-found{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.page-not-found p{
   text-align:center;
}

.wishlist-button-add.wishlist-button-add {
    background-color: var(--fds-white);
    box-shadow: 0 0.1rem 0.2rem 0 var(--fds-black-150);
    border-radius: 50%;
    cursor: pointer;
    transition: 0.2s ease-out;
    border: none;
}


.wishlist-button-add.wishlist-button-add i {
    color: var(--fds-danger-light);
}

.wishlist-button-product.wishlist-button-product {
    margin-left: 0;
}

.product-flags {
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content:center;
    pointer-events: none;
    margin-bottom:0;
}

.product-flags li.product-flag {
    padding: 4px 8px;
    margin-top: 0;
    font-size: .80rem;
    font-weight: 700;
    color: var(--fds-danger-darker);
    pointer-events: auto;
    background: var(--fds-danger-light);
}

.product-flags li.product-flag.on-sale {
    background: var(--fds-success-light);
    color: var(--fds-success-darker);
}

.product-miniature .product-title a {
    color: var(--fds-feather-grey-dark);
}

.product-miniature .product-flags li.product-flag {
    font-weight: 700;
    width: 100%;
    text-align: center;
}

.product-miniature .thumbnail-container {
    position: relative;
    height: auto;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    border:1px solid var(--fds-primary-lighter);
}

.product-miniature .product-description{
    padding:0;
    padding-bottom:0;
    margin:16px 0;
    background: none;
}

.product-miniature .product-title {
    margin-top: 0;
    text-align: center;
    text-transform: capitalize;
}

.product-miniature .thumbnail-container .product-thumbnail img {
    transform: scale(1.35); /* to remove ASAP */
}

.featured-products .products {
    margin-inline: -15px;
}

/**
 * Product page elements
 */

#product #content {
    max-width: 100%;
}


.product-information {
    font-size: 1rem;
    color: var(--fds-feather-grey-darker);
    display: flex;
    flex-direction: column;
    gap: 1.44rem;
}

.product-description p{
    margin-bottom:0;
}

.product-prices {
    margin-top: 1rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.product-prices div {
    margin-bottom: 0;
    margin-right: 0.25rem;
}

.product-prices .tax-shipping-delivery-label {
    font-size: 0.833rem;
    color: var(--fds-black-400);
}

.product-quantity {
    display: flex;
    align-items:center;
    margin-bottom:1rem;
    gap:1rem;
}

.product-quantity .qty, .product-quantity .add{
    margin:0;
}

.social-sharing{
    gap:.5rem;
}

.social-sharing li {
    width: 2rem;
    height: 2rem;
    margin-left: 0;
    margin-right:.25rem;
    background-color: var(--fds-white);
    background-position: 0;
    background-size: 2rem 2rem;
}

.tabs {
    padding: 1rem 2rem;
    margin-top:0;
    background: var(--fds-white);
    border-radius: 4px;
}

#footer .footer-container .container > .row:last-child {
    opacity: 0;
    visibility: hidden;
}