h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

.alert {
  margin: 0.5rem 1rem;
}

.alert span {
  display: inline-block;
  padding: 0.5rem 0;
}

.content,
.maxContent {
  margin: 0 auto;
}

.buttonIcon,
a.button,
button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  padding: 0 2rem;
}

.buttonIcon[class*=icon-] {
  min-width: 16rem;
  padding: 0 2rem 0 4rem;
}

.buttonIcon[class*=icon-]::before {
  position: absolute;
  left: 1rem;
}

.buttonIcon.icon-arrow-right {
  padding: 0 4rem 0 2rem;
}

.buttonIcon.icon-arrow-right::before {
  left: auto;
  right: 1rem;
}

.labelIcon {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-width: 20rem;
  min-height: 3rem;
  padding: 0.5rem 3rem 0.5rem 1rem;
}

.labelIcon::before {
  position: absolute;
  right: 0.7rem;
  top: 0.9rem;
}

.labelIcon span {
  margin: 0 1rem 0 0;
}

.icon-promo {
  position: absolute;
  display: block;
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.icon-promo span {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-origin: center center;
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  white-space: nowrap;
}

.icoLink {
  display: inline-flex;
  width: 16rem;
  height: 4rem;
  padding: 0 0.5rem;
}

.icoLink::before {
  margin-right: 0.6rem;
}

.selectIcon {
  display: inline-flex;
  align-items: center;
  height: 4rem;
  padding: 0;
}

.selectIcon::before {
  display: flex;
  width: 4rem;
  height: 4rem;
  justify-content: center;
  align-items: center;
}

.selectIcon select {
  width: calc(100% - 4rem);
  height: 100%;
  margin: 0;
  z-index: 1;
}

.selectBox select {
  height: 4rem;
  padding: 0.2rem 1rem;
  z-index: 1;
}

.selectIcon span.icon-arrowdown,
.selectBox span.icon-arrowdown,
.selectIcon span.icon-arrow-down,
.selectBox span.icon-arrow-down {
  display: none;
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none) {
  .selectIcon select,
  .selectBox select {
    padding-right: 4rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  .selectIcon span.icon-arrowdown,
  .selectIcon span.icon-arrow-down,
  .selectBox span.icon-arrowdown,
  .selectBox span.icon-arrow-down {
    display: flex;
    width: 3rem;
    height: 4rem;
    margin: 0 0 0 -3rem;
    padding: 0;
    z-index: 0;
  }
}

.inputCheckbox {
  position: relative;
  overflow: hidden;
}

.inputCheckbox input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: -2rem;
  width: 0.1rem;
  height: 0.1rem;
  overflow: hidden;
}

.inputCheckbox label span.icon-validate {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin: 0 1rem 0 0;
  padding: 0;
}

.drupalForm .js-form-type-checkbox {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.inputCheckbox label span.icon-validate::before {
  display: inline-block;
  margin-top: -0.4rem;
  margin-left: -0.2rem;
}

.inputRadiobox {
  position: relative;
  overflow: hidden;
}

.inputRadiobox input[type="radio"] {
  position: absolute;
  top: 0;
  left: -0.2rem;
  width: 0.1rem;
  height: 0.1rem;
  overflow: hidden;
}

.inputRadiobox label span.icon-dot {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 2.1rem;
  height: 2.1rem;
  margin: 0 1rem 0 0;
  padding: 0;
}

.inputRadiobox label span.icon-dot::before {
  display: inline-block;
  margin: 0;
}

.icon-return_up {
  position: fixed;
}

.pixel_32.icon-return_left,
.icon-return_up {
  width: 3.4rem;
  height: 3.4rem;
  z-index: 20;
}

.pixel_32.icon-return_left::before,
.icon-return_up::before {
  display: block;
  width: 3.4rem;
  height: 3.4rem;
}

/*************************************************** HEADER ***********************************************************/
#oecContent .header-site {
  position: fixed;
  width: 100%;
  z-index: 12;
}

.header-site .logo .retourAccueil {
  height: 100%;
  width: 100%;
}

.header-site .logo img {
  max-height: calc(100% - 0.4rem);
  width: auto;
  max-width: calc(100% - 1.2rem);
  margin: 0.2rem 0;
}

.retourAccueil span {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 1px;
}

.header-site .divBloc {
  margin: 0 0.1rem 0 0;
  z-index: 12;
}

.header-site .divBloc .bloc {
  position: relative;
  margin: 0 0 0.1rem 0;
  z-index: 10;
}

.header-site .divBloc .bloc::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}

.header-site .divBloc .bloc p {
  width: calc(100% - 1rem);
}

.header-site .divBloc .blocOff p {
  height: 1.4rem;
  margin: 1.5rem 0.5rem 0.5rem;
}

.header-site .divBloc .blocOn p {
  height: 3.6rem;
  margin: 0 0.5rem 0;
}

.header-site .divBloc .blocOn p .total {
  display: inline-block;
}

.header-site .divBloc .blocOn p .total span {
  white-space: nowrap;
}

.header-site .divBloc .blocOn p .total span:first-child {
  margin-right: 0.2rem;
}

.header-site #div_panier .caddyName {
  display: inline-block;
  max-width: 100%;
  margin: 0;
}

.header-site #div_panier #show_selectPanier .caddyName {
  max-width: 18rem;
}

.header-site #div_panier .bloc span.nbArticles {
  position: absolute;
  width: 2rem;
  height: 2rem;
}

.header-site .blocHover .bloc {
  margin-bottom: 0;
}

.header-site .divBloc .bloc:hover p,
.header-site .blocHover .bloc p,
.header-site .blocHover .bloc::before,
.header-site .blocHover .bloc span.nbArticles {
  display: none;
}

.header-site .divBloc .blocDetail {
  position: absolute;
  margin-top: 0.1rem;
  padding: 1.6rem 1rem 1rem;
  z-index: 9;
}

.header-site .divBloc .blocDetail .icon-cross {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}

.header-site #bloc_agence p:first-of-type {
  margin-bottom: 1rem;
}

.header-site #bloc_profil .bloc_address {
  width: calc(100% + 2rem);
  height: 4rem;
  margin: 0 -1rem;
  padding: 0;
}

.header-site #bloc_profil .bloc_correspondant {
  margin: 1rem 0;
  padding: 0;
}

.header-site #bloc_profil .bloc_correspondant p + p {
  margin-top: 0.5rem;
}

.header-site #bloc_profil .menu_liens {
  width: 100%;
  margin: 1rem 0 0;
  padding: 0;
}

.header-site #bloc_profil .buttonIcon,
.header-site #bloc_connexion .buttonIcon {
  min-width: 16rem;
  padding: 0 1rem 0 3.5rem;
}

.header-site #bloc_profil .buttonIcon:before,
.header-site #bloc_connexion .buttonIcon:before {
  left: 0.75rem
}


.header-site #bloc_connexion .form-item {
  margin: 0.1rem 0;
  white-space: nowrap;
}

.header-site #bloc_connexion .form-item .form-item--error-message {
  white-space: normal;
}

.header-site #bloc_connexion .openweb-user-login-form .form-item-name label,
.header-site #bloc_connexion .openweb-user-login-form .form-item-pass label {
  min-width: 10rem;
  width: 10rem;
  flex: 0 0 10rem;
}

.header-site #bloc_connexion .openweb-user-login-form .form-item-name input,
.header-site #bloc_connexion .openweb-user-login-form .form-item-pass input {
  flex: 0 0 21rem;
  width: 21rem;
}

.header-site #bloc_connexion ul {
  position: absolute;
  bottom: 5.5rem;
  left: 1.4rem;
  margin: 0;
  padding: 0;
}

.openweb-user-login-form + ul li {
  list-style-type: none;
}

.header-site #bloc_connexion ul li {
  margin: 0;
  padding: 0;
}

.header-site #bloc_connexion .buttonIcon.icon-profile {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}

.header-site #bloc_connexion .openweb-user-login-form {
  width: auto;
  padding: 0;
}

.header-site #bloc_connexion .form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 3rem;
}

.header-site #bloc_panier #blocSwitchTarif {
  width: 5rem;
  height: 2.9rem;
}

.header-site #bloc_panier #blocSwitchTarif span {
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
}

.header-site #bloc_panier .noArticlePanier {
  flex: 1;
  margin: 1rem 0;
}

.header-site #bloc_panierDetail .lignesPanier {
  height: 10.2rem;
  margin-top: 1rem;
  overflow-y: auto;
  overflow-x: hidden;
}

.header-site #bloc_panierDetail .lignesPanier p {
  height: 2rem;
  padding: 0 0.3rem;
  margin: 0;
  align-items: center;
}

.header-site #bloc_panierDetail .lignesPanier p .ligneLibelle {
  flex: 1 0 50%;
  display: inline-block;
}

.header-site #bloc_panierDetail .lignesPanier p .ligneQte {
  flex: 1 0 5rem;
  margin-right: 0.2rem;
}

.header-site #bloc_panierDetail .lignesPanier p .ligneMontant {
  flex: 1 0 6.2rem;
}

.header-site #bloc_panierDetail .blocExpert {
  margin: 1rem 0;
}

.header-site #bloc_panierDetail .totalPanier {
  width: 100%;
  margin: 0.5rem 0;
}

.header-site #bloc_panierDetail .totalPanier span + span {
  display: inline-block;
  width: 30%;
}

.header-site #bloc_panierSelection form {
  max-height: 19.3rem;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 0 0 -0.1rem;
  padding: 0 0 0.1rem 0;
}

.header-site #bloc_panierSelection form p {
  margin: 0 0 -0.1rem 0;
  padding: 0;
}

.header-site #bloc_panierSelection form p label {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 1rem 2rem;
}

.header-site #bloc_panierSelection form p.newCaddie {
  margin-top: -0.1rem;
}

.header-site #bloc_panierSelection form p.newCaddie label {
  display: flex;
  padding: 0.2rem 0.1rem;
}

.header-site #bloc_panierSelection form p.newCaddie input {
  height: 2.6rem;
  width: calc(100% - 8rem);
  margin: 0 1rem;
  padding: 0 0.5rem;
}

.header-site #bloc_panierSelection form p.newCaddie button {
  justify-content: center;
  height: 2.6rem;
  width: 2.6rem;
  padding: 0;
}

.header-site #bloc_panierSelection form p.title label {
  display: flex;
  padding: 1rem;
}

.header-site #bloc_panierSelection form p input[type="radio"] {
  display: none;
}

/*************************************************** recherche ********************************************************/
.header-site #block_recherche {
  flex: 1;
}

#block_recherche .form-item {
  margin: 0;
}

#block_recherche input[type=search] {
  height: calc(100% - 0.2rem);
  padding: 0.6rem;
}

#block_recherche button[type=submit] {
  padding: 0;
  margin: 0;
  overflow: hidden;
}

#block_recherche button[type=submit] span {
  width: 0.1px;
  height: 0.1px;
  overflow: hidden;
  visibility: hidden;
}

#block_recherche .modal_recherche__form_results {
  height: 100vh;
  width: 100%;
  margin: 0;
  padding: 2rem;
}

#block_recherche .modal_recherche__container .modal_recherche__results {
  position: relative;
  overflow: auto;
}

#block_recherche .modal_recherche__container .modal_recherche__results .popupClose {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}

#block_recherche .modal_recherche__results__container {
  width: 100%;
}

#block_recherche .modal_recherche__results__container .modal_recherche__results__container_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#block_recherche .modal_recherche__results__container .modal_recherche__results__container_content {
  min-height: 4rem;
  margin: 0;
  padding: 1rem 0 0;
}

#block_recherche .modal_recherche__results__container .productsList .catalogArticle {
  margin: 0 0 1rem;
}

#block_recherche .modal_recherche__results__container .productsList .catalogArticle .blocStock {
  width: 14rem;
}

#block_recherche .modal_recherche__results__container .categoryList a {
  margin: 0 1rem 0 0;
}

/*********************************************** Menu navigation principal  *******************************************/
#menu {
  width: 100%;
  margin: 0;
}

the-menu-categories {
  display: none;
}

a.navSite,
span.navSite {
  padding: 0 2rem;
}

.mainMenu .subMenu {
  position: relative;
}

#menu .navigation-anonyme-bloc button {
  margin: 1rem;
  padding: 1rem;
}

.scroll #menu .navigation-anonyme-bloc button {
  margin: 0 1rem;
}

.menu-vertical ul.menu__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-vertical ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: 0;
  padding: 0 1rem;
  text-indent: 0;
  height: 3rem;
}

.menu-vertical ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.menu-horizontal ul.menu__items {
  display: flex;
  list-style: none;
}

.menu-horizontal ul li {
  list-style: none;
  margin: 0 1rem;
}

/***************************************************** Menu catalogue *************************************************/

#catalogMenu .menuProduit_categories .menu.withPicto > img {
  max-height: 4rem;
  max-width: 4rem;
  margin-right: 0.4rem;
}

#catalogMenu.catalogMenuVT {
  display: none;
}

#catalogMenu.catalogMenuVT .menuProduit_categories .menu {
  position: relative;
  margin: 0;
  padding: 0.4rem 1rem;
}

#catalogMenu.catalogMenuVT .menuProduit_categories .menu::before {
  position: absolute;
  right: 0.5rem;
}

/**************************************************** CONTENU *********************************************************/
h2 {
  margin: 0;
}

.editor .width100,
.editor .width90,
.editor .width80,
.editor .width70,
.editor .width60,
.editor .width50,
.editor .width40,
.editor .width30,
.paragraph .width100,
.paragraph .width90,
.paragraph .width80,
.paragraph .width70,
.paragraph .width60,
.paragraph .width50,
.paragraph .width40,
.paragraph .width30 {
  margin: auto;
}

