/* base.css — resets de base + primitives de mise en page (conteneurs,
   grille, carrousel). Extrait et nettoyé ; aucune dependance externe. */

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html { height: 100%; }
body { margin: 0; min-height: 100%; background-color: #fff; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333; }
img { max-width: 100%; vertical-align: middle; display: inline-block; }
.x-inline-block { max-width: 100%; display: inline-block; }
.x-hidden { display: none; }
h1,
h2,
h3,
h4,
h5,
h6 { font-weight: bold; margin-bottom: 10px; }
h1 { font-size: 38px; line-height: 44px; margin-top: 20px; }
h2 { font-size: 32px; line-height: 36px; margin-top: 20px; }
h3 { font-size: 24px; line-height: 30px; margin-top: 20px; }
h4 { font-size: 18px; line-height: 24px; margin-top: 10px; }
h5 { font-size: 14px; line-height: 20px; margin-top: 10px; }
h6 { font-size: 12px; line-height: 18px; margin-top: 10px; }
p { margin-top: 0; margin-bottom: 10px; }
blockquote { margin: 0 0 10px 0; padding: 10px 20px; border-left: 5px solid #E2E2E2; font-size: 18px; line-height: 22px; }
figure { margin: 0; margin-bottom: 10px; }
figcaption { margin-top: 5px; text-align: center; }
ul,
ol { margin-top: 0px; margin-bottom: 10px; padding-left: 40px; }
.x-embed:before,
.x-embed:after { content: " "; display: table; grid-column-start: 1; grid-row-start: 1; grid-column-end: 2; grid-row-end: 2; }
.x-embed:after { clear: both; }
fieldset { padding: 0; margin: 0; border: 0; }
button,
[type='button'],
[type='reset'] { border: 0; cursor: pointer; -webkit-appearance: button; }
label { display: block; margin-bottom: 5px; font-weight: bold; }
.x-container { margin-left: auto; margin-right: auto; max-width: 940px; }
.x-container:before,
.x-container:after { content: " "; display: table; grid-column-start: 1; grid-row-start: 1; grid-column-end: 2; grid-row-end: 2; }
.x-container:after { clear: both; }
.x-container .x-row { margin-left: -10px; margin-right: -10px; }
.x-row:before,
.x-row:after { content: " "; display: table; grid-column-start: 1; grid-row-start: 1; grid-column-end: 2; grid-row-end: 2; }
.x-row:after { clear: both; }
.x-row .x-row { margin-left: 0; margin-right: 0; }
@media screen and (max-width: 991px) {
  .x-container {max-width: 728px;}
}
@media screen and (max-width: 767px) {
  .x-row,
  .x-container .x-row {margin-left: 0; margin-right: 0;}
}
@media screen and (max-width: 479px) {
  .x-container {max-width: none;}
}
.x-slider { position: relative; height: 300px; text-align: center; background: #dddddd; clear: both; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); tap-highlight-color: rgba(0, 0, 0, 0); }
.x-slider-mask { position: relative; display: block; overflow: hidden; z-index: 1; left: 0; right: 0; height: 100%; white-space: nowrap; }
.x-slide { position: relative; display: inline-block; vertical-align: top; width: 100%; height: 100%; white-space: normal; text-align: left; }
.x-slider-nav { position: absolute; z-index: 2; top: auto; right: 0; bottom: 0; left: 0; margin: auto; padding-top: 10px; height: 40px; text-align: center; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); tap-highlight-color: rgba(0, 0, 0, 0); }
.x-slider-arrow-left,
.x-slider-arrow-right { position: absolute; width: 80px; top: 0; right: 0; bottom: 0; left: 0; margin: auto; cursor: pointer; overflow: hidden; color: white; font-size: 40px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); tap-highlight-color: rgba(0, 0, 0, 0); user-select: none; }
.x-slider-arrow-left:focus,
.x-slider-arrow-right:focus { outline: 0; }
.x-slider-arrow-left { z-index: 3; right: auto; }
.x-slider-arrow-right { z-index: 4; left: auto; }
.x-grid { display: grid; grid-auto-columns: 1fr; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; grid-row-gap: 16px; grid-column-gap: 16px; }