.ckeditor-accordion-container > dl dd {
  padding: 0;
  margin: 0 0 2rem;
}

.list-card form {
  width: 100%
}

.list-card .card {
  position: relative;
  margin: 1.5rem;
  padding: 0;
  max-width: 30rem;
}

.list-card .card h3 {
  padding: 0;
}

.list-card .card .texte {
  padding: 1.5rem 2rem;
}

.list-card .card .texte a {
  width: 100%;
}

.list-card .card a.link {
  margin: 1.5rem auto 1rem;
}

/********************************************** SLIDERS ***************************************************************/
.slick {
  min-height: 15rem;
}

.slick .slick__slide .slide__content {
  margin: 0;
}

.slick .slick__slide img {
  width: auto;
  margin: 0 auto;
}

.slick .slick__slide .views-field-title .field-content,
.slick .slick__slide .views-field-body .field-content {
  margin: 0 auto;
}

.cadreListeProduits {
  position: relative;
  padding: 3rem 0;
}

.cadreListeProduits h2 {
  margin: 0 auto 3rem;
  padding: 0 2rem;
}

.cadreListeProduits h2 + .bx-wrapper,
.cadreListeProduits h2 + .flex-fJbetween {
  margin-top: 2rem;
}

.cadreListeProduits .flex-fJbetween {
  overflow: hidden;
}

.cadreListeProduits .bx-viewport {
  z-index: 10;
}

.cadreListeProduits .bx-controls {
  z-index: 5;
}

.cadreListeProduits .cadreFormatSlider {
  position: relative;
  display: flex;
  justify-content: center;
  width: fit-content;
  margin: auto;
}

.cadreListeProduits.compact .produit {
  flex: 0 0 20rem;
  max-width: 20rem;
  height: 32rem;
  margin: 0 1rem;
  padding: 0;
}

.cadreListeProduits.standard .produit {
  flex: 0 0 30.5rem;
  max-width: 30.5rem;
  height: 36rem;
  margin: 0 1rem;
  padding: 0;
}

.cadreListeProduits.compact .bx-viewport .produit,
.cadreListeProduits.standard .bx-viewport .produit {
  margin: 0;
}

.cadreListeProduits .produit .cadreTitre h3 {
  margin: 0;
}

.cadreListeProduits .produit .upperBlock {
  display: inline-block;
  flex: 1;
  overflow: hidden;
}

.cadreListeProduits .produit .cadreImage {
  position: relative;
  width: 100%;
  height: 60%;
  max-height: 14rem;
  margin: 0 auto;
  padding: 1rem;
}

.cadreListeProduits .produit .cadreImage > span:not(.icon-promo) {
  width: 100%;
  height: 100%;
}

.cadreListeProduits .produit .cadreImage span img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  margin: 0;
}

.cadreListeProduits .produit .cadreImage .pictoFlag {
  position: absolute;
  top: 0;
  right: 0;
}

.cadreListeProduits .produit .icon-promo {
  max-width: 4.6rem;
  max-height: 4.6rem;
  top: unset;
  left: unset;
}

.cadreListeProduits .produit .icon-promo span {
  top: 2rem;
  left: 0.7rem;
}

.cadreListeProduits.light .produit .icon-promo {
  bottom: -0.1rem;
  right: 0.4rem;
}

.cadreListeProduits.dark .produit .icon-promo {
  bottom: 0.9rem;
  right: 0.4rem;
}

.cadreListeProduits .produit .cadreTitre {
  height: 40%;
  max-height: 13.8rem;
  width: calc(100% - 1rem);
  margin: 0.5rem 0.5rem 0;
  padding: 0.5rem 0;
}

.cadreListeProduits.standard.dark .produit .cadreTitre {
  width: calc(100% - 2rem);
  margin: 0 1rem;
}

.cadreListeProduits.standard.light .produit .cadreTitre {
  width: calc(100% - 2rem);
  margin: 1rem;
}

.cadreListeProduits .produit .cadreTitre .ligneArticle_desi3 {
  display: none;
}

.cadreListeProduits .produit .cadreRef {
  min-height: 1.6rem;
  width: 100%;
}

.cadreListeProduits .produit .lowerBlock {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
}

.cadreListeProduits .produit button:not(.icon-caddie) {
  width: 100%;
  margin: 0;
  padding: 0;
}

.cadreListeProduits .produit .cadreTarif {
  width: 100%;
  min-height: 4rem;
  margin: 0;
}

.cadreListeProduits .produit .cadreTarif .prix {
  -webkit-hyphens: manual;
  -moz-hyphens: manual;
  -ms-hyphens: manual;
  hyphens: manual;
  word-wrap: break-word;
  width: 100%;
}

.cadreListeProduits .produit .cadreTarif .prix .price-unit {
  display: inline-block;
  word-break: break-all;
}

.cadreListeProduits.standard .produit .cadreTarif {
  padding: 1rem;
}

.cadreListeProduits.compact .produit .cadreTarif {
  padding: 0.5rem 0.3rem;
}

.cadreListeProduits .produit .prixBarre {
  margin: 0.3rem 0.5rem 0;
}

.cadreListeProduits .produit button.icon-caddie {
  width: 2.8rem;
  min-width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  margin-right: 0;
  margin-left: auto;
}

.cadreListeProduits .link {
  height: 3rem;
  margin: 2rem auto 0;
}

.cadreListeProduits .link a {
  height: 3rem;
  padding: 0 1rem;
}

.cadreListeProduits .link a span {
  margin-left: 1rem;
}

.pageperso {
  padding: 0.2rem 0;
}

.pageperso blockquote {
  margin: 0.2rem 0.5rem;
}

/************************************************* Blocs communs ******************************************************/
.blocTarif .prixBarre {
  display: inline-block;
}

.blocTarif .price-currency {
  margin-right: 0.1rem;
}

.cadreTarif .price-separator {
  display: none;
}

.blocTarif .tarifEcotaxe {
  position: relative;
  margin: 0.2rem 0;
}

.blocTarif .tarifEcotaxe sup {
  bottom: 0;
}

.blocTarif .tarifEcotaxePopup {
  display: none;
  position: absolute;
  width: fit-content;
  padding: 0.5rem 1rem;
  right: 0;
  z-index: 4;
}

.blocTarif .tarifEcotaxe:focus .tarifEcotaxePopup,
.blocTarif .tarifEcotaxe:hover .tarifEcotaxePopup {
  display: block;
}

.blocTarif .tarifQuantitatif {
  position: relative;
  margin: 1rem 0;
}

.blocTarif .tarifQuantitatif p {
  width: 100%;
  height: 3rem;
  padding: 0;
}

.blocTarif .tarifQuantitatif p::before {
  top: calc(50% - 0.6rem);
  margin-left: 0.4rem;
}

.tarifQuantitatifPopup table {
  width: 100%;
}

.tarifQuantitatifPopup table th {
  height: 2rem;
  padding: 0.5rem;
  white-space: nowrap;
}

.tarifQuantitatifPopup table td {
  min-height: 2rem;
  padding: 0.5rem;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.tarifQuantitatifPopup table td:not(:first-child) {
  white-space: nowrap;
}

.blocStock {
  width: 100%;
  margin: 1rem 0;
}

.blocStock .libelleStock {
  display: inline-block;
  margin: 0;
}

.blocStock .pictoStock {
  padding: 0.4rem 0 0.8rem;
}

.blocStock .pictoStock span {
  flex: 1;
  position: relative;
  display: inline-block;
  width: calc(100% / 3 - 0.1rem);
  min-width: 2rem;
  height: 0.4rem;
  margin: 0 0.05rem;
  padding: 0.2rem;
}

.blocStock .pictoStock span::after {
  position: absolute;
  left: calc(50% - 0.4rem);
  top: 0.4rem;
  height: 0;
  width: 0;
  content: " ";
  pointer-events: none;
  z-index: 3;
}

.stockComplement dl dd {
  margin-left: 1.5rem;
}

.autresAgences {
  width: 100%;
  min-height: 2.6rem;
  margin: 1rem 0 0;
  padding: 0 0.2rem;
}

.blocExpert .title_h6 {
  margin: 0 1rem 0 0;
}

.blocExpert .saisieExpert {
  height: 3.4rem;
  margin: 0;
  padding: 0 0.1rem;
  overflow: hidden;
}

.blocExpert .saisieExpert .form-item {
  margin: 0;
}

.blocExpert .saisieExpert input.expertArticle,
.blocExpert .saisieExpert .form-item input[type=text].expertArticle {
  width: 20rem;
  height: 2.8rem;
  margin: 0.3rem 0;
  padding: 0 0.5rem;
}

.blocExpert .saisieExpert input.expertQuantite,
.blocExpert .saisieExpert .form-item input[type=text].expertQuantite {
  width: 10.3rem;
  height: 2.8rem;
  margin: 0.3rem 0.2rem 0.3rem 0.3rem;
  padding: 0 0.5rem;
}

.blocExpert .saisieExpert button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  min-width: 3rem;
  margin: 0;
  padding: 0;
}

.blocExpert .saisieExpert button span {
  display: none;
}

.caddieFooter .content .blocExpert {
  padding: 2rem 0;
}

.closeCaddie .caddieBlocComplement {
  display: none
}

.blocSaisie p {
  width: 100%;
  margin-top: 1rem;
}

.blocSaisie .icon-cross {
  display: none;
}

.blocSaisie .quantite {
  width: 7rem;
  height: 2.3rem;
  margin: 0 0 0 0.3rem;
  padding: 0 0.2rem;
}

.blocSaisie .buttonIcon {
  width: 100%;
}

.blocSaisie .nonDispo {
  max-width: 18rem;
}

.blocSaisie .unit {
  margin-left: 0.2rem
}

.optionsMenu {
  position: relative;
}

.optionsMenu .showOptions {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.optionsMenu .listOptions {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 26rem;
  padding: 0.2rem;
  z-index: 2;
}

.optionsMenu .listOptions .icon-cross {
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  height: 2.5rem;
  width: 2.5rem;
}

.optionsMenu .listOptions dt {
  padding: 0.5rem 2rem;
  white-space: nowrap;
}

.optionsMenu .listOptions dd {
  margin: -0.1rem 0 0 0;
  padding: 0.2rem 0.5rem;
  white-space: nowrap;
}

.menu .menuTitle {
  margin: 1rem;
}

.menu .menuContent {
  margin: 1rem;
}

/************************************* Bloc plan de vente par selectbox ***********************************************/
#catalogMenuSelect {
  width: 100%;
  margin: 0.6rem auto;
}

#catalogMenuSelect p {
  margin: 0.6rem 0;
}

#catalogMenuSelect div.selectBox {
  width: 100%;
}

#catalogMenuSelect div.selectBox p {
  margin: 0.6rem 0;
}

#catalogMenuSelect div.selectBox .v-select {
  height: 3.4rem;
  min-width: 22rem;
  margin: 0 10px 0 0;
  flex: 1;
}

#catalogMenuSelect div.selectBox .v-select:last-of-type {
  flex: 2;
}

#catalogMenuSelect div.selectBox .v-select.single .selected-tag {
  margin: 0;
  padding: 0;
}

#catalogMenuSelect div.selectBox .v-select.open .selected-tag {
  margin: 4px 2px 0;
  padding: 0 .25em;
}

#catalogMenuSelect div.selectBox .v-select.searchable .dropdown-toggle {
  height: 3rem;
}

#catalogMenuSelect div.selectBox .v-select .dropdown-toggle .clear {
  height: 2.6rem;
  margin: 0.4rem 0.6rem 0 0;
}

#catalogMenuSelect div.selectBox .v-select .open-indicator {
  margin-top: -0.3rem;
}

#catalogMenuSelect div.selectBox .v-select input[type=search],
#catalogMenuSelect div.selectBox .v-select input[type=search]:focus {
  margin: 0;
}

#catalogMenuSelect div.selectBox .buttonIcon {
  min-width: 4rem;
  height: 3.6rem;
  padding: 0 1rem 0 3.5rem;
}

#catalogMenuSelect .selectBox span.icon-arrowdown {
  margin: 0;
}

/********************************************** CATALOGUE *************************************************************/
.categoryFiles {
  margin: 1rem auto;
}

.categoryFiles > div {
  margin: 1rem auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 1rem;
}

.categoryFiles a {
  margin: 0 0.5rem;
  padding: 0.2rem;
}

.categoryFiles a span:first-child {
  width: 100%;
}

.catalogFacet .catalogFacetTitle {
  width: 100%;
  height: 4rem;
  margin: 0;
  padding: 0;
}

.catalogFacet .catalogFacetTitle .title_h3 {
  padding-left: 1rem;
}

.catalogFacet .catalogFacetReinit {
  height: min-content;
  width: fit-content;
  min-width: 10rem;
  padding: 0.4rem 1rem 0.4rem 2.3rem;
}

.catalogFacet .catalogFacetReinit::before {
  left: 0.6rem;
}

.catalogFacet fieldset {
  width: 100%;
  margin: 0 0 1rem;
  padding: 0;
}

.catalogFacet fieldset legend {
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem;
}

.catalogFacet fieldset div {
  width: 100%;
  margin: 0;
  padding: 1rem;
}

.catalogFacet fieldset div select {
  width: 100%;
}

.catalogFacet fieldset ul {
  position: relative;
  margin: 0;
  padding: 0;
}

.catalogFacet .filterBox ul > li {
  margin: 0;
  padding: 0;
}

.catalogFacet .filterBox ul > li > ul > li {
  padding: 0.4rem 0;
}

.catalogFacet fieldset li {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.catalogFacet fieldset li label {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.catalogFacet fieldset.plv li {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0;
  flex-direction: row-reverse;
}

.catalogFacet fieldset.plv li ul {
  width: 100%;
}

.catalogFacet fieldset.plv li label {
  width: calc(100% - 2rem);
}

.catalogFacet fieldset.plv li label span {
  max-width: 100%;
}

.catalogFacet fieldset.plv li.niv_2 {
  padding-left: 1rem;
}

.catalogFacet fieldset.plv li.niv_3 {
  padding-left: 2rem;
}

.catalogFacet fieldset.plv li.niv_4 {
  padding-left: 3rem;
}

.catalogFacet fieldset.plv li.niv_5 {
  padding-left: 4rem;
}

.catalogFacet fieldset.plv li label span {
  display: inline-block;
}

.catalogFacet fieldset:not(.plv) label img {
  max-width: 15rem;
  max-height: 8rem;
}

.catalogFacet .filterBox .blocStock > li {
  margin: 0 0 0.4rem;
}

.catalogFacet .filterBox .blocStock > li:last-child {
  margin: 0;
}

.catalogFacet .blocStock .pictoStock {
  flex: 0 0 3rem;
  width: 3rem;
  height: 2.4rem;
  margin: 0.2rem 0.5rem;
  padding: 0.2rem 0 0;
}

.catalogFacet .blocStock .pictoStock span {
  width: 100%;
  margin: 0 0.05rem 0.4rem;
}

.catalogFacet .blocStock .pictoStock span::after {
  display: none;
}

.catalogFacet .blocStock .libelleStock {
  width: auto;
}

.catalogFacet fieldset .blocStock label {
  display: flex;
}

.catalogFacet fieldset label small {
  margin-left: 0.2rem;
}

.catalogFacet fieldset div input {
  display: none;
}

.catalogFacet fieldset input[type="checkbox"] + span {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin: 0 0.6rem 0 0;
}

.catalogFacet fieldset input[type="checkbox"] + span::before {
  display: block;
  margin-top: -0.4rem;
}

.catalogFacet fieldset .showVoirPlus,
.catalogFacet fieldset .showVoirMoins {
  display: inline-block;
  width: 100%;
}

.categoryEntete .categoryPicture {
  margin: 2rem 0;
}

.categoryEntete .categoryPicture img {
  max-width: 100vw;
  max-height: 30rem;
}

.categoryEntete .categoryFiles a {
  min-width: 16rem;
  max-width: 20rem;
  min-height: 22rem;
}

.categoryEntete .categoryFiles a span:first-child {
  height: 18rem;
  max-width: 19.6rem;
}

.categoryEntete .categoryDescription {
  margin: 3rem 0;
}

.categoryEntete .categoryDescription #go-catseo {
  margin: 0.6rem 0;
}

#listeCategories {
  padding: 2rem 0;
}

.categoryContent {
  display: grid;
  grid-template-columns: repeat(auto-fit, 30.4rem);
  gap: 1.5rem 2rem;
  justify-content: center;
}

.categoryContent .categoryDetail {
  padding: 1rem;
}

.categoryContent .categoryDetail .categoryDetail_title {
  height: auto;
  min-height: 3.8rem;
  max-width: 100%;
  margin: 0 0 0.4rem;
  padding: 0;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .categoryContent .categoryDetail .categoryDetail_title {
    height: 3rem;
  }
}

.categoryContent .categoryDetail .categoryDetail_title a h2 {
  max-width: 100%;
  padding-left: 2rem;
}

.categoryContent .categoryDetail .categoryDetail_title a h2::before {
  margin-right: 0.2rem;
  margin-left: -2rem;
}

.categoryContent .categoryDetail .categoryDetail_picture {
  width: 100%;
  margin: 0 0 1rem;
  padding: 0.6rem 0.3rem;
}

.categoryContent .categoryDetail .categoryDetail_picture img {
  max-height: 10rem;
}

.categoryContent .categoryDetail .categoryDetail_description {
  padding: 0.6rem 0.3rem;
}

.categoryContent .categoryDetail .categoryDetail_content {
  width: 100%;
}

.categoryContent .categoryDetail .categoryDetail_content a h3 {
  padding-left: 1rem;
  margin: 0.1rem 0;
}

.categoryContent .categoryDetail .categoryDetail_content a h3::before {
  margin-right: 0.2rem;
  margin-left: -1rem;
}

.categoryContent .categoryDetail_content + .categoryDetail_link {
  margin-top: 0.5rem;
}

.categoryContent .categoryDetail_link a {
  padding: 0.3rem 1.2rem;
}

.productsFilter label {
  display: inline-block;
  padding: 0 1rem 0 2rem;
}


.productsList .catalogArticle {
  display: grid;
  gap: 1rem;
  grid-template-areas:  "img text actions";
}

.productsList .catalogArticle .ligneArticle_image {
  grid-area: img;
}

.productsList .catalogArticle .ligneArticle_detail {
  grid-area: text;
}

.productsList .catalogArticle .ligneArticle_tarif {
  grid-area: actions;
}

@media screen and (max-width: 599px) {
  #listeProduits .productsList .catalogArticle {
    grid-template-areas:  "img text"
                          "actions actions";
    grid-template-columns: 8rem 1fr;
    grid-template-rows: auto minmax(10rem, 1fr);
  }

  #block_recherche .modal_recherche__results__container .productsList .catalogArticle {
    grid-template-areas: "img text actions";
    grid-template-columns: 8rem 1fr 5rem;
    grid-template-rows:unset;
    align-items: center;
  }

}

@media screen and (min-width: 600px) and (max-width: 939px) {
  #productCard .produitPresentation .content {
    grid-template-areas:  "img actions"
                          "text actions";
    grid-template-columns: 1fr 24rem;
    grid-template-rows: minmax(calc(50% - 1rem), 20.5rem) minmax(calc(50% - 1rem), 1fr);
  }
}

.productsList .catalogArticle .ligneArticle_image .mainImage {
  overflow: hidden;
}

.productsList .catalogArticle .ligneArticle_image .pictosLinks a,
.productsList .catalogArticle .ligneArticle_image .pictosLinks > span {
  width: 3rem;
  height: 3rem;
  margin: 0;
  padding: 0.5rem;
}

.productsList .catalogArticle .ligneArticle_image .pictosLinks img {
  max-width: 2rem;
  max-height: 2rem;
}

.productsList .catalogArticle .ligneArticle_detail .title span {
  word-break: normal;
}

.productsList p.optionImg .showOption img {
  max-width: 7rem;
  max-height: 7rem;
}

.productsList .catalogArticle .ligneArticle_detail p.variante_title {
  margin: 0.8rem 0 0;
}

.productsList .catalogArticle .ligneArticle_detail p.variante_title span {
  margin: 0 0.4rem 0 0;
}

.productsList .catalogArticle .ligneArticle_detail .produitTableauCaract {
  border-spacing: 0;
}

.productsList .catalogArticle .ligneArticle_detail .produitTableauCaract th,
.productsList .catalogArticle .ligneArticle_detail .produitTableauCaract td {
  min-width: 15rem;
  height: 2.6rem;
  padding: 0;
}

.productsList .catalogArticle .ligneArticle_detail .produitDescriptif div.produitCaracteristique {
  display: block;
}

.productsList .catalogArticle .ligneArticle_detail .produitDescriptif div.produitCaracteristique p {
  display: inline;
}

.productsList .catalogArticle .ligneArticle_detail .produitDescriptif .produitCaracteristique.optionImg {
  max-width: 16rem;
}

.productsList .catalogArticle .ligneArticle_detail .blocTarif {
  align-self: flex-end;
  margin: -5rem 0 0;
  padding: 0.5rem 1rem;
}

.productsList .catalogArticle .ligneArticle_detail .blocTarif .title {
  margin: 0;
}

#listeComposant,
#listeCrossSell,
#listeSubstitution,
#listeConnexe {
  margin-top: 1.5rem;
}

.ongletTabs #listeComposant,
.ongletTabs #listeCrossSell,
.ongletTabs #listeSubstitution,
.ongletTabs #listeConnexe {
  margin-top: 0.5rem;
}

.ongletTabs #listeComposant > h2 {
  display: none;
}

#listeConnexe .productsList .catalogArticle .ligneArticle_detail .blocTarif {
  min-width: 15rem;
  margin-right: 0.5rem;
}

.productsList .catalogArticle .ligneArticle_detail .produitStock {
  display: none;
}

.productsList .catalogArticle .ligneArticle_tarif {
  position: relative;
}

.productsList .catalogArticle .produitStartingPrice {
  margin: 0.5rem 0;
}

.productsList .catalogArticle .produitStartingPrice .tarifClient p {
  width: 100%
}

.productsList .catalogArticle .ligneArticle_tarif .blocSaisie {
  margin: 0 auto;
}

.ligneArticle_tarif .icon-promo,
#productCard .produitTarif .icon-promo {
  max-width: 4.6rem;
  max-height: 4.6rem;
  left: -2rem;
  top: -2rem;
}

.ligneArticle_tarif .icon-promo span,
#productCard .produitTarif .icon-promo span {
  top: 0;
  left: 0;
  width: 4.6rem;
  height: 4.6rem;
}

@media screen and (min-width: 600px) {
  .productsList .catalogArticle {
    padding: 1rem;
    margin: 1rem 0.5rem;
  }

  #block_recherche .modal_recherche__results__container .productsList .catalogArticle {
    grid-template-columns: 8rem 1fr 14rem;
  }

  #listeProduits .productsList .catalogArticle {
    grid-template-columns: minmax(16%, 25.5rem) minmax(50%, 1fr) minmax(20%, 28rem);
  }

  .productsList .catalogArticle .ligneArticle_image {
    height: 100%;
  }

  .productsList .catalogArticle .ligneArticle_image .mainImage {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
  }

  #listeProduits .productsList .catalogArticle .ligneArticle_image .mainImage,
  #listeConnexe .productsList .catalogArticle .ligneArticle_image .mainImage {
    aspect-ratio: 1 / 1;
  }

  .productsList .catalogArticle .ligneArticle_image .mainImage img {
    max-height: calc(100% - 0.2rem);
    max-width: calc(100% - 0.2rem);
  }

  .productsList .catalogArticle .ligneArticle_image .mainImage span {
    position: absolute;
    bottom: -0.1rem;
    right: -0.1rem;
    width: 3rem;
    height: 3rem;
    margin: 0;
  }

}

.ligneArticle_tarif.withPromo,
#productCard .produitTarif.withPromo {
  position: relative;
}

@media screen and (min-width: 940px) {
  .ligneArticle_tarif .icon-promo,
  #productCard .produitTarif .icon-promo {
    top: -2.5rem;
    left: -2.5rem;
    max-width: 5.3rem;
    max-height: 5.3rem;
  }

  .ligneArticle_tarif .icon-promo span,
  #productCard .produitTarif .icon-promo span {
    width: 5.3rem;
    height: 5.3rem;
  }
}

@media screen and (min-width: 1360px) {
  .ligneArticle_tarif.withPromo .blocTarif div:first-child > :first-child,
  #productCard .produitTarif.withPromo .blocTarif div:first-child > :first-child {
    margin-right: 2rem;
  }

  #productCard .produitTarif .icon-promo {
    top: -2.5rem;
    right: -2.5rem;
    left: unset;
    -ms-transform: none;
    transform: unset;
  }

  .ligneArticle_tarif .icon-promo {
    top: -3.5rem;
    right: -3.5rem;
    left: unset;
    -ms-transform: none;
    transform: unset;
  }

  .ligneArticle_tarif .icon-promo span,
  #productCard .produitTarif .icon-promo span {
    transform-origin: center center;
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

@media screen and (max-width: 599px) {
  .productsList .catalogArticle .ligneArticle_tarif .icon-promo,
  #productCard .produitTarif .icon-promo {
    width: 100%;
    left: 0;
    top: 0;
    height: 2rem;
    max-width: unset;
    -ms-transform: none;
    transform: unset;
  }

  #productCard .produitTarif .icon-promo {
    top: -1rem;
  }

  .productsList .catalogArticle .ligneArticle_tarif .icon-promo::before,
  #productCard .produitTarif .icon-promo::before {
    display: none;
  }

  .ligneArticle_tarif .icon-promo span,
  #productCard .produitTarif .icon-promo span {
    position: relative;
    -ms-transform: none;
    transform: unset;
    height: 2rem;
    margin: auto;
  }
}

.productsPaging {
  min-height: 3rem;
}

.productsPaging .listeArticlesPaging {
  margin: 0 auto;
}

.productsPaging .selectPaging {
  width: 10rem;
}

.productsPaging a,
.productsPaging span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 2.2rem;
  width: 2.2rem;
  padding: 0 0.5rem;
  margin: 0.5rem 0.2rem;
}

.productsPaging select {
  margin: 0 0 0 0.5rem;
  width: 6rem;
  height: 3rem;
}

/**************************************************** PRODUIT *********************************************************/
main .produit-navigation {
  position: absolute;
  margin: 0 auto;
}

main .produit-navigation a {
  position: absolute;
}

#productCard {
  position: relative;
}

#productCard .pageTitle h1 span {
  margin-right: 0.4rem;
}

#productCard .produitPresentation {
  padding: 1rem 0;
}


#productCard .produitPresentation .content .produitImages {
  grid-area: img;
}

#productCard .produitPresentation .content .produitDetail {
  grid-area: text;
  height: 100%;
}

#productCard .produitPresentation .content .produitTarif {
  grid-area: actions;
  height: fit-content;
}

@media screen and (min-width: 600px) {
  #productCard .produitPresentation .content {
    display: grid;
    gap: 1rem;
  }

  #productCard .produitPresentation .content .produitDetail .produitDescriptif {
    width: 100%;
  }

}

@media screen and (min-width: 600px) and (max-width: 939px) {
  #productCard .produitPresentation .content {
    grid-template-areas:  "img actions"
                          "text text";
    grid-template-columns: 1fr 24rem;
    grid-template-rows: auto  1fr;
  }
}

@media screen and (min-width: 940px) {
  #productCard .produitPresentation .content {
    grid-template-areas:  "img text actions";
    grid-template-columns: minmax(20%, 35.5rem) minmax(41%, 1fr) minmax(24rem, 22%);
  }

}

#productCard .produitImages .mainImage,
#productCard #tabs .optionImg span.infoDetail .showZoom,
#productCard .produitCaracteristiqueBas .optionImg span.infoDetail .showZoom {
  position: relative;
  width: 100%;
  height: fit-content;
}

#productCard .produitImages .mainImage {
  aspect-ratio: 1 / 1;
}

@media screen and (min-width: 600px) and (max-width: 939px) {
  #productCard .produitImages .mainImage {
    width: auto;
    margin: auto;
  }
}

#productCard #tabs .optionImg span.infoDetail,
#productCard .produitDescriptif .optionImg span.infoDetail,
#productCard .produitCaracteristiqueBas .optionImg span.infoDetail {
  width: 100%;
}

#productCard #tabs .optionImg span.infoDetail .showZoom,
#productCard .produitCaracteristiqueBas .optionImg span.infoDetail .showZoom {
  margin: 0 auto 1rem;
}

#productCard .produitImages .mainImage img,
#productCard #tabs .optionImg span.infoDetail .showZoom img,
#productCard .produitCaracteristiqueBas .optionImg span.infoDetail .showZoom img {
  max-height: calc(100% - 0.2rem);
  max-width: calc(100% - 0.2rem);
  margin: 0.1rem;
  padding: 0;
}

#productCard .produitImages .mainImage span,
#productCard #tabs .optionImg span.infoDetail .showZoom span,
#productCard .produitCaracteristiqueBas .optionImg span.infoDetail .showZoom span {
  position: absolute;
  bottom: -0.1rem;
  right: -0.1rem;
  width: 3rem;
  height: 3rem;
  margin: 0;
}

#productCard .produitImages .pictosLinks a,
#productCard .produitImages .pictosLinks > span {
  width: 4rem;
  height: 4rem;
  margin: 0;
  padding: 0.5rem;
}

#productCard .produitImages .pictosLinks img {
  max-width: 3rem;
  max-height: 3rem;
  margin: 0;
  padding: 0;
}

#productCard .produitDescriptif h1 {
  margin: 0 0 1rem;
}

#productCard .produitDescriptif p.titre {
  margin: 1rem 0 0;
}

#productCard .produitDescriptif .blocTarif {
  float: right;
  padding: 1rem;
}

#productCard p.optionImg .showOption img {
  max-width: 7rem;
  max-height: 7rem;
}

#productCard .produitDescriptif .produitCaracteristique.optionImg {
  max-width: 20rem;
}


#productCard .produitDetailDimensions {
  align-self: flex-end;
  margin: 0;
  padding: 0.5rem 0;
}

#productCard .produitDetailDimensions .title {
  width: 100%;
  margin: 0 0 0.8rem;
}

#productCard .produitPresentation .produitStartingPrice {
  margin: 0.5rem 0;
}

#productCard .produitPresentation .produitStartingPrice .tarifClient p {
  width: 100%
}

.produitDetailDimensions .produitDimensionConteneur {
  min-width: 17rem;
  margin: 0 0 0.2rem;
}

.produitDetailDimensions .produitDimensionConteneur input {
  height: 2.3rem;
  width: 7rem;
  margin: 0 0.2rem 0 0;
  padding: 0 0.2rem;
}

#productCard .produitDetailDimensions.tableauVT .produitDimensionConteneur {
  height: 2.4rem;
}

#productCard .produitDetailDimensions.tableauVT .produitDimensionLibelle {
  width: 8rem;
}

#productCard .produitDetailDimensions.tableauHZ .produitDimensionConteneur {
  height: 2.4rem;
  margin: 0 2rem 0 0;
}

#productCard .produitDetailDimensions.tableauHZ .produitDimensionConteneur .produitDimensionLibelle {
  margin: 0 1rem 0 0;
}

#productCard .produitDetailDimensions.tableauHZ .produitDimensionConteneur .produitDimensionValeur {
  height: 2.3rem;
}

#productCard .regroupements {
  margin-top: 4em;
}

#productCard .regroupements .title {
  margin-bottom: 1em;
}

#productCard .regroupements p {
  margin-bottom: 0.5rem;
  margin-right: 1rem;
}

#productCard .regroupements p .label {
  min-width: 8rem;
  margin-right: 1rem;
}

#productCard .regroupements .selectBox select {
  min-width: 10rem;
}

#productCard .ficheProduit th {
  padding: 0.5rem;
}

#productCard .ficheProduit td {
  padding: 0.1rem 0.3rem;
}

#productCard .ficheProduit input {
  height: 2.3rem;
}

#productCard .produitPresentation .produitTarif .blocSaisie {
  width: 100%;
}

#productCard .produitTarif .produitEmballages {
  margin: 1rem 0 0;
}

.autresAgences {
  max-width: 25rem;
  min-height: 4rem;
  padding: 0.4rem;
  margin: 1rem auto;
}

#productCard .blocStock .pictoStock {
  width: 100%;
  height: 2rem;
  margin: 0;
  padding: 0 1rem;
}

#productCard .produitTarif .blocSaisie div p {
  width: 100%;
}

#productCard .productContact {
  margin: 1rem 0 0;
}

#productCard .productContact .icoLink {
  width: 100%;
  padding: 0 0.5rem 0 1rem;
  align-items: center;
}

#productCard .ficheArticle_infoSup .ficheProduitTable {
  margin: 1rem 0;
}

#productCard .ficheArticle_infoSup .ficheProduitTR {
  width: 100%;
  min-height: 3rem;
}

#productCard .ficheArticle_infoSup .ficheProduitTH,
#productCard .ficheArticle_infoSup .ficheProduitTD {
  flex: 1 0 7rem;
  padding: 0.1rem 0.3rem;
}

#productCard .ficheArticle_infoSup .ficheProduitTH:first-child,
#productCard .ficheArticle_infoSup .ficheProduitTD:first-child {
  flex: 2 0 40%;
}

#productCard .ficheArticle_infoSup .ficheProduitTH.ficheProduitQte,
#productCard .ficheArticle_infoSup .ficheProduitTD.ficheProduitQte {
  flex: 0 0 12rem;
}

#productCard .ficheArticle_infoSup .ficheProduitTH.ficheProduitQteConv {
  flex: 0 0 24rem;
}

#productCard .ficheArticle_infoSup .ficheProduitTH:last-child,
#productCard .ficheArticle_infoSup .ficheProduitTD:last-child {
  flex: 0 0 3.6rem;
  padding: 0.1rem 0.3rem;
}

#productCard .ficheArticle_infoSup .ficheProduitTD button {
  min-width: 3rem;
  width: 3rem;
  height: 3rem;
  padding: 0;
}

#productCard .ficheArticle_infoSup .ficheProduitTD button::before {
  left: unset;
  margin: 0;
}

#productCard .ficheArticle_infoSup div.ficheProduitQte {
  flex: 0 0 12rem;
}

#listeConnexe article {
  position: relative;
}

#agencesFilterStock .libelleStock .unit {
  margin-left: 2px;
}


#listeRegroupement .fieldsetHeader,
#listeRegroupement .fieldsetLine {
  display: grid;
  gap: 0.5rem;
  padding: 0.5rem;
}

#listeRegroupement .regroupementLibelle {
  grid-area: text;
}

#listeRegroupement .regroupementOption {
  grid-area: option;
}

#listeRegroupement .regroupementTarif {
  grid-area: tarif;
}

#listeRegroupement .regroupementStock {
  grid-area: stock;
}

#listeRegroupement .regroupementSaisie {
  grid-area: action;
}

@media screen and (min-width: 940px) {
  #listeRegroupement .fieldsetHeader,
  #listeRegroupement .fieldsetLine {
    grid-template-areas:  "text option tarif stock action";
    grid-template-columns: 30% 1fr 2fr 15rem 20rem;
  }

  #listeRegroupement .regroupementOption,
  #listeRegroupement .regroupementTarif {
    display: flex;
    justify-content: space-around;
  }

  #listeRegroupement .regroupementOption .label,
  #listeRegroupement .regroupementTarif .label {
    display: none;
  }
}

@media screen and (max-width: 939px) {
  #listeRegroupement .fieldsetHeader {
    display: none;
  }

  #listeRegroupement .regroupementSaisie .blocSaisie button {
    min-width: unset;
  }

}

@media screen and (min-width: 600px) and (max-width: 939px) {
  #listeRegroupement .fieldsetLine {
    grid-template-areas:  "text option"
                          "tarif stock"
                          "tarif action";
    grid-template-columns: 1fr minmax(auto, 20rem);
    grid-template-rows: repeat(3, auto);
  }

  #listeRegroupement .regroupementTarif {
    display: flex;
    justify-content: space-around;
  }
}

@media screen and (max-width: 599px) {
  #listeRegroupement .fieldsetLine {
    grid-template-areas:  "text text"
                          "option option"
                          "tarif stock"
                          "tarif action";
    grid-template-columns: 1fr minmax(auto, 20rem);
    grid-template-rows: repeat(4, auto);
  }
}

#listeRegroupement .regroupementLibelle .mainImage:hover img {
  position: absolute;
  width: max-content;
  height: max-content;
  max-width: unset;
  max-height: unset;
  bottom: -50%;
  left: -1rem;
}

#listeRegroupement .regroupementLibelle .mainImage {
  position: relative;
  height: 5rem;
  width: 5rem;
  margin-right: 1rem;
}

#listeRegroupement .regroupementStock .blocStock {
  margin: 0;
}

#listeRegroupement .regroupementSaisie .inputBloc {
  margin-right: 0.5rem;
}

#listeRegroupement .regroupementSaisie .blocSaisie > p {
  width: auto;
}

#listeRegroupement .regroupementSaisie p {
  margin-top: 0;
}

#listeRegroupement .regroupementSaisie p + p {
  margin-top: 1rem;
}

#listeRegroupement .regroupementSaisie p button {
  padding: 0 1rem;
}

#listeDeclinaisons .listeDeclinaisons {
  min-height: 10rem;
  margin: 1rem 0;
}

#listeDeclinaisons .listeDeclinaisons .vs__dropdown-menu {
  max-height: 20rem;
}

#listeDeclinaisons .listeDeclinaisons .blocStock {
  max-width: 20rem;
  min-width: 15rem;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur {
  display: grid;
  padding: 0.5rem;
  gap: 0.5rem;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .produitContent {
  grid-area: text;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .produitDetailDimensions {
  grid-area: option;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .declinaisonStock {
  grid-area: stock;
  justify-self: end;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .declinaisonSaisie {
  grid-area: action;
}

@media screen and (min-width: 940px) {
  #listeDeclinaisons .listeDeclinaisons .declinaisonConteneur {
    grid-template-areas:  "text stock action";
    grid-template-columns: 1fr minmax(auto, 15rem) minmax(auto, 20rem);
  }
  #listeDeclinaisons .listeDeclinaisons .declinaisonConteneur.hasDimension {
    grid-template-areas:  "text option stock action";
    grid-template-columns: 30% 1fr 15rem 20rem;
  }

}
@media screen and (max-width: 939px) {
  #listeDeclinaisons .listeDeclinaisons .declinaisonConteneur {
    grid-template-areas:  "text text"
                          "stock action";
    grid-template-columns: 1fr minmax(auto, 20rem);
    grid-template-rows: repeat(2, auto);
  }
  #listeDeclinaisons .listeDeclinaisons .declinaisonConteneur.hasDimension {
    grid-template-areas:  "text text"
                          "option stock"
                          "option action";
    grid-template-columns: 1fr minmax(auto, 20rem);
    grid-template-rows: repeat(3, auto);
  }
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .produitContent p + p {
  margin-top: 0.4rem;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .declinaisonStock .blocStock {
  margin: 0;

}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .blocSaisie p {
  width: auto;
  margin: 0;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .blocSaisie p.inputLine {
  margin-right: 0.5rem;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .blocSaisie .buttonIcon {
  min-width: 3rem;
  width: 3rem;
  height: 3rem;
  padding: 0;
}

#listeDeclinaisons .listeDeclinaisons .declinaisonConteneur .blocSaisie .buttonIcon::before {
  position: relative;
  left: unset;
  margin: 0;
}

#listeComposant > div {
  margin-bottom: 2rem;
}

.ongletTabs #listeComposant > div {
  margin-bottom: 0.5rem;
}

#listeComposant .catalogArticle {
  width: 100%;
  margin: 0 0 1rem;
}

#listeComposant .catalogArticle:last-child {
  margin-bottom: 0;
}

#listeComposant .catalogArticle .ligneArticle_image {
  flex: 0 0 8rem;
  width: 8rem;
  min-height: 8rem;
  padding: 1rem;
}

#listeComposant .catalogArticle .ligneArticle_image > span {
  width: 6rem;
  height: 6rem;
}

#listeComposant .catalogArticle .ligneArticle_image > span img {
  max-height: 5.8rem;
  max-width: 5.8rem;
}

#listeComposant .catalogArticle .ligneArticle_image .mainImage span,
#listeComposant .catalogArticle .ligneArticle_image .pictosLinks {
  display: none;
}

#listeComposant .catalogArticle .ligneArticle_detail {
  padding-left: 1rem;
}

#listeComposant .catalogArticle .ligneArticle_tarif {
  padding: 1rem;
}

#productCard .ficheArticle_infoSup .ligneArticle_detail p.title {
  margin: 0.4rem 0;
  padding: 0;
}

#productCard .ficheArticle_infoSup .ligneArticle_detail .produitDescriptif {
  margin-left: 0;
}

#tabs {
  margin-top: 1.5rem;
}

#tabs .menu ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
}

#tabs .menu ul li {
  float: none;
  min-width: 18rem;
  padding: 0;
}

#tabs .menu .ui-state-default {
  height: 3.8rem;
  margin: 0.1rem 0.1rem 0 0;
}

#tabs .menu .ui-state-active {
  height: 4rem;
  margin: 0 0.1rem 0 0;
}

#tabs .menu ul li a {
  float: none;
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0.4rem 0 0.4rem 1rem;
}

#tabs .menu ul li a span[class*="icon-"] {
  height: 1.2rem;
  padding: 0 1rem;
}

#tabs .ui-tabs-panel {
  min-height: 10rem;
  margin-bottom: 1rem;
  padding: 1rem;
}

#productCard .produitTableauCaract {
  margin: 0;
}

#productCard .produitTableauCaract th,
#productCard .produitTableauCaract td {
  min-width: 15rem;
  height: 2.6rem;
  padding: 0 0.5rem;
}

#productCard .produitDetail .produitTableauCaract {
  border-spacing: 0;
}

#productCard .produitDetail .produitTableauCaract th,
#productCard .produitDetail .produitTableauCaract td {
  padding: 0;
}

#productCard .produitDetail .blocTarif {
  margin-top: auto;
  margin-left: auto;
  padding: 0.5rem;
}

#productCard .produitTableauCaract td {
  padding-left: 0;
}

.produitCaracteristique p {
  min-height: 2rem;
  padding: 0;
}

.produitCaracteristique > div {
  min-height: 3rem;
  padding: 0.5rem 0;
}

.produitCaracteristique.optionFile {
  margin: 0.4rem 0;
}

p.produitCaracteristique span.infoTitre {
  flex: 1 0 15rem;
}

p.produitCaracteristique span.infoTitre img {
  max-width: 3rem;
  max-height: 3rem;
}

p.produitCaracteristique span.infoTitre + .infoDetail {
  flex: 1 1 calc(100% - 15rem);
  margin-left: 0.5rem;
}

.produitCaracteristique span.infoDetail a img {
  max-height: 3rem;
}


@media screen and (max-width: 599px) {

  #listeComposant .productsList .catalogArticle {
    grid-template-columns: 10rem 1fr;
    grid-template-rows: unset;
    grid-template-areas: "actions text";
  }

  #listeConnexe .productsList .catalogArticle {
    grid-template-columns: minmax(20%, 25.5rem) minmax(50%, 1fr) minmax(20%, 28rem);
  }

  #listePrestation .productsList .catalogArticle {
    grid-template-areas:
    "img text"
    "actions actions";
    grid-template-columns: 1fr minmax(auto, 20rem);
    grid-template-rows: repeat(2, auto);
  }

  #listePrestation .productsList .blocSaisie,
  #listePrestation .productsList .blocSaisie .inputBloc {
    display: flex;
  }
}


@media screen and (min-width: 600px) {
  #listeComposant .productsList .catalogArticle {
    grid-template-columns: 16rem 1fr;
    grid-template-areas: "actions text";
  }

  #listeConnexe .productsList .catalogArticle {
    grid-template-columns: minmax(16%, 25.5rem) minmax(50%, 1fr) minmax(20%, 28rem);
  }

  #listePrestation .productsList .catalogArticle {
    grid-template-columns: minmax(15%, 16rem) minmax(50%, 1fr) minmax(20%, 21rem);
  }

}

@media screen and (min-width: 940px) {
  #listePrestation .catalogDetail {
    max-width: 80%;
    margin: 0 0 0 auto;
  }

}

/*********************************************************** PANIER ***************************************************/
.blocCoupon .title {
  margin: 0 0 0.6rem;
}

.blocCoupon input[type=text] {
  width: 14rem;
  padding: 0 0.5rem;
  margin: 0 0.1rem 0 0;
}

#coupon {
  margin: 0 1.2rem;
}

#coupon p {
  height: 3rem;
  padding: 0 0.5rem;
  margin: 0;
}

.caddieContent .caddieContentInfos {
  margin: 1rem 0 2rem;
}

.caddieContent .caddieContentInfos .pixel_32 {
  margin-right: 2rem;
}

.caddieHeader .caddieHeaderContent .caddieHeaderInfo .nbArticles {
  margin: 1rem 0;
}

.caddieContainer .caddieComment {
  min-height: 3rem;
}

.caddieContainer .caddieComment .icon-comment {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 0.6rem;
}

.caddieContainer .caddieComment input {
  height: 3rem;
  padding: 0.5rem;
}

.caddieContainer .caddieComment .buttonIcon {
  justify-content: center;
  width: 3rem;
  height: 3rem;
  min-width: 3rem;
  padding: 0;
}

.caddieContainer .caddieComment .buttonIcon:before,
.blocExpert .saisieExpert button.icon-validate:before {
  left: 0.4rem;
}

.caddieHeader .caddieHeaderContent .caddieHeaderInfo .caddieSelect {
  margin: 2rem 0 0.5rem 0;
}

.caddieLineShort .caddieLineInfo .libelleLineComplement,
.caddieLineShort .caddieLineInfo .caddieLineImage,
.caddieLineShort .caddieLineComplement {
  display: none;
}

.caddieLine .caddieLineContent .width100 > div {
  padding: 1rem;
}

.caddieLine .caddieLineInfo {
  flex: 2 1 35rem;
  position: relative;
  overflow: hidden;
  padding: 0 0.2rem 0 0.5rem;
}

.caddieLine .caddieLineInfo > div {
  overflow: hidden;
}

.caddieLine .caddieLineImage .lineImage img {
  max-height: 100%;
  max-width: 100%;
}

.caddieLine .quantiteLine {
  margin: 0 1rem;
}

.caddieLine .caddieLinePrice .tarifUnitLine p span sup,
.caddieLine .caddieLinePrice .tarifTotalLine p span sup {
  padding-left: 2px;
}

.caddieLineShort .caddieLinePrice .tarifUnitLine p + p,
.caddieLineShort .caddieLinePrice .tarifTotalLine p + p,
.caddieLineShort .caddieLineEmballage {
  display: none;
}

.caddieLineShort .caddieLinePrice .tarifUnitLine p.tarifUnitRemise {
  display: flex;
}

.caddieLine .caddieLineComplement {
  width: 100%;
  margin: 0.5rem 0;
}

.caddieLine .caddieLineEmballage {
  width: 100%;
  padding: 0.5rem;
}

.caddieLine span.icon-delete {
  margin: auto;
}

#oecContent .caddieLine .product-tag-chantier .panierLigne_addChantier span + span {
  display: none;
}

#validation_panier .caddieFooter .content {
  flex-direction: row;
}

#contentUserFavoriteCaddies .caddieFooter .content {
  flex-direction: row;
}

label.checkBox {
  align-self: center;
  width: 2rem;
  height: 2rem;
  margin: 0 0.5rem;
  padding: 0;
}

label.checkBox input[type="checkbox"] {
  display: none;
}

label.checkBox input[type="checkbox"] + span {
  display: inline-block;
  width: 2rem;
  height: 2rem;
}

.toggleLine {
  margin: 0;
  padding: 0;
}

.caddieContent {
  padding: 1rem 0;
}

.caddieLineOptions label.js_toggleAllLines {
  position: relative;
  display: flex;
  align-items: center;
  height: 4rem;
  margin: 0;
  padding: 0 0 0 0.4rem;
}

.caddieLineOptions label.js_toggleAllLines span::before {
  margin-right: 0.5rem;
}

.caddieLineOptions > div {
  position: relative;
}

.emptyCaddieContent .caddieLine .caddieLineContent .libelleLine {
  min-height: 3rem;
  padding-left: 1rem;
}

.caddieFooter .content .infosTransport {
  position: relative;
  margin: 0;
  padding: 0;
}

.infosTransport .buttonIcon {
  height: 4rem;
  padding: 0 2rem 0 4rem;
}

.caddieFooter .content .infosTransportPopup {
  position: absolute;
  bottom: 5rem;
  right: 0;
  max-height: 50vh;
  padding: 1rem;
  overflow: auto;
}

.infosTransport .infosTransportPopup p {
  height: auto;
  width: 100%;
}

.infosTransportPopup table {
  width: 100%;
}

.infosTransportPopup table th {
  height: 2rem;
  padding: 0.5rem;
  white-space: nowrap;
}

.infosTransportPopup table td {
  height: 2rem;
  padding: 0.5rem;
}

.infosTransportPopup table td span {
  white-space: nowrap;
}

.caddieBlocComplement .caddieBlocComplementBloc {
  padding-bottom: 1rem;
  padding-left: 1rem;
}

.caddieBlocComplement .caddieBlocComplementBloc .title {
  margin: 0 0 0.6rem;
}

.caddieBlocComplement .caddieBlocComplementBloc a {
  margin-top: 1rem;
}

.caddieBlocComplement .caddieBlocComplementBloc a span {
  margin: 0 1rem;
}

/***************************************************** TUNNEL DE COMMANDE *********************************************/
#tdv a {
  position: relative;
}

#tdv .content p {
  width: calc(20vw - 0.3rem);
  height: calc(20vw - 0.3rem);
  max-width: 12rem;
  max-height: 12rem;
  margin: 0;
  padding: 0;
}

#tdv .content p a {
  width: 100%;
  height: 100%;
}

#tdv .content p a + span {
  display: none;
}

#tdv .content p span {
  min-height: 2.2rem;
  margin: 0.6rem 0.4rem;
}

#validation_connexion .fieldset .formInfo {
  position: relative;
  height: 20rem;
  padding: 1rem 2rem;
}

#validation_connexion #loginForm .formInfo p {
  width: 30rem;
  margin: 0 auto;
}

.tdvContent .fieldset .formInfo .form-item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3rem;
  margin: 0 0 0.5rem 0;
}

.tdvContent .fieldset .formInfo .form-item label {
  display: none;
}

.tdvContent .fieldset .formInfo .form-item input {
  flex: 0 0 30rem;
  height: 3rem;
  padding: 0.5rem;
}

.tdvContent .fieldset .formInfo .form-actions {
  position: absolute;
  right: 2rem;
  bottom: 1rem;
  height: 4rem;
}

.tdvContent .blocWarning {
  margin-bottom: 1rem;
  padding: 1rem;
}

.tdvContent .blocWarning span {
  margin-right: 1rem;
}

.tdvContent .fieldset .formInfo ul {
  position: absolute;
  top: 7rem;
  left: 13.8rem;
  margin: 0;
  padding: 0;
}

.tdvContent .fieldset .formInfo ul li {
  margin: 1rem 0;
  padding: 0;
}

.tdvContent .fieldset .formInfo p {
  height: 4rem;
}

.tdvContent .fieldset .fieldsetLegend {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.8rem 1rem;
}

.tdvContent .fieldset .fieldsetLegend::before {
  margin-right: 1rem;
}

.tdvContent .fieldset .fieldsetContent {
  padding: 1rem;
}

.tdvContent .fieldset .fieldsetContent .title {
  margin: 1rem 0 0.5rem;
}

.tdvContent .fieldset .fieldsetContent p {
  margin: 0 0 0.5rem;
}

.tdvContent .fieldset .fieldsetContent p:last-child {
  margin: 0;
}

.tdvContent .fieldset .fieldsetContent p.labelRequired {
  height: 2rem;
  margin: 0.5rem 0 0;
}

.tdvContent .fieldset .fieldsetContent p .selectBox {
  margin: 0 0.5rem 0 0;
}

.tdvContent .fieldset .fieldsetContent p .label + .selectBox {
  margin-left: 0.5rem;
}

.tdvContent .fieldset .fieldsetContent p .selectBox + input {
  width: 37.3rem;
}

.tdvContent .buttonIcon {
  min-width: 20rem;
}

.tdvContent .inputCheckbox label {
  height: 4rem;
}

.tdvContent .fieldset .formInfo label {
  display: inline-block;
  flex: 1 1 10rem;
  min-width: 10rem;
  padding: 0 0.5rem;
}

.tdvContent .fieldset .formInfo p .input,
.tdvContent .fieldset p input[type=text],
.tdvContent .fieldset p input[type=number],
.tdvContent .fieldset p input[type=tel],
.tdvContent .fieldset .formInfo p input[type=email] {
  flex: 1;
  width: 44rem;
  height: 4rem;
  padding: 0.5rem;
}

.tdvContent .fieldset .formInfo p input.miniInput {
  flex: 0 0 7rem;
  width: 7em;
  margin-right: 0.5rem;
}

.tdvContent .fieldset .formInfo p .selectBox + input {
  width: 37.3rem;
}

.tdvContent .fieldset .formInfo p input.miniInput + input {
  width: 34.3rem;
}

.tdvContent #vosCoordonnees .fieldsetContent p .input,
.tdvContent #vosCoordonnees .fieldsetContent p input[type=text],
.tdvContent #vosCoordonnees .fieldsetContent p input[type=email],
.tdvContent #vosCoordonnees .fieldsetContent p input[type=tel] {
  flex: 2 1 30rem;
  width: 31rem;
}

.tdvContent .fieldset .fieldsetContent .displayAdresse .title_h5 {
  margin: 0.5rem 0 1rem;
}

.tdvContent #js_saisieAdresse .formInfo {
  width: 38rem;
  margin: 1rem auto 0;
}

.tdvContent #adresseFacturation p label {
  margin-right: 1rem;
}

.tdvContent #adresseFacturation p select {
  max-width: 20rem;
}

.tdvContent #typeCommande .blocDate p span {
  margin-right: 0.5rem;
}

.tdvContent #typeCommande .blocDate input {
  /*flex: 0 0 9rem;*/
  width: 10rem;
  height: 2.4rem;
  margin: 0 0.5rem;
  padding: 0.2rem 0.5rem;
}

.tdvContent #typeCommande .blocDate input[name=heureDispo] {
  width: 7.8rem;
}

.tdvContent .blocChoice .buttonLabel {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 4rem;
}

.tdvContent .blocChoice input {
  display: none;
}

.tdvContent .blocChoice input:checked + .buttonLabel::after {
  position: absolute;
  height: 0;
  width: 0;
  content: " ";
  pointer-events: none;
  margin-left: -0.5rem;
  z-index: 3;
}

.tdvContent .blocChoiceDetail {
  flex: 1;
}

.tdvContent #typeCommande .blocType {
  flex-wrap: wrap;
}

.tdvContent #typeCommande #blocEmporte > p {
  width: 100%;
}

.tdvContent #typeCommande #blocEmporte li,
.tdvContent #blocLivre #blocForfaitsTransport li {
  margin: 0.5rem 0;
}

.tdvContent #typeCommande #blocEmporte li label,
.tdvContent #blocLivre #blocForfaitsTransport li label {
  min-height: 3rem;
}

.tdvContent #blocLivre #blocForfaitsTransport li img {
  max-height: 4rem;
  max-width: 4rem;
  margin-right: 0.4rem;
}

.tdvContent #typeCommande #blocEmporte li input[type="text"] {
  height: 4rem;
  width: 100%;
  margin: 0 0 0 2.5rem;
  padding: 0.2rem 0.5rem;
}

.tdvContent #blocLivre p select {
  height: 3.2rem;
}

.tdvContent #blocLivre p textarea {
  width: 100%;
  min-height: 5rem;
}

.tdvContent #blocEmporte .displayAdresse > div {
  width: 25rem;
  margin-right: 4rem;
}

.tdvContent #typeEnlevement li label span:not(.icon-dot) {
  width: 5rem;
}

.tdvContent #typeEnlevement li label span img {
  max-width: 4rem;
}

.tdvContent #infoCGV label a {
  margin: 0 0.2rem;
}

.tdvContent #coupon_promo button {
  padding: 0;
}

.tdvContent .blockTotal .fraisTransport .infoComplementaire {
  position: relative;
}

.tdvContent .blockTotal .fraisTransport .infoComplementaire .detail {
  display: none;
  position: absolute;
  right: 1rem;
  bottom: 2rem;
  min-width: 25rem;
  padding: 1rem;
  white-space: normal;
}

.tdvContent .blockTotal .fraisTransport .infoComplementaire:hover .detail,
.tdvContent .blockTotal .fraisTransport .infoComplementaire:focus .detail {
  display: block;
}

.tdvContent .cartAttachmentItems > form > input {
  display: none;
}

.tdvContent .modeReglement {
  margin: 0.1rem 0;
}

.tdvContent .modeReglement .buttonLabel {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 4rem;
}

.tdvContent .modeReglement input {
  display: none;
}

.tdvContent .modeReglement input:checked + .buttonLabel::after {
  position: absolute;
  height: 0;
  width: 0;
  content: " ";
  pointer-events: none;
  margin-left: -0.5rem;
  z-index: 3;
}

.tdvContent .modeReglementDetail p {
  margin: 0 0 1rem;
}

.tdvContent .modeReglementDetail p.fright {
  margin: 0 0 0 1rem;
}

.tdvContent .modeReglementDetail p.fleft {
  margin: 0 1rem 0 0;
}

#validation_confirmation .icoLink {
  width: 22rem;
  margin: 0 1rem;
  padding: 0.4rem 0.2rem 0.4rem 0;
}

#validation_confirmation .msg {
  margin-bottom: 2rem;
}

#validation_confirmation p input {
  height: 4rem;
  margin: 0 1rem;
  padding: 0.2rem;
}

#validation_confirmation p input[type=text] {
  width: 25rem;
}

/******************************************************  MON COMPTE **************************************************/
#navUserAccount a {
  position: relative;
  width: 10rem;
  height: 10rem;
}

#navUserAccount a::before {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}

#contentDashboardUser .accountProfil .title {
  height: 5rem;
  margin: 1.3rem 2rem;
}

#contentDashboardUser .accountProfil p label {
  width: 8rem;
  padding: 0;
}

#contentDashboardUser .accountProfil p .input {
  width: 30rem;
  height: 4rem;
  padding: 1rem 0.5rem;
}

#contentDashboardUser .accountCaddyCDE,
#contentDashboardUser .accountCaddyTYP {
  height: 22.4rem;
  width: 20rem;
}

#contentDashboardUser .bloc p.accountNumber {
  height: 15rem;
  justify-content: space-evenly;
}

#contentDashboardUser .bloc p.accountNumber span {
  display: inline-block;
}

#contentDashboardUser .bloc p.linkContent {
  margin: 0;
}

#contentDashboardUser .fieldsetLegend {
  height: 5rem;
}

#contentDashboardUser .fieldsetContainer .fieldsetContent {
  min-height: 10rem;
}

#contentDashboardUser .fieldsetContainer .fieldsetLine {
  width: 100%;
  max-width: 100%;
  height: 4rem;
  margin: 0;
}

#contentDashboardUser .fieldsetContainer .fieldsetLine .lineTotal {
  flex: 0 0 13rem;
  padding: 0 1rem 0 0;
}

#contentDashboardUser .fieldsetContainer .fieldsetLine span[class*="icon-"] {
  flex: 0 0 3rem;
  padding: 0 0.5rem 0 0;
}

.userAccount h2 span {
  margin-right: 0.6rem;
}

.userAccount > .flex-fJbetween-fAcenter {
  min-height: 5rem;
}

.userAccount h2 + .optionsMenu {
  position: relative;
  z-index: 1;
}

.userAccount #paniersListe .showOptions {
  width: 5rem;
  height: 3.5rem;
  margin: 0;
  padding: 0.5rem;
  z-index: 1;
}

.userAccount #paniersListe .listOptions {
  position: absolute;
  top: 3.4rem;
  right: 0;
  height: 30rem;
  width: 30rem;
  overflow: hidden;
  margin: 0 0 0 -0.1rem;
  padding: 0.5rem;
  z-index: -1;
}

.userAccount #paniersListe .listOptions p.title {
  margin: 0.9rem;
}

.userAccount #paniersListe .listOptions div {
  height: 26rem;
  overflow: auto;
}

.userAccount #paniersListe .listOptions p {
  margin: 0.1rem;
  padding: 0;
}

.userAccount #paniersListe .listOptions p label {
  display: inline-block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 1rem;
}

.userAccount #paniersListe .listOptions p input[type="radio"] {
  display: none;
}

.userAccount #paniersListe .listOptions p label.checkBox input[type="checkbox"] + span {
  margin: 0 1rem 0 0;
}

#contentUserAccount .adminContent {
  margin: 2rem 0;
}

#contentUserAccount .adminContent p {
  padding: 1rem;
}

#contentUserAccount .adminContent .buttonIcon {
  margin: 0;
}

#contentUserAccount .fieldsetLegend {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.8rem 1rem 0.7rem;
}

#contentUserAccount .fieldsetLegend::before {
  margin-right: 1rem;
}

#contentUserAccount .fieldset .fieldsetContent {
  height: 100%;
  padding: 0;
}

#contentUserAccount .fieldset .fieldsetLegend + .fieldsetContent {
  padding: 0.5rem;
}

#contentUserAccount .fieldset .fieldsetContent p {
  min-height: 4rem;
  margin: 0 0 0.5rem;
}

#contentUserAccount .fieldset .fieldsetContent #passwordStrength,
#contentUserAccount .fieldset .fieldsetContent #passwordStrength p {
  min-height: 1rem;
}

#contentUserAccount .fieldset .clientCompte p {
  min-height: 1.4rem;
}

#contentUserAccount .fieldset .fieldsetContent p input:not([type=checkbox]),
#contentUserAccount .fieldset .fieldsetContent p .input {
  height: 4rem;
  padding: 0 0.5rem;
}

#contentUserAccount .fieldset .fieldsetContent p select {
  height: 4rem;
}

#contentUserAccount .fieldset .fieldsetContent .inputCheckbox label {
  max-width: 100%;
  min-height: 2rem;
  width: auto;
}

#contentUserAccount .profilContent .fieldset {
  padding: 0;
}

#contentUserAccount .profilContent .fieldset p select {
  min-width: 6rem;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p input:not([type=checkbox]),
#contentUserAccount .profilContent .fieldset .fieldsetContent p .input {
  width: 44rem;
}

#contentUserAccount .profilContent .userChangeMdp p {
  margin: 0;
  padding: 0.5rem 1rem;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p .label {
  width: 7rem;
  padding: 0 1rem 0 0;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p .label + .input {
  width: 37rem;
}

#contentUserAccount .profilContent .fieldset p.identiteClient select {
  width: 8rem;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p.identiteClient input {
  width: 17.8rem;
  margin: 0 0.2rem;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p.identiteClient input + input {
  margin: 0;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p.villeClient .input {
  width: 6rem;
  margin: 0 0.2rem 0 0;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p.villeClient .input + .input {
  width: 37.8rem;
  margin: 0;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p a {
  margin: 0 0.5rem;
}

#contentUserAccount .profilContent .fieldset .fieldsetContent p button {
  width: 4rem;
  height: 4rem;
  margin: 1rem 0 0 1rem;
}

#contentUserAccount .prefContent > .fieldsetLegend {
  padding: 1.3rem 0 1.2rem;
}

#contentUserAccount .prefContent .fieldset {
  padding: 0 0 1rem;
}

#contentUserAccount .prefContent .fieldset > div + div {
  margin: 1rem 0 0;
}

#contentUserAccount .prefContent .fieldset .fieldsetContent p.choixClient label,
#contentUserAccount .prefContent .fieldset .fieldsetContent p.selectBox label {
  display: inline-block;
  width: 22.7rem;
  margin-right: 0.5rem;
  flex: 1;
}

#contentUserAccount .prefContent .fieldset .fieldsetContent p input[type=number] {
  width: 4rem;
  margin: 0 0.5rem;
}

#contentUserAccount .prefContent .fieldset .choixClient input {
  width: 8rem;
}

#contentUserAccount .prefContent .fieldset .choixClient input + a {
  height: 4rem;
  width: auto;
  padding: 0 1rem;
  margin: 0;
}

#contentUserAccount .actionContent .buttonIcon {
  margin: 2rem 0 4rem 1rem;
}

#contentUserAccount .actionContent .buttonIcon + .buttonIcon {
  margin-left: 1rem;
}

#contentUserAccount .subUsers {
  margin-bottom: 2rem;
}

#contentUserAccount .subUsers h3 {
  display: inline-flex;
  height: 4rem;
  min-width: 16rem;
  margin: 2rem 0;
  padding: 0 2rem 0 1rem;
}

#contentUserAccount .subUsers h3::before {
  margin-right: 1rem;
}

#contentUserAccount .subUsers .profilContent {
  width: 100%;
}

#contentUserAccount .subUsers .fieldsetContent p {
  padding: 0 0.5rem;
}

#contentUserAccount .subUsers .fieldset .fieldsetContent p input {
  width: 24rem;
}

#contentUserAccount .subUsers .buttonIcon {
  margin: 2rem 0;
}

#contentUserOrders .adminOptions {
  margin: 0 0 1rem;
}

#contentUserOrders .legend {
  margin: 1rem 0 0;
  padding: 0.4rem 0;
}

#contentUserOrders .legend > p {
  padding: 0.4rem;
}

#contentUserOrders .legend > p span {
  margin-right: 0.4rem;
}

#contentUserOrders .adminOptions p input {
  height: 4rem;
  padding: 0 0.5rem;
  margin: 0 0 0 0.5rem;
}

#contentUserOrders .adminOptions p input + a {
  height: 4rem;
  padding: 0 1rem;
  margin: 0;
}

#contentUserOrders .fieldsetContainer .accountFilter {
  margin: 0 0 1rem;
}

#contentUserOrders .fieldsetContainer .accountFilter a.buttonIcon {
  padding: 0 1rem 0 3.5rem;
}

#contentUserOrders #mvts-form-toggle {
  min-width: 4rem;
  padding: 0 1rem 0 4rem;
}

#contentUserOrders .mvts-form {
  margin: 2rem 0;
}

#contentUserOrders .mvts-form p {
  margin: 0 0 0 1rem;
}

#contentUserOrders .mvts-form p input {
  width: 12rem;
  height: 4rem;
  padding: 0 0.5rem;
}

#contentUserOrders .accountFilter .listOptions {
  min-width: 21rem;
}

#contentUserOrders .accountFilter .listOptions p {
  padding: 0.6rem;
}

#contentUserOrders .accountFilter .listOptions p span {
  margin: 0 0.6rem;
}

#contentUserOrders .accountFilter .listOptions p input[type="checkbox"] {
  margin: 0;
}

#contentUserOrders .accountFilter .listOptions p button,
#contentUserOrders .mvts-form p button {
  height: 4rem;
}

#contentUserOrders .accountFilter form label {
  white-space: nowrap;
}

#contentUserOrders .accountOrderHeader {
  min-height: 2rem;
  margin: 0 0 0.5rem;
}

#contentUserOrders .fieldsetContainer .fieldsetContainerHeader {
  width: 100%;
  height: 4rem;
  margin: 0 0 1rem;
}

#contentUserOrders .fieldsetContainer .fieldsetLine {
  position: relative;
  width: 100%;
  min-height: 4rem;
  margin: 0 0 1rem;
}

#contentUserOrders .fieldsetContainer .fieldsetLine a {
  flex: 1;
  height: 100%;
}

#contentUserOrders .title .pixel_32 {
  margin-right: 1rem;
}

#contentUserOrders .orderHeader .content {
  position: relative;
}

#contentUserOrders .orderHeader .orderHeaderContent .title span {
  margin-right: 0.8rem;
}

#contentUserOrders .orderHeader .orderHeaderContent .nbArticles {
  margin: 1rem 0;
  flex: 1 0 3rem;
}

#contentUserOrders .orderHeader .orderHeaderContent .adresse {
  margin-top: 1rem;
}

#contentUserOrders .orderHeader .orderHeaderContent .adresse .title {
  margin-bottom: 0.4rem;
}

#contentUserOrders .orderHeader .blockTotal p {
  margin: 0 0 0.6rem;
}

#contentUserOrders .orderContent {
  margin: 1rem auto;
}

#contentUserOrders .orderContent .ref-bloc .ref-bloc__label {
  padding-right: 0.4rem;
}

/******************* Informations de transport **********************/
#contentUserOrders .orderContent .trp-bloc {
  margin: 0;
}

#contentUserOrders .orderContent .trp-bloc__title {
  padding: 0.6rem 0 0;
}

#contentUserOrders .orderContent .trp-bloc__block {
  padding: 0.6rem 0;
}

#contentUserOrders .orderContent .trp-bloc__block .trp-bloc__ligne {
  margin: 0 0 0.1rem;
}

#contentUserOrders .orderContent .trp-bloc__block .trp-bloc__ligne .trp-bloc__label {
  padding-right: 0.4rem;
}

#contentUserOrders .orderContent .trp-bloc__block .trp-bloc__ligne .trp-bloc__display {
  min-height: 2rem;
  padding: 0.2rem;
}

#contentUserOrders .orderFooter {
  margin: 3rem auto;
  padding: 1rem 0;
}

#contentUserSites .sitesLineHeaders {
  width: 100%;
  height: 4rem;
  margin: 0 0 0.5rem;
  padding: 0 0.4rem;
}

#contentUserSites .fieldsetContainer .fieldsetLine {
  position: relative;
  width: 100%;
  min-height: 4rem;
  margin: 0 0 1rem;
  padding: 0 0.4rem;
}

#contentUserSites .fieldsetContainer .fieldsetLine .lineList .listProducts {
  min-height: 4rem;
}

#contentUserSites .fieldsetContainer .fieldsetLine .lineList .listProducts a {
  margin-bottom: 0.4rem;
}

.caddieContainer {
  margin: 0.2rem 0 1rem;
}

.caddieContainer .caddieHeader .toggleCaddie {
  height: auto;
}

.caddieContainer .caddieHeaderContent {
  width: 100%;
}

.caddieBlockContainer {
  margin: 1rem 1rem 0 0;
}

.caddieBlockContent {
  position: relative;
}

.caddieBlockContent .icon-delete {
  position: absolute;
  bottom: 0;
  right: 0;
}

.caddieBlockContent .lineImage img {
  max-width: 100%;
  max-height: 100%;
}

#contentUserFavoriteCaddies .caddieHeader .caddieHeaderContent .caddieHeaderInfo {
  flex: 0 0 80%;
  position: relative;
}

#contentUserFavoriteCaddies .caddieHeader .caddieHeaderContent .blockTotal {
  flex: 0 0 20%;
  height: 100%;
}

#contentUserFavoriteCaddies .caddieBlockContainer .libelleLineComplement {
  display: block;
}

#contentUserFavoriteCaddies .caddieBlockContainer label.checkBox {
  display: flex;
}

.caddieBlockContainer label.checkBox {
  align-self: flex-start;
}

/*********************************************** Plan du site *********************************************************/
#planSite > div {
  flex: 1 0 25%;
  margin: 0 0 1rem;
}

#planSite h2 {
  margin: 0.5rem 0 0;
}

#planSite ul li {
  margin: 0.5rem 0;
}

#planSite ul li ul li {
  margin: 0.5rem 3rem;
}

#planSite ul p {
  display: inline-block;
}

/*********************************************** Formulaire ***********************************************************/
.form-item label:not(.pixel_32) {
  display: inline-flex;
  min-width: 14rem;
  min-height: 3.6rem;
  align-items: center;
}

.form-item.inputTextbox label:not(.pixel_32) {
  min-width: 14rem;
}

.form-item label.pixel_32 + label:not(.pixel_32) {
  min-width: 8rem;
}

.form-item .inputText {
  height: 4rem;
  padding: 0 0 0 0.5rem;
}

.drupalForm .form-wrapper {
  margin: 0 0 1rem;
}

.drupalForm fieldset.inline-fieldset {
  margin: 0;
  padding: 0;
}

.pageForm .fieldset-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}

.drupalForm .inline-fieldset .form-item + .form-item {
  margin-left: 1rem;
}

.drupalForm .inputCheckbox label.pixel_32 {
  min-width: 3rem;
}

.pageForm .form-item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: auto;
  min-height: 4rem;
  margin: 0 0 1rem;
}

.drupalForm .fieldsetConnexion .form-item-mdp {
  flex-wrap: nowrap;
  flex-direction: column;
  align-items: flex-start;
}

.pageForm .form-item-checkboxes,
.pageForm .form-item-radios {
  flex-wrap: nowrap;
  margin: 0 0 1rem;
}

.pageForm .form-item.inputCheckbox,
.pageForm .form-item.inputRadiobox {
  justify-content: flex-start;
  width: auto;
  margin: 0;
}

.form-item.inputRadiobox label.pixel_32 {
  min-width: 3.6rem;
  margin-left: 1rem;
}

.form-item.inputCheckbox label.pixel_32 + label:not(.pixel_32),
.form-item.inputRadiobox label.pixel_32 + label:not(.pixel_32) {
  min-width: 8rem;
}

.drupalForm .js-form-type-radio {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}

.drupalForm .inputRadiobox input[type="radio"],
.drupalForm .inputCheckbox input[type="checkbox"] {
  margin: 0;
}

.pageForm .inline-fieldset .form-item.inputCheckbox,
.pageForm .inline-fieldset .form-item.inputRadiobox {
  margin: 0 0 0 1rem;
}

.drupalForm .fieldset > p > .fieldsetLegend {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.8rem 1rem;
}

.drupalForm .fieldset > p > .fieldsetLegend::before {
  margin-right: 1rem;
}

.drupalForm .content form {
  padding: 1rem 0 2rem;
}

.drupalForm .webform-element--title-inline {
  display: inline-flex;
  justify-content: flex-start;
}

.drupalForm .webform-element--title-inline > label {
  display: inline-flex;
  min-width: 10rem;
  height: 3.6rem;
  padding-right: 0.5em;
  align-items: center;
}

.drupalForm .webform-radios-other {
  margin: 1rem 0;
}

.drupalForm .webform-select-other > label span,
.drupalForm .webform-radios-other > label span {
  height: 3.6rem;
  padding: 1rem 0;
}

.noLabel label {
  display: none;
}

.form-item {
  margin: 0 0 1rem;
}

.openweb-saisie-expert-form .saisieExpert {
  height: 4rem;
}

.openweb-saisie-expert-form .saisieExpert .form-item {
  margin: 0;
}

.openweb-saisie-expert-form .saisieExpert .form-actions button {
  height: 3rem;
}

.form-item input:not([type=radio]):not([type=checkbox]):not([type=file]),
.form-item .inputText {
  height: 4rem;
  padding: 0 0 0 0.5rem;
  margin: 0 0.5rem 0 0
}

.form-item.form-item-codepostal input:not([type=radio]):not([type=checkbox]):not([type=file]),
.form-item.form-item-codepostal input.inputText {
  min-width: 5rem;
  width: 7rem;
}

form.views-exposed-form .fieldgroup fieldset {
  width: 100%;
  margin: 0 0 1rem;
  padding: 0;
}

form.views-exposed-form .fieldgroup fieldset > legend {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0.5rem 1rem;
  min-height: 2.6rem;
}

form.views-exposed-form .fieldgroup fieldset > legend + div {
  width: 100%;
  padding: 1rem;
}

form.views-exposed-form .form-checkboxes .inputCheckbox label,
form.views-exposed-form .form-radios .inputRadiobox label {
  min-height: 2rem;
}

.form-item-copy {
  display: flex;
}

form.contact-form .form-item label:not(.pixel_32) {
  width: 16rem;
  margin-right: 0.5rem;
}

form.contact-form .inputFilebox .form-managed-file,
form.contact-form .inputFilebox .description {
  flex: 1 0 calc((100% - 17rem) / 2);
}

form.contact-form .inputFilebox table .form-managed-file span {
  margin-left: 0;
}

form.contact-form .inputFilebox .tabledrag-toggle-weight-wrapper {
  display: none;
}

form.contact-form .inputFilebox a.tabledrag-handle .handle {
  width: 16px;
  height: 16px;
  margin: 0 0.5em;
  background-position: 0 0;
}

form.contact-form .inputFilebox .form-submit.pixel_16.icon-cross {
  width: 2.2rem;
  min-width: unset;
  height: 2.2rem;
  padding: 0.4rem;
}

form.contact-form .inputFilebox .form-managed-file button {
  order: 1;
  width: 2rem;
  min-width: unset;
  height: 2rem;
  padding: 0.2rem;
}

form.contact-form .form-wrapper.field--type-text-long .js-form-type-textarea {
  margin-bottom: 0;
}

#contactForm .form-item-cbmail,
#contactForm .form-item-cbtel {
  clear: left;
  float: left;
  width: auto;
  margin: 0 1rem 0 0;
}

.drupalForm .form-item-civiliteclient,
.drupalForm .form-item-codepostal {
  width: auto;
  margin-right: 0.1rem;
}

.drupalForm .form-item-nomclient {
  margin-left: 0;
}

.form-item input[type=tel] {
  width: 20rem;
}

.drupalForm .fieldsetConnexion div.password-strength {
  display: none;
}

.drupalForm .fieldsetConnexion .password-strength__title {
  display: none;
}

.drupalForm .fieldsetConnexion div.password-confirm {
  display: none;
}

.drupalForm .fieldsetConnexion .form-item-mdp {
  position: relative;
  width: 100%;
  margin: 0 0 0.1rem;
}

.drupalForm .fieldsetConnexion .form-item-mdp .password-suggestions {
  padding: 1rem;
}

.drupalForm .form-item-cbjesuisunrobot {
  position: absolute;
  left: -9999px;
}

.drupalForm .openweb-creer-profil .form-item input,
.drupalForm .openweb-creer-profil .form-item input[type=tel],
.drupalForm .openweb-creer-profil .form-item input[type=text],
.drupalForm .openweb-creer-profil .form-item input[type=email],
.drupalForm .openweb-creer-profil .form-item select {
  width: 30rem;
}

.drupalForm .webform-actions {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin: 1rem 0;
}

.drupalForm .webform-actions button {
  margin-left: 1rem;
}

.form-item.form-no-label label {
  display: none;
}

.form-item.icon-success {
  position: relative;
}

.form-item.icon-success::before {
  position: absolute;
  right: 1rem;
}

#passwordChange .width50 {
  width: 50rem;
  margin: auto;
}

#passwordChange .form-item input:not([type=checkbox]) {
  width: 50rem;
}

/********************************************************** BLOC ASIDE ************************************************/
aside .bloc,
.aside .bloc {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1rem;
}
.asideContent .bloc {
  margin-bottom: 0;
}

.reassuranceContent {
  padding: 2rem 0;
}

.reassuranceContent .width100 {
  margin-bottom: 1rem;
}

.reassuranceContent .bloc {
  flex: 0 0 20rem;
  width: 20rem;
  height: 20rem;
}

.reassuranceContent .bloc .blocImg {
  width: 100%;
  height: 8rem;
  padding: 0;
}

.reassuranceContent .bloc .blocImg img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
  height: auto;
}

.reassuranceContent .bloc .blocTitre {
  width: 100%;
  height: 8rem;
  margin-top: 2rem;
}

.asideContent {
  padding: 1rem 0;
}

.asideContent h2 {
  margin: 0 0 1rem;
  padding: 0;
}

.aside .asideContent > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, 17.5rem);
  grid-template-rows: repeat(auto-fit, 16rem);
  gap: 0.5rem 0.2rem;
  justify-content: center;
}

.aside .asideContent .bloc {
  height: 100%;
}

.aside .asideContent .bloc a {
  height: 100%;
  width: 100%;
}

.aside .asideContent .bloc a img {
  max-height: 9rem;
}

.aside .asideContent .bloc a h3 {
  min-height: 4rem;
  margin: 1rem 0 0;
}

/********************************************************** FOOTER ****************************************************/
.footer-site .content > div {
  flex: 1;
  padding: 2rem;
}

.footer-site .title_h6 {
  margin: 0 0 1rem;
}

.footer-site .title_h6 + .title_h6 {
  margin-top: 2rem;
}

.footer-site ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.footer-site .footerFirst li {
  margin: 0.5rem 0;
}

.footer-site .horaires-agence table {
  margin: 0;
}

.footer-site .horaires-agence table td {
  width: 9rem;
  height: 2.2rem;
  white-space: nowrap;
}

.footer-site .copyright .content {
  padding: 1rem;
}

.footer-site .copyright a {
  padding: 0 2rem;
}

.footer-site .footerSecond .content {
  flex-wrap: wrap;
  min-height: 2rem;
}

.footer-site .footerSecond .content.htmlContent {
  min-height: 0;
}

.footer-site .footerSecond .menuFooterHz {
  padding: 0.5rem 0;
}

.footer-site .footerSecond .menuFooterHz a,
.footer-site .footerSecond .menuFooterHz span:not(.separator) {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2rem;
  padding: 0 2rem;
  white-space: nowrap;
}

.footer-site .menuFooter ul .title_h6 {
  margin: 2rem 0 0;
}

.footer-site .menuFooter ul.niv2 {
  margin: 0 0 2rem;
}

.footer-site .menuFooter ul li ul li {
  padding-left: 1rem;
}

.footer-site .footerSecond .separator {
  flex: 0 0 0.1rem;
  width: 0.1rem;
  height: 1rem;
}

/********************************************** Popup modal ***********************************************************/
#modal,
#modalMobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
}

#modalMobile {
  z-index: 10;
}

.agenceFormPopup input[type=text] {
  margin: 0;
}

.agenceFormPopup .buttonIcon {
  height: 4rem;
}

#choixAgenceResults .buttonIcon {
  padding: 0;
}

#modal .popup {
  position: relative;
  max-height: 90vh;
  max-width: 90vw;
}

#modal .popup .popup_fermer {
  position: absolute;
  top: -2rem;
  right: -2rem;
}

#modal .popup h2 {
  width: 100%;
  margin: 0;
  padding: 0.8rem 1rem;
}

#modal .popup h2 + div {
  padding: 1.5rem 0 1rem;
}

#modal .popup h2::before {
  margin-right: 1rem;
}

#modal .popup .popupClose {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}

#modal .popup > .popup_contenu {
  margin: 0;
}

#modal .popup > .popup_contenu h1 {
  margin: 1rem;
}

#modal .popup .pixel_64 {
  margin: 1rem;
}

#modal .popup > p {
  width: 100%;
  margin: 0;
  padding: 0.8rem 1rem;
}

#modal .popup .popupContent {
  min-width: 20rem;
  width: 100%;
  min-height: 5rem;
  padding: 0 1rem;
  overflow: auto;
}

#modal .popup .pixel_64 + .popupContent {
  max-width: calc(100% - 8.4rem);
  padding: 0 1rem 0 0;
}

#modal .popup .popupContent .container {
  min-height: 10rem;
  max-height: calc(60vh - 14rem);
  overflow: auto;
}

#modal .popup .popupContent .container p label {
  margin-right: 1rem;
}

#modal .popup .popupContent .container p select {
  min-width: 10rem;
  padding: 0.5rem 1.5rem 0.5rem 0.5rem;
}

#modal .popup .popupContent p {
  margin: 0.5rem 0;
}

#modal .popup .popupContent .listeDocuments {
  margin: 0.5rem 2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 4rem;
  gap: 1rem 2rem;
  align-items: center;
  justify-items: center;
}

#modal .popup .popupContent li {
  margin-left: 2rem;
}

#modal .popup .popupContent input[type=text],
#modal .popup .popupContent input[type=tel],
#modal .popup .popupContent input[type=email] {
  height: 4rem;
  padding: 0 0.5rem;
}

#modal .popup .popupContent input[type=checkbox],
#modal .popup .popupContent input[type=radio] {
  margin: 0 0.5rem 0 0;
}

#modal .popup .popupContent textarea {
  width: 100%;
  min-height: 4rem;
}

#modal .popup .popupContent .popupButton {
  margin: 1rem 0 0;
}

#modal .popup .popupContent .popupButton button {
  margin: 0 0 0.5rem 0.5rem;
}

#modal .popup > .popup_contenu .article_zoom img {
  max-height: calc(100% - 2rem);
  padding: 1rem;
}

#modal #saisie .blocSaisie {
  width: 20rem;
  align-items: flex-start;
}

#modal #saisie .blocSaisie .inputLine {
  width: 100%;
}

#modal #saisie .produitDetailDimensions input[type=text],
#modal #saisie .blocSaisie .quantite {
  width: 7rem;
  height: 2.3rem;
  margin: 0 0.3rem 0 0;
  padding: 0 0.2rem;
}

#modal #saisie .ficheArticle_infoSup {
  margin: 1rem 0 0;
}

#modal #saisie .ficheArticle_infoSup table {
  width: 100%;
  margin: 1rem 0;
  border-collapse: collapse;
}

#modal #saisie .ficheArticle_infoSup th {
  padding: 0.5rem;
}

#modal #saisie .ficheArticle_infoSup td {
  padding: 0.1rem 0.3rem;
}

#modal #saisie .ficheArticle_infoSup td input {
  height: 2rem;
}

#modal #majStock .blocStock,
#modal #interroStockResults .blocStock {
  margin: 0 0.5rem 0 0;
  padding: 0.5rem 0;
}

#modal #majStock .blocStock p,
#modal #interroStockResults .blocStock p {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

#modal #majStock .blocStock .pictoStock,
#modal #interroStockResults .blocStock .pictoStock {
  width: 3rem;
  height: 2.3rem;
  margin: 0 1rem;
  padding: 0;
}

#modal #majStock .blocStock .pictoStock span,
#modal #interroStockResults .blocStock .pictoStock span {
  width: 100%;
  height: 0.5rem;
  margin: 0 0.05rem 0.4rem;
}

#modal #majStock .blocStock .pictoStock span:last-child,
#modal #interroStockResults .blocStock .pictoStock span:last-child {
  margin-bottom: 0;
}

#modal #majStock .blocStock .pictoStock span::after,
#modal #interroStockResults .blocStock .pictoStock span::after {
  display: none;
}

/************************************************** Autres pages ******************************************************/
.page403,
.page404 {
  min-height: 50vh;
  padding: 0 0 1rem;
}

/************************************************** Maintenance *******************************************************/
.maintenance {
  width: 100vw;
  height: 100vh;
}

.maintenance .content {
  margin: 0;
  padding: 5rem;
}

/********************************************** Connexion interdite ***************************************************/
.connexionInterdite {
  width: 100vw;
}

.connexionInterdite .content {
  margin: 0;
  padding: 5rem;
}

/********************************************** Page login ************************************************************/
.openweb-user-login-form {
  padding: 2rem 0;
  max-width: 50rem;
  margin: auto;
}

.openweb-user-login-form div.content {
  width: 100%;
  margin-bottom: 2rem;
}

.openweb-user-create-form {
  padding: 2rem;
}

.connexionObligatoire {
  height: calc(100vh - 18rem);
}

.openweb-user-login-form .form-item-name,
.openweb-user-login-form .form-item-pass,
.openweb-user-login-form .form-item-persistent-login {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  min-height: 4rem;
  margin: 0 0 1rem;
}

.openweb-user-login-form .form-item-persistent-login {
  justify-content: flex-start;
}

.openweb-user-login-form .form-item-name label,
.openweb-user-login-form .form-item-pass label {
  flex: 0 0 20rem;
  width: 20rem;
  min-height: 4rem;
}

.openweb-user-login-form .form-item-name input,
.openweb-user-login-form .form-item-pass input {
  flex: 0 0 20rem;
  width: 20rem;
}

.drupalForm .form-actions {
  display: flex;
  justify-content: center;
  height: 4rem;
  margin: 3rem 0 0;
}

.drupalForm .form-actions button + button {
  margin-left: 2rem;
}

.openweb-user-login-form + ul {
  margin-bottom: 2rem;
}

.openweb-user-login-form + ul li {
  list-style-type: none;
}

/************************************************* Encours ************************************************************/
#infoEncours {
  min-height: 5rem;
  margin: 1rem 0;
}

#infoEncours > div {
  min-height: 3rem;
  padding: 1.5rem 0;
}

#infoEncours > div span {
  margin-right: 2rem;
}

/************************************************* MODULES CKEDITOR ***************************************************/
.editor {
  padding: 0.5rem;
}

.paragraph--type--structure-narrow {
  margin: 0 auto;
}

.paragraph--type--affichage-2-colonnes-verticales > .paragraph {
  height: 50%;
}

.paragraph .layout.layout--onecol {
  max-width: 100%;
}

.paragraph .layout__region,
.paragraph .layout {
  max-width: unset;
}

.paragraph .layout--twocol-section .layout__region,
.paragraph .layout--twocol-section .layout {
}

.paragraph .layout--twocol-section .layout__region,
.paragraph .layout--twocol-section .layout {
  display: flex;
  flex-wrap: wrap;
  justify-content: stretch;
  align-items: stretch;
}

.paragraph .layout--twocol-section > .layout__region--first {
  padding-right: 0.5rem;
}

.paragraph .layout--twocol-section > .layout__region--second {
  padding-left: 0.5rem;
}

.paragraph .layout--twocol-section--50-50 {
  justify-content: space-between;
}

.paragraph .width80,
.paragraph .width70,
.paragraph .width60,
.paragraph .width50,
.paragraph .width40,
.paragraph .width30 {
  margin-left: auto;
  margin-right: auto;
}

.editor h1, .editor .title_h1,
.paragraph h1, .paragraph .title_h1,
.editor h2, .editor .title_h2,
.paragraph h2, .paragraph .title_h2,
.editor h3, .editor .title_h3,
.paragraph h3, .paragraph .title_h3,
.editor h4, .editor .title_h4,
.paragraph h4, .paragraph .title_h4 {
  margin: 2rem 0;
}

.paragraph--type--slider .bx-wrapper {
  margin: 0;
}

.slideContent .paragraph {
  height: 100%;
}

.editor p {
  margin: 0.8rem 0;
}

.paragraph p {
  margin: 0;
}

.editor ul,
.editor ol,
.paragraph ul,
.paragraph ol {
  margin: 0.7rem 0;
  padding: 0 1rem;
}

.editor li,
.paragraph li {
  margin-left: 2rem;
  padding: 0;
  text-indent: 1rem;
}

.editor li li,
.paragraph li li {
  margin-left: 0
}

.editor li ul,
.editor li ol,
.paragraph li ul,
.paragraph li ol {
  margin: 0.2rem 1rem;
}

.editor img {
  height: auto;
  max-width: unset;
  max-height: unset;
}

.editor [class*="width"] {
  margin-left: auto;
  margin-right: auto;
}

.editor .width30 {
  width: 30%;
}

.editor .width40 {
  width: 40%;
}

.editor .width50 {
  width: 50%;
}

.editor .width60 {
  width: 60%;
}

.editor .width70 {
  width: 70%;
}

.editor .width80 {
  width: 80%;
}

.paragraph {
  box-sizing: border-box;
  margin: 1rem auto;
  display: block;
}

.paragraph .paragraph {
  margin: 0 auto;
}

.editor .width50 {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.editor .width60 {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}

.editor .width70 {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.editor .width80 {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.paragraph--type--galerie {
  margin: 2rem 0;
}

.paragraph--type--galerie .slideshow {
  display: flex;
  justify-content: center;
  position: relative;
}

.paragraph--type--galerie .slideshow .image {
  margin: 0.5rem;
}

/************************************************* MODULE CAPTCHA *****************************************************/
#captcha .reload-captcha-wrapper {
  margin: 0.5rem 0
}

/************************************************* MODULES COOKIES ****************************************************/
.cookiesjsr-service-group--tab {
  width: 30%;
}

#cookiesjsr .cookiesjsr-banner {
  width: 100%;
  display: flex;
  flex-direction: column;
}

#cookiesjsr .cookiesjsr-banner .cookiesjsr-banner--info,
#cookiesjsr .cookiesjsr-banner .cookiesjsr-banner--action,
#cookiesjsr .cookiesjsr-btn {
  width: auto;
}

.cookiesjsr-banner button.denyAll {
  display: inline-block
}

/************************************************* MODULES MAP LIBRE **************************************************/
.maplibregl-popup-content {
  padding: 1.8rem 1rem;
}

.maplibregl-popup-close-button {
  height: unset;
  width: unset;
  padding: 0 1rem;
}

/********************************************** Surnav ****************************************************************/
@media screen and (max-width: 939px) {
  #surnav {
    display: none;
  }

  #surnav > .content {
    display: none;
  }

  #surnavMobile {
    display: block;
  }

  #surnavMobile .editor > div {
    flex-wrap: wrap;
  }

}

@media screen and (min-width: 940px) {
  #surnavMobile {
    display: none;
  }

  #menuMobile {
    display: none;
  }
}

/********************************************** Messages **************************************************************/
@media screen and (max-width: 939px) {
  .messages,
  .messages > div {
    padding: 1rem;
  }
}

@media screen and (min-width: 940px) {
  .messages {
    padding: 1.5rem 0;
  }

  .messages > div {
    padding: 1.5rem;
  }

  .drupalForm + .messages {
    width: 60rem;
    margin: 1rem auto;
  }
}
