
@import url("https://use.fontawesome.com/releases/v5.13.0/css/all.css");
.ais-Breadcrumb-list,
.ais-CurrentRefinements-list,
.ais-HierarchicalMenu-list,
.ais-Hits-list,
.ais-Results-list,
.ais-InfiniteHits-list,
.ais-InfiniteResults-list,
.ais-Menu-list,
.ais-NumericMenu-list,
.ais-Pagination-list,
.ais-RatingMenu-list,
.ais-RefinementList-list,
.ais-ToggleRefinement-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ais-ClearRefinements-button,
.ais-CurrentRefinements-delete,
.ais-CurrentRefinements-reset,
.ais-GeoSearch-redo,
.ais-GeoSearch-reset,
.ais-HierarchicalMenu-showMore,
.ais-InfiniteHits-loadPrevious,
.ais-InfiniteHits-loadMore,
.ais-InfiniteResults-loadMore,
.ais-Menu-showMore,
.ais-RangeInput-submit,
.ais-RefinementList-showMore,
.ais-SearchBox-submit,
.ais-SearchBox-reset,
.ais-VoiceSearch-button {
  padding: 0;
  overflow: visible;
  font: inherit;
  line-height: normal;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ais-ClearRefinements-button::-moz-focus-inner,
.ais-CurrentRefinements-delete::-moz-focus-inner,
.ais-CurrentRefinements-reset::-moz-focus-inner,
.ais-GeoSearch-redo::-moz-focus-inner,
.ais-GeoSearch-reset::-moz-focus-inner,
.ais-HierarchicalMenu-showMore::-moz-focus-inner,
.ais-InfiniteHits-loadPrevious::-moz-focus-inner,
.ais-InfiniteHits-loadMore::-moz-focus-inner,
.ais-InfiniteResults-loadMore::-moz-focus-inner,
.ais-Menu-showMore::-moz-focus-inner,
.ais-RangeInput-submit::-moz-focus-inner,
.ais-RefinementList-showMore::-moz-focus-inner,
.ais-SearchBox-submit::-moz-focus-inner,
.ais-SearchBox-reset::-moz-focus-inner,
.ais-VoiceSearch-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.ais-ClearRefinements-button[disabled],
.ais-CurrentRefinements-delete[disabled],
.ais-CurrentRefinements-reset[disabled],
.ais-GeoSearch-redo[disabled],
.ais-GeoSearch-reset[disabled],
.ais-HierarchicalMenu-showMore[disabled],
.ais-InfiniteHits-loadPrevious[disabled],
.ais-InfiniteHits-loadMore[disabled],
.ais-InfiniteResults-loadMore[disabled],
.ais-Menu-showMore[disabled],
.ais-RangeInput-submit[disabled],
.ais-RefinementList-showMore[disabled],
.ais-SearchBox-submit[disabled],
.ais-SearchBox-reset[disabled],
.ais-VoiceSearch-button[disabled] {
  cursor: default;
}

.ais-InfiniteHits-loadPrevious,
.ais-InfiniteHits-loadMore,
.ais-HierarchicalMenu-showMore,
.ais-Menu-showMore,
.ais-RefinementList-showMore {
  overflow-anchor: none;
}

.ais-Breadcrumb-list,
.ais-Breadcrumb-item,
.ais-Pagination-list,
.ais-RangeInput-form,
.ais-RatingMenu-link,
.ais-PoweredBy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ais-GeoSearch,
.ais-GeoSearch-map {
  height: 100%;
}

.ais-HierarchicalMenu-list .ais-HierarchicalMenu-list {
  margin-left: 1em;
}

.ais-PoweredBy-logo {
  display: block;
  height: 1.2em;
  width: auto;
}

.ais-RatingMenu-starIcon {
  display: block;
  width: 20px;
  height: 20px;
}

.ais-SearchBox-input::-ms-clear, .ais-SearchBox-input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

.ais-SearchBox-input::-webkit-search-decoration, .ais-SearchBox-input::-webkit-search-cancel-button, .ais-SearchBox-input::-webkit-search-results-button, .ais-SearchBox-input::-webkit-search-results-decoration {
  display: none;
}

.ais-RangeSlider .rheostat {
  overflow: visible;
  margin-top: 40px;
  margin-bottom: 40px;
}

.ais-RangeSlider .rheostat-background {
  height: 6px;
  top: 0px;
  width: 100%;
}

.ais-RangeSlider .rheostat-handle {
  margin-left: -12px;
  top: -7px;
}

.ais-RangeSlider .rheostat-background {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #aaa;
}

.ais-RangeSlider .rheostat-progress {
  position: absolute;
  top: 1px;
  height: 4px;
  background-color: #333;
}

.rheostat-handle {
  position: relative;
  z-index: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 50%;
  cursor: -webkit-grab;
  cursor: grab;
}

.rheostat-marker {
  margin-left: -1px;
  position: absolute;
  width: 1px;
  height: 5px;
  background-color: #aaa;
}

.rheostat-marker--large {
  height: 9px;
}

.rheostat-value {
  margin-left: 50%;
  padding-top: 15px;
  position: absolute;
  text-align: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.rheostat-tooltip {
  margin-left: 50%;
  position: absolute;
  top: -22px;
  text-align: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-Regular-f1a79919a98c308a9e69e9774bbd7da02c1f8a5083e527d16acd5bb56079fbe4.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-Medium-85ae64f9fac6f7ffbbff6c3b14b26ff09b0f2fd2ca8ff5d61fa478eb60b51cb9.woff) format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-Bold-eac81fe1696549205a2fa44d8ed9f909905d1cfa216affce8c95db7f612ab477.woff) format("woff");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-ExtraBold-2849c719c361f2ec1a04bf5b262bcbedd3df46bf35f5b4cae8f75ea0ac500111.woff) format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-Black-6923219bb0e174b4048aa00e6526197e903bad846cd1a62af0a5bb2587ffa162.woff) format("woff");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-Italic-06494d498ac7afef3200eff59dd8162dbb7b23814178ed28d6810aa817e9cb7c.woff) format("woff");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-BoldItalic-310ac9fb771e3acf233c856d2632f4f777ef5ac8a09f588235b3e77048cd954a.woff) format("woff");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-ExtraBoldItalic-bdc6319ec6e2fcfca8888821c4ee892fb84ef78ba98e42279d1e724539f5d39a.woff) format("woff");
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-BlackItalic-6ceee31a6554471081dcb6421a36f5a06806a26cfded2003c1507b4b70705380.woff) format("woff");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Montserrat";
  src: url(/assets/base/fonts/Montserrat-SemiBold-853a358c5c161f541428619cb29df17e93c938b92d267db8c552af91e63369c1.woff) format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Palmer Lake";
  src: url(/assets/base/fonts/PalmerLakePrint-Regular-5b7313021b49b02d1259b5ec9f118229ea4700be627334f2c8f45d91a56ad9c0.woff2) format("woff2"), url(/assets/base/fonts/PalmerLakePrint-Regular-4bf1456e579b8a26f315d5143a4a43e84f5ee8905988edeaf9726a1ee54353ff.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Antipol";
  src: url(/assets/base/fonts/AntipolBold-93c400c32210c2f9ab88adae66aed8bdba8b87bef16dfe04fcda252cb70711b7.woff2) format("woff2"), url(/assets/base/fonts/AntipolBold-ee9809e02e909b4c5b7f63be721c9c605085e74605e3466402e543bd6e1549e9.woff) format("woff");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Myriad";
  src: url(/assets/base/fonts/MyriadPro-Bold-278d8891cfba1386f87987b240ee34e14176b9c2e0469fae86f0cf910b7fb6c0.woff2) format("woff2"), url(/assets/base/fonts/MyriadPro-Bold-cb0315a4d63849d057366f9a9d1148a8e461b4618eef5fb8efbfe15b198d8d94.woff) format("woff");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Paris2024";
  src: url(/assets/base/fonts/Paris2024-7d2bc56e6cb6923d0d24fc9837ff373f061b775d7c4332abec602b04710c2624.woff2) format("woff2"), url(/assets/base/fonts/Paris2024-b1278ff09ac429326b614a907ea5f8e0b6c3330aa120c559510eed25a6216f71.woff) format("woff");
}
@font-face {
  font-family: "Montserrat Outline";
  src: url(/assets/base/fonts/Montserrat-ExtraBold-5a8c623b34dcf729895c3bc9b6e261796bbad69555a21ad6d2f9b4e7bc27b6e7.woff2) format("woff2"), url(/assets/base/fonts/Montserrat-ExtraBold-2849c719c361f2ec1a04bf5b262bcbedd3df46bf35f5b4cae8f75ea0ac500111.woff) format("woff");
  font-weight: 800;
  font-style: normal;
}
html {
  box-sizing: border-box; /* natural box layout model to all elements */
  font-size: 62.5%; /* for easy rem sizing: 1rem = 10px */
  scroll-behavior: smooth;
}
@media (max-width: 799px) {
  html {
    scroll-padding-top: 6rem;
  }
}
@media (min-width: 800px) {
  html {
    scroll-padding-top: 7.8rem;
  }
}

/* allow modules to change the box-sizing */
*,
*::before,
*::after {
  box-sizing: inherit;
}

/* text selection */
::selection {
  background: rgba(53, 75, 207, 0.3);
}

/* Body */
body {
  color: #071f32;
  display: flex;
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: normal;
}
body.has-disabled-scroll {
  overflow: hidden;
}
body .hidden-mail,
body .hidden-span {
  display: none;
}

main.paris-main {
  background: #fff;
  color: #071f32;
}

.paris-main-wrapper,
.paris-preview-wrapper {
  flex: 1;
  width: 100%;
}

.paris-main-wrapper {
  padding-top: 8rem;
}
body.no-search .paris-main-wrapper {
  overflow: hidden;
}
body.absolute-header .paris-main-wrapper {
  padding-top: 0;
}
@media (max-width: 799px) {
  .paris-main-wrapper {
    padding-top: 0;
    padding-bottom: 8rem;
  }
}
@media (min-width: 800px) {
  .paris-main-wrapper {
    padding-top: 6rem;
  }
}
@media (min-width: 1140px) {
  .paris-main-wrapper {
    padding-top: 8rem;
  }
}

@media (min-width: 800px) {
  .paris-preview-wrapper {
    padding: 1rem;
  }
}

.is-only-readable {
  border: none;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

html[lang=fr] .lang-fr,
html:not([data-preferred-language|=fr]) .lang-fr {
  display: none !important;
}

html[lang=en] .lang-en,
html:not([data-preferred-language|=en]) .lang-en {
  display: none !important;
}

@page {
  size: auto;
  margin: 0mm;
}
@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  body {
    margin: 8mm 13mm 10mm !important;
    box-shadow: 0;
  }
  body .toc,
  body .paris-search-modal-container,
  body .comment,
  body .related,
  body .paris-footer,
  body .help,
  body .controls,
  body .paris-header-button-menu,
  body .paris-header-nav,
  body .paris-search-modal,
  body .newsletter,
  body .control,
  body .districts-container {
    display: none !important;
  }
  body .heading-image-footer,
  body .heading-image-footer .heading-image-credit {
    opacity: 1;
    visibility: visible;
  }
  body .heading-image-footer {
    position: relative;
    bottom: unset !important;
  }
  body .heading-image-footer::after {
    display: none !important;
  }
  body .heading-image-footer::before {
    background: transparent !important;
    bottom: 0 !important;
    color: unset !important;
    content: "©";
    display: flex;
    font-weight: 700;
    height: 1.5rem;
    justify-content: center;
    line-height: 1;
    opacity: 1;
    padding-bottom: 0.2rem;
    position: relative;
    visibility: visible;
    width: 2rem;
    font-size: 1rem;
  }
  body .heading-image-footer .heading-image-credit {
    background-color: transparent !important;
    color: unset !important;
    margin: 0 !important;
    max-width: 100%;
    opacity: 1 !important;
    position: relative !important;
    visibility: visible !important;
    z-index: 1 !important;
    font-size: 1rem !important;
    padding: 0.5rem 0 !important;
  }
  body .heading-title .tag {
    margin-bottom: 1rem !important;
    font-size: 0.7rem;
  }
  body .heading.is-page .heading-title .title {
    font-size: 3.2rem !important;
    margin-top: 2rem !important;
  }
  body .paris-main-wrapper {
    padding-top: 0;
  }
  body p,
  body h2,
  body h3 {
    orphans: 3;
    widows: 3;
    color: black !important;
  }
  body h2,
  body h3 {
    page-break-after: avoid;
  }
  body .paris-container {
    font-size: 1.3rem;
  }
  body .paris-container img {
    max-width: 30% !important;
    height: auto !important;
  }
  body .paris-container a[target=_blank] {
    padding-right: 0;
  }
  body .paris-container a[href]::after {
    content: " (" attr(href) ")";
    word-wrap: break-word;
  }
  body .paris-container a[href][target=_blank]::after {
    position: static;
    display: inline;
    width: auto;
    height: auto;
    margin-right: 0;
  }
  body .paris-header .paris-header-logo {
    margin: 0;
  }
  body .paris-header {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    width: auto !important;
    position: relative;
    left: 0;
  }
  body .paris-header .paris-header-brand {
    display: block !important;
    margin-left: -1.3rem !important;
  }
  body .heading-content {
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  body .heading-content .heading-image {
    width: 40.5% !important;
  }
  body .heading-content .heading-image img {
    margin-bottom: unset !important;
  }
  body .heading-content .heading-title {
    margin-top: 0 !important;
    padding: 2.5rem 4rem 2rem;
    transform: translateX(0);
    width: 59.5% !important;
  }
  body .heading-content .heading-title .title {
    color: black;
    font-size: 3.2rem;
  }
  body .heading-content .heading-title .tag {
    transform: translate(-50%, 0);
    color: white !important;
    color: #ffffff !important;
  }
  body .text.is-lead {
    font-size: 1.6rem;
  }
  body .accordion__panel {
    max-height: unset !important;
  }
  body .accordion__header .paris-icon {
    display: none;
  }
  body .districts-content {
    display: flex !important;
  }
  body .paris-container-column[role=tabpanel][aria-hidden=true] {
    display: unset !important;
  }
  body .paris-container-column img {
    max-width: unset !important;
  }
  body .is-home {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-column-gap: 2rem !important;
    margin: 2rem auto auto !important;
  }
  body .is-home a[href]:after {
    content: "";
  }
  body .is-home a[href^="#"]:after {
    content: "";
  }
  body .is-home .tag {
    font-size: 0.5rem !important;
    padding: 0.6rem 1.3rem 0.6rem !important;
  }
  body .is-home #services {
    display: none !important;
  }
  body .is-home .is-home-grid {
    grid-template-columns: unset !important;
    margin-left: 0 !important;
  }
  body .is-home .paris-card {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body .is-home .paris-card img {
    max-width: unset !important;
    width: 100% !important;
  }
  body .is-home .paris-card-title {
    font-size: 1.2rem !important;
  }
  body .is-home .paris-card .paris-card-content {
    margin-left: 1rem !important;
    margin-top: 0 !important;
  }
  body .is-home .paris-card-text {
    font-size: 1rem;
  }
  body .is-portfolio-title {
    font-size: 1.4rem !important;
    text-align: center;
    width: 100%;
  }
  body .heading.is-portfolio .heading-title {
    margin-top: 0;
  }
  body .thirteen-portfolio-items {
    width: 100%;
  }
  body .heading.is-portfolio .heading-title .heading-lead-text {
    font-size: 1rem;
  }
  body .heading.is-portfolio .heading-title h1 {
    width: 100% !important;
  }
  body .portfolio-container .text {
    max-width: 100% !important;
  }
  body .heading.is-portfolio {
    width: 100% !important;
    padding: 0 !important;
    position: relative;
  }
  body .heading.is-portfolio a[href]:after {
    content: "";
  }
  body .heading.is-portfolio a[href^="#"]:after {
    content: "";
  }
  body .heading.is-portfolio .heading-title {
    width: 100% !important;
    padding: 0 !important;
    position: relative;
  }
  body .heading.is-portfolio .heading-title .heading-lead-text {
    padding: 0;
    margin: auto;
    width: 100% !important;
    margin: auto 3rem;
  }
  body .heading.is-portfolio .heading-title .heading-lead-text .text {
    width: 100% !important;
    max-width: unset !important;
    margin: auto 3rem;
  }
  body .portfolio-container {
    margin: auto;
    width: 90vw !important;
    max-width: unset !important;
  }
  body .is-giant .heading-title {
    bottom: -12rem !important;
  }
  body figure.image {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    width: 40% !important;
    float: left !important;
    margin-right: 1rem !important;
  }
  body figure.image .image-img {
    width: 100% !important;
  }
  body figure.image .image-img img {
    width: 100% !important;
  }
  body .place-container {
    background-image: none !important;
    background-color: black !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  body .frame {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .paris-container.has-2-columns,
  body {
    display: block !important;
  }
  body .heading-content .heading-title .tag,
  .blocks .buttons .paris-button.is-red .paris-button-text,
  .blocks .buttons .paris-button.is-blue .paris-button-text,
  .blocks .buttons .paris-button.is-transparent .paris-button-text {
    color: rgba(255, 255, 255, 0) !important;
    text-shadow: 0 0 0 white !important;
  }
  html {
    font-size: 50% !important;
  }
  .paris-header-logo {
    width: 120px !important;
    margin-left: 5px !important;
    height: 40px !important;
  }
  .paris-header-logo-link {
    padding-top: 0 !important;
  }
  body .heading-content {
    margin-bottom: 2rem !important;
  }
  .paris-container.has-2-columns .paris-container-column {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
.qfap--home-heading-header {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.qfap--home-heading-title {
  color: #d22638;
  font-family: "Palmer Lake", sans-serif;
  font-size: 9.2rem;
  font-weight: normal;
  letter-spacing: -0.05rem;
  line-height: 0.6;
  margin: 0;
}
.qfap--home-heading-illu-desktop, .qfap--home-heading-illu-mobile {
  align-self: flex-end;
  margin-bottom: -3rem;
  max-height: 20rem;
  object-fit: contain;
  width: 100%;
  height: 20rem;
  background-repeat: no-repeat;
  background-position: center 100%;
}
.qfap--home-heading-content-cards .qfap--card.has-default-format {
  margin-top: 2rem;
}
@media (min-width: 800px) and (max-width: 1139px) {
  .qfap--home-heading-items-desktop .qfap--card.has-default-format {
    width: auto;
  }
}
@media (max-width: 924px) {
  .qfap--home-heading .qfap--card.has-hero-format {
    max-width: 70rem;
  }
  .qfap--home-heading.qfap--container {
    margin-left: 0;
    margin-right: 0;
  }
  .qfap--home-heading-header {
    margin: 0 2rem;
  }
  .qfap--home-heading-title {
    font-size: 5.2rem;
  }
  .qfap--home-heading-illu {
    margin-bottom: 0;
  }
  .qfap--home-heading-illu-desktop {
    display: none;
  }
  .qfap--home-heading-illu-mobile {
    height: 10rem;
    margin-bottom: -2rem;
    width: 90%;
    padding-right: 7rem;
  }
  .qfap--home-heading-items-desktop {
    display: none;
  }
  .qfap--home-heading-content-cards {
    display: none;
  }
  .qfap--home-heading .qfap--card.has-horizontal-format.is-small {
    width: inherit;
  }
}
@media (min-width: 925px) {
  .qfap--home-heading {
    margin-top: 4rem;
  }
  .qfap--home-heading-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .qfap--home-heading-items-mobile {
    display: none;
  }
  .qfap--home-heading-items-desktop {
    display: flex;
    position: relative;
    width: 100%;
  }
  .qfap--home-heading-items-desktop .qfap--section {
    margin-bottom: 0;
    margin-left: auto;
    margin-top: 4rem;
  }
  .qfap--home-heading-items-desktop .qfap--home-heading-illu {
    position: absolute;
    left: -7rem;
    top: -7rem;
    width: 23.6rem;
  }
  .qfap--home-heading-illu-mobile {
    display: none;
  }
  .qfap--home-heading + .qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column:nth-child(2) {
    display: none;
  }
  .qfap--home-heading + .qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column:nth-child(3) {
    margin-left: 0;
  }
  .qfap--home-heading + .qfap--section.has-flex .qfap--card:nth-child(2),
  .qfap--home-heading + .qfap--section.has-flex .qfap--card:nth-child(3),
  .qfap--home-heading + .qfap--section.has-grid-4 .qfap--card:nth-child(2),
  .qfap--home-heading + .qfap--section.has-grid-4 .qfap--card:nth-child(3) {
    display: none;
  }
}
@media (max-width: 1179px) {
  .qfap--home-heading-illu {
    display: none;
  }
}
@media (min-width: 925px) and (max-width: 1175px) {
  .qfap--home-heading-content {
    justify-content: space-around;
  }
  .qfap--home-heading-content .qfap--card.has-hero-format .qfap--card-title {
    font-size: 2.6rem !important;
    line-height: 1.125;
  }
  .qfap--home-heading-hero {
    width: 54%;
  }
  .qfap--home-heading-selections {
    margin-bottom: 0 !important;
    margin-top: 2rem !important;
    width: inherit;
  }
}
@media (min-width: 1176px) {
  .qfap--home-heading-content > * {
    flex: 0 0 auto;
  }
  .qfap--home-heading-selections {
    margin-bottom: 0 !important;
    margin-top: 2rem !important;
    width: 30%;
    padding-left: 2rem;
  }
}

.qfap--selections-list-first-row .qfap--section-content > .qfap--card {
  display: inline-block;
}
.qfap--selections-list-first-row .qfap--section-content > svg {
  display: inline-block;
  max-width: 20rem;
  vertical-align: top;
}
@media (max-width: 799px) {
  .qfap--selections-list-desktop {
    display: none;
  }
}
@media (min-width: 800px) {
  .qfap--selections-list-mobile {
    display: none;
  }
}

.qfap--tags-list {
  position: relative;
}
@media (max-width: 1139px) {
  .qfap--tags-list-desktop {
    display: none;
  }
}
@media (min-width: 1140px) {
  .qfap--tags-list-mobile {
    display: none;
  }
  .qfap--tags-list .qfap--section-header {
    max-width: 90.2rem;
  }
  .qfap--tags-list .qfap--section-content,
  .qfap--tags-list .qfap--tab {
    display: flex;
    flex-wrap: wrap;
    gap: 2.6rem;
    position: relative;
  }
  .qfap--tags-list .qfap--section-content .qfap--card:nth-child(5) {
    margin-left: auto !important;
  }
  .qfap--tags-list .qfap--tab .qfap--card:nth-child(4) {
    margin-left: auto !important;
  }
  .qfap--tags-list-illu {
    position: relative;
  }
  .qfap--tags-list-illu-first {
    position: absolute;
    right: 0;
    top: 8rem;
    width: 17rem;
  }
  .qfap--tags-list-illu-second {
    position: absolute;
    left: 0rem;
    top: 52rem;
    width: 16rem;
  }
}

.qfap--links-columns {
  display: flex;
  gap: 2.6rem;
}
.qfap--links-columns-column {
  flex: 1;
}
.qfap--links-columns-column h4 {
  text-align: center;
}
.qfap--links-columns-column ul {
  list-style: none;
  padding-left: 0;
}
.qfap--links-columns-column ul li {
  margin-bottom: 0.7rem;
}
.qfap--links-columns-column ul li a {
  color: #071f32;
  text-decoration: none;
}
.qfap--links-columns-column ul li a:hover, .qfap--links-columns-column ul li a:focus {
  text-decoration: underline;
}
.qfap--links-columns-column ul li a[target=_blank] {
  padding-right: 1.5em;
}
.qfap--links-columns-column ul li a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.qfap--links-columns-column ul li a[target=_blank]:hover::after, .qfap--links-columns-column ul li a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
@media (max-width: 799px) {
  .qfap--links-columns {
    flex-direction: column;
    gap: 1rem;
  }
}

.qfap--partners-row {
  column-gap: 2.5rem;
  display: grid;
  justify-content: stretch;
  row-gap: 1rem;
}
.qfap--partners-row.qfap--partners-row-level-1 {
  grid-template-columns: repeat(4, 1fr);
}
.qfap--partners-row.qfap--partners-row-level-2 {
  grid-template-columns: repeat(6, 1fr);
}
.qfap--partners-extra-link {
  padding-right: 1.5em;
  color: #071f32;
  text-decoration: none;
}
.qfap--partners-extra-link::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.qfap--partners-extra-link:hover::after, .qfap--partners-extra-link:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.qfap--partners-extra-link:hover, .qfap--partners-extra-link:focus {
  text-decoration: underline;
}
@media (max-width: 1179px) {
  .qfap--partners-row {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 499px) {
  .qfap--partners-row.qfap--partners-row-level-1 {
    grid-template-columns: repeat(2, 1fr);
  }
  .qfap--partners-row.qfap--partners-row-level-2 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .qfap--partners-row.qfap--partners-row-level-1 {
    grid-template-columns: repeat(3, 1fr);
  }
  .qfap--partners-row.qfap--partners-row-level-2 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.places-events {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  gap: 2.7rem;
}
.places-events .qfap--card {
  width: calc(50% - 1.35rem);
}
.places--timetables-link {
  display: flex;
  justify-content: space-between;
  padding-top: 2rem;
  border-top: 0.1rem solid rgba(7, 31, 50, 0.15);
}
.places--timetables-link-content {
  display: flex;
  align-items: center;
}
.places--timetables-link-text {
  color: #071f32;
  text-decoration: none;
  margin-left: 1rem;
}
.places--timetables-link-text:hover {
  text-decoration: underline;
}
.places--timetables-link-icon, .places--timetables-link-icon svg {
  height: 4rem !important;
  width: 4rem !important;
}
.places--timetables-link-external-icon, .places--timetables-link-external-icon svg {
  height: 4.2rem !important;
  width: 4.2rem !important;
}
.places--prices .paris-table {
  margin: 0;
  width: 100%;
}
.places--prices-additional-informations {
  width: 100%;
}
.places--prices-additional-informations .title::before {
  height: 0 !important;
}
.places--prices-additional-informations .frame {
  margin-left: 0;
}
@media (max-width: 499px) {
  .places--prices-additional-informations {
    padding: 0;
    margin-top: 2rem;
  }
  .places--timetables-link-content {
    margin-bottom: 4rem;
  }
  .places--timetables-link-text {
    max-width: 25rem;
  }
  .places .gallery {
    margin-left: -2rem;
  }
}

/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
  background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0;
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  padding: 0;
}

.leaflet-container img.leaflet-tile {
  /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
  mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800;
}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

/* cursors */
.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline-offset: 1px;
}

.leaflet-container a {
  color: #0078A8;
}

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

/* general typography */
.leaflet-container {
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}

/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}

.leaflet-bar a {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover,
.leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px "Lucida Console", Monaco, monospace;
  text-indent: 1px;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px;
}

.leaflet-control-layers-toggle {
  background-image: url(/images/layers.png);
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(/images/layers-2x.png);
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff;
}

.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  display: block;
  font-size: 13px;
  font-size: 1.08333em;
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
  background-image: url(/images/marker-icon.png);
}

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  display: inline !important;
  vertical-align: baseline !important;
  width: 1em;
  height: 0.6669em;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.8);
  text-shadow: 1px 1px #fff;
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}

.leaflet-popup-content {
  margin: 13px 24px 13px 20px;
  line-height: 1.3;
  font-size: 13px;
  font-size: 1.08333em;
  min-height: 1px;
}

.leaflet-popup-content p {
  margin: 17px 0;
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-top: -1px;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  pointer-events: auto;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  text-align: center;
  width: 24px;
  height: 24px;
  font: 16px/24px Tahoma, Verdana, sans-serif;
  color: #757575;
  text-decoration: none;
  background: transparent;
}

.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

/* Directions */
.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}

.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}

.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}

.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}

.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}

/* Printing */
@media print {
  /* Prevent printers from removing background-images of controls. */
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.d-none {
  display: none !important;
}

.block-filters {
  border: 0.2rem solid #f2f2f2;
  padding: 2.6rem 3rem;
  margin-bottom: 3rem;
}
.block-filters-title {
  font-weight: 600;
  color: #6d6d6d;
}
.block-filters .block-filter-row {
  display: flex;
  align-items: center;
  padding: 1rem 0;
}
.block-filters .block-filter-row .filter-icon {
  flex-shrink: 0;
  height: 4rem;
  margin-right: 0.4rem;
  width: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.block-filters .block-filter-row .filter-icon img {
  filter: invert(36%) sepia(52%) saturate(1070%) hue-rotate(194deg) brightness(94%) contrast(89%);
  height: 2.4rem;
  width: 2.4rem;
}
.block-filters .block-filter-row .filter-title {
  margin-right: 1.5rem;
}
.block-filters .block-filter-row .filter-select {
  padding: 1rem 0.5rem;
  border: 0.2rem solid #f2f2f2;
  width: 46rem;
  background-color: #fff;
}
.block-filters .block-filter-row .filter-label, .block-filters .block-filter-row .filter-title {
  font-weight: 600;
}
.block-filters .block-filter-row .filter-checkbox {
  margin-right: 1rem;
}

.qfap--button {
  align-items: center;
  border: none;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-width: 12rem;
  padding: 1.6rem 2rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.qfap--button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
body[data-animations=disabled] .qfap--button {
  transition: none;
}

.qfap--button::before {
  background-color: #fff;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  transition: width 0.3s ease;
  width: 0;
}
body[data-animations=disabled] .qfap--button::before {
  transition: none;
}

.qfap--button:hover::before {
  width: 100%;
}
.qfap--button:disabled {
  cursor: default;
  pointer-events: none;
}
.qfap--button:disabled::before {
  display: none;
}
.qfap--button.hidden {
  display: none;
}
.qfap--button-text {
  color: #fff;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.23;
  pointer-events: none;
  position: relative;
  text-align: center;
  transition: color 0.3s ease;
  z-index: 1;
}
body[data-animations=disabled] .qfap--button-text {
  transition: none;
}

.qfap--button .paris-icon {
  fill: #fff;
  flex-shrink: 0;
  height: 2.4rem;
  margin-right: 0.5rem;
  position: relative;
  transition: fill 0.3s ease;
  width: 2.4rem;
}
body[data-animations=disabled] .qfap--button .paris-icon {
  transition: none;
}

.qfap--button.is-red {
  background-color: #e22c3f;
}
.qfap--button.is-red:hover .qfap--button-text {
  color: #e22c3f;
}
.qfap--button.is-red:hover .paris-icon {
  fill: #e22c3f;
}
.qfap--button.is-blue {
  background-color: #354bcf;
}
.qfap--button.is-blue::before {
  background-color: #071f32;
}
.qfap--button.is-blue:hover .qfap--button-text {
  color: #fff;
}
.qfap--button.is-blue:hover .paris-icon {
  fill: #fff;
}
.qfap--button.has-locale-fr .qfap--button-text::after {
  content: "(fr)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}
.qfap--button.has-locale-en .qfap--button-text::after {
  content: "(en)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}

.qfap--card {
  list-style: none;
}
.qfap--card-link {
  color: #071f32;
  display: flex;
  text-decoration: none;
}
.qfap--card-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--card-link:hover img, .qfap--card-link:focus img {
  transform: scale(1.15);
}
.qfap--card-image {
  display: block;
}
.qfap--card-image-mask {
  overflow: hidden;
  background-color: #ccc;
}
.qfap--card-image img {
  display: block;
  transform: scale(1);
  transition: transform 0.2s ease;
  width: 100%;
}
body[data-animations=disabled] .qfap--card-image img {
  transition: none;
}

.qfap--card-wrapper {
  position: relative;
  text-align: left;
  z-index: 1;
}
.qfap--card-title {
  line-height: 1.33;
}
.qfap--card.image-landscape .qfap--card-image-mask {
  aspect-ratio: 16/10;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qfap--card-content {
  line-height: 1.73;
  margin-top: 1rem;
}
.qfap--card-countdown, .qfap--card-quiz-details {
  align-items: center;
  color: #354bcf;
  display: flex;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 2rem 0;
  text-transform: uppercase;
}
.qfap--card-countdown > .paris-icon, .qfap--card-quiz-details > .paris-icon {
  fill: currentColor;
  flex-shrink: 0;
  margin-right: 0.5rem;
}
.qfap--card-quiz-details {
  color: #d22638;
  font-size: 1.6rem;
  font-weight: 500;
  text-transform: none;
}
.qfap--card-quiz-details > .paris-icon {
  height: 1.8rem;
  margin-right: 1rem;
  width: 1.8rem;
}
.qfap--card.has-badge {
  margin-top: 2.6rem;
}
.qfap--card.has-badge .qfap--card-link::after {
  background-color: #ffcd00 !important;
  background-position: center;
  background-repeat: none;
  background-size: contain;
  background-image: url(/assets/base/icons/qfap/quiz-6e781ac69e4d57ce7ce3513d8dc2b0576e21b2fcb2d70bfe11b368a819396da4.svg);
  content: "";
  display: block;
  position: absolute;
  transition: transform 0.2s ease;
}
body[data-animations=disabled] .qfap--card.has-badge .qfap--card-link::after {
  transition: none;
}

.qfap--card.has-badge .qfap--card-link:hover::after,
.qfap--card.has-badge .qfap--card-link:focus::after {
  transform: translate(-2rem, -2rem) rotate(-10deg) scale(1.1);
}
.qfap--card.has-default-format .qfap--card-link, .qfap--card.has-hero-format .qfap--card-link {
  flex-direction: column;
}
.qfap--card.has-default-format .qfap--card-label, .qfap--card.has-hero-format .qfap--card-label {
  margin-top: -1.8rem;
}
.qfap--card.has-default-format .qfap--card-title, .qfap--card.has-hero-format .qfap--card-title {
  font-size: 1.8rem;
  font-weight: 800;
  margin-top: 2rem;
}
.qfap--card.has-default-format {
  flex-shrink: 0;
}
.flickity-slider .qfap--card.has-default-format + .qfap--card.has-default-format {
  margin-left: 2.6rem;
}
.qfap--card.has-default-format .qfap--card-wrapper, .qfap--card.has-default-format .qfap--card-tags {
  margin: 0 3rem;
}
.qfap--card.has-default-format .qfap--card-tags {
  margin-top: 1rem;
  margin-left: 2rem;
}
.qfap--card.has-default-format .qfap--card-label + .qfap--card-title {
  margin-top: 0.8rem;
}
.qfap--card.has-hero-format {
  max-width: 72rem;
}
.qfap--card.has-hero-format .qfap--card-image, .qfap--card.has-hero-format .qfap--card-image > img {
  position: relative;
}
.qfap--card.has-hero-format .qfap--card-wrapper, .qfap--card.has-hero-format .qfap--card-tags {
  background-color: #fff;
}
.qfap--card.has-hero-format .qfap--card-wrapper {
  padding: 0 3rem;
}
.qfap--card.has-hero-format .qfap--card-title {
  font-size: 4.2rem;
  font-weight: 900;
  line-height: 1.14;
}
.qfap--card.has-hero-format .qfap--card-content {
  font-size: 1.5rem;
  font-weight: 500;
}
.qfap--card.has-horizontal-format + .qfap--card.has-horizontal-format {
  margin-top: 1.5rem;
}
.flickity-slider .qfap--card.has-horizontal-format + .qfap--card.has-horizontal-format {
  margin-left: 2.6rem;
  margin-top: 0;
}
.qfap--card.has-horizontal-format .qfap--card-image {
  flex-shrink: 0;
  max-width: 25.5rem;
}
.qfap--card.has-horizontal-format .qfap--card-wrapper {
  margin: 1rem 0 0 2rem;
}
.qfap--card.has-horizontal-format .qfap--card-label {
  margin-bottom: 0.8rem;
}
.qfap--card.has-horizontal-format .qfap--card-title {
  font-weight: 600;
}
.qfap--card.has-horizontal-format.is-small .qfap--card-image {
  max-width: 13.8rem;
}
@media (max-width: 799px) {
  .qfap--card-image {
    margin-right: 0;
  }
  .qfap--card.has-badge .qfap--card-link::after {
    border-radius: 5.4rem;
    height: 5.4rem;
    transform: translate(-1rem, -1.5rem);
    width: 5.4rem;
  }
  .qfap--card.has-default-format {
    width: 15rem;
  }
  .qfap--card.has-default-format .qfap--card-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 1rem;
  }
  .qfap--card.has-default-format .qfap--card-wrapper {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .qfap--card.has-default-format .qfap--card-tags {
    margin-left: 0;
    margin-right: 1rem;
  }
  .has-flex .qfap--card.has-default-format.is-large {
    width: 28.3rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper, .qfap--card.has-hero-format .qfap--card-tags {
    margin-right: 2.5rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper {
    margin-top: -3rem;
  }
  .qfap--card.has-hero-format .qfap--card-tags {
    margin-top: 1rem;
    margin-left: 3rem;
  }
  .qfap--card.has-hero-format .qfap--card-title {
    font-size: 2.6rem;
    hyphens: auto;
    line-height: 1.125;
  }
  .qfap--card.has-horizontal-format .qfap--card-image {
    max-width: 13.8rem;
  }
  .qfap--card.has-horizontal-format .qfap--card-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 1rem;
  }
}
@media (min-width: 800px) {
  .qfap--card.has-badge .qfap--card-link::after {
    border-radius: 9.3rem;
    height: 9.3rem;
    transform: translate(-2rem, -2rem);
    width: 9.3rem;
  }
  .qfap--card.has-default-format {
    width: 28.3rem;
  }
  .has-flex .qfap--card.has-default-format.is-large {
    width: 34.6rem;
  }
  .has-grid-4 .qfap--card.has-default-format {
    width: 24.6rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper, .qfap--card.has-hero-format .qfap--card-tags {
    margin: 0 3rem 0 8.5rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper {
    margin-top: -6rem;
  }
  .qfap--card.has-hero-format .qfap--card-tags {
    margin-left: 11.5rem;
    margin-top: 1.5rem;
  }
  .qfap--card.has-horizontal-format {
    width: 51rem;
  }
  .qfap--card.has-horizontal-format.is-small {
    width: 32rem;
  }
  .qfap--card.has-horizontal-format.is-medium {
    width: 41rem;
  }
}

.qfap--container {
  max-width: 107rem;
  margin: 0 auto;
}
@media (max-width: 1179px) {
  .qfap--container {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

.homes--cta-header {
  position: relative;
  z-index: 1;
}
.homes--cta-header .homes--cta-header-title {
  margin: 2rem 0;
  font-weight: 800;
  font-size: 4.2rem;
}
@media (max-width: 768px) {
  .homes--cta-header .homes--cta-header-title {
    font-size: 2.6rem;
  }
}
.homes--cta-header .homes--cta-header-subtitle {
  margin: 0;
  font-weight: 500;
  line-height: 2rem;
}

.homes--cta-body {
  position: relative;
  width: 100%;
  height: 100%;
}

.homes--ribbon-container {
  position: relative;
  margin: 4rem 0 !important;
  padding: 2rem 0;
  /* &[data-theme="red"] {
    .homes--ribbon-bg {
      background: $jo-red;
    }
  }

  &[data-theme="yellow"] {
    .homes--ribbon-bg {
      background: $jo-yellow;
    }
    .homes--ribbon-img {
      background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/Bat-02.png");
      background-size: 50%;
      background-position: left center;

      @media (max-width: 1200px) {
        background-size: 100%;
        background-position: -50vw center;
      }
    }
  }

  &[data-theme="green"] {
    .homes--ribbon-bg {
      background: $jo-green;
    }
    .homes--ribbon-img {
      background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/Bat-03.png");
      background-size: 33%;
      background-position: right center;

      @media (max-width: 1200px) {
        background-size: 75%;
        background-position: 67vw center;
      }
    }
  }

  &[data-theme="blue"] {
    .homes--ribbon-bg {
      background: $jo-blue;
    }
  }

  &[data-theme="black"] {
    .homes--ribbon-bg {
      background: black;
    }
  } */
  /* .homes--ribbon {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;

    .homes--ribbon-mask-top {
      position: absolute;
      z-index: 3;
      left: 0;
      top: 0;
      width: 100%;
      height: 4.5vw;
      box-shadow: inset 0 1px 0 white; // Fix for bad alignment in Safari
    }
    .homes--ribbon-mask-bottom {
      position: absolute;
      z-index: 3;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 4.5vw;
      box-shadow: inset 0 -1px 0 white; // Fix for bad alignment in Safari
    }

    .homes--ribbon-bg {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .homes--ribbon-img-container {
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      mix-blend-mode: hard-light;

      @media (max-width: 768px) {
        display: none;
      }
    }
    .homes--ribbon-img {
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
    }

    .homes--ribbon-heading {
      position: relative;
      z-index: 3;
      width: 100%;
      display: flex;
      justify-content: center;
      font-size: 9rem;
      font-weight: 800;
      text-transform: uppercase;
      pointer-events: none;

      @media (max-width: 768px) {
        display: none;
      }
    }
    .homes--ribbon-heading > svg {
      // Should keep a fixed and long width in order to no scale its content by device-width and have enough place to display long text.
      width: 200rem;
      min-width: 200rem;
      margin-top: calc(2rem + 4vw);
      opacity: 0.5;

      text {
        font-family: "Montserrat Outline", "Montserrat", sans-serif;
      }
    }
  }

  .homes--ribbon-floating-img {
    position: absolute;
    z-index: 4;
    pointer-events: none;

    @media (max-width: 768px) {
      display: none;
    }

    img {
      height: 100%;
    }

    // Theme specifics //

    &[data-theme="yellow"] {
      height: 40rem;
      top: -4rem;
      right: -2rem;

      @media (max-width: 1200px) {
        height: 32rem;
        top: -8rem;
        right: -8rem;
      }
    }

    &[data-theme="green"] {
      height: 40rem;
      top: 4rem;
      left: 0rem;

      @media (max-width: 1200px) {
        top: 0rem;
        left: -12rem;
      }
    }
  } */
}
.homes--ribbon-container[data-theme=illustrated] {
  background: #fbfbfb;
}
.homes--ribbon-container .homes--ribbon-img-container {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/prepare-graphic-left.svg");
  background-size: 14rem;
  background-position: left bottom;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-left {
    width: 100%;
    background-position: left 20rem;
  }
}
.homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-right {
  position: absolute;
  top: 0;
  right: -15rem;
  width: 100%;
  height: 100%;
  background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/prepare-graphic-right.svg");
  background-size: 33rem;
  background-position: right bottom;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-right {
    width: 100%;
  }
}
.homes--ribbon-container .homes--cta-action {
  position: relative;
  top: 5rem;
  z-index: 1;
  max-width: 120rem;
  min-height: 36rem;
  margin: auto;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action {
    top: 0;
    min-height: 20rem;
    padding: 5rem 2rem;
  }
}
.homes--ribbon-container .homes--cta-action .homes--cta-action-title {
  max-width: 80rem;
  font-weight: 800;
  font-size: 4.2rem;
  color: white;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action .homes--cta-action-title {
    margin-top: 0;
    font-size: 2.6rem;
  }
}
.homes--ribbon-container .homes--cta-action .homes--cta-action-subtitle {
  max-width: 60rem;
  margin: auto;
  margin-bottom: 3rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: white;
}
.homes--ribbon-container .homes--cta-action-cards {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards {
    padding: 5rem 0;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: 3rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card {
  position: relative;
  width: 38rem;
  min-width: 38rem;
  padding: 3rem;
  text-align: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}
@media (max-width: 1024px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card {
    width: 33rem;
    min-width: 26rem;
    padding: 3rem;
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card {
    width: 100%;
    min-width: 100%;
    padding: 3rem 2rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a,
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a * {
  text-decoration: none;
  cursor: pointer;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a:hover,
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a:hover * {
  color: #e22c3f;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-title {
  font-size: 3.2rem;
  font-weight: 800;
  color: #354bcf;
  margin: 0;
}
@media (max-width: 1024px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-title {
    font-size: 2.6rem;
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-title {
    font-size: 1.8rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-subtitle, .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-action-text {
  display: block;
  margin: 2rem 0;
  font-size: 1.8rem;
  font-weight: 500;
  color: #071f32;
}
@media (max-width: 1024px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-subtitle, .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-action-text {
    margin: 3rem 0;
    font-size: 1.4rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-subtitle.is-illustrated, .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-action-text.is-illustrated {
  font-weight: 800;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-visual {
  margin-bottom: 2rem;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-visual img {
  height: 12rem;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-visual img {
    height: 8rem;
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=illustrated] .homes--cta-action-card {
    padding: 0;
  }
}
.homes--ribbon-container[data-theme=illustrated] .homes--cta-action-card-action-text {
  margin: 0;
}
@media (min-width: 769px) {
  .homes--ribbon-container[data-theme=white] .homes--cta-action-cards {
    margin-top: 4rem;
  }
  .homes--ribbon-container[data-theme=white] .homes--cta-action-card:not(:last-child) {
    border-right: 1px solid rgba(0, 0, 0, 0.2666666667);
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=white] .homes--cta-body {
    margin-top: 2rem;
  }
  .homes--ribbon-container[data-theme=white] .homes--cta-action-card {
    padding: 1rem 3rem;
  }
}
.homes--ribbon-container .homes--cta-mail-form {
  text-align: left;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-mail-form {
    width: 100%;
  }
}
.homes--ribbon-container .homes--cta-mail-form label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 14px;
  font-weight: 600;
}
.homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit {
  display: flex;
  gap: 1rem;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit {
    flex-direction: column;
    align-items: center;
  }
}
.homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit .homes--cta-mail-input {
  width: 40rem;
  height: 4.8rem;
  padding: 0 2rem;
  border: 1px solid black;
  font-size: 1.5rem;
  color: black;
  background: white;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit .homes--cta-mail-input {
    width: 100%;
  }
}
.homes--ribbon-container .homes--cta-mail-form .messages {
  margin-top: 1rem;
}
.homes--ribbon-container .paris-button {
  width: 18rem;
}

.qfap--filters-show-more {
  appearance: none;
  background: transparent;
  border: 0;
  color: #e8404e;
  cursor: pointer;
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 1rem 1.5rem;
  text-align: center;
  text-decoration: underline;
  text-transform: uppercase;
  width: 100%;
}

.qfap--filter {
  appearance: none;
  background: transparent;
  border: 0;
  color: #071f32;
  cursor: pointer;
  font-weight: 700;
  margin-right: 1rem;
  padding: 1rem 1.5rem;
  position: relative;
  transition: color 0.2s ease;
}
.qfap--filter:hover, .qfap--filter:focus {
  color: #354bcf;
}
.qfap--filter .paris-icon-qfap--filters-ring {
  display: none;
  fill: currentColor;
  height: calc(100% + 1rem);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 1rem);
  z-index: 0;
}
.qfap--filter:focus-visible {
  outline: 0;
}
.qfap--filter:focus-visible .paris-icon-qfap--filters-ring {
  display: block;
  fill: #354bcf;
}
.qfap--filter.is-current {
  color: #354bcf;
  cursor: default;
  pointer-events: none;
}
.qfap--filter.is-current .paris-icon-qfap--filters-ring {
  display: block;
}
.qfap--filter.is-hidden {
  display: none;
}
.qfap--filter-text {
  pointer-events: none;
}

.qfap--label {
  color: #fff;
  display: inline-flex;
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  line-height: 1.3;
  padding: 1rem 1.6rem 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
  position: relative;
}
.qfap--label:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--label.is-red {
  background-color: #e22c3f;
}
.qfap--label.is-red[href]:hover, .qfap--label.is-red[href]:focus {
  background-color: #d22638;
}
.qfap--label.is-blue {
  background-color: #354bcf;
}
.qfap--label.is-blue[href]:hover, .qfap--label.is-blue[href]:focus {
  background-color: #071f32;
}

@keyframes bounce {
  0% {
    right: -6rem;
  }
  100% {
    right: 0;
  }
}
.qfap--modals--contribute {
  bottom: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 0;
  z-index: 100;
}
.qfap--modals--contribute::before {
  background-color: rgba(7, 31, 50, 0.5);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 0;
  transition: visibility 0s, opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1), transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  visibility: hidden;
  z-index: -1;
}
body[data-animations=disabled] .qfap--modals--contribute::before {
  transition: none;
}

.qfap--modals--contribute-button {
  top: 5rem;
  position: fixed;
  transform: rotate(-90deg);
  transform-origin: right bottom;
  right: 0;
}
.qfap--modals--contribute-button-animated {
  right: -6rem;
  animation: bounce 0.4s cubic-bezier(0.69, 1.79, 0.78, 0.8) 1s 1 forwards;
}
body[data-animations=disabled] .qfap--modals--contribute-button-animated {
  animation: none;
  right: 0;
}

.qfap--modals--contribute-button-animated::after {
  content: "";
  background-color: #e22c3f;
  height: 2em;
  display: block;
  left: 0;
  position: absolute;
  top: 100%;
  right: 0;
}
.qfap--modals--contribute-button .qfap--button-text {
  font-size: 1.6rem;
  font-weight: 500;
}
.qfap--modals--contribute-close {
  display: none;
}
.qfap--modals--contribute-panel {
  background-color: #fff;
  color: #071f32;
  font-size: 1.5rem;
  font-weight: 500;
  height: 100%;
  overflow: auto;
  padding: 7.5rem 5rem 7.5rem 9.5rem;
  position: absolute;
  right: 0;
  transform: translateX(100%);
  transition: visibility 0s, opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1), transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  visibility: hidden;
  width: 72rem;
}
body[data-animations=disabled] .qfap--modals--contribute-panel {
  transition: none;
}

.qfap--modals--contribute-title, .qfap--modals--contribute-subtitle, .qfap--modals--contribute-section-title {
  font-family: "Montserrat", sans-serif;
}
.qfap--modals--contribute-subtitle, .qfap--modals--contribute-section-title {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.33;
}
.qfap--modals--contribute-title {
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.8;
}
.qfap--modals--contribute-sections {
  margin: 2.6rem 0;
}
.qfap--modals--contribute-section {
  position: relative;
}
.qfap--modals--contribute-section + .qfap--modals--contribute-section {
  margin-top: 2.8rem;
}
.qfap--modals--contribute-section-drawing {
  position: absolute;
  text-align: center;
  width: 7rem;
}
.qfap--modals--contribute-section-title, .qfap--modals--contribute-section-text {
  margin-left: 8rem;
}
.qfap--modals--contribute-section-title {
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.qfap--modals--contribute-section-text, .qfap--modals--contribute-instructions {
  line-height: 1.7;
}
.qfap--modals--contribute-instructions {
  margin-bottom: 2.6rem;
}
.qfap--modals--contribute.is-open {
  width: inherit;
}
.qfap--modals--contribute.is-open::before {
  opacity: 1;
  pointer-events: inherit;
}
.qfap--modals--contribute.is-open::before,
.qfap--modals--contribute.is-open .qfap--modals--contribute-panel {
  visibility: visible;
  transform: translateX(0);
}
.qfap--modals--contribute.is-open .qfap--modals--contribute-close {
  display: inline-flex;
  top: -2.7rem;
}
.qfap--modals--contribute.is-open .qfap--modals--contribute-open {
  display: none;
}
@media (max-width: 925px) {
  .qfap--modals--contribute {
    display: none;
  }
}
@media (min-width: 800px) {
  .paris-header ~ .paris-main .qfap--modals--contribute {
    top: 6.1rem;
  }
}
@media (min-width: 1140px) {
  .paris-header ~ .paris-main .qfap--modals--contribute {
    top: 7.7rem;
  }
}

.qfap--mugshot {
  background-color: #000;
}
.qfap--mugshot-link {
  background-color: #354bcf;
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.qfap--mugshot-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
body[data-animations=disabled] .qfap--mugshot-link {
  transition: none;
}

.qfap--mugshot-link:hover {
  background-color: #fff;
  color: #354bcf;
}
.qfap--mugshot-link:hover .qfap--mugshot-play {
  background-color: #354bcf;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M0 0v16l16-8z' fill='%23FFF'/></svg>");
}
.qfap--mugshot-image {
  position: relative;
  flex-grow: 1;
  overflow: hidden;
}
.qfap--mugshot-image img {
  position: absolute;
  height: 100%;
  width: auto;
  top: 0;
  right: 0;
  transform: translateX(10%);
}
.qfap--mugshot-footer {
  align-items: center;
  display: flex;
}
.qfap--mugshot-play {
  align-items: center;
  background-color: #fff;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M0 0v16l16-8z' fill='%23E8404E'/></svg>");
  background-position: 58% center;
  background-repeat: no-repeat;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  transition: background-color 0.2s ease;
}
body[data-animations=disabled] .qfap--mugshot-play {
  transition: none;
}

.qfap--mugshot-title {
  font-weight: 800;
}
.qfap--mugshot.is-playing .qfap--mugshot-link {
  display: none;
}
@media (max-width: 799px) {
  .qfap--mugshot, .qfap--mugshot-link {
    height: 28.4rem;
    width: 16rem;
  }
  .flickity-slider .qfap--mugshot + .qfap--mugshot {
    margin-left: 0.8rem;
  }
  .flickity-slider .qfap--mugshot:nth-child(2n) {
    margin-top: 2rem;
  }
  .qfap--mugshot-footer {
    padding: 1rem 0.5rem 0.5rem;
  }
  .qfap--mugshot-play {
    background-size: 0.8rem 0.8rem;
    border-radius: 2.4rem;
    height: 2.4rem;
    margin-right: 0.8rem;
    width: 2.4rem;
  }
  .qfap--mugshot-title {
    font-size: 1.2rem;
  }
}
@media (min-width: 800px) {
  .qfap--mugshot, .qfap--mugshot-link {
    height: 55rem;
    width: 31rem;
  }
  .flickity-slider .qfap--mugshot + .qfap--mugshot {
    margin-left: 3.2rem;
  }
  .flickity-slider .qfap--mugshot:nth-child(2n) {
    margin-top: 5rem;
  }
  .qfap--mugshot-footer {
    padding: 2rem 1rem 1rem;
  }
  .qfap--mugshot-play {
    background-size: 1.6rem 1.6rem;
    border-radius: 5rem;
    height: 5rem;
    margin-right: 1.4rem;
    width: 5rem;
  }
  .qfap--mugshot-title {
    font-size: 1.8rem;
  }
}

.qfap--newsletter {
  color: #071f32;
}
.qfap--newsletter-items {
  display: grid;
  grid-gap: 1.6rem;
}
.qfap--newsletter-item {
  background-color: #fff;
  border: 0.5rem solid #fff;
  position: relative;
}
.qfap--newsletter-item:hover, .qfap--newsletter-item.is-checked {
  border-color: var(--item-border-color);
}
.qfap--newsletter-item-checkbox {
  appearance: none;
  background: #fff;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: -1.3rem;
}
.qfap--newsletter-item-checkbox:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--newsletter-item-checkbox::before {
  background: #fff;
  border: 0.4rem solid #071f32;
  content: "";
  cursor: pointer;
  display: block;
  height: 3rem;
  width: 3.2rem;
}
.qfap--newsletter-item-checkbox:checked::before {
  background: url(/assets/base/icons/check-54cfc2cb76e5cec098fc2230392e6486ba0df983590ba7877333f9b7a2bee8af.svg) no-repeat 0.3rem -0.5rem;
  background-size: cover;
}
.qfap--newsletter-item-label {
  cursor: pointer;
  display: block;
}
.qfap--newsletter-item-illustration > svg {
  height: 100%;
  width: 100%;
}
.qfap--newsletter-item-title {
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: -0.01rem;
  line-height: 1.33;
}
.qfap--newsletter-item-title > em {
  font-style: normal;
  position: relative;
  z-index: 0;
}
.qfap--newsletter-item-title > em .paris-icon-qfap--tags-stroke {
  bottom: -0.3rem;
  fill: #ffcd00;
  height: 1rem;
  left: 0;
  position: absolute;
  width: calc(100% + 1rem);
  z-index: -1;
}
.qfap--newsletter-item-frequency {
  font-size: 1.2rem;
  font-weight: 500;
}
.qfap--newsletter a {
  color: #d22638;
  transition: color 0.2s ease;
}
.qfap--newsletter a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--newsletter a::after {
  transition: color 0.2s ease;
}
.qfap--newsletter a:hover, .qfap--newsletter a:active {
  color: #071f32;
}
.qfap--newsletter a[target=_blank] {
  padding-right: 1.5em;
}
.qfap--newsletter a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.qfap--newsletter a[target=_blank]:hover::after, .qfap--newsletter a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.qfap--newsletter-item-link {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.qfap--newsletter-form {
  align-items: center;
  display: flex;
}
.qfap--newsletter-form::before {
  background: url(/assets/base/icons/arrow-f9c86a0bdf3ce98c502b38523d4b417eb83d32627fb34fa76510bbc4b1689d2b.svg) no-repeat;
  content: "";
  display: block;
  height: 3.3rem;
  width: 3.3rem;
}
.qfap--newsletter-email-field {
  background-color: #fff;
  border: 0;
  font-size: 1.3rem;
  font-weight: 500;
  padding: 1.6rem;
  width: 100%;
}
.qfap--newsletter-email-field:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--newsletter-submit .paris-icon,
.qfap--newsletter-submit .paris-icon {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.qfap--newsletter-submit .hidden {
  opacity: 0;
}
.qfap--newsletter-messages {
  font-size: 1.4rem;
  margin-top: 0.3rem;
  text-align: center;
}
.qfap--newsletter-messages > .hidden {
  visibility: hidden;
}
.qfap--newsletter-success-message {
  color: #0d7d00;
}
.qfap--newsletter-error-message {
  color: #d71d31;
}
.qfap--newsletter-error-message ul, .qfap--newsletter-error-message li {
  list-style: none;
}
@media (max-width: 799px) {
  .qfap--newsletter-item {
    padding: 2rem 3rem 2rem 1rem;
  }
  .qfap--newsletter-item-checkbox {
    right: -0.5rem;
  }
  .qfap--newsletter-item-illustration {
    align-items: center;
    bottom: 1rem;
    display: flex;
    left: 0.5rem;
    position: absolute;
    top: 1rem;
    width: 26%;
  }
  .qfap--newsletter-item-title, .qfap--newsletter-item-info {
    margin-left: calc(26% + 2rem);
  }
  .qfap--newsletter-item-title {
    margin-bottom: 1rem;
  }
  .qfap--newsletter-form {
    flex-direction: column;
    margin-top: 1.5rem;
  }
  .qfap--newsletter-form::before {
    transform: rotate(60deg);
  }
  .qfap--newsletter-email-field {
    margin-top: 1rem;
    max-width: calc(100vw - 4rem);
    width: 30.5rem;
  }
  .qfap--newsletter-submit {
    margin-top: 1.8rem;
  }
}
@media (min-width: 800px) {
  .qfap--newsletter {
    margin-top: 4rem;
  }
  .qfap--newsletter-items {
    grid-template-columns: repeat(5, 1fr);
  }
  .qfap--newsletter-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 2.5rem 0.5rem;
    text-align: center;
    transition: border-color 0.2s ease;
  }
  .qfap--newsletter-item-checkbox {
    right: -1.3rem;
  }
  .qfap--newsletter-item-label {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }
  .qfap--newsletter-item-illustration {
    flex-grow: 1;
    height: 9rem;
    margin: 2rem 0;
  }
  .qfap--newsletter-item-title {
    order: -1;
  }
  .qfap--newsletter-item-link {
    margin-top: 1rem;
  }
  .qfap--newsletter-form {
    justify-content: center;
    margin-top: 4rem;
  }
  .qfap--newsletter-form::before {
    margin-right: 2rem;
    transform: translateY(-1rem);
  }
  .qfap--newsletter-email-field {
    width: 31.5rem;
  }
  .qfap--newsletter-submit {
    margin-left: 1.4rem;
  }
}

.qfap--section-title {
  color: #d22638;
  font-family: "Palmer Lake", sans-serif;
  font-weight: normal;
  letter-spacing: -0.05rem;
  line-height: 0.6;
  margin: 0 0 2rem;
}
.qfap--section-header {
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.qfap--section ul.qfap--section-content {
  margin: 0;
  padding: 0;
}
.qfap--section-content-offset {
  display: none;
}
.qfap--section-content {
  padding: 0;
}
.qfap--section-footer {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  margin-top: 2.4rem;
}
.qfap--section-footer-content {
  /* Gap for Today/Week/Weekend buttons in filters */
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.qfap--section-panning-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: 3.4rem;
}
.qfap--section-panning-controls button {
  align-items: center;
  background-color: #f2f2f2;
  border: 0;
  border-radius: 3rem;
  cursor: pointer;
  display: flex;
  height: 4rem;
  justify-content: center;
  padding: 0;
  width: 4rem;
}
.qfap--section-panning-controls button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--section-panning-controls button + button {
  margin-left: 1rem;
}
.qfap--section-panning-controls .paris-icon {
  fill: #354bcf;
  height: 1.9rem;
  width: 1.9rem;
}
.qfap--section-panning-controls button:disabled {
  pointer-events: none;
}
.qfap--section-panning-controls button:disabled .paris-icon {
  fill: #ccc;
}
.qfap--section.has-gray-background {
  background-color: #f4f3f3;
}
.qfap--section.has-blue-background {
  background-color: #354bcf;
}
.qfap--section.has-blue-background,
.qfap--section.has-blue-background .qfap--section-title {
  color: #fff;
}
.qfap--section.has-full-width-content {
  padding-left: 0;
  padding-right: 0;
}
.qfap--section.has-full-width-content .qfap--section-content-container {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}
.qfap--section.has-full-width-content .qfap--section-content-offset {
  height: 100%;
}
.qfap--section.has-full-width-content .qfap--card {
  min-height: 16rem;
}
.qfap--section.has-full-width-content:not(.has-no-content-offset) .qfap--section-content-offset {
  display: block;
}
.qfap--section.has-rows-of-cards .qfap--card-image-mask {
  max-height: 17.6883rem;
}
.qfap--section.has-overlay-title .qfap--section-title-container {
  position: relative;
}
.qfap--section.has-overlay-title .qfap--section-title-container .qfap--section-title-overlay {
  background-color: #fff;
  left: 0;
  max-width: 100%;
  padding: 3rem;
  position: absolute;
  top: 0;
  width: 35rem;
  z-index: 10000;
}
.qfap--section.has-overlay-title .qfap--section-title-container .qfap--section-title-overlay .qfap--section-header {
  margin-bottom: 0;
}
.qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 2.6rem;
  min-height: 100%;
}
.qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column > * {
  margin: 0 !important;
}
.qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column + .qfap--section-content-column {
  margin-left: 2.6rem;
}
@media (max-width: 799px) {
  .qfap--section {
    margin: 4rem 0;
  }
  .qfap--section-title {
    font-size: 5rem;
  }
  .qfap--section-footer {
    text-align: center;
  }
  .qfap--section.has-blue-background, .qfap--section.has-gray-background {
    margin: 2rem 0;
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
  .qfap--section.has-full-width-content .qfap--section-content-container {
    margin-left: 0;
    margin-right: 0;
  }
  .qfap--section.has-full-width-content .qfap--section-content-offset {
    width: 2rem;
  }
  .qfap--section.has-rows-of-cards .qfap--card-image-mask {
    max-height: 9.375rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n) {
    padding-top: 3.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+1) {
    padding-top: 1.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+2) {
    padding-top: 1.75rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+3) {
    padding-top: 6.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+4) {
    padding-top: 1rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+6) {
    padding-top: 1.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column + .qfap--section-content-column {
    margin-left: -0.02rem;
  }
  .qfap--section.has-overlay-title .qfap--section-title-container {
    margin-left: 0;
  }
  .qfap--section.has-overlay-title .qfap--section-title-container .qfap--section-title-overlay {
    padding: 2rem;
  }
}
@media (max-width: 1139px) {
  .qfap--section.has-flex .qfap--section-content, .qfap--section.has-grid-4 .qfap--section-content {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  .qfap--section.has-flex .qfap--section-content > *, .qfap--section.has-grid-4 .qfap--section-content > * {
    margin: 0 !important;
  }
}
@media (min-width: 800px) {
  .qfap--section {
    margin: 8rem 0;
  }
  .qfap--section-title {
    font-size: 6.2rem;
  }
  .qfap--section-footer {
    margin-top: 3.4rem;
  }
  .qfap--section-panning-controls {
    margin-left: 3.4rem;
  }
  .qfap--section-panning-controls button {
    height: 5rem;
    width: 5rem;
  }
  .qfap--section-panning-controls .paris-icon {
    height: 2.4rem;
    width: 2.4rem;
  }
  .qfap--section.has-blue-background, .qfap--section.has-gray-background {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
  .qfap--section.has-grid-6 .qfap--section-content {
    display: grid;
    gap: 2.6rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .qfap--section.has-grid-6 .qfap--section-content > * {
    margin: 0 !important;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n) {
    padding-top: 7rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+1) {
    padding-top: 3rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+2) {
    padding-top: 3.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+3) {
    padding-top: 13rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+4) {
    padding-top: 2rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+6) {
    padding-top: 3rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column + .qfap--section-content-column {
    margin-left: -0.02rem;
  }
}
@media (min-width: 1140px) {
  .qfap--section.has-flex .qfap--section-content {
    display: flex;
    gap: 2.6rem;
    justify-content: space-evenly;
  }
  .qfap--section.has-flex .qfap--section-content > * {
    margin: 0 !important;
  }
  .qfap--section.has-grid-4 .qfap--section-content {
    display: grid;
    gap: 2.6rem;
    grid-template-columns: repeat(4, 1fr);
  }
  .qfap--section.has-grid-4 .qfap--section-content > * {
    margin: 0 !important;
  }
}
@media (max-width: 1179px) {
  .qfap--section.has-full-width-content .qfap--section-content-offset {
    width: 2rem;
  }
}
@media (min-width: 1180px) {
  .qfap--section.has-full-width-content .qfap--section-content-offset {
    width: calc((100vw - 107rem) / 2);
  }
}

.qfap--sessions-table {
  line-height: 1.3;
}
.qfap--sessions-table th {
  font-weight: 500;
  text-align: left;
}
.qfap--sessions-item-title {
  font-weight: 700;
}
.qfap--sessions-accessibility > .accessibility-dropdown {
  margin: 0;
}
@media (max-width: 799px) {
  .qfap--sessions-table {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .qfap--sessions-table thead,
  .qfap--sessions-table tbody,
  .qfap--sessions-table tr {
    display: contents;
  }
  .qfap--sessions-table th,
  .qfap--sessions-table td {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .qfap--sessions-table .qfap--sessions-accessibility {
    border-bottom: 0.6rem solid #e8e8e8;
    grid-column: span 3;
    margin-bottom: 2rem;
    padding: 1.5rem 0 2rem;
  }
}
@media (min-width: 800px) {
  .qfap--sessions {
    margin: 0 -1rem;
    width: calc(100% + 2rem);
  }
  .qfap--sessions-table {
    border-collapse: collapse;
    width: 100%;
  }
  .qfap--sessions-table th,
  .qfap--sessions-table td {
    border-bottom: 0.6rem solid #e8e8e8;
    padding: 1.5rem 1rem;
    vertical-align: top;
  }
}

.qfap--social {
  display: flex;
  justify-content: space-between;
}
.qfap--social-link {
  color: #fff;
  display: flex;
  text-decoration: none;
  flex-direction: column;
  position: relative;
  align-items: center;
}
.qfap--social-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--social-image {
  width: 20rem;
}
.qfap--social-image-mask {
  overflow: hidden;
  background-color: #fff;
  transform: scale(1);
  transition: transform 0.2s ease;
}
body[data-animations=disabled] .qfap--social-image-mask {
  transition: none;
}

.qfap--social-image img,
.qfap--social-image svg {
  display: block;
  width: 100%;
}
body[data-animations=disabled] .qfap--social-image {
  transition: none !important;
}

.qfap--social-wrapper {
  position: relative;
  text-align: left;
  z-index: 1;
  margin-top: 4rem;
  line-height: 4;
}
.qfap--social-title {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.33;
  margin-top: 2rem;
  text-align: center;
}
.qfap--social-item {
  width: 28rem;
}
.qfap--social-item.has-instagram-network .qfap--social-image {
  transform: rotate(-4deg);
  transition: transform 0.2s ease;
}
.qfap--social-item.has-facebook-network .qfap--social-image {
  transform: rotate(-4deg);
  transition: transform 0.2s ease;
}
.qfap--social-item.has-tiktok-network .qfap--social-image {
  transform: rotate(6deg);
  transition: transform 0.2s ease;
}
.qfap--social-item:hover .qfap--social-image, .qfap--social-item:focus .qfap--social-image {
  transform: rotate(0);
}
.qfap--social-item:hover .qfap--social-image-mask, .qfap--social-item:focus .qfap--social-image-mask {
  transform: scale(1.1);
}
.qfap--social-item::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 6.3rem;
  width: 8.3rem;
  position: relative;
  left: 15rem;
}
.qfap--social-item.has-tiktok-network::before {
  background-image: url(/assets/illustrations/follow-5d1b842e7a50c7ab51a5239760db14cb6f7b326386df8778050717edd8c027f2.svg);
}
.qfap--social-item.has-facebook-network::before {
  background-image: url(/assets/illustrations/like-38edf2751b97d1b9433765954e4f1abf3201dca3a427a1ee98276811ecd97915.svg);
  width: 7.2rem;
  top: 35rem;
  left: -8.5rem;
}
.qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 9.3rem;
  border: 2.3rem solid #fff;
  content: "";
  display: block;
  height: 9.3rem;
  position: absolute;
  background-color: #fff;
  width: 9.3rem;
  top: 15.5rem;
}
.qfap--social-item.has-instagram-network .qfap--social-link::after {
  background-image: url(/assets/illustrations/logo_ig-b900e4e3207a6085a1f3946227ac3001b95cbb2287b86866f0480be0879f2fe6.svg);
  background-size: 88%;
}
.qfap--social-item.has-facebook-network .qfap--social-link::after {
  background-image: url(/assets/illustrations/logo_fb-58dae7007ff7d7ab8b99a086b9106b8f479b91730d6c0d36ea98a02cad8f4783.svg);
}
.qfap--social-item.has-tiktok-network .qfap--social-link::after {
  background-image: url(/assets/illustrations/logo_tt-ccfbb57fc63e1a8250a1e47a8e9278bceae2d6ca7eb9f621973d915f07b2f786.svg);
}

@media (max-width: 499px) {
  .qfap--social {
    margin-top: 1rem;
    flex-direction: column;
    justify-content: left;
  }
  .qfap--social-item:not(:first-child) {
    margin-top: 5rem;
  }
  .qfap--social-item:first-child {
    margin-top: 3rem;
  }
  .qfap--social-item::before {
    background-image: none !important;
    display: none;
  }
  .qfap--social-title {
    margin-top: 0;
  }
  .qfap--social-image {
    margin-right: 0;
  }
  .qfap--social-image-mask {
    width: 12.2rem;
    padding: 0.5rem;
  }
  .qfap--social-link {
    flex-direction: row;
  }
  .qfap--social-item {
    width: 100%;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after {
    top: -3rem;
    left: 9rem;
  }
  .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    top: -1rem;
    left: 9rem;
  }
  .qfap--social-wrapper {
    margin: 1rem 0 0 0;
    min-width: 17rem;
  }
  .qfap--social-wrapper .qfap--social-title {
    font-size: 1.5rem;
    margin-left: 2rem;
    text-align: left;
  }
  .qfap--social.has-facebook-network .qfap--social-wrapper {
    margin-top: 2rem;
  }
}
@media (max-width: 799px) {
  .qfap--social-item {
    width: 18rem;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    width: 5.4rem;
    height: 5.4rem;
    border-radius: 7.4rem;
    border: 0.8rem solid #fff;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .qfap--social {
    flex-wrap: wrap;
  }
  .qfap--social-item {
    flex: 50%;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    top: 13rem;
  }
  .qfap--social-image {
    width: 16rem;
    margin-right: 0;
  }
  .qfap--social-wrapper {
    margin-top: 2rem;
  }
  .qfap--social-item::before {
    background-image: none !important;
    width: 0 !important;
  }
}
@media (min-width: 800px) {
  .qfap--social-item.has-tiktok-network {
    margin-top: 3rem;
  }
}
@media (min-width: 800px) and (max-width: 960px) {
  .qfap--social {
    flex-wrap: wrap;
  }
  .qfap--social-item {
    flex: 50%;
    width: 23rem;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    top: 15rem;
  }
  .qfap--social-item.has-tiktok-network {
    margin-top: 0rem;
  }
  .qfap--social-item.has-tiktok-network::before {
    top: 26rem;
    left: 0rem;
    margin-top: 0rem;
  }
}
.qfap--filters.qfap--tabs .qfap--tabs-container {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.qfap--filters.qfap--tabs .qfap--tab {
  display: none;
}
.qfap--filters.qfap--tabs .qfap--tab.is-current {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 2.6rem;
  gap: 2.6rem;
  position: relative;
}
.qfap--filters.qfap--tabs ul {
  margin: 0;
  padding: 0;
}
.qfap--filters.qfap--tabs .qfap--tabs-show-more {
  appearance: none;
  background: transparent;
  border: 0;
  color: #e8404e;
  cursor: pointer;
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 1rem 1.5rem;
  text-align: center;
  text-decoration: underline;
  text-transform: uppercase;
  width: 100%;
}

.qfap--tags {
  line-height: 1;
}
.qfap--tags-prefix {
  font-size: 1.2rem;
  font-weight: 600;
}
.qfap--tags .qfap--tag {
  margin-right: 1rem;
}
.qfap--tags.qfap--filters,
.qfap--tags.qfap--filters .qfap--tag {
  line-height: 2;
}
.qfap--tags.qfap--filters .qfap--tag {
  margin-right: 1.5rem;
}
.qfap--tags.qfap--filters .qfap--tag::after,
.qfap--tags.qfap--filters .qfap--tag .paris-icon-qfap--tags-stroke {
  bottom: 1rem;
}

.qfap--tag {
  appearance: none;
  background: transparent;
  border: 0;
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.005rem;
  text-decoration: none;
  text-transform: uppercase;
  padding: 1rem;
  position: relative;
}
.qfap--tag:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--tag::after,
.qfap--tag .paris-icon-qfap--tags-stroke {
  bottom: 0.5rem;
  height: 1rem;
  left: 1rem;
  position: absolute;
  width: calc(100% - 1rem);
  z-index: 0;
}
.qfap--tag::after {
  background-color: #fff;
  content: "";
  display: block;
  transition: transform 0.3s ease;
  transform: scale3d(0, 1, 1);
  transform-origin: 100% 50%;
}
body[data-animations=disabled] .qfap--tag::after {
  transition: none;
}

.qfap--tag-text,
.qfap--tag .paris-icon {
  pointer-events: none;
}
.qfap--tag-text {
  position: relative;
  z-index: 1;
}
.qfap--tag .paris-icon-qfap--tags-stroke,
.qfap--tag .paris-icon-qfap--tags-ring {
  fill: #ffcd00;
}
.qfap--tag .paris-icon-qfap--tags-ring {
  display: none;
  height: calc(100% + 1rem);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 1rem);
  z-index: 2;
}
@media (hover: hover) {
  .qfap--tag:hover {
    color: #957000;
    transition: color 150ms;
  }
  .qfap--tag:hover::after {
    transform: scale3d(1, 1, 1);
    transform-origin: 0% 50%;
  }
  body[data-animations=disabled] .qfap--tag:hover {
    transition: none;
  }
}
.qfap--tag:focus::after {
  transform: scale3d(1, 1, 1);
  transform-origin: 0% 50%;
}
.qfap--tag:focus-visible {
  outline: 0;
}
.qfap--tag:focus-visible .paris-icon-qfap--tags-ring {
  display: block;
  fill: #354bcf;
}
.qfap--tag.is-current::after,
.qfap--tag.is-current .paris-icon-qfap--tags-stroke {
  display: none;
}
.qfap--tag.is-current .paris-icon-qfap--tags-ring {
  display: block;
}
.qfap--tag.is-hidden {
  display: none;
}
.qfap--tag.has-locale-fr .qfap--tag-text::after {
  content: "(fr)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}
.qfap--tag.has-locale-en .qfap--tag-text::after {
  content: "(en)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}

.qfap--tile {
  align-items: flex-end;
  background-color: #000;
  color: #fff;
  display: flex;
  font-weight: 700;
  position: relative;
  text-decoration: none;
  transform: opacity 0.2s ease;
}
.qfap--tile:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--tile-image {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.qfap--tile-image > svg {
  fill: currentColor;
  height: 100%;
  width: 100%;
}
.qfap--tile[href]:hover {
  opacity: 0.9;
}
.qfap--tile.is-centered {
  justify-content: center;
  text-align: center;
}
.qfap--tile.is-centered:last-child {
  margin-left: auto;
}
.qfap--tile.has-partner-format {
  background-color: transparent;
  color: #071f32;
  font-weight: 500;
  width: auto;
}
.qfap--tile.has-partner-format.is-large .qfap--tile-image {
  max-width: 27rem;
}
.qfap--tile.has-partner-format .qfap--tile-text {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  justify-content: center;
  height: 3.2rem;
  text-align: center;
  width: 100%;
}
.qfap--tile.has-partner-format .qfap--tile-image {
  bottom: 3.2rem;
}
.qfap--tile.has-partner-format .qfap--tile-image > img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}
.qfap--tile.has-blackpearl-background {
  background-color: #071f32;
  text-shadow: 2px 2px 0 #071f32, -2px -2px 0 #071f32, -2px 2px 0 #071f32, 2px -2px 0 #071f32;
}
.qfap--tile.has-ceruleanblue-background {
  background-color: #354bcf;
  text-shadow: 2px 2px 0 #354bcf, -2px -2px 0 #354bcf, -2px 2px 0 #354bcf, 2px -2px 0 #354bcf;
}
.qfap--tile.has-lipstick-background {
  background-color: #e8404e;
  text-shadow: 2px 2px 0 #e8404e, -2px -2px 0 #e8404e, -2px 2px 0 #e8404e, 2px -2px 0 #e8404e;
}
.qfap--tile.has-supernova-background {
  background-color: #ffcd00;
  color: #071f32;
  text-shadow: 2px 2px 0 #ffcd00, -2px -2px 0 #ffcd00, -2px 2px 0 #ffcd00, 2px -2px 0 #ffcd00;
}
@media (max-width: 799px) {
  .qfap--tile {
    font-size: 1.6rem;
    height: 13rem;
    padding: 0.6rem 1rem;
    width: 13rem;
  }
  .qfap--tile.is-centered {
    font-size: 1.4rem;
    height: 11rem;
    width: 11rem;
  }
  .qfap--tile.has-partner-format {
    height: 10rem;
    padding: 0rem;
  }
  .qfap--tile.has-partner-format .qfap--tile-text {
    align-items: flex-start;
  }
  .qfap--tile.has-partner-format.is-small {
    height: 8rem;
  }
  .qfap--tile.has-partner-format.is-large {
    height: 13rem;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-text {
    align-items: center;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-image {
    margin: 0 auto;
  }
}
@media (min-width: 500px) {
  .qfap--tile.has-partner-format {
    height: 15rem;
  }
  .qfap--tile.has-partner-format.is-small {
    height: 12rem;
  }
  .qfap--tile.has-partner-format.is-large {
    align-items: flex-start;
    flex-direction: row-reverse;
    gap: 2.5rem;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-text {
    flex: 1;
    height: 100%;
    justify-content: flex-start;
    text-align: left;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-image {
    height: 100%;
    position: relative;
  }
}
@media (min-width: 800px) {
  .qfap--tile {
    font-size: 2rem;
    height: 21rem;
    padding: 2rem;
    width: 21rem;
  }
  .qfap--tile.is-centered {
    font-size: 1.8rem;
    height: 18.6rem;
    width: 18.6rem;
  }
  .qfap--tile.has-partner-format {
    height: 16rem;
    padding: 0rem;
  }
  .qfap--tile.has-partner-format.is-small {
    height: 13rem;
  }
  .qfap--tile.has-partner-format.is-large {
    height: 17rem;
  }
}

.places--activities-container {
  display: flex;
  flex-wrap: wrap;
}
.places--activities-item-link {
  display: flex;
  align-items: center;
  width: 50%;
  color: #071f32;
  font-size: 1.5rem;
  padding: 1rem 0;
}
.places--activities-item-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--activities-item-link:hover {
  text-decoration: none;
}
@media (max-width: 499px) {
  .places--activities-item-link {
    font-size: 1.3rem;
    flex-direction: column;
  }
}
.places--activities-item-image {
  height: 6rem;
  width: 6rem;
  border-radius: 6rem;
}
.places--activities-item-title {
  font-family: "Montserrat", sans-serif;
  text-align: left;
  margin-left: 1rem;
}

.places--affluences-footer {
  color: #071f32;
  font-size: 1.1rem;
  height: 3rem;
  display: flex;
  align-items: center;
  margin-top: 1rem;
}
.places--affluences-footer-text {
  background-image: url(/assets/places/logo-affluences-2259a8bf80afa95be610a3eea3dd349a23dbc42744b343872f1b60248dce9d82.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 13rem;
  display: inline-block;
  height: 3rem;
  text-indent: -9999px;
  overflow: hidden;
}

.places--affluences-row {
  position: relative;
  width: 100%;
}
.places--affluences-row .progress-container {
  position: relative;
  display: inline-block;
  background: #d7dbf5;
  overflow: hidden;
  height: 1rem;
  width: 100%;
}
.places--affluences-row .progress-container .progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #354bcf;
}
.places--affluences-row .progress-icon {
  position: absolute;
  background-repeat: no-repeat;
  background-position-x: right;
  height: 4rem;
  width: 4rem;
  top: -2.2rem;
}
.places--affluences-row .swimmer {
  background-image: url(/assets/places/swimmer-7944d50668d27076a941f119bf351dd28aef863bd8998cafb7e5ca3ed527b822.svg);
}
.places--affluences-row .user {
  background-image: url(/assets/places/user-e9dff5e044a91b036b7b28f39d1111ff869c262d13936fed6290d0eaa0302901.svg);
  top: -3.2rem;
}
.places--affluences-row .progress-label {
  text-align: right;
  font-weight: 600;
  font-size: 1.3rem;
  line-height: 1.3rem;
  position: absolute;
  top: 2.5rem;
  color: #354bcf;
}
.places--affluences-row.free .swimmer {
  left: -1.1rem !important;
}
.places--affluences-row.free .user {
  left: -0.1rem !important;
}
.places--affluences-row.reserved .swimmer,
.places--affluences-row.reserved .user {
  display: none;
}
.places--affluences-row.full .user {
  left: calc(100% - 3.7rem) !important;
}
.has-errors .places--affluences-row .progress-container {
  background: #f2f2f2;
}
.has-errors .places--affluences-row .swimmer,
.has-errors .places--affluences-row .progress-label {
  display: none;
}
.reserved .places--affluences-row .swimmer,
.reserved .places--affluences-row .user,
.reserved .places--affluences-row .progress-label {
  display: none;
}
.reserved .places--affluences-row .progress-container .progress-bar {
  width: 100% !important;
}
.full .places--affluences-row .user {
  left: calc(100% - 3.7rem) !important;
}

.places--attendances-container .places--expandable.has-bottom-link {
  max-width: 71rem;
  text-align: right;
}
.places--attendances-container .places--expandable.has-bottom-link .places--expandable-link[aria-expanded=true] {
  bottom: -2rem;
}
.places--attendances-container .places--expandable-content {
  margin-top: 0;
}
.places--attendances .blocks .text:first-child {
  margin-top: 3rem;
}
.places--attendances-current-row.expanded {
  display: none;
}
.places--attendances-content {
  display: flex;
}
.places--attendances-content .title {
  width: 4rem;
}
.places--attendances-table {
  display: flex;
  flex-direction: column;
  max-width: 68rem;
  padding: 0;
}
.places--attendances-table thead tr,
.places--attendances-table tbody tr {
  display: flex;
  align-items: center;
  color: #757575;
}
.places--attendances-table thead {
  border-top: 1px solid #979797;
  order: 2;
  padding-top: 0rem;
  margin-top: 0.6rem;
  height: 3rem;
  margin-left: 1.36rem;
  width: 65.3rem;
}
.places--attendances-table thead th {
  font-size: 1rem;
  font-weight: 300;
  flex: 0 0 2.72rem;
  max-width: 2.72rem;
  overflow: visible;
}
.places--attendances-table thead th span {
  z-index: 998;
  background-color: #fff;
  left: -1rem;
  top: 0.5em;
  position: relative;
}
.places--attendances-table thead th.odd span {
  color: #fff;
}
.places--attendances-table thead th:not(.half) {
  border-left: 1px solid #979797;
}
.places--attendances-table thead th.half span,
.places--attendances-table thead th span > span {
  border: none;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.places--attendances-table thead th strong {
  font-weight: normal;
}
.places--attendances-table tbody {
  order: 1;
}
.places--attendances-table th,
.places--attendances-table td {
  width: 2.72rem;
}
.places--attendances-footer {
  width: 72rem;
  font-size: 1.1rem;
  margin-bottom: 2rem;
  text-align: left;
}
.places--attendances-footer-text {
  color: #071f32;
}
.places--attendances-footer .places--attendances-detail {
  display: flex;
  margin-bottom: 1rem;
  margin-left: 5rem;
}
.places--attendances-footer .places--attendances-detail-link {
  font-size: 1.1rem;
  text-decoration: underline;
  cursor: pointer;
  color: #071f32;
}
.places--attendances-footer .places--attendances-detail-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--attendances-footer .places--attendances-detail-link::after {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: 900;
  margin-left: 1rem;
}
.places--attendances-footer .places--attendances-detail-link[aria-expanded=true]::after {
  content: "\f077";
}
.places--attendances-footer .places--attendances-detail-link[aria-expanded=false]::after {
  content: "\f078";
}
.places--attendances-footer .places--attendances-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.places--attendances-footer .places--attendances-detail-row:first-of-type {
  width: 30rem;
  justify-content: flex-start;
}
.places--attendances-footer .places--attendances-detail-row .attendance {
  margin-right: 1rem;
}
.places--attendances .attendance {
  display: inline-block;
  vertical-align: bottom;
}
.places--attendances .attendance div.attendence-circle {
  margin: 0 auto;
  background-color: #354bcf;
  border-radius: 50%;
}
.places--attendances .attendance span {
  visibility: hidden;
}
.places--attendances .attendance.attendance-0 div.attendence-circle {
  height: 0;
  width: 0;
}
.places--attendances .attendance.attendance-0 {
  background-color: #f2f2f2;
  height: 2rem;
  width: 2.72rem;
}
.places--attendances .attendance.attendance-0:last-of-type {
  width: 1.36rem;
}
.places--attendances .attendance.attendance-0:first-of-type {
  width: 1.36rem;
  margin-left: 1.36rem;
}
.places--attendances .attendance.attendance-1.current-range .attendence-circle {
  position: relative;
}
.places--attendances .attendance.attendance-1.current-range .attendence-circle:after, .places--attendances .attendance.attendance-1.current-range .attendence-circle:before {
  position: absolute;
  border-radius: 50%;
  position: absolute;
  content: "";
  display: block;
  height: calc(0.5rem + 6px);
  width: calc(0.5rem + 6px);
  top: -3px;
  left: -3px;
  background-color: rgba(53, 75, 207, 0.3);
}
.places--attendances .attendance.attendance-1.current-range .attendence-circle:after {
  height: calc(0.5rem + 12px);
  width: calc(0.5rem + 12px);
  top: -6px;
  left: -6px;
  background-color: rgba(53, 75, 207, 0.1);
}
.places--attendances .attendance.attendance-1 div.attendence-circle {
  height: 0.5rem;
  width: 0.5rem;
}
.places--attendances .attendance.attendance-2.current-range .attendence-circle {
  position: relative;
}
.places--attendances .attendance.attendance-2.current-range .attendence-circle:after, .places--attendances .attendance.attendance-2.current-range .attendence-circle:before {
  position: absolute;
  border-radius: 50%;
  position: absolute;
  content: "";
  display: block;
  height: calc(1rem + 6px);
  width: calc(1rem + 6px);
  top: -3px;
  left: -3px;
  background-color: rgba(53, 75, 207, 0.3);
}
.places--attendances .attendance.attendance-2.current-range .attendence-circle:after {
  height: calc(1rem + 12px);
  width: calc(1rem + 12px);
  top: -6px;
  left: -6px;
  background-color: rgba(53, 75, 207, 0.1);
}
.places--attendances .attendance.attendance-2 div.attendence-circle {
  height: 1rem;
  width: 1rem;
}
.places--attendances .attendance.attendance-3.current-range .attendence-circle {
  position: relative;
}
.places--attendances .attendance.attendance-3.current-range .attendence-circle:after, .places--attendances .attendance.attendance-3.current-range .attendence-circle:before {
  position: absolute;
  border-radius: 50%;
  position: absolute;
  content: "";
  display: block;
  height: calc(1.6rem + 6px);
  width: calc(1.6rem + 6px);
  top: -3px;
  left: -3px;
  background-color: rgba(53, 75, 207, 0.3);
}
.places--attendances .attendance.attendance-3.current-range .attendence-circle:after {
  height: calc(1.6rem + 12px);
  width: calc(1.6rem + 12px);
  top: -6px;
  left: -6px;
  background-color: rgba(53, 75, 207, 0.1);
}
.places--attendances .attendance.attendance-3 div.attendence-circle {
  height: 1.6rem;
  width: 1.6rem;
}
.places--attendances .attendance.attendance-4 div.attendence-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #979797;
  background-color: transparent;
  color: #979797;
  font-size: 1rem;
  padding: 0.1rem;
  height: 1.8rem;
  width: 1.8rem;
}
@media (max-width: 799px) {
  .places--attendances-container .places--expandable.has-bottom-link {
    text-align: left;
  }
  .places--attendances-container .places--expandable.has-bottom-link .places--expandable-link[aria-expanded=true] {
    left: 0;
  }
}
@media (max-width: 499px) {
  .places--attendances {
    margin-bottom: 0;
  }
  .places--attendances h4 {
    margin-top: 0;
  }
  .places--attendances-container {
    overflow-x: scroll;
    box-sizing: content-box;
    -ms-overflow-style: none; /* Internet Explorer 10+ */
    scrollbar-width: none; /* Firefox */
  }
  .places--attendances-container .places--expandable.has-bottom-link {
    text-align: left;
  }
  .places--attendances-container::-webkit-scrollbar {
    display: none; /* Safari and Chrome */
  }
  .places--attendances-table {
    padding-right: 1rem;
  }
  .places--attendances-table thead {
    width: 66.8rem;
  }
  .places--attendances-table thead th {
    flex: 0 0 2.53rem;
    max-width: 2.53rem;
  }
  .places--attendances-footer-text {
    max-width: 15rem;
    display: inline-block;
  }
}

.places--collapsable [aria-hidden=true]:not(.paris-icon) {
  display: none;
}
.places--collapsable .blocks > .title.is-level-2:first-child::after,
.places--collapsable .blocks > .title.is-level-3:first-child::before {
  background: none;
  height: unset;
  margin-bottom: unset;
}
.places--collapsable .blocks,
.places--collapsable .places-events {
  padding-bottom: 2rem;
}

.places--expandable-link {
  font-size: 1.1rem;
  text-decoration: underline;
  cursor: pointer;
  color: #071f32;
  line-height: inherit;
  padding: inherit;
  appearance: none;
  border: none;
  background: none;
}
.places--expandable-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--expandable-link::after {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: 900;
  margin-left: 1rem;
}
.places--expandable-link[aria-expanded=true]::after {
  content: "\f077";
}
.places--expandable-link[aria-expanded=false]::after {
  content: "\f078";
}
.places--expandable-link[aria-expanded=true] ~ .places--expandable-content {
  display: block;
}
.places--expandable-content {
  display: none;
  margin-bottom: 3rem;
  margin-top: 3rem;
  text-align: left;
}
.places--expandable.has-bottom-link {
  position: relative;
}
.places--expandable.has-bottom-link .places--expandable-link[aria-expanded=true] {
  position: absolute;
  top: inherit;
  bottom: 0;
  right: 0;
}

.places--library-affluences {
  min-height: 14rem;
}
.places--library-affluences-container .title {
  margin-bottom: 3rem;
}
.places--library-affluences-container .places--expandable .places--pool-affluences-item {
  width: 80%;
  position: relative;
}
.places--library-affluences-container .places--expandable-link {
  position: absolute;
  right: 0;
  top: 2.6rem;
}
.places--library-affluences-container .places--expandable-link[aria-expanded=true] {
  top: inherit;
  bottom: -4rem !important;
}
.places--library-affluences-item {
  display: flex;
  justify-content: space-around;
  height: 7rem;
  padding-top: 1.5rem;
}
.places--library-affluences-title {
  color: #071f32;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  transition: color 0.3s ease;
  width: 7%;
  margin-right: 1rem;
}
.places--library-affluences-title span {
  color: #354bcf;
  font-size: 0.9rem;
  display: block;
  margin-top: 0.5rem;
}
.places--library-affluences-error-message {
  display: none;
}
.places--library-affluences-text {
  color: #354bcf;
  font-size: 1.2rem;
  font-weight: 500;
}
.places--library-affluences-text.global-text {
  margin-top: 2rem;
}
.places--library-affluences-text.global-text.reserved {
  margin-top: 0;
}
.places--library-affluences .has-errors .places--library-affluences-error-message {
  display: inline-block;
  color: #979797;
  font-size: 1.1rem;
}
.places--library-affluences .has-errors .progress-icon {
  display: none;
}
.places--library-affluences .full .progress-label {
  width: 100% !important;
}
.places--library-affluences .places--affluences-footer {
  margin-top: 2.3rem;
}
@media (max-width: 499px) {
  .places--library-affluences-title {
    width: 22%;
    margin-right: 0;
  }
  .places--library-affluences-item {
    justify-content: space-between;
    width: 100% !important;
  }
}

.places--messages-container {
  background-color: #f4f3f3;
  padding: 2rem 4rem;
  margin: 0.8rem auto;
}
.places--messages-container:first-child {
  margin-top: 0;
}
.places--messages-container.alert {
  color: #e8404e;
  border-left: 0.8rem solid #e8404e;
}
.places--messages-container.alert a {
  color: #e8404e;
}
.places--messages-container.news {
  color: #354bcf;
  border-left: 0.8rem solid #354bcf;
}
.places--messages-container.news a {
  color: #354bcf;
}
.places--messages-container a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
@media (max-width: 799px) {
  .places--messages.places--messages--mobile {
    display: block;
    margin: auto 2rem;
    max-width: 80rem;
  }
  .places--messages.places--messages--desktop {
    display: none;
  }
}
@media (min-width: 800px) {
  .places--messages.places--messages--mobile {
    display: none;
  }
  .places--messages.places--messages--desktop {
    display: block;
  }
}

.open-closed {
  font-weight: 600;
  margin-top: 1em;
}
.open-closed.is-green {
  color: #0d7d00;
}
.open-closed.is-orange {
  color: #bf5000;
}
.open-closed.is-red {
  color: #d71d31;
}
@media (max-width: 499px) {
  .open-closed {
    font-size: 1.4rem;
  }
}
@media (min-width: 500px) {
  .open-closed {
    font-size: 1.8rem;
  }
}

.bathing {
  max-width: 35rem;
  display: inline-block;
  margin: 0 auto;
  padding: 1rem 2rem;
  border-radius: 0.8rem;
  background-color: #eff2f6;
  font-family: "Montserrat", sans-serif;
  text-align: left;
  color: #071f32;
  margin-top: 2rem;
}
.bathing.is-open {
  background-color: #f2f8f1;
  color: #395835;
}
.bathing.is-open .flag svg {
  fill: #128703;
  stroke: #128703;
}
.bathing.is-open .bathing-status-title {
  color: #395835;
}
.bathing.is-open .bathing-status-description {
  color: #0f320b;
}
.bathing.is-closed {
  background-color: #fff2f2;
  color: #86131e;
}
.bathing.is-closed .flag svg {
  fill: #d71d31;
  stroke: #d71d31;
}
.bathing.is-not-specified {
  background-color: #eff2f6;
  color: #6e6e6e;
}
.bathing.is-not-specified .flag svg {
  fill: #6e6e6e;
  stroke: #6e6e6e;
}
.bathing-status {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.bathing-status .flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
}
.bathing-status-title {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
}
.bathing-status-description {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.25;
}
.bathing-status-description p {
  margin: 0;
  padding: 0;
}
.bathing-temperature {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid #979797;
}
.bathing .flag svg {
  fill: #071f32;
  stroke: #071f32;
}

.places--panels-mobile {
  display: none;
}
.places--panels-desktop {
  display: block;
}
.places--panels [role=tabpanel][aria-hidden=true] {
  display: none;
}
.places--panels [role=tablist] {
  list-style-type: none;
  padding: 0 2rem;
  height: 6.7rem;
  background-color: #f4f3f3;
  display: flex;
  align-items: flex-end;
}
.places--panels [role=tab] {
  border-bottom: 0.3rem solid #f4f3f3;
  list-style-type: none;
  display: inline-block;
  margin-right: 8rem;
}
.places--panels [role=tab][aria-selected=true] {
  border-bottom: 0.3rem solid #354bcf;
}
.places--panels-item-header-button:focus-visible, .places--panels-item-content:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--panels-item-header-button {
  border: none;
  background-color: #f4f3f3;
  color: #071f32;
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  height: 5rem;
  margin: auto;
  padding: 0;
}
.places--panels-item-header-button:hover {
  cursor: pointer;
}
.places--panels-item {
  width: 100%;
}
.places--panels-item-content {
  position: relative;
  padding-left: 2rem;
}
.places--panels-item-content[aria-hidden=true] {
  display: none;
}
@media (max-width: 499px) {
  .places--panels-mobile {
    display: block;
    padding: 0;
    background: none;
    display: block;
    height: unset;
  }
  .places--panels-desktop {
    display: none;
  }
  .places--panels-item {
    margin-bottom: 2rem;
    background-color: #f4f3f3;
    font-weight: 600;
    font-size: 1.6rem;
    padding: 1.7rem;
  }
  .places--panels-item-content {
    position: relative;
    padding: 0;
    margin-bottom: 2rem;
  }
}

.places--pool-affluences-container .places--expandable .places--pool-affluences-item {
  width: 80%;
  position: relative;
}
.places--pool-affluences-container .places--expandable-link {
  position: absolute;
  right: 0;
  top: -1.4rem;
}
.places--pool-affluences-container .places--expandable-link[aria-expanded=true] {
  top: inherit;
  bottom: -4rem !important;
}
.places--pool-affluences-item {
  display: flex;
  justify-content: space-around;
  height: 6rem;
  padding-top: 1.5rem;
}
.places--pool-affluences-title {
  color: #071f32;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  transition: color 0.3s ease;
  width: 13%;
}
.places--pool-affluences-title span {
  color: #354bcf;
  font-size: 0.9rem;
  display: block;
  margin-top: 0.5rem;
}
.places--pool-affluences-error-message {
  display: none;
}
.places--pool-affluences-text {
  color: #354bcf;
  font-size: 1.2rem;
  font-weight: 500;
}
.places--pool-affluences-text.global-text {
  margin-top: 2rem;
}
.places--pool-affluences-text.global-text.reserved {
  margin-top: 0;
}
.places--pool-affluences .has-errors .places--pool-affluences-error-message {
  display: inline-block;
  color: #979797;
  font-size: 1.1rem;
}
@media (max-width: 499px) {
  .places--pool-affluences-title {
    width: 25%;
  }
  .places--pool-affluences-text {
    max-width: 40%;
  }
  .places--pool-affluences-item {
    justify-content: space-between;
    width: 100% !important;
  }
}

.places--pool-characteristics-description {
  margin-bottom: 1rem;
}

.places--practical-informations-title {
  color: #d22638;
  font-weight: 800;
  font-size: 2.2rem;
  text-align: left;
  letter-spacing: -0.2px;
  font-family: "Montserrat", sans-serif;
  padding: 1.3rem 0;
}
.places--practical-informations-icon {
  max-width: 4.5rem;
  display: inline-block;
  margin-right: 3rem;
}
.places--practical-informations-icon svg {
  height: 3rem;
}
.places--practical-informations-info {
  font-size: 1.5rem;
  display: block;
  margin-top: 0.4rem;
  color: #071f32;
}
.places--practical-informations-li {
  padding-bottom: 0.8rem;
}
.places--practical-informations-li.with_icon {
  display: flex;
  align-items: flex-start;
}
.places--practical-informations-li-text {
  font-size: 1.5rem;
  text-align: left;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  color: #071f32;
  font-weight: 500;
  height: 3rem;
}
.places--practical-informations-li strong {
  font-weight: 700;
}
.places--practical-informations ul {
  padding-left: 1.5rem;
}
.places--practical-informations ul.with-icon {
  list-style: none;
}
.places--practical-informations ul.two-col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3rem;
}
.places--practical-informations-labels ul {
  padding-left: 0;
}
.places--practical-informations-labels-title {
  border-top: 0.2rem solid #f4f3f3;
  padding-top: 2rem;
}
.places--practical-informations-labels-content {
  display: flex;
  flex-wrap: wrap;
  gap: 3.4rem;
  grid-template-columns: 1fr 50px 1fr;
}
.places--practical-informations-labels li {
  list-style-type: none;
}
.places--practical-informations-labels li .paris-icon {
  width: 0.4rem;
}
.places--practical-informations-labels-item {
  color: #071f32;
  font-size: 1.5rem;
  text-align: left;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  color: #071f32;
  font-weight: 500;
  width: 30rem;
}
.places--practical-informations-labels-item, .places--practical-informations-labels-circle {
  height: 8rem;
  display: flex;
  align-items: center;
}
.places--practical-informations-labels-circle {
  justify-content: center;
  padding: 0 5rem;
}
.places--practical-informations-labels-link {
  color: #071f32;
  display: flex;
  align-items: center;
}
.places--practical-informations-labels-link:hover {
  text-decoration: none;
}
.places--practical-informations-labels-image-container {
  width: 15rem;
  padding-right: 15rem;
  display: flex;
  align-items: center;
}
@media (max-width: 1139px) {
  .places--practical-informations .places--practical-informations-labels-circle {
    padding: 0;
  }
}
@media (max-width: 1045px) {
  .places--practical-informations .places--practical-informations-labels li .paris-icon {
    display: none;
  }
  .places--practical-informations .places--practical-informations-labels-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .places--practical-informations .places--practical-informations-labels-circle {
    display: none;
  }
  .places--practical-informations .places--practical-informations-labels-item {
    margin-bottom: 2rem;
  }
  .places--practical-informations .places--practical-informations-labels-image-container {
    justify-content: center;
    margin-right: 2rem;
  }
}
@media (max-width: 499px) {
  .places--practical-informations .places--practical-informations-labels-item {
    width: 100%;
  }
  .places--practical-informations .places--practical-informations-labels-image-container {
    justify-content: flex-start;
    width: 13rem;
    padding-right: 13rem;
  }
}

.places--schedules-exceptional {
  background-color: #f4f3f3;
  padding: 1.5rem;
  margin: 0.8rem auto 2rem;
  font-size: 1.5rem;
  color: #071f32;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.places--schedules-exceptional ul {
  margin: 2rem auto;
}
.places--schedules-exceptional li {
  margin-bottom: 1rem;
}
.places--schedules-exceptional-main-title {
  color: #d22638;
  font-weight: 700;
}
.places--schedules-exceptional-main-title span {
  margin-left: 1.2rem;
}
.places--schedules-exceptional-title {
  display: inline-block;
}
.places--schedules-exceptional-content {
  overflow: hidden;
  font-size: 1.3rem;
  font-weight: 600;
}
.places--schedules-exceptional-content[aria-expanded=false] {
  max-height: 0;
  padding: 0 1em;
  overflow: hidden;
}
.places--schedules-exceptional-content[aria-expanded=true] {
  padding: 1em;
  max-height: 100vh;
}
.places--schedules-exceptional-content-row {
  display: grid;
  grid-template-columns: 20% 1fr;
  margin: 2rem auto;
  border-bottom: 0.1rem solid rgba(7, 31, 50, 0.15);
  padding-bottom: 1rem;
}
.places--schedules-exceptional-content-row:last-child {
  border-bottom: 0;
  margin-bottom: 3.5rem;
}
.places--schedules-exceptional-content-timerange {
  font-weight: 500;
  width: fit-content;
}
.places--schedules-exceptional-content-timerange ul {
  list-style: none;
  display: inline-block;
  margin: 0 auto;
}
.places--schedules-exceptional-content-weekday {
  font-weight: 600;
  width: fit-content;
}
.places--schedules-exceptional-detail {
  font-size: 1.1rem;
  text-decoration: underline;
  cursor: pointer;
  color: #071f32;
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
}
.places--schedules-exceptional-detail:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--schedules-exceptional-detail::after {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: 900;
  margin-left: 1rem;
}
.places--schedules-exceptional-detail[aria-expanded=true]::after {
  content: "\f077";
}
.places--schedules-exceptional-detail[aria-expanded=false]::after {
  content: "\f078";
}

.places--schedules-regular {
  padding: 1.5rem 0;
  margin: 0.8rem auto;
  font-size: 1.5rem;
  color: #071f32;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.places--schedules-regular-header {
  position: relative;
  z-index: 1;
}
.places--schedules-regular-main-title {
  font-weight: 600;
  display: flex;
  gap: 2rem;
  align-items: baseline;
  height: 3rem;
  border-bottom: 0.1rem solid black;
  justify-content: space-between;
}
.places--schedules-regular-main-title span {
  margin-left: 0.8rem;
}
.places--schedules-regular-main-title.with-border-bottom {
  border-bottom: 0.1rem solid rgba(7, 31, 50, 0.15);
  padding-bottom: 1.2rem;
}
.places--schedules-regular-selector {
  background: none;
  border: none;
  font-size: 1.1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.places--schedules-regular-selector .up {
  transform: rotate(180deg);
}
.places--schedules-regular-selector .paris-icon {
  margin-left: 0.8rem;
  max-width: 0.8rem;
  max-height: 0.8rem;
}
.places--schedules-regular-selector-prompt {
  cursor: pointer;
  padding-bottom: 0.45rem;
}
.places--schedules-regular-selector-content {
  cursor: default;
  background: white;
  border: 0.1rem solid #dadde0;
  opacity: 1;
}
.places--schedules-regular-selector-content ul {
  margin: 2rem auto;
  list-style: none;
  padding: 0 1.2rem;
}
.places--schedules-regular-selector-content li {
  text-align: left;
  letter-spacing: -0.12px;
  color: #071f32;
  padding: 0.8rem;
  border-bottom: 0.1rem solid rgba(7, 31, 50, 0.15);
  font-size: 1.3rem;
  font-weight: 500;
}
.places--schedules-regular-selector-content li.disabled {
  color: #dadde0;
}
.places--schedules-regular-selector-content li:not(.disabled) {
  cursor: pointer;
}
.places--schedules-regular-selector-content li:last-child {
  border-bottom: 0;
  padding-bottom: 0rem;
}
.places--schedules-regular-selector-content li:first-child {
  padding-top: 0rem;
}
.places--schedules-regular-content {
  margin-top: 1.5rem;
  position: relative;
  z-index: 0;
}
.places--schedules-regular-content-title {
  font-weight: 700;
  color: #071f32;
}
.places--schedules-regular-content-title-text {
  margin-bottom: 1.5rem;
  display: inline-block;
}
.places--schedules-regular .hidden {
  visibility: hidden;
  height: 0;
}
.places--schedules-regular-content {
  overflow: hidden;
  font-size: 1.3rem;
  font-weight: 600;
  width: fit-content;
}
.places--schedules-regular-content-row {
  display: grid;
  grid-template-columns: 16rem 1fr;
  grid-auto-columns: max-content;
  border-bottom: 0.1rem solid rgba(7, 31, 50, 0.15);
  padding: 2rem 2rem 1rem;
  font-size: 1.5rem;
}
.places--schedules-regular-content-row:last-child {
  border-bottom: 0;
}
.places--schedules-regular-content-row.highlight {
  background: #f1f7fd;
  color: #354bcf;
}
.places--schedules-regular-content-row.highlight .places--schedules-regular-content-timerange,
.places--schedules-regular-content-row.highlight .places--schedules-regular-content-weekday {
  font-weight: 700;
}
.places--schedules-regular-content-row.highlight, .places--schedules-regular-content-row.previous {
  border-bottom: none;
}
.places--schedules-regular-content-timerange {
  font-weight: 500;
  width: fit-content;
}
.places--schedules-regular-content-timerange ul {
  list-style: none;
  display: inline-block;
  margin: 0 auto;
}
.places--schedules-regular-content-timerange ul li {
  margin-bottom: 1rem;
}
.places--schedules-regular-content-timerange .highlight {
  color: #354bcf;
  font-weight: 700;
}
.places--schedules-regular-content-weekday {
  font-weight: 600;
  width: fit-content;
}
.places--schedules-regular-content-exceptional {
  color: #e8404e;
  margin-bottom: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
}
.places--schedules-regular-content-exceptional br:first-child {
  margin-bottom: 0.5rem;
}
.places--schedules-regular-content-exceptional-sub {
  font-weight: normal;
  color: #071f32;
  margin-bottom: 0.5rem;
  font-weight: 500;
}
.places--schedules-regular-content-exceptional-sub.smaller {
  font-size: 1.3rem;
}
@media (max-width: 499px) {
  .places--schedules-regular {
    margin-bottom: 0;
  }
  .places--schedules-regular-main-title {
    display: block;
  }
  .places--schedules-regular-main-title.multiple {
    height: 6.7rem;
  }
  .places--schedules-regular-main-title-text {
    margin-bottom: 1.1rem;
  }
  .places--schedules-regular-content {
    width: 100%;
  }
  .places--schedules-regular-content-row {
    width: 100%;
    grid-template-columns: 8rem 1fr;
  }
  .places--schedules-regular-content-row:last-child {
    margin-bottom: 0;
  }
}

.places--schedules-services {
  background-color: #f4f3f3;
  padding: 1.5rem;
  margin: 3rem auto;
  font-size: 1.5rem;
  color: #071f32;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.places--schedules-services ul {
  margin: 2rem auto;
  list-style: none;
}
.places--schedules-services li {
  margin-bottom: 1rem;
}
.places--schedules-services-main-title {
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  font-weight: 700;
  justify-content: space-between;
  padding: 0;
  width: 100%;
}
.places--schedules-services-main-title:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--schedules-services-main-title span {
  margin-left: 0.8rem;
}
.places--schedules-services-main-title.with-border-bottom + .places--schedules-services-content {
  border-top: 0.1rem solid rgba(7, 31, 50, 0.15);
  margin-top: 1.2rem;
}
.places--schedules-services-content {
  overflow: hidden;
  font-size: 1.3rem;
  font-weight: 600;
}
.places--schedules-services-content[aria-expanded=false] {
  max-height: 0;
  padding: 0 1em;
  overflow: hidden;
}
.places--schedules-services-content[aria-expanded=true] {
  padding: 1em;
  max-height: 100vh;
}
.places--schedules-services-content-row {
  display: grid;
  grid-template-columns: 20% 1fr;
  margin: 2rem auto;
  border-bottom: 0.1rem solid rgba(7, 31, 50, 0.15);
  padding-bottom: 1rem;
}
.places--schedules-services-content-row:last-child {
  border-bottom: 0;
  margin-bottom: 3.5rem;
}
.places--schedules-services-content-timerange {
  font-weight: 500;
  width: fit-content;
}
.places--schedules-services-content-timerange ul {
  list-style: none;
  display: inline-block;
  margin: 0 auto;
}
.places--schedules-services-content-weekday {
  font-weight: 600;
  width: fit-content;
}

.places--section-header {
  display: flex;
  border-bottom: 0.6rem solid #f4f3f3;
  padding-bottom: 1.3rem;
  margin-bottom: 2.4rem;
  margin-top: 3rem;
  align-items: center;
  justify-content: unset;
}
.places--section-header-icon {
  max-width: 4.5rem;
  max-height: 4.5rem;
  display: inline-block;
  color: #071f32;
  flex-shrink: 0;
  height: 3.5rem !important;
  width: 4rem !important;
}
.places--section-header-title {
  display: inline-block;
  color: #071f32;
  font-size: 3.1rem;
  font-weight: 900;
  margin-left: 1rem;
}
.places--section-header-title-container {
  display: flex;
  align-items: center;
}
.places--section-header-link {
  color: #071f32;
  font-size: 1.3rem;
  margin-left: 2.3rem;
  transform: translateY(0.3rem);
}
.places--section-header-chevron {
  display: none;
  cursor: pointer;
  transform: rotate(180deg);
}
.places--section-header-chevron.closed {
  transform: rotate(0deg);
}
.places--section-header-chevron .paris-icon {
  width: 2rem;
}
.is-picture .places--section-header-chevron {
  display: none;
}
.places--section-header-nested {
  border-bottom: none;
  background-color: #f4f3f3;
  padding: 1.3rem 2rem;
  justify-content: space-between;
  cursor: pointer;
}
.places--section-header-nested .places--section-header-chevron {
  display: inline-block;
}
.places--section-header-nested .places--section-header-title {
  font-size: 1.3rem;
  font-weight: 600;
}
@media (max-width: 499px) {
  .places--section-header {
    justify-content: space-between;
    margin-top: auto;
  }
  .places--section-header-link {
    display: none;
  }
  .places--section-header-chevron {
    display: inline-block;
  }
  .places--section-header-title {
    font-size: 2.2rem;
  }
}

.places--timetables .next-week,
.places--timetables .parts {
  display: none;
}
.places--timetables .part-0 {
  display: table-cell;
}
.places--timetables-content-wrapper {
  position: relative;
}
.places--timetables-content-wrapper table {
  margin-bottom: 10rem;
  width: 100%;
}
.places--timetables-content-wrapper thead tr {
  height: 6rem;
}
.places--timetables-content-wrapper thead tr th {
  position: relative;
}
.places--timetables-content-wrapper thead tr th::after {
  background-color: #071f32;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0.6rem;
  bottom: 0;
  box-shadow: 0 0.6rem 0.5rem 0 rgba(0, 0, 0, 0.1);
}
.places--timetables-content-wrapper thead tr th:last-child::before {
  right: 0;
}
.places--timetables-content-wrapper thead tr th:nth-child(odd)::after {
  background-color: #354bcf;
}
.places--timetables-content-wrapper thead tr .paris-table-th {
  line-height: 5;
  width: unset;
  vertical-align: inherit;
}
.places--timetables-content-wrapper .fixed-header {
  position: fixed;
  z-index: 998;
  background: white;
}
.places--timetables-content-wrapper .fixed-header .paris-table-th::after {
  height: 0.6rem;
}
.places--timetables-content-wrapper tbody .paris-table-tr:first-child .paris-table-td::before {
  display: none;
}
.places--timetables-content-wrapper tbody tr td .td-double {
  display: grid;
  grid-template-columns: fit-content(1rem) 1fr;
  grid-gap: 1rem;
}
.places--timetables-content-wrapper .places--timetables-buttons-container {
  position: absolute;
  z-index: 1000;
  height: 6rem;
  left: 5rem;
}
.places--timetables-content-wrapper .places--timetables-buttons-container .places--timetables-ctrl-buttons {
  position: absolute;
  top: 3rem;
  transform: scale(0.75);
}
.places--timetables-content-wrapper .places--timetables-buttons-container .places--timetables-ctrl-buttons > * {
  pointer-events: none;
}
.places--timetables-content-wrapper .places--timetables-buttons-container .places--timetables-ctrl-buttons.hidden {
  display: none;
}
.places--timetables-content-wrapper .places--timetables-buttons-container .places--timetables-ctrl-buttons.places--timetables-prev-week {
  left: 0;
}
.places--timetables-content-wrapper .places--timetables-buttons-container .places--timetables-ctrl-buttons.places--timetables-next-week {
  right: 1.2rem;
}
.places--timetables-content-wrapper .places--timetables-buttons-container .places--timetables-ctrl-buttons.prev {
  left: -4rem;
}
.places--timetables-content-wrapper .places--timetables-buttons-container .places--timetables-ctrl-buttons.next {
  right: -4rem;
}
.places--timetables .paris-table tbody .paris-table-td {
  height: 8rem;
}
.places--timetables .paris-table tbody .paris-table-td div {
  padding: 1rem 1rem 1.7rem !important;
}
.places--timetables-filter-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.places--timetables-filter-wrapper.paris-container.has-limited-width {
  margin: 2rem auto;
}
.places--timetables-searchBox {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
}
.places--timetables-searchBox-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.places--timetables-searchBox-icon:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--timetables-searchBox.is-small {
  width: 60rem;
}
.places--timetables-searchBox.is-small .places--timetables-searchBox-input {
  background: #f2f2f2;
  border: none;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.54;
  height: 4.8rem;
  padding: 1.2rem 2rem 1.6rem;
  width: 100%;
}
.places--timetables-searchBox.is-small .places--timetables-searchBox-input:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--timetables-searchBox.is-small .paris-icon,
.places--timetables-searchBox.is-small .places--timetables-searchBox-icon {
  height: 3rem;
  width: 3rem;
}
.places--timetables-searchBox.is-small .places--timetables-searchBox-icon {
  right: 1rem;
}
.places--timetables-district-selector .title.is-level-5 {
  color: #071f32;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
.places--timetables-select {
  align-items: center;
  background: #f2f2f2;
  display: flex;
  margin-right: 6rem;
  max-width: 43.5rem;
  position: relative;
}
.places--timetables-select select {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.54;
  outline: none;
  padding: 1.4rem 4rem 1.4rem 2rem;
  position: relative;
  width: 100%;
  z-index: 1;
  color: #071f32 !important;
}
.places--timetables-select select:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--timetables-select .paris-icon {
  fill: #d22638;
  height: 3.2rem;
  position: absolute;
  right: 1rem;
  width: 3.2rem;
}
@media (max-width: 799px) {
  .places--timetables-desktop {
    display: none;
  }
  .places--timetables-mobile {
    display: block;
  }
  .places--timetables-filter-wrapper {
    display: block;
  }
  .places--timetables-select {
    width: 100%;
  }
  .places--timetables-searchBox.is-small {
    width: 100%;
  }
  .places--timetables table.paris-table {
    display: table;
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons {
    transform: translateY(-50%) scale(0.75);
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons.prev {
    left: -0.5rem;
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons.next {
    right: -0.5rem;
  }
  .places--timetables-district-selector {
    margin-bottom: 1rem;
  }
}
@media (max-width: 499px) {
  .places--timetables-desktop {
    display: none;
  }
  .places--timetables-mobile {
    display: block;
  }
  .places--timetables-filter-wrapper {
    display: block;
  }
  .places--timetables-select {
    width: 100%;
  }
  .places--timetables-searchBox.is-small {
    width: 100%;
  }
  .places--timetables table.paris-table {
    display: table;
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons {
    transform: translateY(-50%) scale(0.75);
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons.prev {
    left: -0.5rem;
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons.next {
    right: -0.5rem;
  }
  .places--timetables-district-selector {
    margin-bottom: 1rem;
  }
}
@media (max-width: 329px) {
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons {
    transform: translateY(-50%) scale(0.75);
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons.prev {
    left: -1.5rem;
  }
  .places--timetables .places--timetables-buttons-container .places--timetables-ctrl-buttons.next {
    right: -1.5rem;
  }
}
@media (min-width: 800px) {
  .places--timetables-desktop {
    display: block;
  }
  .places--timetables-mobile {
    display: none;
  }
}

.equipment-closed {
  color: #6d6d6d;
}

.places--toc {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 6rem auto;
}
.places--toc-item {
  color: #071f32;
  font-size: 1.6rem;
  font-weight: 500;
  margin-right: 1.6rem;
  padding-right: 1.6rem;
  border-right: 0.1rem solid rgba(7, 31, 50, 0.15);
  cursor: pointer;
}
.places--toc-item:last-child {
  border-right: none;
}
.places--toc-item a {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.places--toc-item a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.places--toc-icon {
  max-width: 3rem;
  display: inline-block;
  color: #071f32;
  height: 2.2rem !important;
}
.places--toc-icon svg {
  height: 2.2rem;
}
@media (max-width: 499px) {
  .places--toc {
    display: none;
  }
}

/**
 * Tom Select bootstrap 4
 */
/**
 * tom-select.css (v//@@version)
 * Copyright (c) contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 */
:root {
  --ts-pr-clear-button:	0;
  --ts-pr-caret:	0;
  --ts-pr-min:	.75rem;
}

.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input {
  cursor: pointer;
}

.ts-control {
  padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}

.ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder {
  visibility: visible !important;
  background: #f2f2f2 !important;
  background: rgba(0, 0, 0, 0.06) !important;
  border: 0 none !important;
  box-shadow: inset 0 0 12px 4px #fff;
}
.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after {
  content: "!";
  visibility: hidden;
}
.ts-wrapper.plugin-drag_drop .ui-sortable-helper {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.plugin-checkbox_options .option input {
  margin-right: 0.5rem;
}

.plugin-clear_button {
  --ts-pr-clear-button: 1em;
}
.plugin-clear_button .clear-button {
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(1.2rem - 5px);
  margin-right: 0 !important;
  background: transparent !important;
  transition: opacity 0.5s;
  cursor: pointer;
}
.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button {
  right: max( var(--ts-pr-caret), 1.2rem);
}
.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button {
  opacity: 1;
}

.ts-wrapper .dropdown-header {
  position: relative;
  padding: 6px 1.2rem;
  border-bottom: 1px solid #d0d0d0;
  background: #f8f8f8;
  border-radius: 0.25rem 0.25rem 0 0;
}
.ts-wrapper .dropdown-header-close {
  position: absolute;
  right: 1.2rem;
  top: 50%;
  color: #343a40;
  opacity: 0.4;
  margin-top: -12px;
  line-height: 20px;
  font-size: 20px !important;
}
.ts-wrapper .dropdown-header-close:hover {
  color: black;
}

.plugin-dropdown_input.focus.dropdown-active .ts-control {
  box-shadow: none;
  border: 1px solid #b4cbe8;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.plugin-dropdown_input .dropdown-input {
  border: 1px solid #d0d0d0;
  border-width: 0 0 1px 0;
  display: block;
  padding: 0.6rem 1.2rem;
  box-shadow: none;
  width: 100%;
  background: transparent;
}
.plugin-dropdown_input.focus .ts-dropdown .dropdown-input {
  border-color: #b4cbe8;
  outline: 0;
  box-shadow: 0 0 0.1rem 0.1rem rgba(7, 31, 50, 0.25);
}
.plugin-dropdown_input .items-placeholder {
  border: 0 none !important;
  box-shadow: none !important;
  width: 100%;
}
.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder {
  display: none !important;
}

.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
  min-width: 0;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
  flex: none;
  min-width: 4px;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
  color: transparent;
}

.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
  display: flex;
}
.ts-dropdown.plugin-optgroup_columns .optgroup {
  border-right: 1px solid #f2f2f2;
  border-top: 0 none;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
  border-right: 0 none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup:before {
  display: none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
  border-top: 0 none;
}

.ts-wrapper.plugin-remove_button .item {
  display: inline-flex;
  align-items: center;
  padding-right: 0 !important;
}
.ts-wrapper.plugin-remove_button .item .remove {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  padding: 0 5px;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
}
.ts-wrapper.plugin-remove_button .item .remove:hover {
  background: rgba(0, 0, 0, 0.05);
}
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
  background: none;
}
.ts-wrapper.plugin-remove_button .remove-single {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 23px;
}

.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {
  border-left: 1px solid #dce7f2;
  margin-left: 5px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove {
  border-left-color: rgba(0, 0, 0, 0);
}
.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove {
  border-left-color: white;
}

.ts-wrapper.plugin-remove_button.rtl .item .remove {
  border-right: 1px solid #dce7f2;
  margin-right: 5px;
}
.ts-wrapper.plugin-remove_button.rtl .item.active .remove {
  border-right-color: rgba(0, 0, 0, 0);
}
.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove {
  border-right-color: white;
}

.ts-wrapper {
  position: relative;
}

.ts-dropdown,
.ts-control,
.ts-control input {
  color: #343a40;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.5;
  font-smoothing: inherit;
}

.ts-control,
.ts-wrapper.single.input-active .ts-control {
  background: #fff;
  cursor: text;
}

.ts-control {
  border: 1px solid #b4cbe8;
  padding: 0.6rem 1.2rem;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: none;
  border-radius: 0.25rem;
  display: flex;
  flex-wrap: wrap;
}
.ts-wrapper.multi.has-items .ts-control {
  padding: calc( 0.6rem - 1px - 0px) 1.2rem calc( 0.6rem - 1px - 3px - 0px);
}
.full .ts-control {
  background-color: #fff;
}
.disabled .ts-control, .disabled .ts-control * {
  cursor: default !important;
}
.focus .ts-control {
  box-shadow: none;
}
.ts-control > * {
  vertical-align: baseline;
  display: inline-block;
}
.ts-wrapper.multi .ts-control > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 1px 5px;
  background: #dee6f2;
  color: #343a40;
  border: 0px solid #dce7f2;
}
.ts-wrapper.multi .ts-control > div.active {
  background: #354bcf;
  color: #fff;
  border: 0px solid rgba(0, 0, 0, 0);
}
.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active {
  color: #878787;
  background: white;
  border: 0px solid white;
}
.ts-control > input {
  flex: 1 1 auto;
  min-width: 7rem;
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  user-select: auto !important;
  box-shadow: none !important;
}
.ts-control > input::-ms-clear {
  display: none;
}
.ts-control > input:focus {
  outline: none !important;
}
.has-items .ts-control > input {
  margin: 0px 4px !important;
}
.ts-control.rtl {
  text-align: right;
}
.ts-control.rtl.single .ts-control:after {
  left: calc(1.2rem + 5px);
  right: auto;
}
.ts-control.rtl .ts-control > input {
  margin: 0px 4px 0px -2px !important;
}
.disabled .ts-control {
  opacity: 0.5;
  background-color: #e9ecef;
}
.input-hidden .ts-control > input {
  opacity: 0;
  position: absolute;
  left: -10000px;
}

.ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: #fff;
  margin: 0.25rem 0 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 0.25rem 0.25rem;
}
.ts-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}
.ts-dropdown [data-selectable] .highlight {
  background: rgba(255, 237, 40, 0.4);
  border-radius: 1px;
}
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
  padding: 3px 1.2rem;
}
.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}
.ts-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}
.ts-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}
.ts-dropdown .optgroup-header {
  color: #6c757d;
  background: #fff;
  cursor: default;
}
.ts-dropdown .active {
  background-color: #e9ecef;
  color: #16181b;
}
.ts-dropdown .active.create {
  color: #16181b;
}
.ts-dropdown .create {
  color: rgba(52, 58, 64, 0.5);
}
.ts-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 3px 1.2rem;
}
.ts-dropdown .spinner:after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.ts-dropdown-content {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 200px;
  overflow-scrolling: touch;
  scroll-behavior: smooth;
}

.ts-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.ts-wrapper.single .ts-control {
  --ts-pr-caret: 2rem;
}
.ts-wrapper.single .ts-control:after {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  right: calc(1.2rem + 5px);
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: #343a40 transparent transparent transparent;
}
.ts-wrapper.single.dropdown-active .ts-control::after {
  margin-top: -4px;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #343a40 transparent;
}
.ts-wrapper.single.input-active .ts-control, .ts-wrapper.single.input-active .ts-control input {
  cursor: text;
}

.ts-wrapper.form-control,
.ts-wrapper.form-select {
  padding: 0 !important;
}

.ts-dropdown,
.ts-dropdown.form-control {
  height: auto;
  padding: 0;
  z-index: 1000;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.4rem;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.ts-dropdown .optgroup-header {
  font-size: 0.875rem;
  line-height: 1.15;
}
.ts-dropdown .optgroup:first-child:before {
  display: none;
}
.ts-dropdown .optgroup:before {
  content: " ";
  display: block;
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
  margin-left: -1.2rem;
  margin-right: -1.2rem;
}
.ts-dropdown .create {
  padding-left: 1.2rem;
}

.ts-dropdown-content {
  padding: 5px 0;
}

.ts-control {
  min-height: calc(1.5em + 0.75rem + 2px);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  display: flex;
  align-items: center;
}
@media (prefers-reduced-motion: reduce) {
  .ts-control {
    transition: none;
  }
}
.focus .ts-control {
  border-color: #b4cbe8;
  outline: 0;
  box-shadow: 0 0 0.1rem 0.1rem rgba(7, 31, 50, 0.25);
}

.is-invalid .ts-control,
.was-validated .invalid .ts-control {
  border-color: #df3f4c;
}
.focus .is-invalid .ts-control,
.focus .was-validated .invalid .ts-control {
  border-color: #c9222f;
  box-shadow: 0 0 0 0.1rem rgba(223, 63, 76, 0.25);
}

.is-valid .ts-control {
  border-color: #28a745;
}
.focus .is-valid .ts-control {
  border-color: #28a745;
  box-shadow: 0 0 0 0.1rem rgba(40, 167, 69, 0.25);
}

.input-group-sm > .ts-wrapper .ts-control, .ts-wrapper.form-control-sm .ts-control {
  min-height: calc(1.5em + 0.5rem + 2px);
  padding: 0 0.75rem;
  border-radius: 0.2rem;
  font-size: 0.875rem;
}
.input-group-sm > .ts-wrapper.has-items .ts-control, .ts-wrapper.form-control-sm.has-items .ts-control {
  min-height: calc(1.5em + 0.5rem + 2px) !important;
  font-size: 0.875rem;
  padding-bottom: 0;
}
.input-group-sm > .ts-wrapper.multi.has-items .ts-control, .ts-wrapper.form-control-sm.multi.has-items .ts-control {
  padding-top: calc((calc(1.5em + 0.5rem + 2px) - (1.5 * 0.875rem) - 4px) / 2) !important;
}
.ts-wrapper.multi.has-items .ts-control {
  padding-left: calc(1.2rem - 5px);
  --ts-pr-min: calc(1.2rem - 5px);
}
.ts-wrapper.multi .ts-control > div {
  border-radius: calc(0.25rem - 1px);
}
.input-group-lg > .ts-wrapper > .ts-control, .ts-wrapper.form-control-lg .ts-control {
  min-height: calc(1.5em + 1rem + 2px);
  border-radius: 0.3rem;
  font-size: 1.25rem;
}

.form-control.ts-wrapper {
  padding: 0;
  height: auto;
  border: none;
  background: none;
  border-radius: 0;
}

.input-group > .ts-wrapper {
  flex-grow: 1;
}
.input-group > .ts-wrapper:not(:nth-child(2)) > .ts-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .ts-wrapper:not(:last-child) > .ts-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.accessibility-dropdown {
  margin: 1rem 0;
  position: relative;
}
.accessibility-dropdown-icon.paris-icon {
  align-items: center;
  flex-shrink: 0;
  height: 2.4rem;
  width: 2.4rem;
}
.accessibility-dropdown-button {
  appearance: none;
  background: #fff;
  border: 1px solid #d1d1d1;
  cursor: pointer;
  display: flex;
  padding: 0.4rem 1rem;
}
.accessibility-dropdown-button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.accessibility-dropdown-button .paris-icon-arrow-bottom {
  transition: transform 0.2s ease;
}
.accessibility-dropdown-button .accessibility-dropdown-icon + .accessibility-dropdown-icon {
  margin-left: 1rem;
}
.accessibility-dropdown-menu {
  background: #fff;
  border: 1px solid #d1d1d1;
  display: none;
  font-size: 1.5rem;
  line-height: 1.3;
  padding: 1rem 4rem 1rem 1rem;
  position: absolute;
  transform: translateY(-1px);
  width: 100%;
  z-index: 1;
}
.accessibility-dropdown-menu-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.accessibility-dropdown-menu-item {
  align-items: flex-start;
  display: flex;
}
.accessibility-dropdown-menu-item + .accessibility-dropdown-menu-item {
  margin-top: 0.8rem;
}
.accessibility-dropdown-menu-item .accessibility-dropdown-icon {
  margin-right: 1rem;
  transform: translateY(-0.2rem);
}
.accessibility-dropdown-menu-item.is-available, .accessibility-dropdown-icon.is-available {
  fill: #354bcf;
}
.accessibility-dropdown-menu-item.is-available strong, .accessibility-dropdown-icon.is-available strong {
  color: #354bcf;
}
.accessibility-dropdown-menu-item.is-unavailable, .accessibility-dropdown-icon.is-unavailable {
  fill: #e22c3f;
}
.accessibility-dropdown-menu-item.is-unavailable strong, .accessibility-dropdown-icon.is-unavailable strong {
  color: #e22c3f;
}
.accessibility-dropdown-menu-item.is-unknown, .accessibility-dropdown-icon.is-unknown {
  fill: #979797;
}
.accessibility-dropdown-close {
  background: none;
  border: none;
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 1rem;
}
.accessibility-dropdown-close:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.accessibility-dropdown.is-open .accessibility-dropdown-menu {
  display: block;
}
.accessibility-dropdown.is-open .accessibility-dropdown-icon.paris-icon-arrow-bottom {
  transform: rotate(180deg);
}
.accessibility-dropdown.is-right-aligned {
  display: flex;
  justify-content: right;
}
.accessibility-dropdown.is-right-aligned .accessibility-dropdown-menu {
  right: 0;
  top: 100%;
}
@media (max-width: 499px) {
  .accessibility-dropdown-menu {
    width: calc(100vw - 6rem);
  }
}
@media (min-width: 500px) {
  .accessibility-dropdown-menu {
    width: 40rem;
  }
}

.accessibility-settings-title {
  color: #071f32;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.6rem;
}
.accessibility-settings-buttons {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin: 0 0 4rem 0.7rem;
}
.accessibility-settings-buttons label {
  cursor: pointer;
  font-size: 1.5rem;
  width: max-content;
}
.accessibility-settings-buttons input {
  margin-right: 1rem;
}
.accessibility-settings-buttons input:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.accessibility-settings-buttons input[type=radio] {
  accent-color: #354bcf;
}
.accessibility-settings-button {
  display: flex;
  align-items: center;
}
.accessibility-settings-text-info {
  font-size: 1.5rem;
  font-weight: 400;
  margin-left: 0.7rem;
  margin-bottom: 0;
}
.accessibility-settings-text-info-mobile {
  display: block;
}
.accessibility-settings-text-info-desktop {
  display: none;
}
.accessibility-settings-text-link {
  color: #354bcf;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 400;
}
.accessibility-settings-text-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.accessibility-settings-text-link:hover {
  text-decoration: underline;
}
@media (hover: hover) {
  .accessibility-settings-text-info-mobile {
    display: none;
  }
  .accessibility-settings-text-info-desktop {
    display: block;
  }
}

.accessible-media-skip-link {
  background-color: #354bcf;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  left: -999rem;
  padding: 0.5rem 1rem;
  position: absolute;
  text-decoration: none;
  z-index: 9999;
}
.accessible-media-skip-link:focus {
  left: 0;
}

.alert-bo-danger {
  background-color: #fff5f5;
  border-color: #ff9090;
  color: #c70404;
}
.alert-bo-success {
  background-color: #f5fff7;
  border-color: #67d184;
  color: #116029;
}
.alert-bo-warning {
  background-color: #fffaeb;
  border-color: #ffcb2f;
  color: #071f32;
}
.alert-link {
  font-weight: normal;
  text-decoration: underline;
}
.alert-bo-danger .alert-link {
  color: #c70404;
}
.alert-bo-danger .alert-link:hover {
  color: #ff0000;
}
.alert-bo-danger .alert-link[target=_blank] {
  padding-right: 1.5em;
}
.alert-bo-danger .alert-link[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23c70404' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.alert-bo-danger .alert-link[target=_blank]:hover::after, .alert-bo-danger .alert-link[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23ff0000' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.alert-bo-success .alert-link {
  color: #116029;
}
.alert-bo-success .alert-link:hover {
  color: #029d31;
}
.alert-bo-success .alert-link[target=_blank] {
  padding-right: 1.5em;
}
.alert-bo-success .alert-link[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23116029' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.alert-bo-success .alert-link[target=_blank]:hover::after, .alert-bo-success .alert-link[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23029d31' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}

@keyframes slide-down {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-up {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%);
    opacity: 0;
  }
}
.alert-banner {
  padding: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  animation: slide-down 0.5s ease-out;
}
.alert-banner.urgency-high {
  background-color: #e02e15;
  color: white;
}
.alert-banner.urgency-high a {
  color: white;
  font-weight: 600;
}
.alert-banner.urgency-high svg {
  fill: white;
}
.alert-banner.urgency-moderate {
  background-color: #e6e6e6;
  color: #071f32;
}
.alert-banner.urgency-moderate a {
  color: #071f32;
  font-weight: 600;
}
.alert-banner.urgency-moderate svg {
  fill: #071f32;
}
.alert-banner.slide-up {
  animation: slide-up 0.5s ease-out forwards;
}
.alert-banner-close-icon {
  position: absolute;
  right: 3rem;
  top: 3rem;
  cursor: pointer;
  z-index: 1;
}
.alert-banner-close-icon svg {
  pointer-events: none;
}
.alert-banner-container {
  display: flex;
}
.alert-banner-icon {
  margin-right: 1rem;
  font-size: 2rem;
}
.alert-banner-icon svg {
  width: 3rem;
  height: 3rem;
}
.alert-banner-content {
  max-width: 80rem;
}
.alert-banner-content h2 {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
}
.alert-banner-content div {
  margin-top: 0.5rem;
  font-size: 1.4rem;
}

@keyframes slide-down {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-up {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-100%);
    opacity: 0;
  }
}
.banner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  justify-content: center;
  align-items: center;
  position: relative;
  animation: slide-down 0.5s ease-out;
}
.banner.hidden {
  display: none;
}
.banner.slide-up {
  animation: slide-up 0.5s ease-out forwards;
}
.banner .banner-container .img-container {
  position: relative;
}
.banner .banner-container img {
  width: 100%;
}
.banner .banner-container .close-banner {
  align-items: center;
  background-color: #f4f3f3;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 3.2rem;
  justify-content: center;
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  width: 3.2rem;
  z-index: 1;
}
.banner .banner-container .close-banner .paris-icon {
  height: 1.4rem;
  width: 1.4rem;
}
@media (max-width: 799px) {
  .banner .desktop-banner {
    display: none;
  }
  .banner .mobile-banner {
    display: block;
    margin-bottom: 1rem;
  }
  .banner .banner-container .close-banner {
    width: 3rem;
    height: 3rem;
  }
}
@media (min-width: 800px) {
  .banner .desktop-banner {
    display: block;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .banner .desktop-banner .img-container {
    width: 90%;
    max-width: 111.1rem;
    margin: 0 auto;
  }
  .banner .mobile-banner {
    display: none;
  }
}

.accordion {
  clear: both;
  margin: 5rem 0;
}
.accordion-header {
  margin: 0;
}
.accordion-header-button, .accordion-panel {
  border: 0.3rem solid #d1d1d1;
}
.accordion-header-button {
  align-items: center;
  appearance: none;
  background: #f2f2f2;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: 1rem 1rem 1rem 1.5rem;
  text-align: left;
  width: 100%;
}
.accordion-header-button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.accordion-header-button:hover .accordion-header-icon.paris-icon, .accordion-header-button:focus-visible .accordion-header-icon.paris-icon, .accordion-header-button[aria-expanded=true] .accordion-header-icon.paris-icon {
  fill: #071f32;
}
.accordion-header-button[aria-expanded=true] .accordion-header-icon.paris-icon {
  transform: rotate(180deg);
}
.accordion-header-content {
  flex: 1;
}
.accordion-header-title, .accordion-header-subtitle {
  display: block;
}
.accordion-header-title {
  color: #354bcf;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.018rem;
  line-height: 2.4rem;
}
.accordion-header-subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8rem;
}
.accordion-header-icon.paris-icon {
  fill: #d22638;
  flex-shrink: 0;
  height: 3.2rem;
  transition: transform 0.2s ease, fill 0.2s ease;
  width: 3.2rem;
}
body[data-animations=disabled] .accordion-header-icon.paris-icon {
  transition: none;
}

.accordion-panel {
  border-top: 0;
  padding: 2rem;
}
.accordion-panel a {
  color: #d22638;
  transition: color 0.2s ease;
}
.accordion-panel a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.accordion-panel a::after {
  transition: color 0.2s ease;
}
.accordion-panel a:hover, .accordion-panel a:active {
  color: #071f32;
}
.accordion-panel a[target=_blank] {
  padding-right: 1.5em;
}
.accordion-panel a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.accordion-panel a[target=_blank]:hover::after, .accordion-panel a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.accordion-panel[aria-hidden=true] {
  display: none;
}
.accordion-panel > :first-child {
  margin-top: 0;
}
.accordion-panel > :last-child {
  margin-bottom: 0;
}
.accordion-panel + .accordion-header {
  margin-top: 2rem;
}
.accordion .is-compact .accordion-header-button {
  background: #fff;
  padding: 1rem 1.5rem;
}
.accordion .is-compact .accordion-header-button:hover .accordion-header-icon.paris-icon, .accordion .is-compact .accordion-header-button .accordion .is-compact .accordion:focus-visible .accordion-header-icon.paris-icon, .accordion .is-compact .accordion-header-button[aria-expanded=true] .accordion-header-icon.paris-icon {
  fill: #071f32;
}
.accordion .is-compact .accordion-header-button {
  border-color: #f2f2f2;
}
.accordion .is-compact .accordion-header-title {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2.4rem;
}
.accordion .is-compact .accordion-header-icon.paris-icon {
  fill: #354bcf;
  height: 1rem;
  width: 1.4rem;
}
.accordion .is-compact .accordion-panel {
  padding: 2rem;
}
.accordion-panel.is-compact {
  border-color: #f2f2f2;
}

.alerts {
  align-items: center;
  display: flex;
  margin-bottom: 1rem;
}
.alerts-icon.paris-icon {
  flex-shrink: 0;
  height: 3.6rem;
  margin-right: 2.5rem;
  width: 2.9rem;
}
.alerts-content, .alerts-confirmation {
  display: none;
}
.alerts-content {
  align-items: stretch;
  flex: 1;
  position: relative;
}
.alerts-content > input {
  background-color: #f4f3f3;
  border: none;
  box-shadow: 0 0 0 0.1rem #f4f3f3;
  color: #071f32;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2rem;
  margin-right: 1rem;
  outline: 0;
  padding: 0 2rem;
  width: 100%;
}
.alerts-confirmation {
  color: #071f32;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.4rem;
}
.alerts-confirmation a {
  color: #d22638;
  transition: color 0.2s ease;
}
.alerts-confirmation a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.alerts-confirmation a::after {
  transition: color 0.2s ease;
}
.alerts-confirmation a:hover, .alerts-confirmation a:active {
  color: #071f32;
}
.alerts-confirmation a[target=_blank] {
  padding-right: 1.5em;
}
.alerts-confirmation a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.alerts-confirmation a[target=_blank]:hover::after, .alerts-confirmation a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.alerts.is-open > .alerts-button-open {
  display: none;
}
.alerts.is-open .alerts-content {
  display: flex;
}
.alerts.is-confirmed > .alerts-button-open,
.alerts.is-confirmed > .alerts-content {
  display: none;
}
.alerts.is-confirmed .alerts-confirmation {
  display: block;
}
@media (max-width: 799px) {
  .alerts {
    display: block;
    text-align: center;
  }
  .alerts.is-open .alerts-icon {
    top: 0;
  }
  .alerts .paris-button {
    display: block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .alerts .newsletter-form-inline {
    display: block;
  }
  .alerts .newsletter-form-inline .subscription-btn {
    margin-top: 1rem;
  }
  .alerts .alerts-icon {
    margin-right: unset;
  }
}

.image_comparison {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  margin-bottom: 2rem;
  --p: 50%;
  max-height: 80vh;
}
.image_comparison.--js-v1 {
  cursor: w-resize;
}
.image_comparison.--js-v2 {
  cursor: e-resize;
}
.image_comparison:focus-visible {
  outline: 0.2rem solid #354bcf;
  outline-offset: 0.25rem;
}
.image_comparison-version.--a {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  bottom: 0;
  max-width: 100%;
  width: var(--p);
  transition-property: width;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0, 0.5, 0.3, 1);
}
.image_comparison-container {
  position: relative;
  width: max-content;
  height: 100%;
}
.image_comparison-image {
  display: block;
}
.image_comparison-version.--a .image_comparison-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.image_comparison-version.--b .image_comparison-image {
  width: 100%;
  height: auto;
}
.image_comparison-sizer {
  visibility: hidden;
  width: auto;
  height: 100%;
  max-width: none;
}
.image_comparison-separator {
  position: absolute;
  width: 2px;
  height: calc(80% - 15px);
  top: 0;
  left: var(--p);
  transition-property: left;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0, 0.5, 0.3, 1);
  transform: translate(-1px);
  color: #fff;
  background-color: currentColor;
  pointer-events: none;
}
.image_comparison-separator::before, .image_comparison-separator::after {
  content: "";
  display: block;
  position: absolute;
}
.image_comparison-separator::before {
  top: calc(100% + 30px);
  width: 100%;
  height: calc(20% + 35px);
  background-color: currentColor;
  left: 0;
}
.image_comparison-separator::after {
  top: 100%;
  left: -14px;
  width: 30px;
  height: 30px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='12' viewBox='0 0 20 12'%3E%3Cpath d='M1 6l6 -4v8zm18 0l-6 -4v8z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 20px auto;
  backdrop-filter: blur(5px);
  transition: opacity 0.3s;
}
.image_comparison.--js-v1 .image_comparison-separator {
  transform: translate(1px);
}
.image_comparison.--js-v1 .image_comparison-separator::after, .image_comparison.--js-v1 .image_comparison-separator::before {
  opacity: 0;
  top: 100%;
}
.image_comparison.--js-v2 .image_comparison-separator {
  transform: translate(-2px);
}
.image_comparison.--js-v2 .image_comparison-separator::after, .image_comparison.--js-v2 .image_comparison-separator::before {
  opacity: 0;
  top: 100%;
}

.bf-caption {
  font-size: 1.5rem;
  font-weight: 700;
}

.bf-credits {
  font-size: 1.2rem;
}

@media (max-width: 768px) {
  .bf-caption {
    font-size: 1.2rem;
  }
  .bf-credits {
    font-size: 1rem;
  }
}
.blocks > .title.is-level-2::after,
.blocks > .title.is-level-3::before {
  background: #f2f2f2;
  content: "";
  display: block;
  height: 0.6rem;
  width: 100%;
}
.blocks > .title.is-level-2 + .title.is-level-3 {
  padding-top: 0;
}
.blocks > .title.is-level-2 + .title.is-level-3::before {
  display: none;
}
.blocks .buttons {
  margin-bottom: 3rem;
}
@media (max-width: 799px) {
  .blocks > * + * {
    margin-top: 2rem;
  }
  .blocks > * + .giants-section {
    margin-top: -4rem;
    margin-bottom: -3rem;
    padding-top: 6rem;
  }
  .blocks > .title.is-level-2 {
    margin: 4rem 0 2rem;
  }
  .blocks > .title.is-level-2::after {
    margin-top: 0.8rem;
  }
  .blocks > .title.is-level-3,
  .blocks > .title.is-level-4 {
    margin: 2rem 0 2rem;
  }
  .blocks > .title.is-level-3::before {
    margin-bottom: 1.3rem;
  }
  .blocks > .title.is-level-5 {
    margin: 1.3rem 0 1rem;
  }
  .blocks > .title.is-level-2 + .title.is-level-3,
  .blocks > .title.is-level-3 + .title.is-level-4,
  .blocks > .title.is-level-4 + .title.is-level-5 {
    margin-top: -0.7rem;
  }
  .blocks > .text + .text {
    margin-top: 1rem;
  }
}
@media (min-width: 800px) {
  .blocks > * + * {
    margin-top: 3rem;
  }
  .blocks > * + .giants-section {
    margin-top: -6rem;
    margin-bottom: -3rem;
    padding-top: 9rem;
  }
  .blocks > .title.is-level-2 {
    margin: 6rem 0 3rem;
  }
  .blocks > .title.is-level-2::after {
    margin-top: 1.2rem;
  }
  .blocks > .title.is-level-3,
  .blocks > .title.is-level-4 {
    margin: 3rem 0 3rem;
  }
  .blocks > .title.is-level-3::before {
    margin-bottom: 2rem;
  }
  .blocks > .title.is-level-5 {
    margin: 2.8rem 0 1rem;
  }
  .blocks > .title.is-level-2 + .title.is-level-3,
  .blocks > .title.is-level-3 + .title.is-level-4,
  .blocks > .title.is-level-4 + .title.is-level-5 {
    margin-top: -1rem;
  }
  .blocks > .title + .text {
    margin-top: 2rem;
  }
  .blocks > .title.is-level-5 + .text {
    margin-top: 1rem;
  }
  .blocks > .text + .text {
    margin-top: 1.2rem;
  }
}

.buttons {
  align-items: center;
  display: flex;
  position: relative;
  margin: unset;
  padding: unset;
  list-style-type: none;
}
.buttons > li + li {
  margin-left: 2rem;
}
.buttons.is-centered {
  justify-content: center;
}
.buttons.is-centered li {
  display: inline-flex;
  margin-right: auto;
  box-sizing: content-box;
}
.buttons.is-centered li:first-of-type {
  margin-left: auto;
}

@media (max-width: 499px) {
  .buttons {
    display: block;
  }
  .buttons > li + li {
    margin-left: unset;
    margin: 1rem auto;
  }
}
.blocks--cta {
  background-color: #eff2f5;
  display: flex;
  border-left: 0.6rem solid #354bcf;
}
.blocks--cta-content {
  display: flex;
  flex-direction: column;
  margin: 4rem 0 4rem 5.6rem;
}
@media (max-width: 799px) {
  .blocks--cta-content {
    margin: 3rem 3rem 0 3rem;
  }
}
.blocks--cta-title {
  color: #354bcf;
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
}
.blocks--cta-text {
  font-weight: 400;
  margin-bottom: 3.5rem;
}
.blocks--cta-button {
  width: 60%;
}
@media (max-width: 799px) {
  .blocks--cta-button {
    width: 100%;
  }
}
.blocks--cta-image {
  background-image: url(/assets/components/blocks/cta_component/paris-info-jeux.png);
  background-size: cover;
  background-position: center;
  width: 100%;
  max-width: 23rem;
  max-height: 24rem;
  margin: 1.5rem 4.9rem;
}
@media (max-width: 799px) {
  .blocks--cta-image {
    width: 100%;
    height: 24rem;
  }
}
@media (max-width: 799px) {
  .blocks--cta {
    flex-direction: column;
    align-items: center;
  }
}

.districts {
  margin: 5rem 0;
}
.districts-items {
  border-bottom: 0.6rem solid #e22c3f;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0 0 2rem;
}
.districts-item:focus-visible, .districts-content:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.districts-item {
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  border: 0.1rem solid #d1d1d1;
  color: #d1d1d1;
  cursor: not-allowed;
  display: flex;
  font-weight: 700;
  height: 6.1rem;
  justify-content: center;
  margin: 0 1.2rem 0.8rem 0;
  width: 6.1rem;
}
.districts-item.is-enabled {
  background-color: #f2f2f2;
  border: none;
  cursor: pointer;
  color: #071f32;
}
.districts-item.is-enabled:hover, .districts-item.is-enabled[aria-selected=true] {
  background-color: #e22c3f;
  color: #fff;
}
.districts-content {
  display: flex;
}
.districts-content .title.is-level-4 {
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 1.6rem;
  margin-right: 3rem;
  width: 20rem;
}
.districts-content .text {
  margin: 0;
}
.districts-content .text p {
  line-height: 1.6;
  margin: 0 0 1rem;
}
.districts-content-default .title.is-level-4 {
  width: unset;
}
.districts-content[aria-hidden=true] {
  display: none;
}

@media (max-width: 799px) {
  .districts {
    position: relative;
  }
  .districts::before {
    background-color: #e22c3f;
    content: "";
    height: 0.6rem;
    position: absolute;
    top: 7.9rem;
    width: 100%;
  }
  .districts-items {
    border-bottom: none;
    flex-wrap: nowrap;
    margin: 0 -3rem;
    overflow-y: auto;
    padding: 0 3rem 1rem;
  }
  .districts-item {
    flex-shrink: 0;
  }
  .districts-content {
    flex-direction: column;
    margin-top: 2rem;
  }
}
.form iframe {
  width: 100%;
}

@media (max-width: 499px) {
  .form iframe {
    max-width: 295px;
  }
}
.frame {
  border: 0.6rem solid #d22638;
  display: flex;
  margin: 5rem auto;
  padding: 5rem 8rem;
  position: relative;
}
.frame a {
  color: #d22638;
  transition: color 0.2s ease;
}
.frame a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.frame a::after {
  transition: color 0.2s ease;
}
.frame a:hover, .frame a:active {
  color: #071f32;
}
.frame a[target=_blank] {
  padding-right: 1.5em;
}
.frame a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.frame a[target=_blank]:hover::after, .frame a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.frame.frame--alert {
  border: none;
  border-right: 0.6rem solid #d22638;
  background: #f2f2f2 0% 0% no-repeat padding-box;
}
.frame.frame--quality-service {
  border-color: #2ab0a9;
}
.frame.frame--quality-service a {
  color: #0c847d;
  transition: color 0.2s ease;
}
.frame.frame--quality-service a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.frame.frame--quality-service a::after {
  transition: color 0.2s ease;
}
.frame.frame--quality-service a:hover, .frame.frame--quality-service a:active {
  color: #071f32;
}
.frame.frame--quality-service a[target=_blank] {
  padding-right: 1.5em;
}
.frame.frame--quality-service a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%230c847d' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.frame.frame--quality-service a[target=_blank]:hover::after, .frame.frame--quality-service a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.frame-title {
  background: #fff;
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 1.8rem;
  font-weight: 700;
  height: fit-content;
  line-height: 1.33;
  padding: 3rem 0;
}
.frame--alert .frame-title {
  background: transparent;
  color: #d71d31;
}
.frame--quality-service .frame-title {
  color: #0c847d;
}
.frame-text {
  font-size: 1.5rem;
  line-height: 1.73;
}
.frame--alert .frame-text {
  font-size: 1.3rem;
  font-weight: 700;
}
.giant-container .frame {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.places--attendances .frame, .places--practical-informations-info .frame {
  flex-direction: column;
  padding: 3rem;
  margin-left: unset;
}
.places--attendances .frame-title, .places--practical-informations-info .frame-title {
  margin: 0 0 1rem;
  padding: 0;
  position: relative;
  width: unset;
}
.places--attendances .frame-title::before, .places--practical-informations-info .frame-title::before {
  background: #fff;
  content: "";
  height: 1.7rem;
  left: -3.6rem;
  position: absolute;
  top: 0;
  width: 0.6rem;
}
.places--attendances .frame-text, .places--practical-informations-info .frame-text {
  padding: 0;
}
@media (max-width: 1139px) {
  .frame {
    flex-direction: column;
    padding: 3rem;
  }
  .frame-title {
    margin: 0 0 1rem;
    padding: 0;
    position: relative;
  }
  .frame-title::before {
    background: #fff;
    content: "";
    height: 1.7rem;
    left: -3.6rem;
    position: absolute;
    top: 0;
    width: 0.6rem;
  }
  .frame-text {
    padding: 0;
  }
}
@media (min-width: 1140px) {
  .frame {
    margin-left: -10rem;
    padding: 5rem 10rem 5rem 16rem;
    max-width: 100rem;
  }
  .frame.frame--alert {
    margin-left: unset;
    padding: 4.3rem 5.1rem;
    display: block;
  }
  .frame-title {
    margin: -3rem 5rem auto -16.6rem;
    width: 15rem;
  }
  .frame--alert .frame-title {
    width: unset;
    margin: 0 0 1rem;
    padding: 0;
    position: relative;
  }
}

.gallery {
  position: relative;
}
.gallery-panning-controls {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
  margin-right: 3rem;
}
.gallery-panning-controls button + button {
  margin-left: 1rem;
}
.gallery .paris-button {
  display: inline-flex;
  opacity: 1;
  transition: opacity 0.2s linear;
  width: 3.6rem;
  height: 3.6rem;
}
.gallery .paris-button .paris-icon {
  width: 2rem;
  height: 2rem;
}
.gallery .paris-button.is-disabled {
  opacity: 0.1;
  pointer-events: none;
}
.gallery .image {
  margin-right: 2rem;
  max-width: 88rem;
  width: 100%;
}
.giant-container .gallery .image {
  max-width: 89rem;
}
.gallery .image-img {
  height: 53rem;
}
.gallery .image-img a {
  height: 100%;
}
.gallery .image img {
  display: block;
  max-height: 100%;
  max-width: 100%;
}
.gallery .image:last-child {
  margin-right: 0;
}
@media (max-width: 799px) {
  .gallery {
    margin-left: 0rem;
    margin-right: 0rem;
    margin-bottom: 2rem;
  }
  .paris-container-components .gallery {
    margin-left: -3rem;
    margin-right: -3rem;
    margin-bottom: 0rem;
    width: 100vw;
  }
  .giant-container .paris-container-components .gallery {
    margin-left: -2.2rem;
    margin-right: -3rem;
    margin-bottom: 0rem;
  }
  .giant-container .paris-container-components .gallery .image-caption {
    font-weight: 700;
  }
  .gallery .image {
    margin-right: 2rem;
    width: 70vw;
  }
  .gallery .image-img {
    height: unset;
    max-width: 70vh;
  }
  .gallery .image-footer {
    margin-left: 3rem;
    margin-right: 3rem;
  }
  .gallery .image:last-child {
    margin-right: 0;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .gallery .image {
    margin-right: 2rem;
    width: 70vw;
  }
  .gallery .image-img {
    height: unset;
    max-width: 70vh;
  }
}
@media (min-width: 768px) and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) {
  .gallery .image {
    margin-right: 2rem;
    width: 60vw;
  }
  .gallery .image-img {
    height: unset;
    max-width: 70vh;
  }
}
@media (min-width: 800px) {
  .paris-container-components .gallery {
    margin-left: -33vw;
    margin-right: -17vw;
    margin-bottom: 0rem;
    width: calc(100vw - 7rem);
  }
  .giant-container .paris-container-components .gallery {
    margin-left: 0vw;
    margin-right: -17vw;
    margin-bottom: 0rem;
    width: calc(100vw - 14.8rem);
  }
  .giant-container .paris-container-components .gallery .flickity-slider {
    left: -80rem;
  }
  .giant-container .paris-container-components .gallery .image {
    max-width: 79rem;
  }
  .giant-container .paris-container-components .gallery .image-footer {
    margin-left: 4rem;
  }
}
@media (min-width: 1140px) {
  .gallery {
    margin-left: 0rem;
    margin-right: 0rem;
    margin-bottom: 4rem;
  }
  .giant-container .paris-container-components .gallery {
    margin-left: -20vw;
    margin-right: -17vw;
    margin-bottom: 0rem;
    width: calc(100vw - 4rem);
  }
  .giant-container .paris-container-components .gallery .flickity-slider {
    left: -80rem;
  }
  .giant-container .paris-container-components .gallery .image {
    max-width: 89rem;
  }
  .giant-container .paris-container-components .gallery .image-footer {
    margin-left: 11.3rem;
  }
  .gallery .image {
    margin-right: 14.4rem;
    max-width: 82.5rem;
  }
  .giant-container .gallery .image {
    max-width: 89rem;
  }
  .has-sidebar .gallery .image {
    max-width: 80rem;
  }
  .gallery .gallery-panning-controls {
    margin: 0;
  }
  .gallery .gallery-panning-controls button + button {
    margin-left: 0;
  }
  .gallery .paris-button {
    display: flex;
    left: 50%;
    position: absolute;
    top: 22.9rem;
    z-index: 997;
    width: 7.2rem;
    height: 7.2rem;
  }
  .gallery .paris-button .paris-icon {
    width: 3.2rem;
    height: 3.2rem;
  }
  .gallery .paris-button.gallery-previous {
    transform: translateX(-54.8rem);
  }
  .giant-container .gallery .paris-button.gallery-previous {
    transform: translateX(-63.1rem);
  }
  .has-sidebar .gallery .paris-button.gallery-previous {
    left: 33vw;
    transform: translateX(-8.2rem);
  }
  .gallery .paris-button.gallery-next {
    margin: 0;
    transform: translateX(44.6rem);
  }
  .giant-container .gallery .paris-button.gallery-next {
    transform: translateX(39.9rem);
  }
  .has-sidebar .gallery .paris-button.gallery-next {
    left: 33vw;
    transform: translateX(81rem);
  }
}

.giants-agenda .is-hidden {
  display: none !important;
}
.giants-agenda .is-disabled {
  color: #d1d1d1 !important;
  border-color: #d1d1d1 !important;
  background-color: rgba(1, 1, 1, 0) !important;
  cursor: not-allowed !important;
}
.giants-agenda .filter-selector input:checked,
.giants-agenda .filter-selector input:not(:checked) {
  position: absolute;
  left: -9999px;
}
.giants-agenda .filter-selector input:checked + label,
.giants-agenda .filter-selector input:not(:checked) + label {
  position: relative;
  padding-left: 2.8rem;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
}
.giants-agenda .filter-selector input:checked + label:before,
.giants-agenda .filter-selector input:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 1.8rem;
  width: 1.8rem;
  border: 0.2rem solid;
  background: #fff;
}
.giants-agenda .filter-selector input:checked + label:after,
.giants-agenda .filter-selector input:not(:checked) + label:after {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  position: absolute;
  top: 0;
  left: 3px;
  transition: all 0.2s;
  font-size: 1.3rem;
  font-weight: 900;
}
.giants-agenda .filter-selector input:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.giants-agenda .filter-selector input:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.giants-agenda .filters-selectors p {
  margin-bottom: 1rem;
}
.giants-agenda .filters-items {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 1.5rem 0 0 0;
  padding: 0 0 2rem;
}
.giants-agenda .filters-items .filters-item {
  margin: 0 1.2rem 0.8rem 0;
}
.giants-agenda .filters-items .filters-link,
.giants-agenda .filters-items .filters-item.is-disabled > span {
  align-items: center;
  border: 0.1rem solid #f2f2f2;
  border-radius: 50%;
  display: flex;
  font-weight: 700;
  height: 5.6rem;
  justify-content: center;
  width: 5.6rem;
}
.giants-agenda .filters-items .filters-link {
  background: #f2f2f2;
  cursor: pointer;
  color: #071f32;
  text-decoration: none;
}
.giants-agenda .filters-items .filters-link:focus-visible {
  box-shadow: 0 0 0 0.3rem #354bcf;
  outline: 0;
}
.giants-agenda .filters-items .is-selected,
.giants-agenda .filters-items .filters-link:hover {
  background-color: #d22638;
  border-color: #d22638;
  color: #fff;
}
.giants-agenda-cards {
  margin: 2rem 0 0 0;
}
.giants-agenda-cards .card-container {
  width: 90%;
}
.giants-agenda-cards .paris-card {
  margin-right: 1.2rem;
  width: calc(100% - 2rem);
}
.giants-agenda-cards .paris-card:last-child {
  margin-right: 0;
}
@media (max-width: 499px) {
  .giants-agenda {
    width: 100%;
  }
  .giants-agenda::before {
    height: 24rem;
    width: 100%;
  }
  .giants-agenda .filters-container {
    width: calc(100% + 1.5rem);
  }
  .giants-agenda .filters-items {
    display: grid;
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
  }
  .giants-agenda .districts-filters {
    grid-template-columns: repeat(20, 1fr);
  }
  .giants-agenda .months-filters {
    grid-template-columns: repeat(12, 1fr);
  }
  .giants-agenda .giants-agenda-cards {
    display: flex;
    margin-left: -2rem;
    overflow-x: scroll;
    overflow-y: hidden;
    width: calc(100% + 3.5rem);
    white-space: nowrap;
  }
  .giants-agenda .giants-agenda-cards .card-container {
    width: auto;
  }
  .giants-agenda .giants-agenda-cards .card-container .paris-card {
    margin-right: 2rem;
    width: 75vw;
  }
}
@media (min-width: 800px) {
  .giants-agenda .giants-agenda-cards {
    display: grid;
    grid-column-gap: 10rem;
    grid-template-columns: 1fr 1fr;
    margin: 0;
  }
  .giants-agenda .giants-agenda-cards .card-container {
    width: 100%;
  }
  .giants-agenda .giants-agenda-cards .paris-card {
    width: 100%;
  }
}
@media (min-width: 1140px) {
  .giants-agenda .giants-agenda-cards {
    grid-template-columns: 1fr 1fr 1fr;
    margin-left: -12rem;
    width: calc(100% + 24rem);
  }
}

.giants-headline {
  position: relative;
}
.giants-headline .text-container {
  background-color: white;
  margin-left: 20%;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
  transform: translateY(-5rem);
  width: 85%;
}
.giants-headline .text-container .tag {
  transform: translateY(-50%);
}
.giants-headline .text-container .text {
  line-height: 1.5;
}
@media (min-width: 1140px) {
  .giants-headline {
    margin-left: -12rem;
  }
  .giants-headline .image {
    max-width: 35rem;
    width: 40%;
  }
  .giants-headline .text-container {
    left: 35%;
    margin: 0;
    position: absolute;
    top: 4rem;
    transform: none;
    width: auto;
  }
}
@media (min-width: 1260px) {
  .giants-headline {
    margin-left: -12rem;
  }
  .giants-headline .image {
    max-width: 35rem;
  }
  .giants-headline .text-container {
    left: 32.5rem;
    margin: 0;
    position: absolute;
    top: 4rem;
    transform: none;
    width: auto;
  }
  .giants-headline.animated {
    animation-duration: 2s;
    animation-fill-mode: both;
  }
  @keyframes fade-in-right {
    0% {
      opacity: 0;
      transform: translateX(35rem);
    }
    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }
  .giants-headline.fade-in-right {
    animation-name: fade-in-right;
  }
}

.heading-image-footer::after, .heading-image-footer, .image.has-floating-credit .image-credit::after, .image.has-floating-credit .image-credit, .hero-photo-image-footer::after, .hero-photo-image-footer {
  transition: opacity 0.2s linear;
}

.hero-photo {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.hero-photo.is-mobile-or-tablet {
  display: none;
}
.hero-photo-image, .hero-photo-image > img {
  height: 120vh;
  width: 100%;
}
.hero-photo-image > img {
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
}
.hero-photo-image-footer {
  align-items: flex-end;
  bottom: 0;
  display: flex;
  left: 0;
  margin-top: 0;
  position: absolute;
  right: 0;
}
.hero-photo-image-footer:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.hero-photo-image-footer::after {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  bottom: 1.6rem;
  color: #071f32;
  content: "c";
  display: flex;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  left: 1.6rem;
  line-height: 1;
  opacity: 1;
  padding-bottom: 0.2rem;
  position: absolute;
  visibility: visible;
  width: 2rem;
}
.hero-photo-image-footer .hero-photo-image-credit {
  background-color: rgba(7, 31, 50, 0.5);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0 0 1.2rem 5.4rem;
  max-width: 100%;
  opacity: 0;
  padding: 0.5rem;
  position: relative;
  transition: opacity 0.2s linear, margin 0.2s ease, visibility 0.2s linear;
  visibility: hidden;
  z-index: 1;
}
.hero-photo-image-footer:hover .hero-photo-image-credit, .hero-photo-image-footer:focus .hero-photo-image-credit {
  opacity: 1;
  margin-left: 4.6rem;
  visibility: visible;
}
@supports (-webkit-touch-callout: none) {
  .hero-photo-image, .hero-photo-image > img {
    height: 100vh;
  }
  .hero-photo-image > img {
    background-attachment: scroll;
  }
}
.hero-photo-content {
  max-width: 100%;
  padding: 4.6rem 3.4rem;
  width: 43rem;
}
.hero-photo-title {
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: -0.02rem;
  line-height: 2.4rem;
  margin: 0;
}
.hero-photo-title + .hero-photo-text {
  margin-top: 2.6rem;
}
.hero-photo-text {
  line-height: 2.6rem;
}
.hero-photo-text a {
  color: #d22638;
  transition: color 0.2s ease;
}
.hero-photo-text a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.hero-photo-text a::after {
  transition: color 0.2s ease;
}
.hero-photo-text a:hover, .hero-photo-text a:active {
  color: #071f32;
}
.hero-photo-text a[target=_blank] {
  padding-right: 1.5em;
}
.hero-photo-text a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.hero-photo-text a[target=_blank]:hover::after, .hero-photo-text a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.hero-photo-text > :first-child {
  margin-top: 0;
}
.hero-photo-text > :last-child {
  margin-bottom: 0;
}
.hero-photo + .hero-photo {
  margin-top: 0;
}
@media (max-width: 799px) {
  .hero-photo.is-desktop {
    display: none;
  }
  .hero-photo.is-mobile-or-tablet {
    display: block !important;
  }
  .hero-photo-content {
    position: relative;
  }
  .hero-photo-image-footer {
    top: -4rem;
    align-items: center;
    bottom: auto;
  }
}
@media (min-width: 800px) {
  .hero-photo-content.is-right {
    position: absolute;
    left: auto;
    right: 10rem;
  }
  .hero-photo-image-footer {
    opacity: 0;
    min-width: 30rem;
    visibility: hidden;
    width: 10%;
  }
  .hero-photo-image:hover .hero-photo-image-footer {
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 1140px) {
  .hero-photo {
    height: 120vh;
  }
  .hero-photo.is-right .hero-photo-content {
    left: auto;
    right: 10rem;
  }
  .hero-photo-image, .hero-photo-content {
    position: absolute;
  }
  .hero-photo-image {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    height: 100%;
    z-index: 10;
  }
  .hero-photo-content {
    background-color: #fff;
    left: 10rem;
    padding: 4.6rem;
    top: 20rem;
    z-index: 15;
  }
}

.giants-image-and-text .text-container .is-level-3 {
  margin-bottom: 0.4rem;
}
.giants-image-and-text .text-container .is-level-4 {
  color: #354bcf;
  font-weight: 600;
}
.giants-image-and-text .text-container .text {
  font-size: 1.5rem;
}
.giants-image-and-text .image {
  margin: 2rem 0 1rem 0;
}
@media (min-width: 800px) {
  .giants-image-and-text {
    display: grid;
    grid-template-columns: 1fr 1.208fr;
    grid-gap: 2.3rem;
    margin: 3rem auto 3rem -2rem;
  }
  .giants-image-and-text .image {
    margin-top: 0;
  }
  .giants-image-and-text.image-left .text-container {
    grid-column-start: 2;
    grid-row-start: 1;
  }
  .giants-image-and-text.image-left .image {
    grid-column-start: 1;
    grid-row-start: 1;
  }
  .giants-image-and-text.image-left {
    grid-template-columns: 1.208fr 1fr;
  }
}
@media (min-width: 1000px) and (max-width: 1179px) {
  .giants-image-and-text {
    margin: 3rem auto 3rem -6rem;
  }
}
@media (min-width: 1180px) {
  .giants-image-and-text {
    margin: 3rem auto 3rem -12rem;
  }
}

.giants-news {
  position: relative;
  text-align: center;
}
.giants-news > * {
  position: relative;
}
.giants-news .paris-card {
  margin-bottom: 3rem;
}
.giants-news-cards {
  margin: 0 0 2rem;
}
.giants-news-cards .paris-card {
  margin-right: 1.2rem;
  width: calc(100% - 6rem);
}
.giants-news-cards .paris-card:last-child {
  margin-right: 0;
}
.giants-news-cards .paris-card .paris-card-title {
  margin-top: 0.7rem;
}
.giants-news-cards .paris-card-image {
  height: 22rem;
}
.giants-news-cards .paris-card-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.giants-news-cards .card-link {
  display: none;
}
@media (max-width: 499px) {
  .giants-news {
    margin: 3rem auto;
    width: 100%;
  }
  .giants-news .news-cards .paris-card {
    width: 95%;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .giants-news {
    margin: 3rem -3rem;
    width: calc(100% + 4.5rem);
  }
  .giants-news .news-cards .flickity-slider {
    width: 90%;
  }
  .giants-news .news-cards .paris-card {
    padding-right: 4.5rem;
    opacity: 0.5;
    transition: opacity 0.2s linear;
    width: 95%;
  }
  .giants-news .news-cards .paris-card.is-selected {
    opacity: 1;
  }
}
@media (min-width: 800px) {
  .giants-news {
    margin: 3rem auto 3rem -3rem;
    width: calc(100% + 3rem);
  }
  .giants-news .news-cards {
    display: grid;
    grid-column-gap: 2em;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .giants-news .news-cards .paris-card {
    width: 100%;
  }
}
@media (min-width: 1159px) {
  .giants-news {
    margin: 3rem auto 3rem -6rem;
    width: calc(100% + 6rem);
  }
  .giants-news .news-cards {
    grid-column-gap: 3.5em;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1160px) and (max-width: 1259px) {
  .giants-news {
    margin: 3rem auto 3rem -6rem;
    width: calc(100% + 6rem);
  }
  .giants-news .news-cards {
    grid-column-gap: 3.5em;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1260px) {
  .giants-news {
    margin: 3rem -12rem;
    width: calc(100% + 24rem);
  }
  .giants-news .news-cards {
    grid-column-gap: 6.5em;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.giants-section {
  position: relative;
}
.giants-section .image {
  max-height: 11.3rem;
  margin: 0;
  overflow: hidden;
  width: 100%;
}
.giants-section .image img {
  width: 100%;
}
.giants-section-title-container {
  position: relative;
  transform: translateY(-3rem);
  display: flex;
  justify-content: flex-end;
}
.giants-section-title-container .giants-section-title {
  max-width: 90%;
  background-color: white;
  padding: 1.5rem 3rem 0;
  color: #d22638;
  font-size: 2.15em;
  font-weight: 700;
  line-height: initial;
}
.giants-section a {
  color: #e8404e;
  display: block;
}
.giants-section a:hover, .giants-section a:visited, .giants-section a:link, .giants-section a:active {
  color: inherit;
  text-decoration: none;
}
@media (min-width: 800px) {
  .giants-section {
    margin: 3rem auto 3rem -2rem;
  }
  .giants-section .giant-section-title {
    font-size: 3.6rem;
  }
}
@media (min-width: 1000px) and (max-width: 1179px) {
  .giants-section {
    margin: 3rem auto 3rem -6rem;
  }
}
@media (min-width: 1180px) {
  .giants-section {
    margin: 3rem auto 3rem -12rem;
  }
}

.paris-html {
  overflow: auto;
  max-width: 100%;
}
.paris-html iframe {
  border: none;
  display: block;
  margin: 0 auto;
  max-width: 100%;
  width: 80rem;
  aspect-ratio: 16/9;
}
.paris-html.has-cookies-message {
  overflow: auto;
  margin: 5rem 0;
  padding-top: 56.25%;
  position: relative;
}
.paris-html > .twitter-tweet {
  margin: 0 auto;
}
@media (max-width: 499px) {
  .paris-html.has-cookies-message {
    padding-top: 0 !important;
  }
}

.paris-iframe {
  overflow: hidden;
}
.paris-iframe iframe {
  border: none;
  display: block;
  margin: 0 auto;
  max-width: 100%;
  width: 80rem;
  aspect-ratio: 16/9;
}
.paris-iframe.standard-ratio, .paris-iframe.is-video, .paris-iframe.has-cookies-message {
  overflow: auto;
  margin: 5rem 0;
  position: relative;
}
.paris-iframe.standard-ratio > iframe, .paris-iframe.is-video > iframe, .paris-iframe.has-cookies-message > iframe {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.paris-iframe.is-video, .paris-iframe.has-cookies-message {
  padding-top: 56.25%;
}
@media (max-width: 499px) {
  .paris-iframe.has-cookies-message {
    padding-top: 0 !important;
  }
}
.paris-iframe iframe[src^="https://player.ausha.co/"] {
  height: 502px !important;
}
@media (min-width: 560px) and (max-width: 799px), (min-width: 1000px) {
  .paris-iframe iframe[src^="https://player.ausha.co/"] {
    height: 220px !important;
  }
}
.paris-iframe iframe[src^="https://player.ausha.co/"][src*="playlist=true"] {
  height: 703px !important;
}
@media (min-width: 560px) and (max-width: 799px), (min-width: 1000px) {
  .paris-iframe iframe[src^="https://player.ausha.co/"][src*="playlist=true"] {
    height: 421px !important;
  }
}

.heading-image-footer::after, .heading-image-footer, .image.has-floating-credit .image-credit::after, .image.has-floating-credit .image-credit, .hero-photo-image-footer, .hero-photo-image-footer::after {
  transition: opacity 0.2s linear;
}

.image {
  margin-bottom: 2rem;
  margin-left: 0rem;
  margin-right: 0rem;
  padding: 0;
  position: relative;
}
.image.has-floating-credit .image-credit {
  align-items: flex-end;
  bottom: 1.2rem;
  display: flex;
  left: 0;
  margin-top: 0;
  position: absolute;
  right: 0;
}
.image.has-floating-credit .image-credit:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.image.has-floating-credit .image-credit:hover .image-credit-text, .image.has-floating-credit .image-credit:focus .image-credit-text {
  opacity: 1;
  margin-left: 4.6rem;
  visibility: visible;
}
.image.has-floating-credit .image-credit::after {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  bottom: 1.6rem;
  color: #071f32;
  content: "c";
  display: flex;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  left: 1.6rem;
  line-height: 1;
  opacity: 1;
  padding-bottom: 0.2rem;
  position: absolute;
  visibility: visible;
  width: 2rem;
}
.image.has-floating-credit .image-credit-text {
  background-color: rgba(7, 31, 50, 0.5);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0 0 1.2rem 5.4rem;
  max-width: 100%;
  opacity: 0;
  padding: 0.5rem;
  position: relative;
  transition: opacity 0.2s linear, margin 0.2s ease, visibility 0.2s linear;
  visibility: hidden;
  z-index: 1;
}
.image-img {
  align-items: center;
  display: flex;
  justify-content: center;
}
.image-img img {
  display: block;
  max-height: 100%;
  max-width: 100%;
}
.image-credit {
  font-size: 1.04rem;
  line-height: 1.6;
  max-width: 50rem;
}
.image-credit-label {
  border: none;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.image-footer {
  font-size: 1.3rem;
  line-height: 1.54;
  margin-top: 1.2rem;
  position: relative;
}
@media (max-width: 799px) {
  .image-footer {
    margin-right: 3rem;
  }
  .image-caption {
    margin-bottom: 0.4rem;
  }
}
@media (min-width: 800px) {
  .image.has-offset .image-img {
    margin-left: -23rem;
    width: calc(100% + 23rem);
  }
  .image.has-floating-credit:hover .image-credit {
    opacity: 1;
    visibility: visible;
  }
  .image.has-floating-credit .image-credit {
    opacity: 0;
    visibility: hidden;
  }
  .image-caption {
    font-weight: 700;
  }
}
@media (min-width: 1140px) {
  .giant-container .blocks > .image {
    margin-left: -12rem;
  }
}

.links {
  list-style: none;
  margin: 5rem 0;
  padding: 0;
}
.links-item-link {
  align-items: center;
  border-top: 0.1rem solid #f2f2f2;
  color: #d1d1d1;
  display: flex;
  justify-content: space-between;
  padding: 1rem 0;
  text-decoration: none;
}
.links-item-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.links-item-link:hover .links-item-link-icon, .links-item-link:focus .links-item-link-icon {
  background: #d22638;
}
.links-item-link:hover .links-item-link-icon .paris-icon, .links-item-link:focus .links-item-link-icon .paris-icon {
  fill: #fff;
}
.links-item-link-content {
  flex: 1;
  padding-right: 2rem;
}
.links-item-link-content > span {
  display: block;
  line-height: 2.2rem;
}
.links-item-link-text {
  color: #d22638;
  font-size: 1.5rem;
  font-weight: 700;
}
.links-item-link-url-external {
  color: #767676;
  font-size: 1.3rem;
  font-weight: 500;
}
.links-item-link-size {
  flex: 0 1 auto;
  font-size: 1.1rem;
  padding-right: 0.7rem;
  color: #767676;
}
.links-item-link-type, .links-item-link-icon {
  flex-grow: 0;
  flex-shrink: 0;
}
.links-item-link-type,
.links .paris-icon {
  height: 3.2rem;
  width: 3.2rem;
}
.links-item-link-icon {
  align-items: center;
  background: #f2f2f2;
  border-radius: 50%;
  display: flex;
  height: 4.2rem;
  justify-content: center;
  margin-left: 1rem;
  transition: background-color 0.2s ease;
  width: 4.2rem;
}
.links-item-link-icon .paris-icon {
  transition: fill 0.2s ease;
}
.links-copied-alert-inline {
  display: block;
  position: absolute;
  background-color: #354bcf;
  z-index: 998;
  display: flex;
  align-items: center;
  color: white;
  padding: 0.6rem 1rem;
  transform: translateY(-100%) translateX(-25%);
  font-size: 1.1rem;
  border-radius: 0.4rem;
}
.links-copied-alert-inline::after {
  content: " ";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #354bcf transparent transparent transparent;
}
.links-copied-alert-inline.alert-inline-white {
  background-color: white;
  color: #354bcf;
}
.links-copied-alert-inline.alert-inline-white.from-places {
  transform: translateY(-80%) translateX(12%);
}
.links-copied-alert-inline.alert-inline-white::after {
  border-color: white transparent transparent transparent;
}

.list {
  list-style: none;
  margin: 2rem 0;
  padding-left: 4rem;
}
.list a {
  color: #d22638;
  transition: color 0.2s ease;
}
.list a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.list a::after {
  transition: color 0.2s ease;
}
.list a:hover, .list a:active {
  color: #071f32;
}
.list a[target=_blank] {
  padding-right: 1.5em;
}
.list a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.list a[target=_blank]:hover::after, .list a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.list li {
  margin-bottom: 0.6rem;
  position: relative;
}
.list li::before {
  content: "•";
  display: block;
  font-weight: 700;
  left: -4.5rem;
  line-height: 1;
  position: absolute;
  text-align: right;
  width: 3rem;
}

ul.list {
  padding-left: 2.4rem;
}
ul.list li::before {
  font-size: 2.8rem;
  top: -0.2rem;
}

ol.list {
  counter-reset: my-counter;
  padding-left: 3rem;
}
ol.list li {
  counter-increment: my-counter;
}
ol.list li::before {
  content: counter(my-counter) ". ";
  top: 0.5rem;
}

.blocks--map iframe {
  border: none;
  display: block;
  margin: 0 auto;
  max-width: 100%;
  width: 80rem;
  height: 45rem;
}

.newsletter {
  border: 2px solid #354bcf;
  padding: 3.2rem;
  text-align: center;
}
.newsletter > .title:first-child {
  margin-bottom: 1.6rem;
}
.newsletter > .title:nth-child(2) {
  margin-bottom: 2.4rem;
}
.newsletter-form-inline {
  display: flex;
}
.newsletter .title + .paris-button, .newsletter-form-inline {
  align-items: center;
  justify-content: center;
}
.newsletter .title + .paris-button .input-and-message, .newsletter-form-inline .input-and-message {
  width: 100%;
}
.newsletter .title + .paris-button .input-and-message .newsletter-form-input, .newsletter-form-inline .input-and-message .newsletter-form-input {
  background-color: #e8e8e8;
  border: 0.2rem solid rgba(0, 0, 0, 0);
  color: black;
  height: 4.9rem;
  padding-left: 1.8rem;
  width: 100%;
}
.newsletter .title + .paris-button .input-and-message .newsletter-form-input:focus-visible, .newsletter-form-inline .input-and-message .newsletter-form-input:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.newsletter .title + .paris-button .input-and-message .newsletter-form-input::placeholder, .newsletter-form-inline .input-and-message .newsletter-form-input::placeholder {
  color: #313131;
  opacity: 1;
}
.newsletter .title + .paris-button .subscription-btn, .newsletter-form-inline .subscription-btn {
  background-color: #e22c3f;
  box-shadow: 0 0 0 0.1rem #e22c3f;
  border: none;
  cursor: pointer;
  height: 4.7rem;
  margin-top: 0rem;
  padding: 1.6rem 4rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.newsletter .title + .paris-button .subscription-btn:focus-visible, .newsletter-form-inline .subscription-btn:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
body[data-animations=disabled] .newsletter .title + .paris-button .subscription-btn, body[data-animations=disabled] .newsletter-form-inline .subscription-btn {
  transition: none;
}

.newsletter .title + .paris-button .subscription-btn-text, .newsletter-form-inline .subscription-btn-text {
  color: white;
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.23;
  position: relative;
  text-align: center;
  transition: color 0.3s ease;
  z-index: 1;
}
body[data-animations=disabled] .newsletter .title + .paris-button .subscription-btn-text, body[data-animations=disabled] .newsletter-form-inline .subscription-btn-text {
  transition: none;
}

.newsletter .title + .paris-button .subscription-btn::before, .newsletter-form-inline .subscription-btn::before {
  background-color: #fff;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  transition: width 0.3s ease;
  width: 0;
}
body[data-animations=disabled] .newsletter .title + .paris-button .subscription-btn::before, body[data-animations=disabled] .newsletter-form-inline .subscription-btn::before {
  transition: none;
}

.newsletter .title + .paris-button .subscription-btn:hover::before, .newsletter-form-inline .subscription-btn:hover::before {
  width: 100%;
}
.newsletter .title + .paris-button .subscription-btn:hover .subscription-btn-text, .newsletter-form-inline .subscription-btn:hover .subscription-btn-text {
  color: #e22c3f;
}
.newsletter .title + .paris-button .subscription-btn .paris-icon-loader,
.newsletter .title + .paris-button .subscription-btn .paris-icon-check, .newsletter-form-inline .subscription-btn .paris-icon-loader,
.newsletter-form-inline .subscription-btn .paris-icon-check {
  fill: white;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  top: 1.2rem;
}
.newsletter .title + .paris-button .subscription-btn .hidden, .newsletter-form-inline .subscription-btn .hidden {
  opacity: 0;
}
.newsletter .title + .paris-button .subscription-btn.disabled, .newsletter-form-inline .subscription-btn.disabled {
  cursor: default;
}
.newsletter .title + .paris-button .subscription-btn.disabled::before, .newsletter-form-inline .subscription-btn.disabled::before {
  background-color: rgba(0, 0, 0, 0);
}
.newsletter .messages {
  position: relative;
}
.newsletter .messages .success-message,
.newsletter .messages .error-message {
  font-size: 1.1rem;
  margin-top: 0.6rem;
  text-align: left;
}
.newsletter .messages .success-message.hidden,
.newsletter .messages .error-message.hidden {
  visibility: hidden;
}
.newsletter .messages .success-message {
  color: #257d1b;
}
.newsletter .messages .error-message {
  color: #d71d31;
}
.newsletter-latest-edition {
  color: #354bcf;
  font-size: 1.2rem;
  margin: 2.4rem 0 0;
}
.newsletter-latest-edition a {
  color: #354bcf;
  transition: color 0.2s ease;
}
.newsletter-latest-edition a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.newsletter-latest-edition a::after {
  transition: color 0.2s ease;
}
.newsletter-latest-edition a:hover, .newsletter-latest-edition a:active {
  color: #071f32;
}
.newsletter-latest-edition a[target=_blank] {
  padding-right: 1.5em;
}
.newsletter-latest-edition a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23354bcf' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.newsletter-latest-edition a[target=_blank]:hover::after, .newsletter-latest-edition a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.newsletter.has-form-only {
  border: 0;
  margin: 0;
  padding: 0;
}
.newsletter.has-form-only .newsletter-form-container {
  margin-bottom: 0;
}
@media (max-width: 799px) {
  .newsletter {
    margin: 2rem 3rem;
  }
  .newsletter .title br {
    display: none;
  }
  .newsletter .alerts-content .newsletter-form-inline .input-and-message .newsletter-form-input {
    flex-grow: 1;
  }
  .newsletter .newsletter-form-inline {
    flex-direction: column;
  }
  .newsletter .newsletter-form-inline .subscription-btn {
    margin-top: 1.6rem;
    width: 100%;
  }
  .newsletter .newsletter-form-inline .input-and-message > .messages > .success-message,
  .newsletter .newsletter-form-inline .input-and-message > .messages > .error-message {
    top: -2.8rem;
  }
  .newsletter .newsletter-form-container {
    margin-bottom: unset;
  }
}
@media (max-width: 1000px) {
  .newsletter .newsletter-form-container {
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.alerts-content .newsletter .messages .success-message,
.alerts-content .newsletter .messages .error-message {
  position: relative;
  font-size: 1.5rem;
}
.alerts-content .newsletter .messages .success-message a,
.alerts-content .newsletter .messages .error-message a {
  color: inherit;
}
.alerts-content .newsletter {
  width: 100%;
}
.alerts-content .newsletter .loading-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.alerts-content .newsletter-form-inline .subscription-btn .paris-icon-loader,
.alerts-content .newsletter-form-inline .subscription-btn .paris-icon-check {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  right: unset;
  bottom: unset;
}

.place {
  color: #fff;
  line-height: 1.4;
  margin: 2rem 0;
  position: relative;
}
.place-container {
  background: #071f32 url(/assets/components/blocks/place_component/bg-place.png) no-repeat center center;
  background-size: cover;
  padding: 4.5rem 7.5rem 4.5rem 8.7rem;
  position: relative;
}
.place-title {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.place-title:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.place-title .paris-button {
  right: 2rem;
  position: absolute;
  top: 2rem;
}
.place-title:hover, .place-title:focus {
  text-decoration: none;
}
.place-title:hover .paris-button::before, .place-title:focus .paris-button::before {
  width: 100%;
}
.place-title:hover .paris-button .paris-button-text, .place-title:focus .paris-button .paris-button-text {
  color: #fff;
}
.place-title:hover .paris-button .paris-icon, .place-title:focus .paris-button .paris-icon {
  fill: #fff;
}
.place-address-extra {
  margin-top: 2rem;
}
.place-location, .place-access {
  align-content: center;
  display: flex;
  justify-content: flex-start;
}
.place-location .paris-icon, .place-access .paris-icon {
  flex-grow: 0;
  flex-shrink: 0;
  fill: #fff;
  height: 3.2rem;
  margin: 1rem 4rem 0 0;
  width: 3.2rem;
}
.place-location:first-of-type .place-detail, .place-access:first-of-type .place-detail {
  padding-top: 0;
}
.place-location:last-child .place-detail, .place-access:last-child .place-detail {
  border-bottom: none;
  padding-bottom: 0;
}
.place-location .paris-icon {
  fill: #d22638;
  margin-top: 0.3rem;
}
.place-detail {
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.15);
  flex-grow: 1;
  padding: 1.6rem 0 1.8rem;
  text-align: left;
}
.place-map {
  background-color: #f2f2f2;
  height: 20vw;
  margin-bottom: 1rem;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 1;
}
.place-map .leaflet-pane.leaflet-tile-pane {
  filter: grayscale(100%);
}
@media (max-width: 799px) {
  .place {
    padding: 7rem 3rem 3.5rem 2.4rem;
  }
  .place-access .paris-icon, .place-location .paris-icon {
    margin-right: 2.5rem;
  }
  .place-container {
    margin-left: -3rem;
    margin-right: -3rem;
    padding: 6rem 2.5rem;
  }
  .place-map {
    height: 70vw;
  }
}
.place-skip-link {
  background-color: #354bcf;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  left: -999rem;
  padding: 0.5rem 1rem;
  position: absolute;
  text-decoration: none;
  z-index: 9999;
}
.place-skip-link:focus {
  left: 0;
}

.quiz iframe {
  width: 100%;
}

@media (max-width: 499px) {
  .quiz iframe {
    max-width: 295px;
  }
}
.blocks--reference {
  background-color: #f4f3f3;
  position: relative;
}
.blocks--reference-number {
  background-image: url(/../../search/search_hits_component/map/marker.svg);
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff !important;
  font-size: 1.3rem;
  font-weight: 800;
  left: -0.5rem;
  letter-spacing: -0.02rem;
  position: absolute;
  text-align: center;
  text-decoration: none;
  top: -1rem;
  transition: transform 0.2s ease, filter 0.2s ease;
}
.blocks--reference.is-active .blocks--reference-number {
  transform: scale(1.2);
}
.blocks--reference-number:hover, .blocks--reference-number.is-active, .blocks--reference:hover .blocks--reference-number, .blocks--reference.is-active .blocks--reference-number {
  filter: brightness(2);
}
.blocks--reference:hover .blocks--reference-link-label {
  color: #071f32;
}
.blocks--reference-link {
  text-decoration: none;
}
.blocks--reference-link::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.blocks--reference-label {
  color: #354bcf;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.01rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.blocks--reference-title {
  color: #071f32;
  display: block;
  font-size: 1.8rem;
  font-weight: 800;
}
.blocks--reference-address, .blocks--reference-date {
  display: flex;
  font-size: 1.5rem;
  font-weight: 500;
}
.blocks--reference-address .paris-icon, .blocks--reference-date .paris-icon {
  fill: #354bcf;
  height: 2.8rem;
  flex-shrink: 0;
  margin-right: 1.2rem;
  width: 2.4rem;
}
.blocks--reference-address {
  margin-bottom: 1.4rem;
}
.blocks--reference-address, .blocks--reference-date, .blocks--reference-text {
  line-height: 1.6;
}
.blocks--reference-text a {
  color: #d22638;
  transition: color 0.2s ease;
}
.blocks--reference-text a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.blocks--reference-text a::after {
  transition: color 0.2s ease;
}
.blocks--reference-text a:hover, .blocks--reference-text a:active {
  color: #071f32;
}
.blocks--reference-text a[target=_blank] {
  padding-right: 1.5em;
}
.blocks--reference-text a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.blocks--reference-text a[target=_blank]:hover::after, .blocks--reference-text a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.blocks--reference-text a {
  position: relative;
}
.blocks--reference-link-label {
  align-items: center;
  color: #d22638;
  display: flex;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: underline;
}
.blocks--reference-link-label .paris-icon {
  fill: currentColor;
  flex-shrink: 0;
  margin-right: 2rem;
  width: 5rem;
}
.blocks--reference .qfap--tag:after {
  background-color: transparent;
}
.blocks--reference .qfap--tag:hover svg {
  fill: #f4f3f3;
}
.blocks--reference.has-default-format .blocks--reference-header {
  margin-bottom: 2rem;
}
.blocks--reference.has-default-format .blocks--reference-label {
  padding-top: 2rem;
}
.blocks--reference.has-default-format .blocks--reference-title {
  margin-bottom: 2rem;
  margin-top: 2.5rem;
}
.blocks--reference.has-default-format .blocks--reference-image-wrapper {
  aspect-ratio: 16/10;
  overflow: hidden;
  max-height: 17.5rem;
  max-width: 28rem;
  width: 100%;
}
.blocks--reference.has-default-format .blocks--reference-image-wrapper .blocks--reference-image {
  max-height: 100%;
  object-fit: cover;
  width: 100%;
}
.blocks--reference.has-default-format .blocks--reference-label + .blocks--reference-title {
  margin-top: 0;
}
.blocks--reference.has-centered-format .blocks--reference-heading {
  text-align: center;
}
.blocks--reference.has-centered-format .blocks--reference-title {
  margin-bottom: 3rem;
}
.blocks--reference.has-centered-format .blocks--reference-image {
  display: block;
  margin: 3rem auto;
  max-width: 100%;
}
.blocks--reference.has-centered-format .blocks--reference-text,
.blocks--reference.has-centered-format .blocks--reference-link-label {
  max-width: 57.5rem;
  margin: 0 auto;
}
.blocks--reference.has-centered-format .blocks--reference-link-label {
  margin-top: 3rem;
}
@media (max-width: 799px) {
  .blocks--reference {
    padding: 1.4rem 2rem 4rem;
    margin-bottom: 2rem;
  }
  .blocks--reference-number {
    height: 3.5rem;
    line-height: 2.6rem;
    width: 3rem;
  }
  .blocks--reference.has-default-format .blocks--reference-header {
    display: flex;
    flex-direction: column-reverse;
  }
  .blocks--reference.has-default-format .blocks--reference-link-label {
    margin-top: 2rem;
  }
}
@media (min-width: 800px) {
  .blocks--reference {
    margin-bottom: 3rem;
  }
  .blocks--reference-number {
    height: 4.3rem;
    line-height: 3.4rem;
    width: 3.6rem;
  }
  .blocks--reference.has-default-format .blocks--reference-header {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
  .blocks--reference.has-default-format .blocks--reference-heading {
    padding-right: 2rem;
  }
  .blocks--reference.has-default-format .blocks--reference-image-wrapper {
    margin-right: 3.5rem;
  }
  .blocks--reference.has-default-format .blocks--reference-text {
    padding: 0 2rem 2rem 4rem;
  }
  .blocks--reference.has-default-format .blocks--reference-header + .blocks--reference-link-label {
    bottom: 2rem;
    left: 31.5rem;
    pointer-events: none;
    position: absolute;
  }
  .blocks--reference.has-default-format .blocks--reference-text + .blocks--reference-link-label {
    padding: 0 2rem 3rem 4rem;
  }
  .blocks--reference.has-centered-format {
    padding: 3rem 4rem 4rem;
  }
}

.paris-table a {
  color: #d22638;
  transition: color 0.2s ease;
}
.paris-table a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-table a::after {
  transition: color 0.2s ease;
}
.paris-table a:hover, .paris-table a:active {
  color: #071f32;
}
.paris-table a[target=_blank] {
  padding-right: 1.5em;
}
.paris-table a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.paris-table a[target=_blank]:hover::after, .paris-table a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
table.paris-table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 auto 4rem;
  max-width: 100%;
}

.paris-table thead .paris-table-th {
  font-size: 1.2rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 0.04rem;
  line-height: 2;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
  vertical-align: bottom;
  width: 33rem;
}
.paris-table thead .paris-table-th > span {
  display: block;
  padding: 1rem;
}
.paris-table tbody .paris-table-tr:first-child .paris-table-td {
  position: relative;
}
.paris-table tbody .paris-table-tr:first-child .paris-table-td::before {
  background-color: #071f32;
  content: "";
  display: block;
  height: 0.6rem;
  left: 0;
  position: absolute;
  right: 0.6rem;
  top: 0;
}
.paris-table tbody .paris-table-tr:first-child .paris-table-td:last-child::before {
  right: 0;
}
.paris-table tbody .paris-table-tr:first-child .paris-table-td:nth-child(odd)::before {
  background-color: #354bcf;
}
.paris-table tbody .paris-table-td {
  background: #f2f2f2;
  border-bottom: 0.2rem solid #fff;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.54;
  padding: 0;
}
.paris-table tbody .paris-table-td:not(:first-child) > span {
  border-left: 0.1rem solid #d1d1d1;
}
.paris-table tbody .paris-table-td > div, .paris-table tbody .paris-table-td > span, .paris-table tbody .paris-table-td > p {
  display: block;
  padding: 1.7rem 1rem;
}
.paris-table tbody .paris-table-td > p {
  margin-bottom: 0;
}
@media (max-width: 799px) {
  table.paris-table {
    display: none;
  }
  .paris-table.is-small-alternative {
    margin-bottom: 4rem;
  }
  .paris-table.is-small-alternative .paris-table-alt-panel[aria-hidden=true] {
    display: none;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading,
  .paris-table.is-small-alternative .paris-table-alt-panel {
    background: #f2f2f2;
    margin: 0;
  }
  .paris-table.is-small-alternative .paris-table-alt-panel + .paris-table-alt-heading {
    margin-top: 1rem;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading {
    align-items: center;
    border-top: 0.4rem solid #354bcf;
    display: flex;
    justify-content: space-between;
    padding: 1rem;
    width: 100%;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading .paris-table-alt-heading-title {
    font-weight: 700;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading .paris-table-alt-heading-subtitle {
    display: block;
    font-weight: 500;
    margin-top: -0.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: calc(100vw - 12rem);
  }
  .paris-table.is-small-alternative .paris-table-alt-heading .paris-table-alt-heading-subtitle.is-hidden {
    display: none;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading > button {
    -webkit-appearance: none;
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    height: 4rem;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading > button:focus-visible {
    outline: 0.3rem solid #354bcf;
    outline-offset: 0.25rem;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading > button:focus {
    color: #071f32;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading > button .paris-icon {
    fill: #354bcf;
    flex-shrink: 0;
    margin-left: auto;
    pointer-events: none;
    transform: rotate(0);
    transition: transform 0.2s ease;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading > button[aria-expanded=true] .paris-icon {
    transform: rotate(180deg);
  }
  .paris-table.is-small-alternative .paris-table-alt-heading.is-odd {
    border-top-color: #071f32;
  }
  .paris-table.is-small-alternative .paris-table-alt-heading.is-odd .paris-icon {
    fill: #071f32;
  }
  .paris-table.is-small-alternative .paris-table-alt-panel {
    margin-top: -1rem;
    padding: 1rem 1rem 2rem;
    text-align: left;
  }
  .paris-table.is-small-alternative .paris-table-alt-panel dl {
    margin: 0;
  }
  .paris-table.is-small-alternative .paris-table-alt-panel dt {
    font-size: 1.1rem;
    margin: 2rem 0 0.5rem;
    text-transform: uppercase;
  }
  .paris-table.is-small-alternative .paris-table-alt-panel dt:first-child {
    margin-top: 0;
  }
  .paris-table.is-small-alternative .paris-table-alt-panel dd {
    font-size: 1.4rem;
    font-weight: 500;
    margin-left: 0;
  }
  .paris-table.is-small-alternative .paris-table-accordion.is-expanded-by-default .paris-table-alt-heading > button {
    cursor: default;
    display: none;
  }
  .paris-table.is-small-alternative .paris-table-accordion.is-expanded-by-default .paris-table-alt-panel {
    margin-top: 0;
  }
}
@media (min-width: 800px) {
  .paris-table.is-small-alternative {
    display: none;
  }
}

.text {
  margin: 0 auto;
  max-width: 90rem;
  position: relative;
}
.text a {
  color: #d22638;
  transition: color 0.2s ease;
}
.text a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.text a::after {
  transition: color 0.2s ease;
}
.text a:hover, .text a:active {
  color: #071f32;
}
.text a[target=_blank] {
  padding-right: 1.5em;
}
.text a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.text a[target=_blank]:hover::after, .text a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.text p {
  margin: 0 0 2rem;
}
.text strong {
  font-weight: 700;
}
.text em {
  font-style: italic;
}
.text .underline {
  text-decoration: underline;
}
.text-content {
  margin: 0 !important;
}
.text.is-lead {
  color: #354bcf;
  font-weight: 600;
  letter-spacing: -0.04rem;
  line-height: 1.3;
}
.text.is-blue {
  color: #354bcf;
  font-weight: 600;
}
.text.is-centered {
  text-align: center;
}
.text.is-not-found {
  font-size: 2.3rem;
  line-height: 1.5;
  font-weight: 600;
}
.text.is-not-found.smaller {
  font-size: 1.7rem;
}
.text.space-bottom {
  margin-bottom: 2rem;
}
@media (max-width: 799px) {
  .text.is-lead {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
@media (min-width: 800px) {
  .text.is-lead {
    font-size: 2rem;
    margin-bottom: 4rem;
  }
}

.title {
  color: #071f32;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  margin: 0 0 2rem;
  transition: color 0.3s ease;
}
.title:focus-visible {
  box-shadow: 0 0 0 0.3rem #354bcf;
  outline: 0;
}
.title.is-level-1 {
  font-weight: 900;
  line-height: 1.09;
}
.title.is-level-2 {
  font-weight: 900;
  line-height: 1.125;
}
.title.is-level-3 {
  color: #d22638;
  line-height: 1.36;
}
.title.is-level-4 {
  line-height: 1.33;
}
.title.is-level-5 {
  color: #354bcf;
  font-weight: 600;
  line-height: 1.5;
}
.title.is-level-6 {
  color: #071f32;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.5;
  text-transform: uppercase;
}
.title.is-red {
  color: #d22638;
}
.title.is-white {
  color: #fff;
}
.title.is-blue {
  color: #354bcf;
}
.title.is-oxfordblue {
  color: #394c5b;
}
.title.is-blackpearl {
  color: #071f32;
}
.title.is-white-50 {
  color: rgba(255, 255, 255, 0.5);
}
.title.is-uppercase {
  text-transform: uppercase;
}
.title.is-not-found {
  font-size: 6rem;
  font-weight: 800;
}
.title.is-line-through {
  text-decoration: line-through;
}
.title .header {
  font-size: 5.1rem;
}
.title .footer {
  font-size: 1.6rem;
}
@media (max-width: 499px) {
  .title.is-level-1 {
    font-size: 2.6rem;
  }
  .title.is-level-1 .header {
    font-size: 2.6rem;
  }
  .title.is-level-2 {
    font-size: 2.2rem;
  }
  .title.is-level-3 {
    font-size: 1.8rem;
  }
  .title.is-level-4 {
    font-size: 1.6rem;
  }
  .title.is-level-5 {
    font-size: 1.6rem;
  }
  .title.is-not-found {
    font-size: 4rem;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .title.is-level-1 {
    font-size: 3.2rem;
  }
  .title.is-level-1 .header {
    font-size: 3.2rem;
  }
  .title.is-level-2 {
    font-size: 2.6rem;
  }
  .title.is-level-3 {
    font-size: 2rem;
  }
  .title.is-level-4 {
    font-size: 1.8rem;
  }
  .title.is-level-5 {
    font-size: 1.6rem;
  }
  .title.is-not-found {
    font-size: 4rem;
  }
}
@media (min-width: 800px) {
  .title.is-level-1 {
    font-size: 4.2rem;
  }
  .title.is-level-2 {
    font-size: 3.1rem;
  }
  .title.is-level-3 {
    font-size: 2.2rem;
  }
  .title.is-level-4 {
    font-size: 2rem;
  }
  .title.is-level-5 {
    font-size: 1.8rem;
  }
  .title.is-not-found {
    font-size: 6rem;
  }
}

.blocks--tf {
  background-color: #ECFAEA;
  padding: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  color: #257D1B;
  width: fit-content;
}
.blocks--tf.is-false {
  background-color: #FFF2F2;
  color: #d71d30;
}
.blocks--tf.is-neutral-plus, .blocks--tf.is-neutral-minus {
  background-color: #FFFAE6;
  color: #FFA13D;
}
.blocks--tf-container {
  display: flex;
  align-items: center;
}
.blocks--tf-icon {
  margin-right: 1rem;
  line-height: 0;
}
.blocks--tf-icon svg {
  fill: currentColor;
  max-height: 2.2rem;
}
.blocks--tf-icon .tf-icon {
  width: 2.7rem;
  height: 2.2rem;
}
.blocks--tf-text {
  font-weight: 700;
  margin: 0;
}

.verbatim {
  margin-left: auto;
  margin-right: auto;
  padding: 0 8rem;
  text-align: center;
}
.verbatim::before {
  border-top: 0.35rem solid #f2f2f2;
  content: "";
  display: block;
  margin: 0 auto 1rem auto;
  width: 7rem;
}
.verbatim-blockquote {
  margin: 0;
  padding: 0;
}
.verbatim-text {
  font-size: 2.2rem;
  font-style: italic;
  font-weight: 700;
  hyphens: auto;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin: 2.5rem auto;
  padding: 0 2rem;
  position: relative;
  width: fit-content;
}
.verbatim-text::before, .verbatim-text::after {
  display: inline;
}
.verbatim-text::before {
  content: "« ";
  position: absolute;
  left: -3rem;
  top: -4.7rem;
  color: #ccc;
  font-size: 5rem;
}
.verbatim-text::after {
  content: " »";
  position: absolute;
  right: -3rem;
  bottom: -3.9rem;
  color: #ccc;
  font-size: 5rem;
}
.verbatim-source {
  display: block;
  font-style: normal;
  margin: 1.6rem 0 1rem;
}
.verbatim-author {
  color: #d22638;
  display: block;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.44;
  margin-bottom: 0.7rem;
}
.verbatim-position {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-transform: uppercase;
}
@media (max-width: 799px) {
  .verbatim {
    padding: 0 4rem;
    max-width: 100%;
  }
  .verbatim .verbatim-text {
    font-size: 2rem;
    line-height: 1.3;
  }
  .verbatim .verbatim-author {
    line-height: 1.33;
  }
}
@media (min-width: 800px) {
  .verbatim {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

.giant-container .verbatim {
  max-width: none;
}

.paris-video {
  overflow: hidden;
  margin: 5rem 0;
  padding-top: 56.25%;
  position: relative;
}
.paris-video > iframe {
  border: none;
  left: 0;
  width: 100%;
  min-height: 100%;
  position: absolute;
  height: calc(800 / var(--video-ratio));
  top: 0;
}
.paris-video.instagram-content {
  padding-top: 160% !important;
}
@media (max-width: 499px) {
  .paris-video.has-cookies-message {
    padding-top: 0 !important;
  }
}

.description {
  margin-bottom: 3rem;
  text-align: right;
}

.blocks--wq {
  position: relative;
}
.blocks--wq-inline {
  display: inline;
}
.blocks--wq-flow-icon {
  height: 1.7em;
  margin-right: 0.5rem;
}
.blocks--wq-rainfall-icon {
  margin-right: 0.5rem;
  vertical-align: 0.05rem;
}
.blocks--wq-weather {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 1.4rem;
}
.blocks--wq-weather .hidden {
  display: none;
}
.blocks--wq-weather-alignement {
  padding: 0 2rem 0 5rem;
}
.blocks--wq-weather-weekdays {
  padding: 2rem 2rem 2rem 5rem;
  position: sticky;
  top: 8rem;
  z-index: 1;
  margin-top: 3rem;
  background-color: #fff;
  font-weight: 500;
}
.blocks--wq-item {
  flex: 1 0 14.2857142857%;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.5;
}
.blocks--wq-helper {
  display: flex;
  justify-content: center;
  font-size: 1.1rem;
  color: #000;
  font-weight: 500;
  text-align: center;
  position: relative;
  width: 100%;
  margin: 1.5rem 0 0.8rem;
}
.blocks--wq-helper-text > span {
  font-weight: 300;
}
.blocks--wq-helper span {
  font-weight: 300;
}
.blocks--wq-helper::before, .blocks--wq-helper::after {
  content: "";
  flex-grow: 1;
  height: 0.1rem;
  background-color: #bbb;
  margin: 1rem 1rem 0;
  min-width: 1rem;
}
.blocks--wq-helper::before {
  margin-right: 1rem;
}
.blocks--wq-helper::after {
  margin-left: 1rem;
}
.blocks--wq-flow, .blocks--wq-temperature {
  display: inline-flex;
  align-items: center;
}
.blocks--wq-days {
  font-weight: 600;
  font-size: 1.6rem;
  color: #071f32;
  text-align: center;
}
.blocks--wq-days::first-letter {
  text-transform: uppercase;
}
.blocks--wq-days.current {
  color: #354bcf;
}
.blocks--wq-days-weekday {
  display: block;
  font-size: 1.3rem;
}
.blocks--wq-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background-color: #f2f2f2;
  border-radius: 50%;
  cursor: pointer;
}
.blocks--wq-navigation-left, .blocks--wq-navigation-right {
  position: absolute;
  top: 3rem;
}
.blocks--wq-navigation-left {
  left: 1rem;
}
.blocks--wq-navigation-right {
  right: -2rem;
}
.blocks--wq-navigation i {
  font-size: 1.5rem;
  pointer-events: none;
}
.blocks--wq-navigation.disabled {
  cursor: default;
}
.blocks--wq-navigation.disabled i {
  color: #788693;
}
.blocks--wq-text {
  font-size: 1.4rem;
  font-weight: 500;
  background-color: #f2f6ff;
  margin-top: 2rem;
  padding: 1.4rem 1.5rem;
}
.blocks--wq-text > p, .blocks--wq-text > ul {
  margin-top: 0;
  margin-bottom: 0;
}
.blocks--wq-text > ul {
  padding-left: 1.4rem;
}
.blocks--wq-text > p:not(:last-child), .blocks--wq-text > ul:not(:last-child), .blocks--wq-text > ul > li {
  margin-bottom: 1.2rem;
}
.blocks--wq-text-details {
  background-color: transparent;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1.3rem;
  font-weight: 400;
}
.blocks--wq-text-details-p {
  padding: 1.5rem;
  font-size: 1.3rem;
  text-align: center;
  max-width: 36em;
  margin-left: auto;
  margin-right: auto;
}
.blocks--wq-text-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
}
.blocks--wq-text-logos svg:first-child {
  margin-right: 9rem;
}
.blocks--wq-ecoli, .blocks--wq-enterococci {
  margin-top: 2rem;
  width: 100%;
  height: 42rem;
}
.blocks--wq-titles {
  margin: 3rem 0 1rem;
  font-size: 1.3rem;
  font-weight: 400;
}
.blocks--wq-titles strong {
  font-size: 1.5rem;
  font-weight: 600;
}
.blocks--wq hr {
  border: none;
  height: 0.4rem;
  background-color: #f2f6ff;
  margin: 4rem 0 2rem;
}
.blocks--wq-tooltip {
  position: absolute;
  font-size: 1.2rem;
  pointer-events: none;
  background-color: #f2f6ff;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.04);
  border: solid 1px #f2f6ff;
  padding: 0.6rem;
  font-family: "Montserrat", sans-serif;
  text-align: left;
  z-index: 1;
  width: fit-content;
}
.blocks--wq-tooltip-title {
  color: #555555;
  font-size: 1.2rem;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: normal;
  margin-bottom: 1rem;
}
.blocks--wq-tooltip-value {
  font-size: 1.4rem;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.29;
  letter-spacing: normal;
  color: #071f32;
}
.blocks--wq-mobile {
  display: none;
}
.blocks--wq-map {
  margin-top: 2rem;
  height: auto;
  width: 100%;
  display: flex;
  justify-content: start;
}
.blocks--wq-map svg {
  max-width: 46rem;
}

.chartjs-tooltip {
  font-family: "Montserrat", sans-serif;
  width: 29rem;
  background-color: #f2f6ff;
  border: none;
}
.chartjs-tooltip .blocks--wq-tooltip-container {
  padding: 1rem;
}
.chartjs-tooltip .blocks--wq-tooltip-title {
  color: #071f32;
  font-size: 1.3rem;
  margin-bottom: 0.4rem;
  font-weight: 600;
}
.chartjs-tooltip .blocks--wq-tooltip-title::first-letter {
  text-transform: capitalize;
}
.chartjs-tooltip .blocks--wq-tooltip-subtitle {
  color: #071f32;
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  font-weight: 400;
}
.chartjs-tooltip .blocks--wq-tooltip-data {
  margin-bottom: 0.5rem;
  color: #071f32;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0.5rem;
}
.chartjs-tooltip .blocks--wq-tooltip-name {
  display: inline-block;
  font-weight: 400;
  font-size: 1.2rem;
}
.chartjs-tooltip .blocks--wq-tooltip-name::before {
  content: " ";
  margin-right: 0.5rem;
  margin-top: 0.4rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  display: inline-block;
}
.chartjs-tooltip .blocks--wq-tooltip-name.item-bercy::before {
  background-color: #2effe6;
}
.chartjs-tooltip .blocks--wq-tooltip-name.item-marie::before {
  background-color: #0f776a;
}
.chartjs-tooltip .blocks--wq-tooltip-name.item-alexandre::before {
  background-color: #354bcf;
}
.chartjs-tooltip .blocks--wq-tooltip-name.item-grenelle::before {
  background-color: #37c3b2;
}
.chartjs-tooltip .blocks--wq-tooltip-value {
  display: inline-block;
  font-weight: 600;
  margin-left: 0.5rem;
  font-size: 1.2rem;
}
.chartjs-tooltip .blocks--wq-tooltip-value::after {
  content: "UFC / 100 ml";
  margin-left: 0.5rem;
  font-weight: 400;
}

@media (max-width: 799px) {
  .blocks--wq-weather-weekdays {
    top: 1rem !important;
  }
}
@media (min-width: 800px) {
  .blocks--wq-weather-weekdays {
    top: 6rem !important;
  }
}
@media (min-width: 1140px) {
  .blocks--wq-weather-weekdays {
    top: 8rem !important;
  }
}
@media (max-width: 1139px) {
  .blocks--wq-days-weekday, .blocks--wq-days-month {
    font-size: 1rem !important;
  }
  .blocks--wq-days-day {
    font-size: 1.5rem !important;
  }
  .blocks--wq-ecoli, .blocks--wq-enterococci {
    height: 30rem;
  }
}
@media (max-width: 499px) {
  .chartjs-tooltip {
    width: 19rem;
  }
  .chartjs-tooltip .blocks--wq-tooltip-data {
    grid-template-columns: 1.8fr 0.2fr;
    grid-template-rows: 1fr;
    grid-gap: 0.5rem;
  }
  .chartjs-tooltip .blocks--wq-tooltip-value::after {
    content: "";
  }
  .blocks--wq-text-logos svg:first-child {
    margin-right: 3rem;
  }
  .blocks--wq-days-weekday, .blocks--wq-days-month {
    font-size: 1rem !important;
  }
  .blocks--wq-days-day {
    font-size: 1.5rem !important;
  }
  .blocks--wq-weather-alignement {
    padding: unset;
  }
  .blocks--wq-weather-weekdays {
    padding: 1rem 0;
    top: 0 !important;
  }
  .blocks--wq-tooltip-subtitle {
    width: 55%;
    font-size: 1.1rem !important;
  }
  .blocks--wq-navigation-left, .blocks--wq-navigation-right {
    top: 2.4rem;
  }
  .blocks--wq-navigation-left {
    left: -2.8rem;
  }
  .blocks--wq-navigation-right {
    right: -2.8rem;
  }
  .blocks--wq-flow, .blocks--wq-rainfall {
    display: block;
  }
  .blocks--wq-flow-icon, .blocks--wq-rainfall-icon {
    height: 2rem;
    display: block;
  }
  .blocks--wq-days-day {
    font-size: 1.8rem;
  }
  .blocks--wq-mobile {
    display: block;
  }
  .blocks--wq-desktop {
    display: none;
  }
}
.blocks--periph-air {
  position: relative;
}
.blocks--periph-air-inline {
  display: inline;
}
.blocks--periph-air-title {
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  color: #071f32;
}
.blocks--periph-air-title-head {
  color: #354bcf;
  font-size: 2rem;
}
.blocks--periph-air-title-footer {
  font-size: 1.5rem;
  color: #071f32;
}
.blocks--periph-air-card {
  display: flex;
  background-color: #fff;
  box-shadow: 0 0 0 0.1rem rgba(0, 0, 0, 0.12);
  padding: 2rem;
  margin: 2rem 0;
}
.blocks--periph-air-card-aside {
  width: 30%;
  color: #354bcf;
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 600;
  margin-right: 1rem;
  line-height: 1.4;
}
.blocks--periph-air-card-aside span {
  margin-left: 2rem;
  overflow-wrap: anywhere;
}
.blocks--periph-air-card-content {
  border-left: 1px solid rgba(0, 0, 0, 0.12);
  width: 70%;
  padding-left: 1rem;
}
.blocks--periph-air-card-content-col, .blocks--periph-air-card-content-row {
  display: flex;
  gap: 2rem;
}
.blocks--periph-air-card-content-row {
  flex-wrap: wrap;
}
.blocks--periph-air-card-content-col {
  align-items: flex-start;
  gap: 1.6rem;
  width: 0;
  flex-grow: 1;
  min-width: 200px;
  padding-left: 1rem;
  max-width: max-content;
}
.blocks--periph-air-card-content-arrow {
  border-radius: 50%;
  border: 1px solid;
  height: 4.5rem;
  width: 4.5rem;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  line-height: 4.5rem;
  margin-top: 0.3rem;
}
.blocks--periph-air-card-content-arrow-wrapper {
  width: 4.5rem;
}
.blocks--periph-air-card-content-arrow.up {
  transform: rotate(-45deg);
}
.blocks--periph-air-card-content-arrow.straight {
  transform: rotate(0);
  line-height: 4.4rem;
}
.blocks--periph-air-card-content-arrow.down {
  transform: rotate(45deg);
}
.blocks--periph-air-card-content-arrow.up, .blocks--periph-air-card-content-arrow.down {
  margin-right: 0.5rem;
}
.blocks--periph-air-card-content-arrow.green {
  color: #257d1b;
  background-color: #ECFAEA;
  border-color: #ECFAEA;
}
.blocks--periph-air-card-content-arrow.red {
  color: #d71d30;
  background-color: #FFF2F2;
  border-color: #FFF2F2;
}
.blocks--periph-air-card-content-arrow.orange {
  background-color: #FFFAE6;
  border-color: #FFFAE6;
  color: #FFA13D;
}
.blocks--periph-air-card-content-digit {
  display: flex;
  flex-direction: column;
  margin-top: 0.4rem;
}
.blocks--periph-air-card-content-digit-text {
  font-size: 2.2rem;
  font-weight: 600;
}
.blocks--periph-air-card-content-digit-subtext {
  font-size: 1.4rem;
  font-weight: 400;
  display: inline-block;
  line-height: 1.4;
}
.blocks--periph-air-card-content-details-text {
  font-size: 1.2rem;
  font-weight: 400;
  margin-left: 1rem;
}
.blocks--periph-air-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background-color: #f2f2f2;
  border-radius: 50%;
  cursor: pointer;
}
.blocks--periph-air-navigation-left, .blocks--periph-air-navigation-right {
  position: absolute;
  top: 0;
}
.blocks--periph-air-navigation-left {
  left: 1rem;
}
.blocks--periph-air-navigation-right {
  right: -1rem;
}
.blocks--periph-air-navigation i {
  font-size: 1.5rem;
  pointer-events: none;
}
.blocks--periph-air-navigation.disabled {
  cursor: default;
  opacity: 0.2;
}
.blocks--periph-air-navigation.disabled i {
  color: #788693;
}
.blocks--periph-air-source {
  font-size: 1.2rem;
  font-weight: 400;
  margin-bottom: 2rem;
}

@media (max-width: 1099px) {
  .blocks--periph-air-navigation {
    width: 2.5rem;
    height: 2.5rem;
    top: 2.5rem;
  }
  .blocks--periph-air-navigation-left, .blocks--periph-air-navigation-right {
    top: 0;
  }
  .blocks--periph-air-navigation-left {
    left: 0;
  }
  .blocks--periph-air-navigation-right {
    right: 0;
  }
  .blocks--periph-air-navigation i {
    font-size: 1.2rem;
  }
  .blocks--periph-air-title {
    font-size: 1.2rem;
  }
  .blocks--periph-air-title-head {
    font-size: 1.5rem;
  }
  .blocks--periph-air-card {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    margin: 1rem 0;
  }
  .blocks--periph-air-card-aside {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  .blocks--periph-air-card-aside svg {
    margin-top: 1rem;
    width: 4rem;
    height: 4rem;
  }
  .blocks--periph-air-card-aside span {
    margin-left: 0;
    margin-top: 1rem;
  }
  .blocks--periph-air-card-aside::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.12);
    margin-top: 1rem;
  }
  .blocks--periph-air-card-content {
    width: 100%;
    border-left: none;
    padding-left: 0;
  }
  .blocks--periph-air-card-content-details-text {
    text-align: center;
    font-size: 1.2rem;
  }
  .blocks--periph-air-card-content-row {
    justify-content: center;
  }
}
.heading-image-footer::after, .heading-image-footer, .hero-photo-image-footer, .hero-photo-image-footer::after, .image.has-floating-credit .image-credit, .image.has-floating-credit .image-credit::after {
  transition: opacity 0.2s linear;
}

.heading {
  position: relative;
}
.heading-content {
  display: flex;
}
.heading .text {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.54;
}
.heading-title {
  background-color: #fff;
  color: #071f32;
  position: relative;
  text-align: center;
  z-index: 20;
}
.heading-title-content {
  position: relative;
  z-index: 1;
}
.heading-title .title,
.heading-title .update,
.heading-title .tag,
.heading-title .text,
.heading-title .breadcrumbs, .heading-title::after {
  position: relative;
  z-index: 10;
}
.heading-title .title {
  margin-bottom: 1rem;
}
.heading-title-and-tag {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.heading-title-and-tag .title {
  order: 2;
}
.heading-title-and-tag .tag {
  order: 1;
}
.heading-image {
  margin: 0;
  position: relative;
  width: 100%;
  z-index: 10;
}
.heading-image img {
  display: block;
  margin-right: 3rem;
  opacity: 0;
  width: 100%;
}
.heading-image img:not(.initial) {
  transition: opacity 0.5s;
}
.heading-image img.initial, .heading-image img.loaded, .heading-image img.error {
  opacity: 1;
}
.heading-image img:last-child {
  margin-right: 0;
}
.heading-image-footer {
  align-items: flex-end;
  bottom: 0;
  display: flex;
  left: 0;
  margin-top: 0;
  position: absolute;
  right: 0;
}
.heading-image-footer:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.heading-image-footer::after {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  bottom: 1.6rem;
  color: #071f32;
  content: "c";
  display: flex;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  left: 1.6rem;
  line-height: 1;
  opacity: 1;
  padding-bottom: 0.2rem;
  position: absolute;
  visibility: visible;
  width: 2rem;
}
.heading-image-footer .heading-image-caption {
  background-color: rgba(7, 31, 50, 0.5);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0 0 1.2rem 5.4rem;
  max-width: 100%;
  opacity: 0;
  padding: 0.5rem;
  position: relative;
  transition: opacity 0.2s linear, margin 0.2s ease, visibility 0.2s linear;
  z-index: 1;
}
.heading-image-footer:hover .heading-image-caption, .heading-image-footer:focus .heading-image-caption, .heading-image-footer:focus-visible .heading-image-caption {
  opacity: 1;
  margin-left: 4.6rem;
  visibility: visible;
}
.heading.has-dot .heading-title::after {
  background: #071f32;
  border-radius: 50%;
  content: "";
  display: block;
  margin: 2rem auto;
  height: 0.9rem;
  width: 0.9rem;
}
.heading.has-blue-background .heading-image {
  align-items: center;
  background: #071f32;
  display: flex;
  justify-content: center;
}
@media (max-width: 799px) {
  .heading-content {
    flex-direction: column-reverse;
  }
  .heading-title {
    position: relative;
    margin: -5rem 1.2rem 0;
    padding: 1rem 0 2rem;
    width: calc(100% - 2.4rem);
  }
  .heading-title .title.is-level-1 {
    hyphens: auto;
    margin-top: 0.5rem;
  }
  .heading-image {
    width: 100vw;
  }
  .heading-image-footer {
    bottom: 4rem;
  }
  .heading-image-footer .heading-image-caption::after {
    bottom: 0.6rem;
    left: 0.6rem;
  }
}
@media (min-width: 800px) {
  .heading-content {
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  .heading-title {
    margin-top: 10rem;
    padding: 2.5rem 4rem 2rem;
    transform: translateX(-5rem);
    width: 45%;
  }
  .heading-title .tag {
    margin-bottom: 1rem;
  }
  .heading-image {
    flex-shrink: 0;
    width: 55%;
  }
  .heading-image:hover .heading-image-footer, .heading-image:focus .heading-image-footer, .heading-image:focus-visible .heading-image-footer {
    opacity: 1;
    visibility: visible;
  }
  .heading-image-footer {
    opacity: 0;
  }
  .heading-image-footer:focus, .heading-image-footer:focus-visible {
    opacity: 1;
    visibility: visible;
  }
  .heading.has-centered-title {
    margin-bottom: 6rem;
  }
  .heading.has-centered-title .heading-content {
    flex-direction: column-reverse;
    position: relative;
  }
  .heading.has-centered-title .heading-image {
    width: 100%;
  }
  .heading.has-centered-title .heading-title {
    align-self: center;
    max-width: 68.5rem;
    padding-left: 10rem;
    padding-right: 10rem;
    transform: none;
  }
  .heading.has-centered-title .heading-title:first-child {
    margin-top: 6.2rem;
  }
  .heading.has-centered-title.has-image .heading-title {
    bottom: -5rem;
    position: absolute;
  }
}

.heading.is-elected .heading-title {
  align-self: center;
  margin-top: 0;
}
.heading.is-elected .heading-image img {
  margin-right: 0;
}
@media (min-width: 800px) {
  .heading.is-elected {
    margin-bottom: 4rem;
  }
  .heading.is-elected .heading-title {
    padding-bottom: 7rem;
    padding-top: 7.5rem;
  }
  .heading.is-elected .heading-image {
    width: 59.5%;
  }
}

.heading.is-giant.has-centered-title .heading-title .update {
  margin-top: 2rem;
}
.heading.is-giant.has-centered-title .heading-image {
  display: flex;
}
.heading.is-giant.has-centered-title .heading-image img {
  object-fit: cover;
  margin-right: 0;
}
@media (max-width: 799px) {
  .heading.is-giant.has-centered-title .heading-image {
    height: 27.2rem;
  }
}
@media (min-width: 800px) {
  .heading.is-giant .heading-title {
    transform: translateX(-10rem);
    width: 50%;
  }
  .heading.is-giant .heading-image {
    width: 50%;
  }
  .heading.is-giant.has-centered-title .heading-title {
    bottom: -10rem;
    padding-left: 5rem;
    padding-right: 5rem;
    transform: none;
    width: 45%;
  }
  .heading.is-giant.has-centered-title .heading-title .controls {
    margin-top: 2rem;
  }
  .heading.is-giant.has-centered-title .heading-image {
    height: 52.5rem;
    width: 100%;
  }
}

.heading.is-page .heading-image {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
@media (max-width: 499px) {
  .heading.is-page .heading-title {
    margin-top: -3rem;
    margin-left: 0rem;
    padding-left: 3.2rem;
    width: calc(100% - 1.2rem);
  }
  .heading.is-page .heading-image {
    height: auto;
    min-width: 100%;
  }
  .heading.is-page .heading-image img {
    margin-right: unset;
  }
}
@media (min-width: 800px) {
  .heading.is-page {
    margin-bottom: 4rem;
  }
  .heading.is-page .heading-image {
    width: 59.5%;
  }
  .heading.is-page .heading-image img {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .heading.is-page .heading-title {
    width: 40.5%;
  }
  .heading.is-page .heading-title .title.is-level-1 {
    font-size: 4.2rem;
  }
  .heading.is-page .controls {
    margin: 0 0 3rem 33vw;
    max-width: 80rem;
    width: 50vw;
  }
}
@supports not (aspect-ratio: 16/10) {
  .heading.is-page .heading-image::before {
    float: left;
    padding-top: 100%;
    content: "";
  }
  .heading.is-page .heading-image::after {
    display: block;
    content: "";
    clear: both;
  }
}

.heading.is-portfolio {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.heading.is-portfolio .heading-content {
  flex-direction: unset;
  justify-content: center;
}
.heading.is-portfolio .control {
  margin: 3rem;
}
.heading.is-portfolio .heading-title {
  text-align: center;
  width: 100%;
  margin-top: 3rem;
  background-color: transparent;
}
.heading.is-portfolio .heading-title .thirteen-portfolio-items {
  text-align: center;
}
.heading.is-portfolio .heading-title .thirteen-portfolio-items a {
  display: inline-block;
}
.heading.is-portfolio .heading-title .thirteen-portfolio-items span {
  border: 4px solid #d22638;
  color: #d22638;
  display: inline-block;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.02rem;
  padding: 0 3.64rem;
  text-transform: uppercase;
}
.heading.is-portfolio .heading-title .title {
  font-size: calc(1.4rem + 5vw);
  font-weight: 700;
  letter-spacing: 0.04rem;
  text-align: center;
  text-transform: uppercase;
  margin-top: 5rem;
  display: block;
}
.heading.is-portfolio .heading-title .heading-author {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
}
.heading.is-portfolio .heading-title .heading-lead-text {
  font-size: 1.5rem;
  text-align: center;
  margin: 4rem auto;
  max-width: 80rem;
}
.heading.is-portfolio .heading-title .heading-lead-text .text div p {
  white-space: pre-line;
}
@media (max-width: 499px) {
  .heading.is-portfolio .heading-title {
    width: 100% !important;
    margin: auto;
    padding: 0;
  }
  .heading.is-portfolio .heading-title .thirteen-portfolio-items span {
    font-size: 1.6rem;
    border: 2px solid #d22638;
  }
  .heading.is-portfolio .title {
    margin-top: 2rem !important;
    width: 100% !important;
  }
}
@media (min-width: 800px) {
  .heading.is-portfolio .heading-title {
    transform: none;
  }
  .heading.is-portfolio .heading-title::before {
    content: none;
  }
}
@media (min-width: 1440px) {
  .heading.is-portfolio .heading.is-portfolio .heading-title .title {
    font-size: 8.6rem;
  }
}

.heading.is-selection {
  max-height: 34rem;
}
.heading.is-selection .update {
  display: none;
}
.heading.is-selection .heading-content {
  max-width: 2000px;
}
.heading.is-selection .heading-title {
  margin: 0 auto -18rem auto;
  padding: 0 1.5rem;
  transform: translateY(-18rem);
  width: 40vw;
  background: transparent;
}
.heading.is-selection .heading-title::before {
  height: 0;
}
.heading.is-selection .heading-title .title {
  white-space: nowrap;
  color: #e8404e;
  font-family: "Palmer Lake", sans-serif;
  font-size: 9.2rem;
  font-weight: normal;
  letter-spacing: -0.05rem;
  line-height: 0.8;
  margin: 0;
  text-align: left;
}
.heading.is-selection .heading-title .title .footer {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  color: #071f32;
  line-height: 1.8;
}
.heading.is-selection .heading-image {
  display: flex;
}
.heading.is-selection .heading-image > img {
  height: 23.2rem;
  object-position: center top;
}
.heading.is-selection .heading-image.moblie-only {
  display: none;
}
.heading.is-selection .controls {
  margin: 3rem 0 0;
  max-width: 30rem;
  width: 25rem;
  border: none;
  text-align: left;
  padding-left: 0;
}
.heading.is-selection .controls > .control {
  border: none;
  justify-content: flex-start;
  padding-left: 0;
}
.heading.is-selection .controls .control-toggle {
  padding-left: 0;
  font-size: 1.3rem;
}
@media (min-width: 800px) {
  .heading.is-selection {
    flex-direction: column-reverse;
    margin-bottom: -6rem;
  }
  .heading.is-selection .heading-image {
    width: 100%;
  }
  .heading.is-selection .heading-image > img {
    height: auto;
  }
  .heading.is-selection .heading-title {
    max-width: 40rem;
    transform: translateY(-29rem);
    width: 32vw;
  }
  .heading.is-selection .heading-title::before {
    content: none;
  }
}
@media (min-width: 800px) and (max-width: 1149px) {
  .heading.is-selection {
    margin-bottom: 4rem;
  }
}
@media (min-width: 1000px) and (max-width: 1300px) {
  .heading.is-selection {
    margin-bottom: 4.8rem;
  }
}
@media (min-width: 1300px) {
  .heading.is-selection {
    margin-bottom: 9rem;
  }
}
@media (max-width: 999px) {
  .heading.is-selection .heading-title {
    transform: translateY(-22rem);
    bottom: -6rem;
  }
  .heading.is-selection .heading-title .title {
    font-size: 5.1rem !important;
  }
  .heading.is-selection .controls {
    margin-top: 2rem;
  }
}
@media (min-width: 800px) and (max-width: 1149px) {
  .heading.is-selection .heading-title {
    bottom: -3rem;
  }
  .heading.is-selection .heading-image > img {
    height: auto;
  }
}
@media (max-width: 799px) {
  .heading.is-selection {
    min-height: 22rem;
  }
  .heading.is-selection .controls {
    display: none;
  }
}
@media (max-width: 499px) {
  .heading.is-selection {
    min-height: 17rem !important;
  }
  .heading.is-selection .heading-title {
    padding: 8rem 0 0;
  }
  .heading.is-selection .heading-title .title {
    text-align: center;
    font-size: 4.8rem !important;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .heading.is-selection .heading-image {
    height: 16rem;
  }
  .heading.is-selection .heading-image > img {
    height: auto;
  }
  .heading.is-selection .heading-image.moblie-only {
    display: block;
  }
  .heading.is-selection .heading-image.desktop-only {
    display: none;
  }
  .heading.is-selection .controls {
    text-align: center;
  }
}

.heading.is-theme .heading-title .breadcrumbs {
  padding-bottom: 0;
}
.heading.is-theme .heading-title .title {
  font-weight: 800;
  margin-top: 2rem;
}
.heading.is-theme .heading-title .text {
  font-weight: 400;
}
.heading.is-theme.has-centered-title .heading-image {
  display: flex;
}
.heading.is-theme.has-centered-title .heading-image img {
  object-fit: cover;
  margin-right: 0;
}
@media (max-width: 799px) {
  .heading.is-theme.has-centered-title .heading-image {
    height: 23rem;
  }
}
@media (min-width: 800px) {
  .heading.is-theme .heading-title {
    transform: translateX(-10rem);
    width: 50%;
  }
  .heading.is-theme .heading-image {
    width: 50%;
  }
  .heading.is-theme.has-centered-title .heading-title {
    bottom: auto;
    margin-top: -11.5rem;
    max-width: 76rem;
    padding-left: 5rem;
    padding-right: 5rem;
    position: static;
    transform: none;
    width: 100%;
  }
  .heading.is-theme.has-centered-title .heading-image {
    height: 38rem;
    width: 100%;
  }
  .heading.is-theme.has-breadcrumbs .heading-title {
    margin-top: -16rem;
  }
}
@media (min-width: 1140px) {
  .heading.is-theme.has-centered-title .heading-title {
    max-width: 96rem;
  }
}

.qfap--button {
  align-items: center;
  border: none;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-width: 12rem;
  padding: 1.6rem 2rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.qfap--button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
body[data-animations=disabled] .qfap--button {
  transition: none;
}

.qfap--button::before {
  background-color: #fff;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  transition: width 0.3s ease;
  width: 0;
}
body[data-animations=disabled] .qfap--button::before {
  transition: none;
}

.qfap--button:hover::before {
  width: 100%;
}
.qfap--button:disabled {
  cursor: default;
  pointer-events: none;
}
.qfap--button:disabled::before {
  display: none;
}
.qfap--button.hidden {
  display: none;
}
.qfap--button-text {
  color: #fff;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.23;
  pointer-events: none;
  position: relative;
  text-align: center;
  transition: color 0.3s ease;
  z-index: 1;
}
body[data-animations=disabled] .qfap--button-text {
  transition: none;
}

.qfap--button .paris-icon {
  fill: #fff;
  flex-shrink: 0;
  height: 2.4rem;
  margin-right: 0.5rem;
  position: relative;
  transition: fill 0.3s ease;
  width: 2.4rem;
}
body[data-animations=disabled] .qfap--button .paris-icon {
  transition: none;
}

.qfap--button.is-red {
  background-color: #e22c3f;
}
.qfap--button.is-red:hover .qfap--button-text {
  color: #e22c3f;
}
.qfap--button.is-red:hover .paris-icon {
  fill: #e22c3f;
}
.qfap--button.is-blue {
  background-color: #354bcf;
}
.qfap--button.is-blue::before {
  background-color: #071f32;
}
.qfap--button.is-blue:hover .qfap--button-text {
  color: #fff;
}
.qfap--button.is-blue:hover .paris-icon {
  fill: #fff;
}
.qfap--button.has-locale-fr .qfap--button-text::after {
  content: "(fr)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}
.qfap--button.has-locale-en .qfap--button-text::after {
  content: "(en)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}

.qfap--card {
  list-style: none;
}
.qfap--card-link {
  color: #071f32;
  display: flex;
  text-decoration: none;
}
.qfap--card-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--card-link:hover img, .qfap--card-link:focus img {
  transform: scale(1.15);
}
.qfap--card-image {
  display: block;
}
.qfap--card-image-mask {
  overflow: hidden;
  background-color: #ccc;
}
.qfap--card-image img {
  display: block;
  transform: scale(1);
  transition: transform 0.2s ease;
  width: 100%;
}
body[data-animations=disabled] .qfap--card-image img {
  transition: none;
}

.qfap--card-wrapper {
  position: relative;
  text-align: left;
  z-index: 1;
}
.qfap--card-title {
  line-height: 1.33;
}
.qfap--card.image-landscape .qfap--card-image-mask {
  aspect-ratio: 16/10;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qfap--card-content {
  line-height: 1.73;
  margin-top: 1rem;
}
.qfap--card-countdown, .qfap--card-quiz-details {
  align-items: center;
  color: #354bcf;
  display: flex;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 2rem 0;
  text-transform: uppercase;
}
.qfap--card-countdown > .paris-icon, .qfap--card-quiz-details > .paris-icon {
  fill: currentColor;
  flex-shrink: 0;
  margin-right: 0.5rem;
}
.qfap--card-quiz-details {
  color: #d22638;
  font-size: 1.6rem;
  font-weight: 500;
  text-transform: none;
}
.qfap--card-quiz-details > .paris-icon {
  height: 1.8rem;
  margin-right: 1rem;
  width: 1.8rem;
}
.qfap--card.has-badge {
  margin-top: 2.6rem;
}
.qfap--card.has-badge .qfap--card-link::after {
  background-color: #ffcd00 !important;
  background-position: center;
  background-repeat: none;
  background-size: contain;
  background-image: url(/assets/base/icons/qfap/quiz-6e781ac69e4d57ce7ce3513d8dc2b0576e21b2fcb2d70bfe11b368a819396da4.svg);
  content: "";
  display: block;
  position: absolute;
  transition: transform 0.2s ease;
}
body[data-animations=disabled] .qfap--card.has-badge .qfap--card-link::after {
  transition: none;
}

.qfap--card.has-badge .qfap--card-link:hover::after,
.qfap--card.has-badge .qfap--card-link:focus::after {
  transform: translate(-2rem, -2rem) rotate(-10deg) scale(1.1);
}
.qfap--card.has-default-format .qfap--card-link, .qfap--card.has-hero-format .qfap--card-link {
  flex-direction: column;
}
.qfap--card.has-default-format .qfap--card-label, .qfap--card.has-hero-format .qfap--card-label {
  margin-top: -1.8rem;
}
.qfap--card.has-default-format .qfap--card-title, .qfap--card.has-hero-format .qfap--card-title {
  font-size: 1.8rem;
  font-weight: 800;
  margin-top: 2rem;
}
.qfap--card.has-default-format {
  flex-shrink: 0;
}
.flickity-slider .qfap--card.has-default-format + .qfap--card.has-default-format {
  margin-left: 2.6rem;
}
.qfap--card.has-default-format .qfap--card-wrapper, .qfap--card.has-default-format .qfap--card-tags {
  margin: 0 3rem;
}
.qfap--card.has-default-format .qfap--card-tags {
  margin-top: 1rem;
  margin-left: 2rem;
}
.qfap--card.has-default-format .qfap--card-label + .qfap--card-title {
  margin-top: 0.8rem;
}
.qfap--card.has-hero-format {
  max-width: 72rem;
}
.qfap--card.has-hero-format .qfap--card-image, .qfap--card.has-hero-format .qfap--card-image > img {
  position: relative;
}
.qfap--card.has-hero-format .qfap--card-wrapper, .qfap--card.has-hero-format .qfap--card-tags {
  background-color: #fff;
}
.qfap--card.has-hero-format .qfap--card-wrapper {
  padding: 0 3rem;
}
.qfap--card.has-hero-format .qfap--card-title {
  font-size: 4.2rem;
  font-weight: 900;
  line-height: 1.14;
}
.qfap--card.has-hero-format .qfap--card-content {
  font-size: 1.5rem;
  font-weight: 500;
}
.qfap--card.has-horizontal-format + .qfap--card.has-horizontal-format {
  margin-top: 1.5rem;
}
.flickity-slider .qfap--card.has-horizontal-format + .qfap--card.has-horizontal-format {
  margin-left: 2.6rem;
  margin-top: 0;
}
.qfap--card.has-horizontal-format .qfap--card-image {
  flex-shrink: 0;
  max-width: 25.5rem;
}
.qfap--card.has-horizontal-format .qfap--card-wrapper {
  margin: 1rem 0 0 2rem;
}
.qfap--card.has-horizontal-format .qfap--card-label {
  margin-bottom: 0.8rem;
}
.qfap--card.has-horizontal-format .qfap--card-title {
  font-weight: 600;
}
.qfap--card.has-horizontal-format.is-small .qfap--card-image {
  max-width: 13.8rem;
}
@media (max-width: 799px) {
  .qfap--card-image {
    margin-right: 0;
  }
  .qfap--card.has-badge .qfap--card-link::after {
    border-radius: 5.4rem;
    height: 5.4rem;
    transform: translate(-1rem, -1.5rem);
    width: 5.4rem;
  }
  .qfap--card.has-default-format {
    width: 15rem;
  }
  .qfap--card.has-default-format .qfap--card-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 1rem;
  }
  .qfap--card.has-default-format .qfap--card-wrapper {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .qfap--card.has-default-format .qfap--card-tags {
    margin-left: 0;
    margin-right: 1rem;
  }
  .has-flex .qfap--card.has-default-format.is-large {
    width: 28.3rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper, .qfap--card.has-hero-format .qfap--card-tags {
    margin-right: 2.5rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper {
    margin-top: -3rem;
  }
  .qfap--card.has-hero-format .qfap--card-tags {
    margin-top: 1rem;
    margin-left: 3rem;
  }
  .qfap--card.has-hero-format .qfap--card-title {
    font-size: 2.6rem;
    hyphens: auto;
    line-height: 1.125;
  }
  .qfap--card.has-horizontal-format .qfap--card-image {
    max-width: 13.8rem;
  }
  .qfap--card.has-horizontal-format .qfap--card-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 1rem;
  }
}
@media (min-width: 800px) {
  .qfap--card.has-badge .qfap--card-link::after {
    border-radius: 9.3rem;
    height: 9.3rem;
    transform: translate(-2rem, -2rem);
    width: 9.3rem;
  }
  .qfap--card.has-default-format {
    width: 28.3rem;
  }
  .has-flex .qfap--card.has-default-format.is-large {
    width: 34.6rem;
  }
  .has-grid-4 .qfap--card.has-default-format {
    width: 24.6rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper, .qfap--card.has-hero-format .qfap--card-tags {
    margin: 0 3rem 0 8.5rem;
  }
  .qfap--card.has-hero-format .qfap--card-wrapper {
    margin-top: -6rem;
  }
  .qfap--card.has-hero-format .qfap--card-tags {
    margin-left: 11.5rem;
    margin-top: 1.5rem;
  }
  .qfap--card.has-horizontal-format {
    width: 51rem;
  }
  .qfap--card.has-horizontal-format.is-small {
    width: 32rem;
  }
  .qfap--card.has-horizontal-format.is-medium {
    width: 41rem;
  }
}

.qfap--container {
  max-width: 107rem;
  margin: 0 auto;
}
@media (max-width: 1179px) {
  .qfap--container {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

.homes--cta-header {
  position: relative;
  z-index: 1;
}
.homes--cta-header .homes--cta-header-title {
  margin: 2rem 0;
  font-weight: 800;
  font-size: 4.2rem;
}
@media (max-width: 768px) {
  .homes--cta-header .homes--cta-header-title {
    font-size: 2.6rem;
  }
}
.homes--cta-header .homes--cta-header-subtitle {
  margin: 0;
  font-weight: 500;
  line-height: 2rem;
}

.homes--cta-body {
  position: relative;
  width: 100%;
  height: 100%;
}

.homes--ribbon-container {
  position: relative;
  margin: 4rem 0 !important;
  padding: 2rem 0;
  /* &[data-theme="red"] {
    .homes--ribbon-bg {
      background: $jo-red;
    }
  }

  &[data-theme="yellow"] {
    .homes--ribbon-bg {
      background: $jo-yellow;
    }
    .homes--ribbon-img {
      background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/Bat-02.png");
      background-size: 50%;
      background-position: left center;

      @media (max-width: 1200px) {
        background-size: 100%;
        background-position: -50vw center;
      }
    }
  }

  &[data-theme="green"] {
    .homes--ribbon-bg {
      background: $jo-green;
    }
    .homes--ribbon-img {
      background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/Bat-03.png");
      background-size: 33%;
      background-position: right center;

      @media (max-width: 1200px) {
        background-size: 75%;
        background-position: 67vw center;
      }
    }
  }

  &[data-theme="blue"] {
    .homes--ribbon-bg {
      background: $jo-blue;
    }
  }

  &[data-theme="black"] {
    .homes--ribbon-bg {
      background: black;
    }
  } */
  /* .homes--ribbon {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;

    .homes--ribbon-mask-top {
      position: absolute;
      z-index: 3;
      left: 0;
      top: 0;
      width: 100%;
      height: 4.5vw;
      box-shadow: inset 0 1px 0 white; // Fix for bad alignment in Safari
    }
    .homes--ribbon-mask-bottom {
      position: absolute;
      z-index: 3;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 4.5vw;
      box-shadow: inset 0 -1px 0 white; // Fix for bad alignment in Safari
    }

    .homes--ribbon-bg {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .homes--ribbon-img-container {
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      mix-blend-mode: hard-light;

      @media (max-width: 768px) {
        display: none;
      }
    }
    .homes--ribbon-img {
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
    }

    .homes--ribbon-heading {
      position: relative;
      z-index: 3;
      width: 100%;
      display: flex;
      justify-content: center;
      font-size: 9rem;
      font-weight: 800;
      text-transform: uppercase;
      pointer-events: none;

      @media (max-width: 768px) {
        display: none;
      }
    }
    .homes--ribbon-heading > svg {
      // Should keep a fixed and long width in order to no scale its content by device-width and have enough place to display long text.
      width: 200rem;
      min-width: 200rem;
      margin-top: calc(2rem + 4vw);
      opacity: 0.5;

      text {
        font-family: "Montserrat Outline", "Montserrat", sans-serif;
      }
    }
  }

  .homes--ribbon-floating-img {
    position: absolute;
    z-index: 4;
    pointer-events: none;

    @media (max-width: 768px) {
      display: none;
    }

    img {
      height: 100%;
    }

    // Theme specifics //

    &[data-theme="yellow"] {
      height: 40rem;
      top: -4rem;
      right: -2rem;

      @media (max-width: 1200px) {
        height: 32rem;
        top: -8rem;
        right: -8rem;
      }
    }

    &[data-theme="green"] {
      height: 40rem;
      top: 4rem;
      left: 0rem;

      @media (max-width: 1200px) {
        top: 0rem;
        left: -12rem;
      }
    }
  } */
}
.homes--ribbon-container[data-theme=illustrated] {
  background: #fbfbfb;
}
.homes--ribbon-container .homes--ribbon-img-container {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/prepare-graphic-left.svg");
  background-size: 14rem;
  background-position: left bottom;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-left {
    width: 100%;
    background-position: left 20rem;
  }
}
.homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-right {
  position: absolute;
  top: 0;
  right: -15rem;
  width: 100%;
  height: 100%;
  background-image: url("https://cdn.paris.fr/paris/homes/jeux-2024/prepare-graphic-right.svg");
  background-size: 33rem;
  background-position: right bottom;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=illustrated] .homes--ribbon-img-right {
    width: 100%;
  }
}
.homes--ribbon-container .homes--cta-action {
  position: relative;
  top: 5rem;
  z-index: 1;
  max-width: 120rem;
  min-height: 36rem;
  margin: auto;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action {
    top: 0;
    min-height: 20rem;
    padding: 5rem 2rem;
  }
}
.homes--ribbon-container .homes--cta-action .homes--cta-action-title {
  max-width: 80rem;
  font-weight: 800;
  font-size: 4.2rem;
  color: white;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action .homes--cta-action-title {
    margin-top: 0;
    font-size: 2.6rem;
  }
}
.homes--ribbon-container .homes--cta-action .homes--cta-action-subtitle {
  max-width: 60rem;
  margin: auto;
  margin-bottom: 3rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: white;
}
.homes--ribbon-container .homes--cta-action-cards {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards {
    padding: 5rem 0;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: 3rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card {
  position: relative;
  width: 38rem;
  min-width: 38rem;
  padding: 3rem;
  text-align: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}
@media (max-width: 1024px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card {
    width: 33rem;
    min-width: 26rem;
    padding: 3rem;
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card {
    width: 100%;
    min-width: 100%;
    padding: 3rem 2rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a,
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a * {
  text-decoration: none;
  cursor: pointer;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a:hover,
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card a:hover * {
  color: #e22c3f;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-title {
  font-size: 3.2rem;
  font-weight: 800;
  color: #354bcf;
  margin: 0;
}
@media (max-width: 1024px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-title {
    font-size: 2.6rem;
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-title {
    font-size: 1.8rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-subtitle, .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-action-text {
  display: block;
  margin: 2rem 0;
  font-size: 1.8rem;
  font-weight: 500;
  color: #071f32;
}
@media (max-width: 1024px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-subtitle, .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-action-text {
    margin: 3rem 0;
    font-size: 1.4rem;
  }
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-subtitle.is-illustrated, .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-action-text.is-illustrated {
  font-weight: 800;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-visual {
  margin-bottom: 2rem;
}
.homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-visual img {
  height: 12rem;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-action-cards .homes--cta-action-card-visual img {
    height: 8rem;
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=illustrated] .homes--cta-action-card {
    padding: 0;
  }
}
.homes--ribbon-container[data-theme=illustrated] .homes--cta-action-card-action-text {
  margin: 0;
}
@media (min-width: 769px) {
  .homes--ribbon-container[data-theme=white] .homes--cta-action-cards {
    margin-top: 4rem;
  }
  .homes--ribbon-container[data-theme=white] .homes--cta-action-card:not(:last-child) {
    border-right: 1px solid rgba(0, 0, 0, 0.2666666667);
  }
}
@media (max-width: 768px) {
  .homes--ribbon-container[data-theme=white] .homes--cta-body {
    margin-top: 2rem;
  }
  .homes--ribbon-container[data-theme=white] .homes--cta-action-card {
    padding: 1rem 3rem;
  }
}
.homes--ribbon-container .homes--cta-mail-form {
  text-align: left;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-mail-form {
    width: 100%;
  }
}
.homes--ribbon-container .homes--cta-mail-form label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 14px;
  font-weight: 600;
}
.homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit {
  display: flex;
  gap: 1rem;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit {
    flex-direction: column;
    align-items: center;
  }
}
.homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit .homes--cta-mail-input {
  width: 40rem;
  height: 4.8rem;
  padding: 0 2rem;
  border: 1px solid black;
  font-size: 1.5rem;
  color: black;
  background: white;
}
@media (max-width: 768px) {
  .homes--ribbon-container .homes--cta-mail-form .homes--cta-mail-submit .homes--cta-mail-input {
    width: 100%;
  }
}
.homes--ribbon-container .homes--cta-mail-form .messages {
  margin-top: 1rem;
}
.homes--ribbon-container .paris-button {
  width: 18rem;
}

.qfap--filters-show-more {
  appearance: none;
  background: transparent;
  border: 0;
  color: #e8404e;
  cursor: pointer;
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 1rem 1.5rem;
  text-align: center;
  text-decoration: underline;
  text-transform: uppercase;
  width: 100%;
}

.qfap--filter {
  appearance: none;
  background: transparent;
  border: 0;
  color: #071f32;
  cursor: pointer;
  font-weight: 700;
  margin-right: 1rem;
  padding: 1rem 1.5rem;
  position: relative;
  transition: color 0.2s ease;
}
.qfap--filter:hover, .qfap--filter:focus {
  color: #354bcf;
}
.qfap--filter .paris-icon-qfap--filters-ring {
  display: none;
  fill: currentColor;
  height: calc(100% + 1rem);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 1rem);
  z-index: 0;
}
.qfap--filter:focus-visible {
  outline: 0;
}
.qfap--filter:focus-visible .paris-icon-qfap--filters-ring {
  display: block;
  fill: #354bcf;
}
.qfap--filter.is-current {
  color: #354bcf;
  cursor: default;
  pointer-events: none;
}
.qfap--filter.is-current .paris-icon-qfap--filters-ring {
  display: block;
}
.qfap--filter.is-hidden {
  display: none;
}
.qfap--filter-text {
  pointer-events: none;
}

.qfap--label {
  color: #fff;
  display: inline-flex;
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  line-height: 1.3;
  padding: 1rem 1.6rem 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
  position: relative;
}
.qfap--label:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--label.is-red {
  background-color: #e22c3f;
}
.qfap--label.is-red[href]:hover, .qfap--label.is-red[href]:focus {
  background-color: #d22638;
}
.qfap--label.is-blue {
  background-color: #354bcf;
}
.qfap--label.is-blue[href]:hover, .qfap--label.is-blue[href]:focus {
  background-color: #071f32;
}

@keyframes bounce {
  0% {
    right: -6rem;
  }
  100% {
    right: 0;
  }
}
.qfap--modals--contribute {
  bottom: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 0;
  z-index: 100;
}
.qfap--modals--contribute::before {
  background-color: rgba(7, 31, 50, 0.5);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 0;
  transition: visibility 0s, opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1), transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  visibility: hidden;
  z-index: -1;
}
body[data-animations=disabled] .qfap--modals--contribute::before {
  transition: none;
}

.qfap--modals--contribute-button {
  top: 5rem;
  position: fixed;
  transform: rotate(-90deg);
  transform-origin: right bottom;
  right: 0;
}
.qfap--modals--contribute-button-animated {
  right: -6rem;
  animation: bounce 0.4s cubic-bezier(0.69, 1.79, 0.78, 0.8) 1s 1 forwards;
}
body[data-animations=disabled] .qfap--modals--contribute-button-animated {
  animation: none;
  right: 0;
}

.qfap--modals--contribute-button-animated::after {
  content: "";
  background-color: #e22c3f;
  height: 2em;
  display: block;
  left: 0;
  position: absolute;
  top: 100%;
  right: 0;
}
.qfap--modals--contribute-button .qfap--button-text {
  font-size: 1.6rem;
  font-weight: 500;
}
.qfap--modals--contribute-close {
  display: none;
}
.qfap--modals--contribute-panel {
  background-color: #fff;
  color: #071f32;
  font-size: 1.5rem;
  font-weight: 500;
  height: 100%;
  overflow: auto;
  padding: 7.5rem 5rem 7.5rem 9.5rem;
  position: absolute;
  right: 0;
  transform: translateX(100%);
  transition: visibility 0s, opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1), transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  visibility: hidden;
  width: 72rem;
}
body[data-animations=disabled] .qfap--modals--contribute-panel {
  transition: none;
}

.qfap--modals--contribute-title, .qfap--modals--contribute-subtitle, .qfap--modals--contribute-section-title {
  font-family: "Montserrat", sans-serif;
}
.qfap--modals--contribute-subtitle, .qfap--modals--contribute-section-title {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.33;
}
.qfap--modals--contribute-title {
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.8;
}
.qfap--modals--contribute-sections {
  margin: 2.6rem 0;
}
.qfap--modals--contribute-section {
  position: relative;
}
.qfap--modals--contribute-section + .qfap--modals--contribute-section {
  margin-top: 2.8rem;
}
.qfap--modals--contribute-section-drawing {
  position: absolute;
  text-align: center;
  width: 7rem;
}
.qfap--modals--contribute-section-title, .qfap--modals--contribute-section-text {
  margin-left: 8rem;
}
.qfap--modals--contribute-section-title {
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.qfap--modals--contribute-section-text, .qfap--modals--contribute-instructions {
  line-height: 1.7;
}
.qfap--modals--contribute-instructions {
  margin-bottom: 2.6rem;
}
.qfap--modals--contribute.is-open {
  width: inherit;
}
.qfap--modals--contribute.is-open::before {
  opacity: 1;
  pointer-events: inherit;
}
.qfap--modals--contribute.is-open::before,
.qfap--modals--contribute.is-open .qfap--modals--contribute-panel {
  visibility: visible;
  transform: translateX(0);
}
.qfap--modals--contribute.is-open .qfap--modals--contribute-close {
  display: inline-flex;
  top: -2.7rem;
}
.qfap--modals--contribute.is-open .qfap--modals--contribute-open {
  display: none;
}
@media (max-width: 925px) {
  .qfap--modals--contribute {
    display: none;
  }
}
@media (min-width: 800px) {
  .paris-header ~ .paris-main .qfap--modals--contribute {
    top: 6.1rem;
  }
}
@media (min-width: 1140px) {
  .paris-header ~ .paris-main .qfap--modals--contribute {
    top: 7.7rem;
  }
}

.qfap--mugshot {
  background-color: #000;
}
.qfap--mugshot-link {
  background-color: #354bcf;
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.qfap--mugshot-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
body[data-animations=disabled] .qfap--mugshot-link {
  transition: none;
}

.qfap--mugshot-link:hover {
  background-color: #fff;
  color: #354bcf;
}
.qfap--mugshot-link:hover .qfap--mugshot-play {
  background-color: #354bcf;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M0 0v16l16-8z' fill='%23FFF'/></svg>");
}
.qfap--mugshot-image {
  position: relative;
  flex-grow: 1;
  overflow: hidden;
}
.qfap--mugshot-image img {
  position: absolute;
  height: 100%;
  width: auto;
  top: 0;
  right: 0;
  transform: translateX(10%);
}
.qfap--mugshot-footer {
  align-items: center;
  display: flex;
}
.qfap--mugshot-play {
  align-items: center;
  background-color: #fff;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M0 0v16l16-8z' fill='%23E8404E'/></svg>");
  background-position: 58% center;
  background-repeat: no-repeat;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  transition: background-color 0.2s ease;
}
body[data-animations=disabled] .qfap--mugshot-play {
  transition: none;
}

.qfap--mugshot-title {
  font-weight: 800;
}
.qfap--mugshot.is-playing .qfap--mugshot-link {
  display: none;
}
@media (max-width: 799px) {
  .qfap--mugshot, .qfap--mugshot-link {
    height: 28.4rem;
    width: 16rem;
  }
  .flickity-slider .qfap--mugshot + .qfap--mugshot {
    margin-left: 0.8rem;
  }
  .flickity-slider .qfap--mugshot:nth-child(2n) {
    margin-top: 2rem;
  }
  .qfap--mugshot-footer {
    padding: 1rem 0.5rem 0.5rem;
  }
  .qfap--mugshot-play {
    background-size: 0.8rem 0.8rem;
    border-radius: 2.4rem;
    height: 2.4rem;
    margin-right: 0.8rem;
    width: 2.4rem;
  }
  .qfap--mugshot-title {
    font-size: 1.2rem;
  }
}
@media (min-width: 800px) {
  .qfap--mugshot, .qfap--mugshot-link {
    height: 55rem;
    width: 31rem;
  }
  .flickity-slider .qfap--mugshot + .qfap--mugshot {
    margin-left: 3.2rem;
  }
  .flickity-slider .qfap--mugshot:nth-child(2n) {
    margin-top: 5rem;
  }
  .qfap--mugshot-footer {
    padding: 2rem 1rem 1rem;
  }
  .qfap--mugshot-play {
    background-size: 1.6rem 1.6rem;
    border-radius: 5rem;
    height: 5rem;
    margin-right: 1.4rem;
    width: 5rem;
  }
  .qfap--mugshot-title {
    font-size: 1.8rem;
  }
}

.qfap--newsletter {
  color: #071f32;
}
.qfap--newsletter-items {
  display: grid;
  grid-gap: 1.6rem;
}
.qfap--newsletter-item {
  background-color: #fff;
  border: 0.5rem solid #fff;
  position: relative;
}
.qfap--newsletter-item:hover, .qfap--newsletter-item.is-checked {
  border-color: var(--item-border-color);
}
.qfap--newsletter-item-checkbox {
  appearance: none;
  background: #fff;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: -1.3rem;
}
.qfap--newsletter-item-checkbox:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--newsletter-item-checkbox::before {
  background: #fff;
  border: 0.4rem solid #071f32;
  content: "";
  cursor: pointer;
  display: block;
  height: 3rem;
  width: 3.2rem;
}
.qfap--newsletter-item-checkbox:checked::before {
  background: url(/assets/base/icons/check-54cfc2cb76e5cec098fc2230392e6486ba0df983590ba7877333f9b7a2bee8af.svg) no-repeat 0.3rem -0.5rem;
  background-size: cover;
}
.qfap--newsletter-item-label {
  cursor: pointer;
  display: block;
}
.qfap--newsletter-item-illustration > svg {
  height: 100%;
  width: 100%;
}
.qfap--newsletter-item-title {
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: -0.01rem;
  line-height: 1.33;
}
.qfap--newsletter-item-title > em {
  font-style: normal;
  position: relative;
  z-index: 0;
}
.qfap--newsletter-item-title > em .paris-icon-qfap--tags-stroke {
  bottom: -0.3rem;
  fill: #ffcd00;
  height: 1rem;
  left: 0;
  position: absolute;
  width: calc(100% + 1rem);
  z-index: -1;
}
.qfap--newsletter-item-frequency {
  font-size: 1.2rem;
  font-weight: 500;
}
.qfap--newsletter a {
  color: #d22638;
  transition: color 0.2s ease;
}
.qfap--newsletter a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--newsletter a::after {
  transition: color 0.2s ease;
}
.qfap--newsletter a:hover, .qfap--newsletter a:active {
  color: #071f32;
}
.qfap--newsletter a[target=_blank] {
  padding-right: 1.5em;
}
.qfap--newsletter a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.qfap--newsletter a[target=_blank]:hover::after, .qfap--newsletter a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.qfap--newsletter-item-link {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.qfap--newsletter-form {
  align-items: center;
  display: flex;
}
.qfap--newsletter-form::before {
  background: url(/assets/base/icons/arrow-f9c86a0bdf3ce98c502b38523d4b417eb83d32627fb34fa76510bbc4b1689d2b.svg) no-repeat;
  content: "";
  display: block;
  height: 3.3rem;
  width: 3.3rem;
}
.qfap--newsletter-email-field {
  background-color: #fff;
  border: 0;
  font-size: 1.3rem;
  font-weight: 500;
  padding: 1.6rem;
  width: 100%;
}
.qfap--newsletter-email-field:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--newsletter-submit .paris-icon,
.qfap--newsletter-submit .paris-icon {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.qfap--newsletter-submit .hidden {
  opacity: 0;
}
.qfap--newsletter-messages {
  font-size: 1.4rem;
  margin-top: 0.3rem;
  text-align: center;
}
.qfap--newsletter-messages > .hidden {
  visibility: hidden;
}
.qfap--newsletter-success-message {
  color: #0d7d00;
}
.qfap--newsletter-error-message {
  color: #d71d31;
}
.qfap--newsletter-error-message ul, .qfap--newsletter-error-message li {
  list-style: none;
}
@media (max-width: 799px) {
  .qfap--newsletter-item {
    padding: 2rem 3rem 2rem 1rem;
  }
  .qfap--newsletter-item-checkbox {
    right: -0.5rem;
  }
  .qfap--newsletter-item-illustration {
    align-items: center;
    bottom: 1rem;
    display: flex;
    left: 0.5rem;
    position: absolute;
    top: 1rem;
    width: 26%;
  }
  .qfap--newsletter-item-title, .qfap--newsletter-item-info {
    margin-left: calc(26% + 2rem);
  }
  .qfap--newsletter-item-title {
    margin-bottom: 1rem;
  }
  .qfap--newsletter-form {
    flex-direction: column;
    margin-top: 1.5rem;
  }
  .qfap--newsletter-form::before {
    transform: rotate(60deg);
  }
  .qfap--newsletter-email-field {
    margin-top: 1rem;
    max-width: calc(100vw - 4rem);
    width: 30.5rem;
  }
  .qfap--newsletter-submit {
    margin-top: 1.8rem;
  }
}
@media (min-width: 800px) {
  .qfap--newsletter {
    margin-top: 4rem;
  }
  .qfap--newsletter-items {
    grid-template-columns: repeat(5, 1fr);
  }
  .qfap--newsletter-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 2.5rem 0.5rem;
    text-align: center;
    transition: border-color 0.2s ease;
  }
  .qfap--newsletter-item-checkbox {
    right: -1.3rem;
  }
  .qfap--newsletter-item-label {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }
  .qfap--newsletter-item-illustration {
    flex-grow: 1;
    height: 9rem;
    margin: 2rem 0;
  }
  .qfap--newsletter-item-title {
    order: -1;
  }
  .qfap--newsletter-item-link {
    margin-top: 1rem;
  }
  .qfap--newsletter-form {
    justify-content: center;
    margin-top: 4rem;
  }
  .qfap--newsletter-form::before {
    margin-right: 2rem;
    transform: translateY(-1rem);
  }
  .qfap--newsletter-email-field {
    width: 31.5rem;
  }
  .qfap--newsletter-submit {
    margin-left: 1.4rem;
  }
}

.qfap--section-title {
  color: #d22638;
  font-family: "Palmer Lake", sans-serif;
  font-weight: normal;
  letter-spacing: -0.05rem;
  line-height: 0.6;
  margin: 0 0 2rem;
}
.qfap--section-header {
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.qfap--section ul.qfap--section-content {
  margin: 0;
  padding: 0;
}
.qfap--section-content-offset {
  display: none;
}
.qfap--section-content {
  padding: 0;
}
.qfap--section-footer {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  margin-top: 2.4rem;
}
.qfap--section-footer-content {
  /* Gap for Today/Week/Weekend buttons in filters */
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.qfap--section-panning-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: 3.4rem;
}
.qfap--section-panning-controls button {
  align-items: center;
  background-color: #f2f2f2;
  border: 0;
  border-radius: 3rem;
  cursor: pointer;
  display: flex;
  height: 4rem;
  justify-content: center;
  padding: 0;
  width: 4rem;
}
.qfap--section-panning-controls button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--section-panning-controls button + button {
  margin-left: 1rem;
}
.qfap--section-panning-controls .paris-icon {
  fill: #354bcf;
  height: 1.9rem;
  width: 1.9rem;
}
.qfap--section-panning-controls button:disabled {
  pointer-events: none;
}
.qfap--section-panning-controls button:disabled .paris-icon {
  fill: #ccc;
}
.qfap--section.has-gray-background {
  background-color: #f4f3f3;
}
.qfap--section.has-blue-background {
  background-color: #354bcf;
}
.qfap--section.has-blue-background,
.qfap--section.has-blue-background .qfap--section-title {
  color: #fff;
}
.qfap--section.has-full-width-content {
  padding-left: 0;
  padding-right: 0;
}
.qfap--section.has-full-width-content .qfap--section-content-container {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}
.qfap--section.has-full-width-content .qfap--section-content-offset {
  height: 100%;
}
.qfap--section.has-full-width-content .qfap--card {
  min-height: 16rem;
}
.qfap--section.has-full-width-content:not(.has-no-content-offset) .qfap--section-content-offset {
  display: block;
}
.qfap--section.has-rows-of-cards .qfap--card-image-mask {
  max-height: 17.6883rem;
}
.qfap--section.has-overlay-title .qfap--section-title-container {
  position: relative;
}
.qfap--section.has-overlay-title .qfap--section-title-container .qfap--section-title-overlay {
  background-color: #fff;
  left: 0;
  max-width: 100%;
  padding: 3rem;
  position: absolute;
  top: 0;
  width: 35rem;
  z-index: 10000;
}
.qfap--section.has-overlay-title .qfap--section-title-container .qfap--section-title-overlay .qfap--section-header {
  margin-bottom: 0;
}
.qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 2.6rem;
  min-height: 100%;
}
.qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column > * {
  margin: 0 !important;
}
.qfap--section.has-2-rows.has-rows-of-cards .qfap--section-content-column + .qfap--section-content-column {
  margin-left: 2.6rem;
}
@media (max-width: 799px) {
  .qfap--section {
    margin: 4rem 0;
  }
  .qfap--section-title {
    font-size: 5rem;
  }
  .qfap--section-footer {
    text-align: center;
  }
  .qfap--section.has-blue-background, .qfap--section.has-gray-background {
    margin: 2rem 0;
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
  .qfap--section.has-full-width-content .qfap--section-content-container {
    margin-left: 0;
    margin-right: 0;
  }
  .qfap--section.has-full-width-content .qfap--section-content-offset {
    width: 2rem;
  }
  .qfap--section.has-rows-of-cards .qfap--card-image-mask {
    max-height: 9.375rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n) {
    padding-top: 3.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+1) {
    padding-top: 1.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+2) {
    padding-top: 1.75rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+3) {
    padding-top: 6.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+4) {
    padding-top: 1rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+6) {
    padding-top: 1.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column + .qfap--section-content-column {
    margin-left: -0.02rem;
  }
  .qfap--section.has-overlay-title .qfap--section-title-container {
    margin-left: 0;
  }
  .qfap--section.has-overlay-title .qfap--section-title-container .qfap--section-title-overlay {
    padding: 2rem;
  }
}
@media (max-width: 1139px) {
  .qfap--section.has-flex .qfap--section-content, .qfap--section.has-grid-4 .qfap--section-content {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  .qfap--section.has-flex .qfap--section-content > *, .qfap--section.has-grid-4 .qfap--section-content > * {
    margin: 0 !important;
  }
}
@media (min-width: 800px) {
  .qfap--section {
    margin: 8rem 0;
  }
  .qfap--section-title {
    font-size: 6.2rem;
  }
  .qfap--section-footer {
    margin-top: 3.4rem;
  }
  .qfap--section-panning-controls {
    margin-left: 3.4rem;
  }
  .qfap--section-panning-controls button {
    height: 5rem;
    width: 5rem;
  }
  .qfap--section-panning-controls .paris-icon {
    height: 2.4rem;
    width: 2.4rem;
  }
  .qfap--section.has-blue-background, .qfap--section.has-gray-background {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
  .qfap--section.has-grid-6 .qfap--section-content {
    display: grid;
    gap: 2.6rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .qfap--section.has-grid-6 .qfap--section-content > * {
    margin: 0 !important;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n) {
    padding-top: 7rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+1) {
    padding-top: 3rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+2) {
    padding-top: 3.5rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+3) {
    padding-top: 13rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+4) {
    padding-top: 2rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column:nth-child(7n+6) {
    padding-top: 3rem;
  }
  .qfap--section.has-2-rows.has-rows-of-tiles .qfap--section-content-column + .qfap--section-content-column {
    margin-left: -0.02rem;
  }
}
@media (min-width: 1140px) {
  .qfap--section.has-flex .qfap--section-content {
    display: flex;
    gap: 2.6rem;
    justify-content: space-evenly;
  }
  .qfap--section.has-flex .qfap--section-content > * {
    margin: 0 !important;
  }
  .qfap--section.has-grid-4 .qfap--section-content {
    display: grid;
    gap: 2.6rem;
    grid-template-columns: repeat(4, 1fr);
  }
  .qfap--section.has-grid-4 .qfap--section-content > * {
    margin: 0 !important;
  }
}
@media (max-width: 1179px) {
  .qfap--section.has-full-width-content .qfap--section-content-offset {
    width: 2rem;
  }
}
@media (min-width: 1180px) {
  .qfap--section.has-full-width-content .qfap--section-content-offset {
    width: calc((100vw - 107rem) / 2);
  }
}

.qfap--sessions-table {
  line-height: 1.3;
}
.qfap--sessions-table th {
  font-weight: 500;
  text-align: left;
}
.qfap--sessions-item-title {
  font-weight: 700;
}
.qfap--sessions-accessibility > .accessibility-dropdown {
  margin: 0;
}
@media (max-width: 799px) {
  .qfap--sessions-table {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .qfap--sessions-table thead,
  .qfap--sessions-table tbody,
  .qfap--sessions-table tr {
    display: contents;
  }
  .qfap--sessions-table th,
  .qfap--sessions-table td {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .qfap--sessions-table .qfap--sessions-accessibility {
    border-bottom: 0.6rem solid #e8e8e8;
    grid-column: span 3;
    margin-bottom: 2rem;
    padding: 1.5rem 0 2rem;
  }
}
@media (min-width: 800px) {
  .qfap--sessions {
    margin: 0 -1rem;
    width: calc(100% + 2rem);
  }
  .qfap--sessions-table {
    border-collapse: collapse;
    width: 100%;
  }
  .qfap--sessions-table th,
  .qfap--sessions-table td {
    border-bottom: 0.6rem solid #e8e8e8;
    padding: 1.5rem 1rem;
    vertical-align: top;
  }
}

.qfap--social {
  display: flex;
  justify-content: space-between;
}
.qfap--social-link {
  color: #fff;
  display: flex;
  text-decoration: none;
  flex-direction: column;
  position: relative;
  align-items: center;
}
.qfap--social-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--social-image {
  width: 20rem;
}
.qfap--social-image-mask {
  overflow: hidden;
  background-color: #fff;
  transform: scale(1);
  transition: transform 0.2s ease;
}
body[data-animations=disabled] .qfap--social-image-mask {
  transition: none;
}

.qfap--social-image img,
.qfap--social-image svg {
  display: block;
  width: 100%;
}
body[data-animations=disabled] .qfap--social-image {
  transition: none !important;
}

.qfap--social-wrapper {
  position: relative;
  text-align: left;
  z-index: 1;
  margin-top: 4rem;
  line-height: 4;
}
.qfap--social-title {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.33;
  margin-top: 2rem;
  text-align: center;
}
.qfap--social-item {
  width: 28rem;
}
.qfap--social-item.has-instagram-network .qfap--social-image {
  transform: rotate(-4deg);
  transition: transform 0.2s ease;
}
.qfap--social-item.has-facebook-network .qfap--social-image {
  transform: rotate(-4deg);
  transition: transform 0.2s ease;
}
.qfap--social-item.has-tiktok-network .qfap--social-image {
  transform: rotate(6deg);
  transition: transform 0.2s ease;
}
.qfap--social-item:hover .qfap--social-image, .qfap--social-item:focus .qfap--social-image {
  transform: rotate(0);
}
.qfap--social-item:hover .qfap--social-image-mask, .qfap--social-item:focus .qfap--social-image-mask {
  transform: scale(1.1);
}
.qfap--social-item::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 6.3rem;
  width: 8.3rem;
  position: relative;
  left: 15rem;
}
.qfap--social-item.has-tiktok-network::before {
  background-image: url(/assets/illustrations/follow-5d1b842e7a50c7ab51a5239760db14cb6f7b326386df8778050717edd8c027f2.svg);
}
.qfap--social-item.has-facebook-network::before {
  background-image: url(/assets/illustrations/like-38edf2751b97d1b9433765954e4f1abf3201dca3a427a1ee98276811ecd97915.svg);
  width: 7.2rem;
  top: 35rem;
  left: -8.5rem;
}
.qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 9.3rem;
  border: 2.3rem solid #fff;
  content: "";
  display: block;
  height: 9.3rem;
  position: absolute;
  background-color: #fff;
  width: 9.3rem;
  top: 15.5rem;
}
.qfap--social-item.has-instagram-network .qfap--social-link::after {
  background-image: url(/assets/illustrations/logo_ig-b900e4e3207a6085a1f3946227ac3001b95cbb2287b86866f0480be0879f2fe6.svg);
  background-size: 88%;
}
.qfap--social-item.has-facebook-network .qfap--social-link::after {
  background-image: url(/assets/illustrations/logo_fb-58dae7007ff7d7ab8b99a086b9106b8f479b91730d6c0d36ea98a02cad8f4783.svg);
}
.qfap--social-item.has-tiktok-network .qfap--social-link::after {
  background-image: url(/assets/illustrations/logo_tt-ccfbb57fc63e1a8250a1e47a8e9278bceae2d6ca7eb9f621973d915f07b2f786.svg);
}

@media (max-width: 499px) {
  .qfap--social {
    margin-top: 1rem;
    flex-direction: column;
    justify-content: left;
  }
  .qfap--social-item:not(:first-child) {
    margin-top: 5rem;
  }
  .qfap--social-item:first-child {
    margin-top: 3rem;
  }
  .qfap--social-item::before {
    background-image: none !important;
    display: none;
  }
  .qfap--social-title {
    margin-top: 0;
  }
  .qfap--social-image {
    margin-right: 0;
  }
  .qfap--social-image-mask {
    width: 12.2rem;
    padding: 0.5rem;
  }
  .qfap--social-link {
    flex-direction: row;
  }
  .qfap--social-item {
    width: 100%;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after {
    top: -3rem;
    left: 9rem;
  }
  .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    top: -1rem;
    left: 9rem;
  }
  .qfap--social-wrapper {
    margin: 1rem 0 0 0;
    min-width: 17rem;
  }
  .qfap--social-wrapper .qfap--social-title {
    font-size: 1.5rem;
    margin-left: 2rem;
    text-align: left;
  }
  .qfap--social.has-facebook-network .qfap--social-wrapper {
    margin-top: 2rem;
  }
}
@media (max-width: 799px) {
  .qfap--social-item {
    width: 18rem;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    width: 5.4rem;
    height: 5.4rem;
    border-radius: 7.4rem;
    border: 0.8rem solid #fff;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .qfap--social {
    flex-wrap: wrap;
  }
  .qfap--social-item {
    flex: 50%;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    top: 13rem;
  }
  .qfap--social-image {
    width: 16rem;
    margin-right: 0;
  }
  .qfap--social-wrapper {
    margin-top: 2rem;
  }
  .qfap--social-item::before {
    background-image: none !important;
    width: 0 !important;
  }
}
@media (min-width: 800px) {
  .qfap--social-item.has-tiktok-network {
    margin-top: 3rem;
  }
}
@media (min-width: 800px) and (max-width: 960px) {
  .qfap--social {
    flex-wrap: wrap;
  }
  .qfap--social-item {
    flex: 50%;
    width: 23rem;
  }
  .qfap--social-item.has-instagram-network .qfap--social-link::after, .qfap--social-item.has-facebook-network .qfap--social-link::after, .qfap--social-item.has-tiktok-network .qfap--social-link::after {
    top: 15rem;
  }
  .qfap--social-item.has-tiktok-network {
    margin-top: 0rem;
  }
  .qfap--social-item.has-tiktok-network::before {
    top: 26rem;
    left: 0rem;
    margin-top: 0rem;
  }
}
.qfap--filters.qfap--tabs .qfap--tabs-container {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.qfap--filters.qfap--tabs .qfap--tab {
  display: none;
}
.qfap--filters.qfap--tabs .qfap--tab.is-current {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 2.6rem;
  gap: 2.6rem;
  position: relative;
}
.qfap--filters.qfap--tabs ul {
  margin: 0;
  padding: 0;
}
.qfap--filters.qfap--tabs .qfap--tabs-show-more {
  appearance: none;
  background: transparent;
  border: 0;
  color: #e8404e;
  cursor: pointer;
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 1rem 1.5rem;
  text-align: center;
  text-decoration: underline;
  text-transform: uppercase;
  width: 100%;
}

.qfap--tags {
  line-height: 1;
}
.qfap--tags-prefix {
  font-size: 1.2rem;
  font-weight: 600;
}
.qfap--tags .qfap--tag {
  margin-right: 1rem;
}
.qfap--tags.qfap--filters,
.qfap--tags.qfap--filters .qfap--tag {
  line-height: 2;
}
.qfap--tags.qfap--filters .qfap--tag {
  margin-right: 1.5rem;
}
.qfap--tags.qfap--filters .qfap--tag::after,
.qfap--tags.qfap--filters .qfap--tag .paris-icon-qfap--tags-stroke {
  bottom: 1rem;
}

.qfap--tag {
  appearance: none;
  background: transparent;
  border: 0;
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.005rem;
  text-decoration: none;
  text-transform: uppercase;
  padding: 1rem;
  position: relative;
}
.qfap--tag:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--tag::after,
.qfap--tag .paris-icon-qfap--tags-stroke {
  bottom: 0.5rem;
  height: 1rem;
  left: 1rem;
  position: absolute;
  width: calc(100% - 1rem);
  z-index: 0;
}
.qfap--tag::after {
  background-color: #fff;
  content: "";
  display: block;
  transition: transform 0.3s ease;
  transform: scale3d(0, 1, 1);
  transform-origin: 100% 50%;
}
body[data-animations=disabled] .qfap--tag::after {
  transition: none;
}

.qfap--tag-text,
.qfap--tag .paris-icon {
  pointer-events: none;
}
.qfap--tag-text {
  position: relative;
  z-index: 1;
}
.qfap--tag .paris-icon-qfap--tags-stroke,
.qfap--tag .paris-icon-qfap--tags-ring {
  fill: #ffcd00;
}
.qfap--tag .paris-icon-qfap--tags-ring {
  display: none;
  height: calc(100% + 1rem);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 1rem);
  z-index: 2;
}
@media (hover: hover) {
  .qfap--tag:hover {
    color: #957000;
    transition: color 150ms;
  }
  .qfap--tag:hover::after {
    transform: scale3d(1, 1, 1);
    transform-origin: 0% 50%;
  }
  body[data-animations=disabled] .qfap--tag:hover {
    transition: none;
  }
}
.qfap--tag:focus::after {
  transform: scale3d(1, 1, 1);
  transform-origin: 0% 50%;
}
.qfap--tag:focus-visible {
  outline: 0;
}
.qfap--tag:focus-visible .paris-icon-qfap--tags-ring {
  display: block;
  fill: #354bcf;
}
.qfap--tag.is-current::after,
.qfap--tag.is-current .paris-icon-qfap--tags-stroke {
  display: none;
}
.qfap--tag.is-current .paris-icon-qfap--tags-ring {
  display: block;
}
.qfap--tag.is-hidden {
  display: none;
}
.qfap--tag.has-locale-fr .qfap--tag-text::after {
  content: "(fr)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}
.qfap--tag.has-locale-en .qfap--tag-text::after {
  content: "(en)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}

.qfap--tile {
  align-items: flex-end;
  background-color: #000;
  color: #fff;
  display: flex;
  font-weight: 700;
  position: relative;
  text-decoration: none;
  transform: opacity 0.2s ease;
}
.qfap--tile:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.qfap--tile-image {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.qfap--tile-image > svg {
  fill: currentColor;
  height: 100%;
  width: 100%;
}
.qfap--tile[href]:hover {
  opacity: 0.9;
}
.qfap--tile.is-centered {
  justify-content: center;
  text-align: center;
}
.qfap--tile.is-centered:last-child {
  margin-left: auto;
}
.qfap--tile.has-partner-format {
  background-color: transparent;
  color: #071f32;
  font-weight: 500;
  width: auto;
}
.qfap--tile.has-partner-format.is-large .qfap--tile-image {
  max-width: 27rem;
}
.qfap--tile.has-partner-format .qfap--tile-text {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  justify-content: center;
  height: 3.2rem;
  text-align: center;
  width: 100%;
}
.qfap--tile.has-partner-format .qfap--tile-image {
  bottom: 3.2rem;
}
.qfap--tile.has-partner-format .qfap--tile-image > img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}
.qfap--tile.has-blackpearl-background {
  background-color: #071f32;
  text-shadow: 2px 2px 0 #071f32, -2px -2px 0 #071f32, -2px 2px 0 #071f32, 2px -2px 0 #071f32;
}
.qfap--tile.has-ceruleanblue-background {
  background-color: #354bcf;
  text-shadow: 2px 2px 0 #354bcf, -2px -2px 0 #354bcf, -2px 2px 0 #354bcf, 2px -2px 0 #354bcf;
}
.qfap--tile.has-lipstick-background {
  background-color: #e8404e;
  text-shadow: 2px 2px 0 #e8404e, -2px -2px 0 #e8404e, -2px 2px 0 #e8404e, 2px -2px 0 #e8404e;
}
.qfap--tile.has-supernova-background {
  background-color: #ffcd00;
  color: #071f32;
  text-shadow: 2px 2px 0 #ffcd00, -2px -2px 0 #ffcd00, -2px 2px 0 #ffcd00, 2px -2px 0 #ffcd00;
}
@media (max-width: 799px) {
  .qfap--tile {
    font-size: 1.6rem;
    height: 13rem;
    padding: 0.6rem 1rem;
    width: 13rem;
  }
  .qfap--tile.is-centered {
    font-size: 1.4rem;
    height: 11rem;
    width: 11rem;
  }
  .qfap--tile.has-partner-format {
    height: 10rem;
    padding: 0rem;
  }
  .qfap--tile.has-partner-format .qfap--tile-text {
    align-items: flex-start;
  }
  .qfap--tile.has-partner-format.is-small {
    height: 8rem;
  }
  .qfap--tile.has-partner-format.is-large {
    height: 13rem;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-text {
    align-items: center;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-image {
    margin: 0 auto;
  }
}
@media (min-width: 500px) {
  .qfap--tile.has-partner-format {
    height: 15rem;
  }
  .qfap--tile.has-partner-format.is-small {
    height: 12rem;
  }
  .qfap--tile.has-partner-format.is-large {
    align-items: flex-start;
    flex-direction: row-reverse;
    gap: 2.5rem;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-text {
    flex: 1;
    height: 100%;
    justify-content: flex-start;
    text-align: left;
  }
  .qfap--tile.has-partner-format.is-large .qfap--tile-image {
    height: 100%;
    position: relative;
  }
}
@media (min-width: 800px) {
  .qfap--tile {
    font-size: 2rem;
    height: 21rem;
    padding: 2rem;
    width: 21rem;
  }
  .qfap--tile.is-centered {
    font-size: 1.8rem;
    height: 18.6rem;
    width: 18.6rem;
  }
  .qfap--tile.has-partner-format {
    height: 16rem;
    padding: 0rem;
  }
  .qfap--tile.has-partner-format.is-small {
    height: 13rem;
  }
  .qfap--tile.has-partner-format.is-large {
    height: 17rem;
  }
}

.breadcrumbs {
  color: rgba(7, 31, 50, 0.5);
  list-style: none;
  margin: 0 auto;
  padding: 2rem;
  text-align: center;
  text-transform: uppercase;
}
.breadcrumbs-item {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.05rem;
  line-height: 1.3;
}
.breadcrumbs-item::after {
  content: "/";
  display: inline-block;
}
.breadcrumbs-item > a {
  color: inherit;
  display: inline;
  padding: 1rem;
  text-decoration: none;
  transition: color 0.2s ease;
}
.breadcrumbs-item > a:hover {
  color: #071f32;
}
body[data-animations=disabled] .breadcrumbs-item > a {
  transition: none;
}

.paris-button {
  align-items: center;
  background-color: #fff;
  border: none;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-width: 12rem;
  padding: 1.6rem 2rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.paris-button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
body[data-animations=disabled] .paris-button {
  transition: none;
}

.paris-button::before {
  background-color: #e22c3f;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  transition: width 0.3s ease;
  width: 0;
}
body[data-animations=disabled] .paris-button::before {
  transition: none;
}

.paris-button:disabled {
  pointer-events: none;
}
.paris-button-text {
  color: #000;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.23;
  pointer-events: none;
  position: relative;
  text-align: center;
  transition: color 0.3s ease;
  z-index: 1;
}
body[data-animations=disabled] .paris-button-text {
  transition: none;
}

.paris-button.is-centered {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}
.paris-button.is-small {
  min-width: 0;
  padding: 0.8rem 1rem;
}
.paris-button.is-small .paris-button-text {
  font-size: 1rem;
  line-height: 1.3;
}
.paris-button.is-medium-text .paris-button-text {
  font-weight: 500;
}
.paris-button.has-icon {
  padding: 0.9rem 2rem 1rem 1rem;
}
.paris-button.is-icon-only {
  min-width: 0;
  padding: 1rem;
  width: 5.6rem;
}
.paris-button.is-button-gallery {
  background-color: #f2f2f2;
  border-radius: 50%;
  height: 7.2rem;
  overflow: hidden;
  min-width: 0;
  padding: 0;
  width: 7.2rem;
}
.paris-button.is-button-gallery:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-button.is-circle {
  border-radius: 50%;
  height: 4.2rem;
  padding: 0;
  min-width: 0;
  overflow: hidden;
  width: 4.2rem;
}
.paris-button.as-link.is-transparent .paris-button-text {
  color: #071f32;
}
.paris-button.as-link.is-transparent .paris-icon {
  fill: #071f32;
}
.paris-button.as-link .paris-button-text {
  text-decoration: underline;
}
.paris-button.as-link .paris-icon {
  height: 1em;
  width: 1em;
}
.paris-button .paris-icon {
  fill: #000;
  height: 3.2rem;
  margin-right: 0.4rem;
  position: relative;
  transition: fill 0.3s ease;
  width: 3.2rem;
  z-index: 1;
}
body[data-animations=disabled] .paris-button .paris-icon {
  transition: none;
}

.paris-button > .paris-icon:last-child {
  margin-right: 0;
}
.paris-button:hover::before, .paris-button:focus::before, .paris-button.is-active::before {
  width: 100%;
}
.paris-button:hover.as-link .paris-button-text, .paris-button:focus.as-link .paris-button-text, .paris-button.is-active.as-link .paris-button-text {
  text-decoration: none;
}
.paris-button:hover .paris-button-text, .paris-button:focus .paris-button-text, .paris-button.is-active .paris-button-text, .paris-button.is-red .paris-button-text, .paris-button.is-blue .paris-button-text, .paris-button.is-midblue .paris-button-text, .paris-button.is-transparent .paris-button-text {
  color: #fff;
}
.paris-button:hover .paris-icon, .paris-button:focus .paris-icon, .paris-button.is-active .paris-icon, .paris-button.is-red .paris-icon, .paris-button.is-blue .paris-icon, .paris-button.is-midblue .paris-icon, .paris-button.is-transparent .paris-icon {
  fill: #fff;
}
.paris-button.is-red {
  background-color: #e22c3f;
}
.paris-button.is-red::before {
  background-color: #fff;
}
.paris-button.is-red:not(.is-on-a-colored-background) {
  box-shadow: 0 0 0 0.1rem #e22c3f;
}
.paris-button.is-red:hover .paris-button-text, .paris-button.is-red:focus .paris-button-text, .paris-button.is-red.is-active .paris-button-text {
  color: #e22c3f;
}
.paris-button.is-red:hover .paris-icon, .paris-button.is-red:focus .paris-icon, .paris-button.is-red.is-active .paris-icon {
  fill: #e22c3f;
}
.paris-button.is-blue {
  background-color: #354bcf;
}
.paris-button.is-blue::before {
  background-color: #fff;
}
.paris-button.is-blue:not(.is-on-a-colored-background) {
  box-shadow: 0 0 0 0.1rem #071f32;
}
.paris-button.is-blue:hover .paris-button-text, .paris-button.is-blue:focus .paris-button-text {
  color: #071f32;
}
.paris-button.is-blue:hover .paris-icon, .paris-button.is-blue:focus .paris-icon {
  fill: #071f32;
}
.paris-button.is-midblue {
  background-color: #354bcf;
}
.paris-button.is-midblue::before {
  background-color: #fff;
}
.paris-button.is-midblue:not(.is-on-a-colored-background) {
  box-shadow: 0 0 0 0.1rem #354bcf;
}
.paris-button.is-midblue:hover .paris-button-text, .paris-button.is-midblue:focus .paris-button-text {
  color: #354bcf;
}
.paris-button.is-midblue:hover .paris-icon, .paris-button.is-midblue:focus .paris-icon {
  fill: #354bcf;
}
.paris-button.is-transparent {
  background-color: transparent;
}
.paris-button.is-transparent::before {
  background-color: transparent;
}
.paris-button.is-outline {
  background-color: transparent;
  border: 0.1rem solid #e22c3f;
}
.paris-button.is-outline::before {
  background-color: #e22c3f;
}
.paris-button.is-outline.has-blue-text {
  background-color: transparent;
  border: 0.1rem solid #354bcf;
}
.paris-button.is-outline.has-blue-text::before {
  background-color: #354bcf;
}
.paris-button.is-outline.has-white-text {
  border: 0.1rem solid #fff;
}
.paris-button.is-outline.has-white-text::before {
  background-color: #fff;
}
.paris-button.is-outline.has-white-text:hover .paris-button-text, .paris-button.is-outline.has-white-text:focus .paris-button-text {
  color: #354bcf;
}
.paris-button.has-red-text .paris-button-text {
  color: #d22638;
}
.paris-button.has-red-text .paris-icon {
  fill: #d22638;
}
.paris-button.has-red-text:hover .paris-button-text, .paris-button.has-red-text:focus .paris-button-text, .paris-button.has-red-text.is-active .paris-button-text {
  color: #fff;
}
.paris-button.has-red-text:hover .paris-icon, .paris-button.has-red-text:focus .paris-icon, .paris-button.has-red-text.is-active .paris-icon {
  fill: #fff;
}
.paris-button.has-blue-text .paris-button-text {
  color: #354bcf;
}
.paris-button.has-blue-text .paris-icon {
  fill: #354bcf;
}
.paris-button.has-blue-text:hover .paris-button-text, .paris-button.has-blue-text:focus .paris-button-text {
  color: #fff;
}
.paris-button.has-blue-text:hover .paris-icon, .paris-button.has-blue-text:focus .paris-icon {
  fill: #fff;
}
.paris-button.is-on-dark.has-red-text .paris-button-text {
  color: #d22638;
}
.paris-button.is-on-dark.has-red-text:hover .paris-button-text, .paris-button.is-on-dark.has-red-text:focus .paris-button-text, .paris-button.is-on-dark.has-red-text.is-active .paris-button-text {
  color: #fff;
}
.paris-button.is-transparent.has-red-text::before {
  background-color: #e22c3f;
}
.paris-button.is-transparent.has-blue-text::before {
  background-color: #354bcf;
}
.paris-button.has-white-text {
  background-color: transparent;
}
.paris-button.has-white-text .paris-button-text {
  color: #fff;
}
.paris-button.has-white-text .paris-icon {
  fill: #fff;
}
.paris-button.has-border-left {
  background-color: #f2f2f2;
}
.paris-button.has-border-left::before {
  width: 0.4rem;
}
.paris-button.has-border-left:hover, .paris-button.has-border-left:focus, .paris-button.has-border-left.is-active {
  background-color: #fff;
}
.paris-button.has-border-left:hover::before, .paris-button.has-border-left:focus::before, .paris-button.has-border-left.is-active::before {
  width: 100%;
}
.paris-button.has-uppercase-text {
  text-transform: uppercase;
}
.paris-button.has-spaced-text {
  letter-spacing: 0.04rem;
}
.paris-button.is-filter {
  background-color: #f2f2f2;
  justify-content: space-between;
  margin-bottom: 1.2rem;
  padding: 0.9rem 1rem 1rem 2rem;
  width: 100%;
}
.paris-button.is-filter::before {
  background-color: #f2f2f2;
}
.paris-button.is-filter:focus .paris-button-text, .paris-button.is-filter:hover .paris-button-text, .paris-button.is-filter.is-active .paris-button-text {
  color: #e22c3f;
}
.paris-button.is-filter .paris-icon {
  fill: #e22c3f;
  order: 100;
}

.paris-card {
  color: #071f32;
  display: flex;
  flex-direction: column;
  height: fit-content;
  margin-bottom: 2rem;
  text-decoration: none;
}
.paris-card:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-card.margin-top-1 {
  margin-top: 1rem;
}
.paris-card:hover .paris-card-image:not(.no-zoom) img, .paris-card:focus .paris-card-image:not(.no-zoom) img {
  transform: scale(1.15);
}
.paris-card-image, .paris-card-video {
  display: block;
  order: -1;
}
.paris-card-image-mask, .paris-card-video-mask {
  overflow: hidden;
}
.paris-card-image img, .paris-card-video img {
  display: block;
  max-width: 100%;
  transform: scale(1);
  transition: transform 0.2s ease;
  width: 100%;
}
body[data-animations=disabled] .paris-card-image img, body[data-animations=disabled] .paris-card-video img {
  transition: none;
}

.paris-card-image .video, .paris-card-video .video {
  margin: 0;
}
.paris-card-content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  margin-left: 1rem;
  margin-top: 1rem;
  position: relative;
  text-align: left;
  z-index: 1;
}
.paris-card-title {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.33;
  margin-top: 0.8rem;
}
.paris-card.image-landscape .paris-card-image-mask {
  aspect-ratio: 16/10;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
@supports not (aspect-ratio: 16/10) {
  .paris-card.image-landscape .paris-card-image-mask::before {
    float: left;
    padding-top: 100%;
    content: "";
  }
  .paris-card.image-landscape .paris-card-image-mask::after {
    display: block;
    content: "";
    clear: both;
  }
}
.paris-card-formats {
  line-height: 1.3rem;
  order: -1;
}
.paris-card.is-hero {
  margin-bottom: 4rem;
}
.paris-card.is-hero .paris-card-content {
  background: #fff;
  margin-left: 6rem;
  margin-top: -6rem;
  margin-right: 5rem;
  padding: 2rem 3rem 3rem 3rem;
}
.paris-card.is-hero .paris-card-title {
  font-size: 4.2rem;
  font-weight: 900;
  line-height: 1.14;
  margin-bottom: 1rem;
}
.paris-card.is-hero .paris-card-image, .paris-card.is-hero .paris-card-video {
  margin-right: 0;
}
.paris-card.is-hero .paris-card-image img, .paris-card.is-hero .paris-card-video img {
  width: 100%;
}
.paris-card.is-gallery {
  padding-top: 3.5rem;
  position: relative;
}
.paris-card.is-gallery::before {
  background: #071f32;
  content: "";
  display: block;
  height: 3.5rem;
  margin: 0 3rem;
  position: absolute;
  width: calc(100% - 6rem);
  top: 0;
}
.paris-card.is-gallery .paris-card-content {
  align-items: center;
  background: #071f32 url(/../../assets/images/nef-grey-10.svg) no-repeat -16rem -19rem;
  background-size: 49rem 46rem;
  color: #fff;
  margin-top: -9.5rem;
}
.paris-card.is-gallery .paris-card-title {
  font-size: 4.2rem;
  font-weight: 800;
  line-height: 1.14;
  letter-spacing: -0.04rem;
  padding: 0 8rem 3rem;
  text-align: center;
}
.paris-card.is-gallery .paris-card-format {
  margin-top: 2rem;
  color: #fff;
}
.paris-card.has-video .paris-card-content {
  margin-top: 0;
}
.paris-card.portfolio-cat .tag {
  background-color: #354bcf;
  color: white;
  width: 100%;
  padding: 1.5rem;
  display: inline-block;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: lowercase;
}
.paris-card.portfolio-cat .tag:hover {
  background-color: white;
  color: #354bcf;
  border: 0.1rem solid #354bcf;
}
.paris-card.portfolio-cat .paris-card-content {
  margin: 0 !important;
  align-items: unset !important;
}
@media (max-width: 499px) {
  .paris-card-title {
    font-size: 1.7rem;
  }
  .paris-card.portfolio-cat .tag {
    margin-top: 4rem;
  }
}
@media (max-width: 799px) {
  .paris-card-image, .paris-card-video {
    margin-right: 0;
  }
  .paris-card.is-two-square .paris-card-format {
    margin-top: 1.26rem;
  }
  .paris-card.is-hero {
    margin-bottom: 4rem;
  }
  .paris-card.is-hero .paris-card-content {
    margin-left: 0;
    margin-right: 2.5rem;
  }
  .paris-card.is-hero .paris-card-title {
    font-size: 2.6rem;
    hyphens: auto;
    line-height: 1.125;
  }
  .paris-card.is-gallery {
    padding-top: 1.5rem;
  }
  .paris-card.is-gallery .paris-card-content {
    margin: -4rem 3rem 0 3rem;
  }
  .paris-card.is-gallery .paris-card-title {
    font-size: 2.6rem;
    hyphens: auto;
    padding: 0 2rem 3rem;
  }
}
@media (min-width: 500px) {
  .paris-card.is-gallery .paris-card-content {
    margin: -9.5rem 3rem 0;
  }
}
@media (min-width: 1140px) {
  .paris-card-content {
    margin: 1rem 3rem;
  }
}

.paris-elected-card {
  align-items: flex-start;
  border-bottom: 0.1rem solid rgba(242, 242, 242, 0.85);
  display: flex;
  margin-bottom: 2.4rem;
  padding-bottom: 2.4rem;
  position: relative;
}
.paris-elected-card-content {
  flex: 1 1 auto;
}
.paris-elected-card-name {
  color: #071f32;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: -0.02rem;
  margin-bottom: 1rem;
  text-decoration: none;
}
.paris-elected-card-name:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-elected-card-name::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}
.paris-elected-card-name:hover ~ .paris-button::before, .paris-elected-card-name:focus ~ .paris-button::before {
  width: 100%;
}
.paris-elected-card-name:hover ~ .paris-button.is-red .paris-button-text, .paris-elected-card-name:focus ~ .paris-button.is-red .paris-button-text {
  color: #e22c3f;
}
.paris-elected-card-position {
  color: #354bcf;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.44;
  letter-spacing: -0.02rem;
  margin-bottom: 0.5rem;
}
.paris-elected-card-group {
  color: #071f32;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.73;
}
.paris-elected-card .paris-button {
  margin-top: 2rem;
}
.paris-elected-card-image {
  order: -1;
}
.paris-elected-card-image img {
  display: block;
  max-height: 100%;
  width: 100%;
}
@media (max-width: 799px) {
  .paris-elected-card {
    flex-direction: column;
  }
  .paris-elected-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .paris-elected-card-image {
    margin-bottom: 2rem;
    width: 100%;
  }
  .paris-elected-card .paris-button {
    display: inline-block;
  }
}
@media (min-width: 800px) {
  .paris-elected-card-content {
    width: 55%;
  }
  .paris-elected-card-image {
    height: 18rem;
    margin-right: 3rem;
    max-width: 29rem;
    width: 38%;
  }
}
@media (min-width: 1140px) {
  .paris-elected-card-image {
    margin-right: 6rem;
  }
}

.paris-cards.is-home-grid > div:nth-child(2n+1) .paris-card-image, .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-card-image, .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-theme-card-image {
  position: relative;
}
.paris-cards.is-home-grid > div:nth-child(2n+1) .paris-card-image::after, .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-card-image::after, .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-theme-card-image::after {
  background: #f2f2f2;
  content: "";
  display: block;
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 1px;
}
.paris-cards.is-home-grid {
  display: grid;
}
.paris-cards.is-home-grid > div:nth-child(2n+1) .paris-card-image::after {
  right: -4.5rem;
}
.paris-cards.is-theme-grid {
  display: grid;
}
.paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-card-image::after,
.paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-theme-card-image::after {
  right: -5.9rem;
}
@media (max-width: 499px) {
  .paris-cards.is-home-grid, .paris-cards.is-theme-grid {
    grid-template-columns: 1fr;
    margin: 0 3rem;
  }
}
@media (max-width: 889px) {
  .paris-cards.is-home-grid > div:nth-child(2n+1) .paris-card-image::after, .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-card-image::after, .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-theme-card-image::after {
    display: none;
  }
}
@media (min-width: 500px) and (max-width: 889px) {
  .paris-cards.is-home-grid {
    margin: 0 3rem;
  }
  .paris-cards.is-theme-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 4rem 5rem;
    padding: 0 4rem 0 8rem;
  }
}
@media (min-width: 500px) and (max-width: 800px) {
  .paris-cards.is-theme-grid {
    padding: 0 4rem 0 4rem;
  }
  .paris-cards.is-theme-grid .paris-card-image {
    margin-right: 0rem;
  }
}
@media (min-width: 500px) and (max-width: 1000px) {
  .paris-cards.is-home-grid {
    margin: 0 3rem;
  }
}
@media (min-width: 500px) {
  .paris-cards.is-home-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 4rem 9rem;
  }
}
@media (min-width: 890px) {
  .paris-cards.is-theme-grid {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 5.5rem 13%;
    margin: 4rem auto 0;
    max-width: 133rem;
    padding: 0 4rem 0 8rem;
  }
  .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-card-image::after {
    left: 126.5%;
    right: auto;
  }
  .paris-cards.is-theme-grid > div:not(:nth-child(3n)) .paris-theme-card-image::after {
    left: calc(3rem + 126.5%);
    right: auto;
  }
  .paris-cards.is-theme-grid .paris-theme-card-title {
    hyphens: auto;
  }
}
@media (min-width: 1100px) {
  .paris-cards.is-theme-grid .paris-theme-card-title {
    hyphens: none;
  }
}

.compatibility-alerts {
  font-size: 1.3rem;
  color: #071f32;
}
.compatibility-alerts-title {
  font-size: 1.8rem;
}
.compatibility-alerts-subtitle {
  font-weight: 600;
  font-size: 1.5rem;
}
.compatibility-alerts a {
  text-decoration: underline;
}
.compatibility-alerts .is-red {
  color: #c70404;
}

.paris-container {
  color: #071f32;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.73;
}
.paris-container.has-border-top {
  border-top: 0.1rem solid #f2f2f2;
  margin-top: 2rem;
  padding-top: 2rem;
}
.paris-container.has-margin-bottom {
  margin-bottom: 4rem;
}
.paris-container.has-2-columns {
  display: flex;
}
.paris-container.is-article, .paris-container.is-paris-place, .paris-container.is-selection {
  background-color: #fff;
}
.paris-container.has-sidebar.is-article .paris-container-components, .paris-container.has-sidebar.is-paris-place .paris-container-components {
  margin: auto 2rem;
  max-width: 80rem;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  margin-bottom: 2rem;
  text-align: center;
  text-transform: uppercase;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a {
  color: #d22638;
  transition: color 0.2s ease;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a:focus-visible, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a::after, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a::after {
  transition: color 0.2s ease;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a:hover, .paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a:active, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a:hover, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a:active {
  color: #071f32;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a[target=_blank], .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a[target=_blank] {
  padding-right: 1.5em;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a[target=_blank]::after, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a[target=_blank]:hover::after, .paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link a[target=_blank]:focus::after, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a[target=_blank]:hover::after, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link > a, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link > a {
  padding: 1rem;
}
.paris-container.portfolio-container {
  background-color: #fff;
  margin: 3rem auto auto;
  width: 85vw;
  max-width: 110rem;
}
.paris-container.errors-container {
  background-color: #fff;
  margin: 6rem auto auto;
  max-width: 120rem;
  width: 80vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 5rem;
}
.paris-container.errors-container .not-found {
  max-width: 40rem;
}
.paris-container.errors-container .logo-404 svg {
  max-width: 40rem;
  max-height: 40rem;
}
.paris-container.errors-container.has-4-columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-column-gap: 5rem;
}
.paris-container.errors-container.has-3-columns, .paris-container.errors-container.result {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 5rem;
  margin: 3rem auto auto;
}
.paris-container.errors-container .is-centered {
  text-align: center;
}
.paris-container.is-home .qfap--tags {
  padding: 0 3rem;
  margin: -6rem auto 7rem 8rem;
}
.paris-container.is-home .is-two-square-container .qfap--tags {
  padding: 0;
  margin: -6rem auto 4rem 3rem;
}
.paris-container.is-home .is-hero .paris-card-content {
  padding: 2 3rem;
}
.paris-container.is-home .has-uppercase-text {
  letter-spacing: 0.1em;
  font-weight: 600;
}
.paris-container.is-home .paris-button {
  min-width: unset;
}
.paris-container.is-home .paris-container-column:nth-child(2) .paris-card {
  margin-bottom: 7rem;
}
.paris-container.is-home .paris-container-column:nth-child(2) > .newsletter {
  margin: 0 0 7rem;
}
.paris-container.is-home .paris-container-column:nth-child(2) > .newsletter:first-child {
  margin-top: 2rem;
}
@media (max-width: 499px) {
  .paris-container .logo-404 {
    display: none;
  }
  .paris-container.portfolio-container {
    margin: 3rem;
  }
  .paris-container.is-home .qfap--tags {
    padding: unset;
    margin: -3rem auto 3rem 3rem;
  }
  .paris-container.is-home .is-two-square-container .qfap--tags {
    margin: -3rem auto 3rem 1rem;
  }
  .paris-container.is-home .paris-card {
    margin-bottom: 4rem;
  }
  .paris-container.is-home .magazine {
    margin-bottom: 4rem;
  }
}
@media (max-width: 799px) {
  .paris-container.is-home > .paris-container-column:first-of-type,
  .paris-container.is-home > .paris-container-column:last-of-type {
    display: none;
  }
  .paris-container.is-home .paris-card.is-hero .paris-card-content {
    padding-bottom: 0;
  }
  .paris-container.is-home .newsletter {
    margin: -1rem 3rem 4rem;
  }
  .paris-container.has-2-columns {
    flex-direction: column-reverse;
  }
  .paris-container.has-2-columns.is-article, .paris-container.has-2-columns.is-paris-place, .paris-container.has-2-columns.is-selection, .paris-container.has-2-columns.is-search {
    flex-direction: column;
  }
  .paris-container.has-2-columns.is-article .paris-container-column:last-of-type, .paris-container.has-2-columns.is-paris-place .paris-container-column:last-of-type, .paris-container.has-2-columns.is-selection .paris-container-column:last-of-type {
    margin: 0 3rem;
  }
  .paris-container.has-sidebar.is-article {
    display: flex;
    flex-direction: column-reverse;
  }
  .paris-container.has-sidebar.is-article .paris-container-column:first-child {
    margin-top: 2rem;
  }
  .paris-container.has-sidebar.is-paris-place {
    display: flex;
    flex-direction: column;
  }
  .paris-container.has-sidebar.is-paris-place .paris-container-column {
    margin-top: 2rem;
  }
  .paris-container.giant-container, .paris-container.eudonet-container, .paris-container.election-container {
    margin: 3rem auto auto;
    width: 90vw;
  }
  .paris-container.has-limited-width {
    padding: 0 3rem;
  }
  .paris-container.has-limited-width.is-search {
    padding: 0 2rem;
  }
  .paris-container.errors-container {
    grid-template-columns: 1fr;
  }
  .paris-container.errors-container.has-4-columns, .paris-container.errors-container.has-3-columns {
    display: grid;
    grid-template-columns: 1fr;
  }
  .paris-container.errors-container .shortcuts {
    margin: unset;
  }
}
@media (min-width: 500px) {
  .paris-container .paris-cards.is-home-grid + .paris-cards.is-home-grid {
    margin-top: -2rem;
  }
}
@media (min-width: 800px) {
  .paris-container.has-limited-width {
    margin: 0 auto;
    max-width: 125rem;
    padding: 0 5rem;
    width: 100%;
  }
  .paris-container.has-2-columns {
    justify-content: space-between;
  }
  .paris-container.has-2-columns .paris-container-column {
    width: 100%;
  }
  .paris-container.has-2-columns .paris-container-column:first-of-type {
    max-width: 76rem;
  }
  .paris-container.has-2-columns .paris-container-column:last-of-type {
    margin-left: 4rem;
    max-width: 20rem;
  }
  .paris-container.has-2-columns.is-search .paris-container-column {
    width: 100%;
  }
  .paris-container.has-2-columns.is-search .paris-container-column:first-of-type {
    max-width: 20rem;
  }
  .paris-container.has-2-columns.is-search .paris-container-column:last-of-type {
    flex-grow: 1;
    margin-left: 6.5rem;
    max-width: none;
  }
  .paris-container.has-2-columns.is-article, .paris-container.has-2-columns.is-paris-place, .paris-container.has-2-columns.is-selection {
    justify-content: flex-start;
  }
  .paris-container.has-2-columns.is-article .paris-container-column:first-of-type, .paris-container.has-2-columns.is-paris-place .paris-container-column:first-of-type, .paris-container.has-2-columns.is-selection .paris-container-column:first-of-type {
    max-width: 33vw;
  }
  .paris-container.has-2-columns.is-article .paris-container-column:last-of-type, .paris-container.has-2-columns.is-paris-place .paris-container-column:last-of-type, .paris-container.has-2-columns.is-selection .paris-container-column:last-of-type {
    margin-left: 0;
    max-width: 80rem;
    width: 50vw;
  }
  .paris-container.has-2-columns.is-selection .controls {
    display: none;
  }
  .paris-container.has-sidebar.is-article, .paris-container.has-sidebar.is-paris-place {
    display: grid;
    grid-template-columns: 40rem 1fr;
  }
  .paris-container.has-sidebar.is-article .paris-container-sidebar-skip-link, .paris-container.has-sidebar.is-paris-place .paris-container-sidebar-skip-link {
    display: none;
  }
  .paris-container.has-3-columns:not(.is-home) {
    display: grid;
    grid-template-columns: 26fr 55fr 24fr;
    grid-column-gap: 3rem;
    margin: 0 3rem 0 1.5rem;
    max-width: 178rem;
  }
  .paris-container.has-3-columns:not(.is-home) .paris-container-column {
    margin: 0 auto;
    max-width: 65.5rem;
    width: auto;
  }
  .paris-container.has-3-columns:not(.is-home) .paris-container-column:first-of-type {
    margin: 0;
    max-width: 31rem;
    padding: 0 2.5rem;
    position: relative;
    z-index: 10;
  }
  .paris-container.has-3-columns:not(.is-home) .paris-container-column:last-of-type {
    margin-left: 2.8rem;
    position: relative;
    z-index: 10;
  }
  .paris-container.has-3-columns.is-home .paris-container-column:first-of-type {
    margin: 0 3rem;
  }
  .paris-container.giant-container {
    margin: 14.5rem auto auto;
    max-width: 85rem;
    width: 80vw;
  }
  .paris-container.eudonet-container {
    margin: 4.5rem auto auto;
    max-width: 100rem;
    width: 80vw;
  }
  .paris-container.election-container {
    margin: 3rem auto auto;
    width: 80vw;
  }
}
@media (min-width: 800px) and (max-width: 999px) {
  .paris-container.is-home .paris-container-column:nth-child(2) {
    max-width: 60rem;
    margin: 4rem auto;
  }
}
@media (min-width: 1000px) {
  .paris-container.has-limited-width.is-home {
    margin: 0 auto;
    max-width: 125rem;
    padding: 0 5rem;
    width: 100%;
  }
  .paris-container.has-2-columns.is-home {
    justify-content: space-between;
  }
  .paris-container.has-2-columns.is-home .paris-container-column {
    width: 100%;
  }
  .paris-container.has-2-columns.is-home .paris-container-column:first-of-type {
    max-width: 76rem;
  }
  .paris-container.has-2-columns.is-home .paris-container-column:last-of-type {
    margin-left: 4rem;
    max-width: 20rem;
  }
  .paris-container.has-2-columns.is-article, .paris-container.has-2-columns.is-paris-place, .paris-container.has-2-columns.is-selection {
    justify-content: flex-start;
  }
  .paris-container.has-2-columns.is-article .paris-container-column:first-of-type, .paris-container.has-2-columns.is-paris-place .paris-container-column:first-of-type, .paris-container.has-2-columns.is-selection .paris-container-column:first-of-type {
    max-width: 33vw;
  }
  .paris-container.has-2-columns.is-article .paris-container-column:last-of-type, .paris-container.has-2-columns.is-paris-place .paris-container-column:last-of-type, .paris-container.has-2-columns.is-selection .paris-container-column:last-of-type {
    margin-left: 0;
    max-width: 80rem;
    width: 50vw;
  }
  .paris-container.has-3-columns.is-home {
    display: grid;
    grid-template-columns: 26fr 55fr 24fr;
    grid-column-gap: 3rem;
    margin: 0 0 0 1.5rem;
  }
  .paris-container.has-3-columns.is-home .paris-container-column {
    margin: 0 auto;
    max-width: 65.5rem;
    width: auto;
  }
  .paris-container.has-3-columns.is-home .paris-container-column .shortcuts {
    margin-bottom: 4.4rem;
  }
  .paris-container.has-3-columns.is-home .paris-container-column:first-of-type {
    margin: 0;
    max-width: 31rem;
    padding: 0 2.5rem;
    position: relative;
    z-index: 10;
  }
  .paris-container.has-3-columns.is-home .paris-container-column:nth-child(2) {
    margin-top: 2rem;
  }
  .paris-container.has-3-columns.is-home .paris-container-column:last-of-type {
    background-color: #f4f3f3;
    padding-left: 2.8rem;
    margin: 0;
    position: relative;
    z-index: 10;
  }
}
@media (min-width: 1000px) and (max-width: 1139px) {
  .paris-container.has-3-columns.is-home {
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
  }
  .paris-container.has-3-columns.is-home {
    margin: 0 0 0 1.5rem;
  }
  .paris-container.has-3-columns.is-home .paris-container-column {
    max-width: 43.5rem;
  }
}
@media (min-width: 1140px) {
  .paris-container.has-2-columns .paris-container-column:last-of-type {
    max-width: 27rem;
  }
  .paris-container.has-2-columns.is-search .paris-container-column:last-of-type {
    max-width: none;
  }
  .paris-container.has-3-columns {
    grid-template-columns: 26fr 55fr 24fr;
  }
}
@media (min-width: 1800px) {
  .paris-container.has-3-columns {
    grid-column-gap: 5.8rem;
  }
  .paris-container.giant-container {
    margin: 14.5rem auto auto;
    max-width: 100rem;
    width: 70vw;
  }
  .paris-container.election-container {
    margin: 7rem auto auto;
    max-width: 122rem;
    width: 70vw;
  }
  .paris-container.eudonet-container {
    margin: 4.5rem auto auto;
    max-width: 130rem;
    width: 70vw;
  }
  .paris-container.portfolio-container > .paris-container-components {
    margin: 3rem auto auto;
    max-width: 120rem;
    width: 65vw;
  }
}
@media (min-width: 1430px) and (max-width: 1630px) {
  .paris-container.has-2-columns.is-selection {
    margin-top: 10rem;
  }
}
@media (min-width: 1631px) and (max-width: 1745px) {
  .paris-container.has-2-columns.is-selection {
    margin-top: 14rem;
  }
}
@media (min-width: 1746px) and (max-width: 1980px) {
  .paris-container.has-2-columns.is-selection {
    margin-top: 20rem;
  }
}
@media (min-width: 1981px) {
  .paris-container.has-2-columns.is-selection {
    margin-top: 23rem;
  }
}
@media (min-width: 1300px) {
  .paris-container.has-sidebar.is-article, .paris-container.has-sidebar.is-paris-place {
    grid-template-columns: 33vw 1fr;
  }
  .paris-container.has-sidebar.is-article .paris-container-components, .paris-container.has-sidebar.is-paris-place .paris-container-components {
    margin: 0;
  }
}

.paris-cookies {
  align-items: flex-start;
  background-color: #071f32;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 1.3rem;
  font-weight: 500;
  justify-content: flex-end;
  left: 0;
  line-height: 1.5;
  min-height: 100%;
  padding: 2.5rem;
  position: absolute;
  top: 0;
  width: 100%;
}
.paris-cookies-thumbnail {
  display: block;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  opacity: 0.3;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.paris-cookies-text {
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);
  margin: 0 0 1.6rem 0;
  padding-bottom: 1.6rem;
  position: relative;
}
.paris-cookies-text a[target=_blank] {
  color: #fff;
  padding-right: 1.5em;
}
.paris-cookies-text a[target=_blank]::after {
  content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M17.78,17.78H2.22V2.22H7.69V0H2.22A2.21,2.21,0,0,0,0,2.22V17.78A2.21,2.21,0,0,0,2.22,20H17.78A2.23,2.23,0,0,0,20,17.78V12.31H17.78ZM12.22,0V2.22h4l-6.3,6.3,1.57,1.57,6.3-6.3v4H20V0Z' fill='%23FFFFFF'/></svg>");
  width: 0.6em;
  height: 0.6em;
  display: inline-block;
  margin-right: -1em;
  position: relative;
  left: 0.3em;
}
.paris-cookies-button {
  position: relative;
}
.paris-cookies-button .paris-icon-check {
  padding-right: 1.3rem;
}
.paris-cookies-checkbox {
  cursor: pointer;
  margin-top: 1.6rem;
  padding: 0 0 0 3rem;
  position: relative;
}
.paris-cookies-checkbox input {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  display: block;
  height: 1.7rem;
  left: 0;
  margin: 0;
  margin-right: 0.5rem;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.7rem;
}
.paris-cookies-checkbox input:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-cookies-checkbox input::before {
  border: 0.2rem solid #fff;
  content: "";
  cursor: pointer;
  display: block;
  font-family: "Montserrat", sans-serif;
  height: 1.8rem;
  width: 1.8rem;
}
.paris-cookies-checkbox input:checked::before {
  background-image: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M 11.52 1.76 L 5.02 8.25 L 2.51 5.67 L 0.5 7.62 L 4.99 12.24 L 13.5 3.74 Z' fill='%23FFFFFF'/></svg>");
  background-repeat: no-repeat;
  background-position: 0.2rem -0.1rem;
}
@media (max-width: 499px) {
  .paris-cookies {
    position: relative;
  }
}
.paris-cookies-banner {
  background-color: #f2f2f2;
  bottom: 0;
  box-shadow: -2px -2px 0 0 rgba(7, 31, 50, 0.1);
  padding: 1.6rem;
  position: fixed;
  transform: translateY(100%);
  transition: all 250ms cubic-bezier(1, 0, 0, 1);
  z-index: 1001;
}
.paris-cookies-banner a {
  color: #d22638;
  transition: color 0.2s ease;
}
.paris-cookies-banner a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-cookies-banner a::after {
  transition: color 0.2s ease;
}
.paris-cookies-banner a:hover, .paris-cookies-banner a:active {
  color: #071f32;
}
.paris-cookies-banner a[target=_blank] {
  padding-right: 1.5em;
}
.paris-cookies-banner a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.paris-cookies-banner a[target=_blank]:hover::after, .paris-cookies-banner a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.paris-cookies-banner.shown {
  transform: translateY(0);
}
.paris-cookies-banner-text {
  font-size: 1.3rem;
  line-height: 1.5;
  margin: 0;
}
.paris-cookies-banner-buttons {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap-reverse;
}
.paris-cookies-banner-buttons .paris-button {
  padding: 1rem 1.7rem;
  margin-right: 1rem;
  margin-top: 1rem;
  min-width: 10rem;
}
@media (max-width: 729.9px) {
  .paris-cookies-banner-buttons .paris-button {
    padding: 1rem 1.6rem;
  }
}
@media (min-width: 730px) {
  .paris-cookies-banner {
    max-width: 730px;
    padding: 1.6rem 2.2rem;
    right: 0;
  }
  .paris-cookies-banner-text {
    font-size: 1.3rem;
  }
  .paris-cookies-banner-buttons .paris-button {
    margin-right: 1.5rem;
  }
}

@media (max-width: 799px) {
  .paris-cookies-banner {
    bottom: 8rem;
  }
}
.disclosure {
  /* States */
}
.disclosure-summary {
  appearance: none;
  background-color: transparent;
  border: none;
  font-size: 1.1rem;
  text-decoration: underline;
  cursor: pointer;
  color: #071f32;
}
.disclosure-summary:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.disclosure-summary::after {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: 900;
  margin-left: 1rem;
}
.disclosure-summary[aria-expanded=true]::after {
  content: "\f077";
}
.disclosure-summary[aria-expanded=false]::after {
  content: "\f078";
}
.disclosure-content {
  display: none;
  margin-bottom: 3rem;
  margin-top: 3rem;
}
.disclosure-summary[aria-expanded=true] + .disclosure-content {
  display: block;
}

.eudonet .paris-table {
  border-collapse: separate;
}
.eudonet .paris-table tbody .paris-table-td:not(:first-child) {
  border-left: 0.1rem solid #d1d1d1;
}
.eudonet .paris-table tbody .paris-table-td:not(:first-child) > span {
  border-left: none;
}
.eudonet .paris-table tbody .paris-table-td:nth-child(2) {
  width: 80%;
}

.explore {
  color: #071f32;
  display: block;
  margin-top: 1.5rem;
  margin-bottom: 6rem;
  padding-top: 3rem;
  position: relative;
  text-align: center;
  text-decoration: none;
}
.explore::before {
  background: center/cover no-repeat url(/../../assets/images/map-dark.png) rgba(7, 31, 50, 0.05);
  content: "";
  display: block;
  height: 89%;
  position: absolute;
  top: 0;
  width: 100%;
}
.explore-title {
  display: block;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.33;
  margin-bottom: 0.8rem;
  position: relative;
}
.explore-text {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.54;
  margin: 0 auto 2rem;
  max-width: 27rem;
  padding: 0 1.5rem;
  position: relative;
}
.explore:hover .paris-button::before, .explore:focus .paris-button::before {
  width: 100%;
}
.explore:hover .paris-button-text, .explore:focus .paris-button-text {
  color: #e22c3f;
}
.explore:hover .paris-button .paris-icon, .explore:focus .paris-button .paris-icon {
  fill: #e22c3f;
}
.paris-header .explore {
  margin: 3rem 0;
}
.explore.is-on-dark {
  color: #fff;
}
.explore.is-on-dark::before {
  background: center/cover no-repeat url(/../../assets/images/map-dark.png) rgba(242, 242, 242, 0.05);
}
@media (max-width: 799px) {
  .explore {
    margin-left: 3rem;
    margin-right: 3rem;
  }
}
@media (max-width: 999px) {
  .paris-container-column .explore::before {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    width: calc(100% + 3rem);
  }
}
@media (min-width: 1000px) {
  .paris-container-column .explore::before {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
    width: calc(100% + 5rem);
  }
}

.feedback {
  border-top: 0.6rem solid #f2f2f2;
  margin: 6rem auto 2rem;
  padding: 0 2rem 2.6rem;
  text-align: center;
}
.feedback-icon {
  align-items: center;
  background: #071f32;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  height: 5.6rem;
  justify-content: center;
  margin: -3.1rem auto 1.8rem;
  width: 5.6rem;
}
.feedback-title, .feedback-subtitle {
  font-weight: 700;
  line-height: 2.6rem;
}
.feedback-title {
  color: #354bcf;
  font-size: 1.6rem;
  letter-spacing: -0.02rem;
}
.feedback-subtitle {
  color: #071f32;
  font-size: 1.4rem;
  letter-spacing: -0.02rem;
  margin: 2rem 0 1rem;
}
.feedback-text {
  font-size: 1.3rem;
  font-weight: 500;
  text-align: left;
  line-height: 2rem;
}
.feedback-text a {
  color: #d22638;
  transition: color 0.2s ease;
}
.feedback-text a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.feedback-text a::after {
  transition: color 0.2s ease;
}
.feedback-text a:hover, .feedback-text a:active {
  color: #071f32;
}
.feedback-text a[target=_blank] {
  padding-right: 1.5em;
}
.feedback-text a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.feedback-text a[target=_blank]:hover::after, .feedback-text a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.feedback-text > a {
  font-weight: 700;
}
.feedback-comment {
  display: none;
}
.feedback-comment > * {
  text-align: left;
}
.feedback-comment-form textarea {
  background-color: #f4f3f3;
  border: 1px solid transparent;
  color: #071f32;
  display: block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2rem;
  margin-bottom: 2rem;
  min-height: 15rem;
  outline: 0;
  padding: 2rem;
  width: 100%;
}
.feedback-comment-errors, .feedback-comment-warning {
  color: #d22638;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2rem;
}
.feedback-comment-warning {
  border-left: 0.4rem solid #e8404e;
  display: none;
  margin-bottom: 2rem;
  padding-left: 1.5rem;
}
.feedback-comment-warning a {
  color: #d22638;
  transition: color 0.2s ease;
}
.feedback-comment-warning a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.feedback-comment-warning a::after {
  transition: color 0.2s ease;
}
.feedback-comment-warning a:hover, .feedback-comment-warning a:active {
  color: #071f32;
}
.feedback-comment-warning a[target=_blank] {
  padding-right: 1.5em;
}
.feedback-comment-warning a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.feedback-comment-warning a[target=_blank]:hover::after, .feedback-comment-warning a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.feedback-comment-success {
  color: #257d1b;
}
.feedback-comment-error {
  color: #d71d31;
}
.feedback-comment-submit-button:disabled {
  background-color: #ccc;
  box-shadow: 0 0 0 0.1rem #ccc !important;
}
.feedback.has-comment-form .feedback-comment {
  display: block;
}
.feedback.has-comment-warning .feedback-comment-warning {
  display: block;
}
@media (max-width: 499px) {
  .feedback .paris-button {
    margin-bottom: 1rem;
  }
  .feedback-subtitle {
    margin: 1rem 0;
  }
  .feedback-comment .paris-button {
    display: block;
    margin: 1rem auto 0;
  }
  .feedback-comment > .feedback-subtitle {
    text-align: center;
  }
}
@media (min-width: 800px) {
  .feedback {
    border: 0.6rem solid #f2f2f2;
    max-width: 80rem;
    padding: 0 4rem 2.6rem;
    width: 100%;
  }
  .feedback-subtitle {
    font-size: 1.8rem;
  }
  .feedback-comment {
    margin-top: 4rem;
  }
  .feedback-ask {
    margin-top: 3rem;
  }
}

.feedback-counter {
  color: #071f32;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.2rem;
}
.feedback-counter-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.feedback-counter .material-symbols-outlined {
  font-size: 1.3rem;
  line-height: 0.5;
}
.feedback-counter-number {
  font-size: 1.3rem;
}

.paris-footer {
  background-color: #f4f3f3;
  border-top: 0.1rem solid #cecfcf;
  overflow-x: hidden;
  position: relative;
  width: 100%;
}
.paris-footer::after {
  background: transparent url(/assets/nef-blackpearl-cf0c11543c78a0e2236287438c6753f74c9c544e836e5fb422e577adf24fdc1f.svg) no-repeat 50% 50%;
  background-size: 76rem;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 98;
}
.paris-footer a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-footer.is-district .paris-footer-extra {
  margin-left: auto;
  margin-right: auto;
  max-width: 94rem;
}
.paris-footer.is-default-locale::after {
  height: calc(100% - 10rem);
}
.paris-footer.is-hide {
  opacity: 0;
}
.paris-footer-mairie-selector {
  background: #354bcf;
  color: #fff;
}
.paris-footer-info-paris {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 1.8rem 0rem;
  background: #354bcf;
  color: #fff;
}
.paris-footer-info-paris-title {
  font-size: 1.9rem;
  font-weight: 500;
}
.paris-footer-info-paris a {
  color: inherit;
}
.paris-footer-info-paris a:hover {
  text-decoration: none;
}
.paris-footer-info-paris a:focus-visible {
  outline: 0.3rem solid rgba(255, 255, 255, 0.2);
  outline-offset: 0.25rem;
}
.paris-footer-select {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
}
.paris-footer-select-title {
  margin: 0;
  font-size: 1.9rem;
  font-weight: 500;
}
.paris-footer-select-form {
  background: #fff;
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 1.4rem 2rem;
  position: relative;
}
.paris-footer-select select {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  padding: 0.8rem 2rem;
  position: relative;
  text-transform: uppercase;
}
.paris-footer-select select:focus-visible {
  outline: 0.3rem solid #fff;
  outline-offset: 0.25rem;
}
.paris-footer-select .paris-icon {
  fill: #071f32;
  height: 3.2rem;
  right: 1rem;
  position: absolute;
  top: 50%;
  width: 3.2rem;
  transform: translateY(-1.6rem);
}
.paris-footer-extra {
  display: flex;
  margin: 4rem 0 5rem;
}
.paris-footer-extra-list {
  display: flex;
  margin: 0 auto;
  max-width: 133rem;
  width: 100%;
}
.paris-footer-extra-list-container {
  text-align: center;
}
.paris-footer-newsletter {
  margin: 0 auto;
  max-width: 26rem;
}
.paris-footer-newsletter > .title {
  margin-bottom: 0.8rem;
}
.paris-footer-newsletter-text {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.33;
  margin-bottom: 1.6rem;
}
.paris-footer-contact-links {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}
.paris-footer-contact-links-item {
  list-style-type: none;
}
.paris-footer-nav {
  background: #071f32;
}
.paris-footer-nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  max-width: 100%;
  padding: 0.6rem 0;
}
.paris-footer-nav-link {
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  line-height: 1.3;
  padding: 1rem;
  text-align: center;
  text-decoration: none;
  transition: color 0.3s ease;
}
.paris-footer-nav-link .is-light {
  font-weight: 300;
}
.paris-footer-nav-link:hover {
  color: #d7dbf5;
}
.paris-footer-nav a:focus-visible {
  outline: 0.3rem solid #fff;
  outline-offset: 0.25rem;
}
@media (max-width: 1139px) {
  .paris-footer-nav-list {
    margin: 0;
    padding: 0.8rem 0;
  }
  .paris-footer-nav-link {
    padding: 0.8rem 1rem;
  }
  .paris-footer-extra-list {
    align-items: center;
    flex-direction: column;
  }
  .paris-footer-extra-list-container {
    min-width: 26rem;
  }
  .paris-footer-extra-list-container + .paris-footer-extra-list-container {
    border-top: 0.1rem solid #cecfcf;
    margin-top: 1.8rem;
    padding-top: 2.4rem;
  }
  .paris-footer-info-paris {
    flex-direction: column;
    text-align: center;
  }
  .paris-footer-info-paris-title {
    font-size: 1.6rem;
  }
  .paris-footer-select {
    flex-direction: column;
    padding: 3.2rem 5rem 1.8rem;
    text-align: center;
  }
  .paris-footer-select-title {
    font-size: 1.6rem;
  }
}
@media (min-width: 1140px) {
  .paris-footer.is-district .paris-footer-extra-list-container {
    width: 100%;
  }
  .paris-footer-extra-list {
    justify-content: center;
  }
  .paris-footer-extra-list-container {
    width: 25%;
  }
  .paris-footer-extra-list-container + .paris-footer-extra-list-container {
    border-left: 0.1rem solid #cecfcf;
  }
  .paris-footer-select-title {
    margin-left: 2rem;
  }
}

.grouped-list-icons {
  columns: 2;
  list-style-type: none;
  margin-right: 4rem;
  padding-left: 0;
}
.grouped-list-icons-item {
  align-items: center;
  display: flex;
  margin-bottom: 2rem;
}
.grouped-list-icons-item img {
  flex-shrink: 0;
  margin-right: 1rem;
}
@media (max-width: 799px) {
  .grouped-list-icons {
    columns: 1;
    margin-right: 0;
  }
}

body.absolute-header .paris-header {
  position: absolute;
}
.paris-header-top-bar {
  background: #fff;
  display: flex;
  position: relative;
}
.paris-header-brand {
  display: flex;
  justify-content: center;
  width: 30rem;
}
.paris-header-logo {
  margin: 0;
}
.paris-header-logo-link {
  display: flex;
  fill: #071f32;
  height: 100%;
  padding: 1.3rem 2.4rem;
  transform-origin: left;
  transition: transform 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
.paris-header-logo-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-header-logo-link .paris-icon {
  display: block;
  height: 100%;
  width: 100%;
}
.paris-header-logo-link > svg {
  flex-shrink: 0;
  width: 15rem;
}
.paris-header-button:focus-visible, .paris-header-button-close:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-header-button-close {
  opacity: 0;
}
.paris-header-nav-items, .paris-header-quick-access-items, .paris-header-bottom-nav-items, .paris-header-subnav ul {
  list-style: none;
  padding: 0;
}
.paris-header-nav-items, .paris-header-quick-access-items, .paris-header-bottom-nav-items {
  margin: 0;
}
.paris-header-nav-items, .paris-header-bottom-nav-items, .paris-header-nav-item, .paris-header-bottom-nav-item, .paris-header-nav-link {
  align-items: center;
  display: flex;
  height: 100%;
}
.paris-header-nav-item:not(.has-icon) > .paris-header-nav-link > .paris-icon {
  display: none;
}
.paris-header-nav-item.is-accessibility .paris-header-nav-link {
  border: none;
  cursor: pointer;
}
.paris-header-nav-link, .paris-header-subnav-link, .paris-header-quick-access-link, .paris-header-bottom-nav-link, .paris-header-subnav-title-link, .paris-header-subnav-main-link {
  color: #071f32;
  font-weight: 600;
  text-decoration: none;
  transition: none;
}
.paris-header-nav-link:focus-visible, .paris-header-subnav-link:focus-visible, .paris-header-quick-access-link:focus-visible, .paris-header-bottom-nav-link:focus-visible, .paris-header-subnav-title-link:focus-visible, .paris-header-subnav-main-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-header-nav-link, .paris-header-quick-access-link, .paris-header-bottom-nav-link {
  background: transparent;
  height: 100%;
  line-height: 1.11;
  position: relative;
}
.paris-header-nav-link {
  font-size: 1.8rem;
}
.paris-header-nav-link .paris-icon {
  fill: currentColor;
  height: 3.2rem;
  width: 3.2rem;
}
.paris-header-nav-link-icon-chevron {
  display: none;
}
.paris-header-subnav-notice {
  margin-bottom: 2rem;
}
.paris-header-subnav-link, .paris-header-subnav-main-link {
  display: flex;
  padding: 0.8rem 0;
}
.paris-header-subnav-link[target=_blank], .paris-header-subnav-main-link[target=_blank] {
  padding-right: 1.5em;
}
.paris-header-subnav-link[target=_blank]::after, .paris-header-subnav-main-link[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.4%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 1rem;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 1rem;
}
.paris-header-subnav-link[target=_blank]:hover::after, .paris-header-subnav-link[target=_blank]:focus::after, .paris-header-subnav-main-link[target=_blank]:hover::after, .paris-header-subnav-main-link[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.7%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.paris-header-subnav-link:hover, .paris-header-subnav-main-link:hover {
  color: #354bcf;
}
.paris-header-subnav-link.is-red, .paris-header-subnav-main-link.is-red {
  color: #d22638;
}
.paris-header-subnav-link.is-red:hover, .paris-header-subnav-main-link.is-red:hover {
  color: #d22638;
}
.paris-header-subnav-link.is-blue, .paris-header-subnav-main-link.is-blue {
  color: #354bcf;
}
.paris-header-subnav-link.is-blue:hover, .paris-header-subnav-main-link.is-blue:hover {
  color: #5167ec;
}
.paris-header-subnav-link.is-jo-blue, .paris-header-subnav-main-link.is-jo-blue {
  color: #345bcf;
}
.paris-header-subnav-link.is-jo-blue:hover, .paris-header-subnav-main-link.is-jo-blue:hover {
  color: #071f32;
}
.paris-header-nav-item.is-red .paris-header-nav-link {
  color: #d22638;
}
.paris-header-nav-item.is-red:hover .paris-header-nav-link {
  color: #d22638;
}
.paris-header-nav-item.is-blue .paris-header-nav-link {
  color: #354bcf;
}
.paris-header-nav-item.is-blue:hover .paris-header-nav-link {
  color: #5167ec;
}
.paris-header-subnav-main-link {
  display: none;
  margin: 0 auto;
  margin-top: -3rem;
}
.paris-header-subnav-main-link .paris-header-subnav-link {
  font-weight: 600;
}
.paris-header-subnav-main-link.subnav-in-focus {
  display: flex;
}
.paris-header-nav-link:focus-visible + .paris-header-subnav .paris-header-subnav-main-link {
  display: flex;
}
.paris-header-subnav-selections-title {
  color: #d22638;
  font-family: "Palmer Lake", sans-serif;
  font-size: 5.5rem;
}
.paris-header-subnav-selections-items {
  font-size: 1.6rem;
  line-height: 1.4;
}
.paris-header-subnav-selections-items .paris-header-subnav-link {
  font-weight: 400;
}
.paris-header-bottom-nav-link {
  font-size: 1.4rem;
}
.paris-header-bottom-nav-link.is-red {
  color: #d22638;
}
.paris-header-bottom-nav-link.is-red:hover {
  color: #d22638;
}
.paris-header-bottom-nav-link.is-blue {
  color: #354bcf;
}
.paris-header-bottom-nav-link.is-blue:hover {
  color: #5167ec;
}
.paris-header-quick-access-title {
  color: rgba(7, 31, 50, 0.8);
  font-weight: 600;
  margin-bottom: 1.6rem;
}
.paris-header-mobile-accessibility {
  border-top: 1px solid rgba(7, 31, 50, 0.6);
  padding-top: 3.2rem;
}
.paris-header-mobile-accessibility .paris-button {
  padding: 1rem 1.5rem;
}
.paris-header-mobile-accessibility .paris-button .paris-icon {
  width: 1.6rem;
  height: 1.6rem;
}
.paris-header-mobile-accessibility .paris-button .paris-button-text {
  padding-left: 1rem;
  font-size: 1.4rem;
  font-weight: 600;
}
@media (max-width: 799px) {
  .paris-header {
    height: 8rem;
    width: 100%;
  }
  .paris-header .paris-header-brand {
    display: flex;
    justify-content: space-between;
    margin-left: 0;
    position: relative;
    width: 100%;
    z-index: 100;
  }
  .paris-header .paris-header-logo {
    align-items: center;
    display: flex;
    flex-grow: 1;
    flex-shrink: 0;
    height: 8rem;
  }
  .paris-header .paris-header-logo svg {
    display: block;
    height: 100%;
  }
  .paris-header.is-district .paris-header-logo-link {
    align-items: center;
    display: grid;
    grid-gap: 2.4rem;
    grid-template-columns: repeat(2, 1fr);
    max-width: 100vw;
  }
  .paris-header.is-district .paris-header-logo-link > svg {
    width: 10rem;
  }
  .paris-header.is-district .paris-header-logo-district {
    max-height: 5.4rem;
    max-width: 100%;
    mix-blend-mode: multiply;
    padding-left: 1rem;
  }
  .paris-header.is-district .paris-header-button {
    padding: 0;
  }
  .paris-header .paris-header-content {
    background: #fcfafa;
    bottom: 8rem;
    padding-top: 10.4rem;
    overflow: hidden;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    width: 100%;
    z-index: 999;
  }
  .paris-header .paris-header-content::after {
    background: transparent url(/assets/nef-blackpearl-cf0c11543c78a0e2236287438c6753f74c9c544e836e5fb422e577adf24fdc1f.svg) no-repeat 50% 8rem;
    background-size: 140vw;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1000;
  }
  .paris-header .paris-header-content > * {
    position: absolute;
    width: 100%;
  }
  .paris-header .paris-search-modal-container,
  .paris-header .paris-header-subnav {
    display: none;
  }
  .paris-header .paris-header-nav {
    opacity: 1;
    padding-top: 10rem;
    transition: opacity 0.2s ease, transform 0.3s ease-in-out;
  }
  .paris-header .paris-header-nav > * {
    margin: 0 4rem 2rem;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav {
    transition: none;
  }
  .paris-header .paris-header-nav-items {
    display: block;
    height: auto;
    position: relative;
  }
  .paris-header .paris-header-subnav {
    position: absolute;
    top: 0;
    overflow: hidden;
    transform: translateX(100vw);
    width: 100%;
  }
  .paris-header .paris-header-nav-link[aria-expanded=false] + .paris-header-subnav {
    height: 0;
    visibility: hidden;
    transition: visibility 0s 0.3s, height 0s 0.3s;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-link[aria-expanded=false] + .paris-header-subnav {
    transition: none;
  }
  .paris-header .paris-header-nav-link[aria-expanded=true] + .paris-header-subnav {
    visibility: visible;
  }
  .paris-header .paris-header-subnav-title {
    align-items: center;
    display: flex;
    font-size: 2.6rem;
    font-weight: 600;
    gap: 1.6rem;
    margin-bottom: 4rem;
  }
  .paris-header .paris-header-subnav-title-link {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .paris-header .paris-header-subnav-back {
    align-items: center;
    appearance: none;
    background: #071f32;
    border-radius: 50%;
    border: 0;
    display: flex;
    fill: #fff;
    flex-shrink: 0;
    height: 4rem;
    justify-content: center;
    padding: 0;
    width: 4rem;
  }
  .paris-header .paris-header-subnav-back .paris-icon {
    height: 3.6rem;
    width: 3.6rem;
  }
  .paris-header .paris-search-modal-rows {
    padding-bottom: 2.4rem;
  }
  .paris-header .paris-header-subnav-wrapper {
    padding-bottom: 6.4rem;
  }
  .paris-header .paris-header-subnav-notice,
  .paris-header .paris-header-subnav-content {
    display: flex;
    flex-direction: column;
    padding-right: 2rem;
  }
  .paris-header .paris-header-subnav-content > *:not(:nth-child(2)) {
    border-top: 1px solid #cecfcf;
    margin-top: 3.2rem;
    padding-top: 3.2rem;
  }
  .paris-header .paris-header-subnav-quick-access {
    order: 10;
  }
  .paris-header .paris-header-nav-item,
  .paris-header .paris-header-quick-access-item {
    display: block;
    height: auto;
    width: 100%;
  }
  .paris-header .paris-header-nav-item:last-child,
  .paris-header .paris-header-quick-access-item:last-child {
    border-bottom: none;
  }
  .paris-header .paris-header-nav-item:not(.has-icon) > .paris-header-nav-link > .paris-icon,
  .paris-header .paris-header-quick-access-item:not(.has-icon) > .paris-header-nav-link > .paris-icon {
    display: flex;
    order: 100;
  }
  .paris-header .paris-header-nav-item.is-search {
    display: none;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link {
    display: none;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link-icon, .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link-icon-active {
    display: none;
  }
  .paris-header .paris-header-nav-link {
    align-items: center;
    display: flex;
    font-size: 2.6rem;
    justify-content: space-between;
    padding: 1.2rem 0;
    width: 100%;
  }
  .paris-header .paris-header-nav-link .paris-icon-chevron-right {
    height: 1.8rem;
    width: 1.8rem;
  }
  .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text {
    padding-right: 1.5em;
  }
  .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.4%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
    display: inline-block;
    flex-shrink: 0;
    height: 1.6rem;
    left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
    margin-right: -1em;
    position: relative;
    width: 1.6rem;
  }
  .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text:hover::after, .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text:focus::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.7%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  }
  .paris-header .paris-header-nav-link-text {
    width: 100%;
  }
  .paris-header .paris-header-subnav-items > li + li {
    margin-top: 1.6rem;
  }
  .paris-header .paris-header-subnav-items .paris-header-subnav-link {
    font-size: 2rem;
  }
  .paris-header .paris-header-quick-access {
    border-top: 1px solid rgba(7, 31, 50, 0.6);
    padding-top: 3.2rem;
  }
  .paris-header .paris-header-quick-access-title,
  .paris-header .paris-header-subnav-main-link > .paris-header-subnav-link {
    font-size: 1.2rem;
  }
  .paris-header .paris-header-subnav-quick-access-items .paris-header-subnav-link > .paris-icon {
    display: none;
  }
  .paris-header .paris-header-quick-access-link {
    display: block;
    padding: 1rem 0;
  }
  .paris-header .paris-header-button-close {
    align-items: center;
    appearance: none;
    background: #fff;
    border: 0;
    border-radius: 3rem;
    display: flex;
    font-size: 1.4rem;
    font-weight: 600;
    padding: 0.6rem 1.5rem;
    pointer-events: none;
    position: fixed;
    right: 2.4rem;
    top: 2rem;
    transition: opacity 0.2s ease;
    width: auto;
    z-index: 101;
  }
  .paris-header .paris-header-button-close .paris-icon {
    height: 2.6rem;
    margin-left: 0.4rem;
    width: 2.6rem;
  }
  .paris-header .paris-button + .paris-button {
    margin: 0;
  }
  .paris-header .paris-header-bottom-bar {
    align-items: center;
    background-color: #f4f3f3;
    border-top: 1px solid #cecfcf;
    bottom: 0;
    display: flex;
    height: 8rem;
    overflow: hidden;
    position: fixed;
    transition: background-color 0.3s ease;
    width: 100%;
    z-index: 1004;
  }
  .paris-header .paris-header-button {
    align-items: center;
    background: transparent;
    border: none;
    display: flex;
    height: calc(8rem - 1rem);
    justify-content: center;
    margin: 0 0.5rem;
    padding: 0;
    width: calc(8rem - 1rem);
    flex: 0 0 auto;
  }
  .paris-header .paris-header-button-menu::before {
    background: transparent;
    content: "";
    display: block;
    height: 8rem;
    position: absolute;
    transition: background 0.2s ease-in-out;
    width: 8rem;
    z-index: -1;
  }
  .paris-header .paris-header-button-menu-icon {
    height: 3.2rem;
    width: 4.5rem;
  }
  .paris-header .paris-header-button-menu-icon path {
    transition-duration: 0.3s;
    transition-timing-function: ease;
  }
  .paris-header .paris-header-button-menu-icon-line1, .paris-header .paris-header-button-menu-icon-line3 {
    transition-property: d;
  }
  .paris-header .paris-header-button-menu-icon-line2 {
    transition-property: transform, opacity;
  }
  .paris-header .paris-header-button-menu-icon-magnifier {
    transition-property: transform;
    transform-origin: center;
  }
  .paris-header .paris-header-button-menu .paris-icon-close {
    display: none;
    width: 3.2rem;
    height: 3.2rem;
    fill: #fff;
  }
  .paris-header .paris-header-bottom-nav {
    display: flex;
    align-items: center;
  }
  .paris-header .paris-header-bottom-nav-items {
    padding: 2.4rem 0;
  }
  .paris-header .paris-header-bottom-nav-item {
    border-left: 1px solid #cecfcf;
  }
  .paris-header .paris-header-bottom-nav-link {
    align-items: center;
    min-height: 3.2rem;
    display: flex;
    padding: 0 2.2rem;
  }
  .paris-header.has-mobile-menu-open {
    background: transparent;
  }
  .paris-header.has-mobile-menu-open .paris-header-subnav,
  .paris-header.has-mobile-menu-open .paris-search-modal-container {
    display: block;
  }
  .paris-header.has-mobile-menu-open .paris-header-brand {
    background: #fcfafa;
    position: fixed;
  }
  .paris-header.has-mobile-menu-open .paris-header-logo-link {
    transform: scale(0.625);
  }
  .paris-header.has-mobile-menu-open.is-district .paris-header-logo-link {
    background-color: #fcfafa;
  }
  .paris-header.has-mobile-menu-open .paris-header-content {
    transform: translateX(0);
  }
  .paris-header.has-mobile-menu-open .paris-header-button-menu::before {
    background: #071f32;
  }
  .paris-header.has-mobile-menu-open .paris-header-button-menu-icon {
    /* Because Safari doesn't support `d` property, we test for css support */
    /* we need to provide a real path that can be validated by @supports */
    /* if not supported we simply show the close icon instead */
  }
  .paris-header.has-mobile-menu-open .paris-header-button-menu-icon-line2 {
    opacity: 0;
    transform: translateX(-20%);
  }
  .paris-header.has-mobile-menu-open .paris-header-button-menu-icon-magnifier {
    transform: scale(0);
  }
  @supports (transition-property: d) and (d: path("M2 6")) {
    .paris-header.has-mobile-menu-open .paris-header-button-menu-icon-line1 {
      d: path("M 29.218 6.65 L 21.439 14.428 L 13.661 22.206 L 15.782 24.328 L 31.339 8.771 C 30.632 8.064 29.925 7.357 29.218 6.65");
    }
    .paris-header.has-mobile-menu-open .paris-header-button-menu-icon-line3 {
      d: path("M 31.339 22.206 L 31.339 22.206 C 30.632 22.913 29.925 23.621 29.218 24.328 C 24.032 19.142 18.847 13.957 13.661 8.771 C 14.368 8.064 15.075 7.357 15.782 6.65 C 20.968 11.835 26.153 17.021 31.339 22.206");
    }
  }
  @supports (transition-property: d) and (not (d: path("M2 6"))) {
    .paris-header.has-mobile-menu-open .paris-header-button-menu-icon {
      display: none;
    }
  }
  .paris-header.has-mobile-menu-open .paris-header-button-menu-icon {
    fill: #fff;
  }
  @supports (transition-property: d) and (not (d: path("M2 6"))) {
    .paris-header.has-mobile-menu-open .paris-header-button-menu .paris-icon-close {
      display: block;
    }
  }
  .paris-header.has-mobile-menu-open .paris-header-bottom-bar {
    background-color: #fff;
  }
  .paris-header.has-mobile-menu-open .paris-header-button-close {
    display: flex;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0.15s;
  }
  .paris-header.has-mobile-menu-open .paris-header-bottom-nav-item:first-child {
    border-left-color: transparent;
  }
  .paris-header.has-mobile-menu-open.is-not-searching .paris-search-modal-container {
    height: 10.6rem;
    overflow: visible;
  }
  .paris-header.has-mobile-menu-open.is-not-searching .paris-search-modal-container > *:not(.paris-search-modal-heading) {
    opacity: 0;
    pointer-events: none;
  }
  .paris-header.has-mobile-menu-open.is-searching .paris-header-nav {
    opacity: 0;
    pointer-events: none;
  }
  .paris-header.has-mobile-menu-open.has-subnav-open .paris-header-nav {
    transform: translateX(-100vw);
  }
}
@media (min-width: 800px) {
  .paris-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1001;
  }
  .paris-header .paris-header-brand {
    width: 20rem;
  }
  .paris-header .paris-header-logo-link > svg {
    max-height: 4.4rem;
  }
  .paris-header .paris-header-top-bar {
    box-shadow: 0 2px 0 0 rgba(7, 31, 50, 0.1);
    height: 6rem;
    z-index: 1002;
  }
  .paris-header .paris-header-content {
    flex-grow: 1;
  }
  .paris-header .paris-header-bottom-bar,
  .paris-header .paris-header-quick-access,
  .paris-header .paris-header-button-close,
  .paris-header .paris-header-subnav-title {
    display: none;
  }
  .paris-header .paris-header-nav {
    height: 100%;
    left: 20rem;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1003;
  }
  .paris-header .paris-header-nav-items {
    margin-left: 3rem;
    margin-right: 3rem;
  }
  .paris-header .paris-header-nav-item {
    position: relative;
  }
  .paris-header .paris-header-nav-item.is-red-active .paris-header-nav-link:hover {
    color: #d22638;
  }
  .paris-header .paris-header-nav-item.is-red-active .paris-header-nav-link:hover::after {
    background: #e8404e;
  }
  .paris-header .paris-header-nav-item.is-blue-active .paris-header-nav-link:hover {
    color: #354bcf;
  }
  .paris-header .paris-header-nav-item.is-blue-active .paris-header-nav-link:hover::after {
    background: #5167ec;
  }
  .paris-header .paris-header-nav-item.is-jo-blue-active .paris-header-nav-link:hover {
    color: #345bcf;
  }
  .paris-header .paris-header-nav-item.is-jo-blue-active .paris-header-nav-link:hover::after {
    background: #345bcf;
  }
  .paris-header .paris-header-nav-item.is-far-off {
    margin-left: auto;
  }
  .paris-header .paris-header-nav-item:not(:first-child)::before {
    background: rgba(7, 31, 50, 0.2);
    content: "";
    display: block;
    height: 3.5rem;
    position: absolute;
    width: 1px;
  }
  .paris-header .paris-header-nav-item.is-far-off:not(:first-child)::before {
    display: none;
  }
  .paris-header .paris-header-nav-item.is-active .paris-header-nav-link::after {
    bottom: -0.1rem;
    height: 0.2rem;
    opacity: 1;
  }
  .paris-header .paris-header-nav-link {
    font-size: 1.3rem;
    padding: 0 1rem;
    transition: color 0.2s ease-in-out;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-link {
    transition: none;
  }
  .paris-header .paris-header-nav-link[aria-expanded]::after {
    background: #071f32;
    bottom: 0;
    content: "";
    display: block;
    height: 0;
    left: 2.4rem;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: bottom 0.2s ease-in-out, color 0.2s ease-in-out, height 0.2s ease-in-out, opacity 0.2s ease-in-out;
    width: calc(100% - 4.8rem);
    z-index: 2;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-link[aria-expanded]::after {
    transition: none;
  }
  .paris-header .paris-header-nav-link[aria-expanded=true]::after, .paris-header .paris-header-nav-link:hover::after {
    bottom: -0.3rem !important;
    height: 0.6rem !important;
    opacity: 1 !important;
  }
  .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text {
    padding-right: 1.5em;
  }
  .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.4%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
    display: inline-block;
    flex-shrink: 0;
    height: 1rem;
    left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
    margin-right: -1em;
    position: relative;
    width: 1rem;
  }
  .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text:hover::after, .paris-header .paris-header-nav-link[target=_blank] .paris-header-nav-link-text:focus::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.7%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  }
  .paris-header .paris-header-nav-link-text {
    white-space: nowrap;
  }
  .paris-header .paris-header-nav-item.is-search,
  .paris-header .paris-header-nav-item.is-accessibility {
    display: flex;
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link {
    font-size: 1.3rem;
    height: 100%;
    padding: 1.2rem 2.4rem 1.2rem 5.2rem;
    position: relative;
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link.is-active, .paris-header .paris-header-nav-item.is-search .paris-header-nav-link:hover,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link.is-active,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link:hover {
    color: #071f32;
  }
  .paris-header .paris-header-nav-item.is-search .paris-icon,
  .paris-header .paris-header-nav-item.is-accessibility .paris-icon {
    flex-shrink: 0;
    margin-right: 0.8rem;
    pointer-events: none;
    position: absolute;
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-item.is-search .paris-icon, body[data-animations=disabled] .paris-header .paris-header-nav-item.is-accessibility .paris-icon {
    transition: none;
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link-icon,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link-icon {
    transform: translateY(0);
    opacity: 1;
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link-icon-active,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link-icon-active {
    height: 1.6rem;
    opacity: 0;
    transform: translateY(3rem);
  }
  .paris-header .paris-header-nav-item.is-search .is-active .paris-header-nav-link-icon,
  .paris-header .paris-header-nav-item.is-accessibility .is-active .paris-header-nav-link-icon {
    transform: translateY(-3rem);
    opacity: 0;
  }
  .paris-header .paris-header-nav-item.is-search .is-active .paris-header-nav-link-icon-active,
  .paris-header .paris-header-nav-item.is-accessibility .is-active .paris-header-nav-link-icon-active {
    display: inline-block;
    opacity: 1;
    transform: translateY(0);
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link .paris-icon {
    left: 1.8rem;
    width: 2.8rem;
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link .paris-header-nav-link-icon {
    height: 2.8rem;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link {
    color: #4a5b68;
    display: flex;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link .paris-icon {
    left: 2.2rem;
    width: 2.2rem;
    height: 2rem;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link .paris-header-nav-link-icon,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link .paris-header-nav-link-icon-active {
    height: 2rem;
    left: 2.6rem;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link[aria-expanded=true] {
    color: #071f32;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-subnav {
    left: 0;
    position: absolute;
    width: 33rem;
    transform: translateX(-67%);
  }
  .paris-header .paris-header-subnav {
    background-color: #f4f3f3;
    box-shadow: -0.2rem 0.2rem 0 rgba(7, 31, 50, 0.1);
    left: 0;
    position: fixed;
    padding: 3.2rem;
    right: 0;
    top: 6rem;
  }
  .paris-header .paris-header-subnav.hidden {
    display: none;
  }
  .paris-header .paris-header-nav-link[aria-expanded=false] + .paris-header-subnav {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s 0.35s ease, visibility 0s 0.7s;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-link[aria-expanded=false] + .paris-header-subnav {
    transition: none;
  }
  .paris-header .paris-header-nav-link[aria-expanded=false] + .paris-header-subnav[data-interaction=click] {
    transition: opacity 0.25s 0s ease, visibility 0s 0.3s;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-link[aria-expanded=false] + .paris-header-subnav[data-interaction=click] {
    transition: none;
  }
  .paris-header .paris-header-nav-link[aria-expanded=true] + .paris-header-subnav {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.25s 0.2s ease, visibility 0s 0s;
    z-index: 1;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-link[aria-expanded=true] + .paris-header-subnav {
    transition: none;
  }
  .paris-header .paris-header-nav-link[aria-expanded=true] + .paris-header-subnav[data-interaction=click] {
    transition: opacity 0.25s 0s ease, visibility 0s 0s;
  }
  body[data-animations=disabled] .paris-header .paris-header-nav-link[aria-expanded=true] + .paris-header-subnav[data-interaction=click] {
    transition: none;
  }
  .paris-header .paris-header-subnav-notice,
  .paris-header .paris-header-subnav-content {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
  .paris-header .paris-header-subnav-content > *:not(:first-child) {
    margin: 0 0 0 4rem;
    padding-left: 6.4rem;
  }
  .paris-header .paris-header-subnav-content > *:nth-child(2) {
    border-left: 1px solid #cecfcf;
  }
  .paris-header .paris-header-subnav-items {
    padding-top: 0.4rem;
  }
  .paris-header .paris-header-subnav-items.has-cols {
    column-gap: 4rem;
    columns: var(--columns, 3);
  }
  .paris-header .paris-header-subnav-quick-access {
    padding-top: 1.2rem;
  }
  .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link {
    color: rgba(7, 31, 50, 0.8);
    align-items: center;
    display: flex;
  }
  .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link > .paris-icon {
    fill: rgba(7, 31, 50, 0.7);
    flex-shrink: 0;
    margin-right: 1rem;
  }
  .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link[target=_blank] {
    padding-right: 1.5em;
  }
  .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link[target=_blank]::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.5%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
    display: inline-block;
    flex-shrink: 0;
    height: 1rem;
    left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
    margin-right: -1em;
    position: relative;
    width: 1rem;
  }
  .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link[target=_blank]:hover::after, .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link[target=_blank]:focus::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%287, 31, 50, 0.7%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  }
  .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link:hover, .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link:focus-visible {
    color: #071f32;
  }
  .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link:hover > .paris-icon, .paris-header .paris-header-subnav-quick-access .paris-header-subnav-link:focus-visible > .paris-icon {
    fill: rgba(7, 31, 50, 0.7);
  }
  .paris-header .paris-header-subnav-quick-access-title,
  .paris-header .paris-header-subnav-main-link > .paris-header-subnav-link {
    font-size: 1.4rem;
  }
  .paris-header .paris-header-subnav-quick-access-items,
  .paris-header .paris-header-subnav-selections-items {
    margin: 0;
    padding: 0;
  }
  .paris-header .paris-header-subnav-quick-access-items {
    font-size: 1.2rem;
  }
  .paris-header.is-district {
    box-shadow: none;
  }
  .paris-header.is-district .paris-header-brand {
    width: 31rem;
  }
  .paris-header.is-district .paris-header-nav {
    left: 31rem;
  }
  .paris-header.is-district .paris-header-logo-link {
    position: relative;
  }
  .paris-header.is-district .paris-header-logo-link::after {
    background-color: #071f32;
    content: "";
    display: block;
    height: 3.5rem;
    left: 17.5rem;
    position: absolute;
    width: 1px;
  }
  .paris-header.is-district .paris-header-logo-district {
    max-height: 3.5rem;
  }
  .paris-header .paris-header-mobile-accessibility {
    display: none;
  }
}
@media (min-width: 800px) and (max-width: 1139px) {
  .paris-header.is-district .paris-header-logo-district {
    padding-left: 2rem;
  }
}
@media (min-width: 800px) and (max-width: 999px) {
  .paris-header.is-district .paris-header-logo-district {
    padding-left: 0;
  }
  .paris-header.is-district .paris-header-logo-link::after {
    display: none;
  }
  .paris-header.is-district .paris-header-nav {
    left: 26rem;
  }
  .paris-header.is-district .paris-header-brand {
    transform: scale(0.8);
    transform-origin: left;
  }
  .paris-header .paris-header-nav-items {
    margin-left: 0;
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link {
    padding: 1.2rem 1.2rem 1.2rem 5.2rem;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link-text {
    display: none;
  }
}
@media (min-width: 1000px) {
  .paris-header .paris-header-nav-item.is-search,
  .paris-header .paris-header-nav-item.is-accessibility {
    display: flex;
  }
  .paris-header .paris-header-nav-item.is-search .paris-header-nav-link,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link {
    font-size: 1.4rem;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link .paris-header-nav-link-icon,
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-nav-link .paris-header-nav-link-icon-active {
    left: 2.2rem;
  }
  .paris-header .paris-header-nav-item.is-accessibility .paris-header-subnav {
    transform: translateX(-59%);
    width: 45rem;
  }
}
@media (min-width: 860px) {
  .paris-header .paris-header-brand {
    width: 18rem;
  }
  .paris-header .paris-header-nav {
    left: 18rem;
  }
}
@media (min-width: 1140px) {
  .paris-header .paris-header-top-bar {
    height: 8rem;
  }
  .paris-header .paris-header-brand {
    width: 20rem;
  }
  .paris-header.is-district .paris-header-brand {
    width: 32rem;
  }
  .paris-header.is-district .paris-header-nav {
    left: 34rem;
  }
  .paris-header.is-district .paris-header-logo-link::after {
    height: 4rem;
    left: 17.5rem;
  }
  .paris-header.is-district .paris-header-logo-district {
    max-height: 4rem;
    padding-left: 3.5rem;
  }
  .paris-header .paris-header-logo {
    margin: 0.85rem 0;
    max-width: none;
  }
  .paris-header .paris-header-logo-link {
    padding: 1rem;
  }
  .paris-header .paris-header-logo-link > svg {
    max-width: none;
  }
  .paris-header .paris-header-nav-link {
    font-size: 1.6rem;
    padding: 0 2.4rem;
  }
  .paris-header .paris-header-subnav {
    top: 8rem;
  }
  .paris-header .paris-header-subnav-items.has-cols {
    column-gap: 10.4rem;
  }
  .paris-header .paris-header-subnav-content,
  .paris-header .paris-header-subnav-main-link,
  .paris-header .paris-header-subnav-notice {
    width: 80%;
  }
}
@media (min-width: 1250px) {
  .paris-header.is-district .paris-header-brand {
    width: 36rem;
  }
  .paris-header.is-district .paris-header-nav {
    left: 36rem;
  }
}

.help {
  border-top: 0.6rem solid #f2f2f2;
  margin: 6rem auto 0;
  padding: 0 2rem 2.6rem;
  text-align: center;
}
.help-icon {
  align-items: center;
  background: #071f32;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  height: 5.6rem;
  justify-content: center;
  margin: -3.1rem auto 1.8rem;
  width: 5.6rem;
}
.help-text {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
@media (max-width: 499px) {
  .help-text {
    margin-bottom: 2.5rem;
  }
}
@media (min-width: 800px) {
  .help {
    border: 0.6rem solid #f2f2f2;
    max-width: 80rem;
    padding: 0 4rem 2.6rem;
    width: 100%;
  }
}

.paris-icon {
  height: 1.4rem;
  width: 1.4rem;
}
.paris-icon-bo-responsive {
  fill: currentColor;
  height: 1em;
  pointer-events: none;
  vertical-align: -0.15em;
  width: 1em;
}

.included-events {
  margin: 5rem 0;
}
.included-events-map .leaflet-container, .included-events-mini-map .leaflet-container {
  height: 100%;
  position: absolute !important;
  width: 100%;
}
.included-events-filters {
  background-color: #f4f3f3;
  display: flex;
  font-size: 1.4rem;
}
.included-events-filters .ais-SortByRadios-item {
  align-items: baseline;
  cursor: pointer;
  display: inline-flex;
}
.included-events-filters .ais-SortByRadios-item + .ais-SortByRadios-item {
  margin-left: 1rem;
}
.included-events-filters .ais-SortByRadios-radio {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  display: block;
  margin: 0 0.8rem 0 0;
  padding: 0;
  transform: translateY(0.3rem);
}
.included-events-filters .ais-SortByRadios-radio:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.included-events-filters .ais-SortByRadios-radio::before {
  border: 0.2rem solid #071f32;
  content: "";
  cursor: pointer;
  display: block;
  font-family: "Montserrat", sans-serif;
  height: 1.8rem;
  width: 1.8rem;
}
.included-events-filters .ais-SortByRadios-radio, .included-events-filters .ais-SortByRadios-radio::before {
  border-radius: 1.8rem;
  height: 1.5rem;
  width: 1.5rem;
}
.included-events-filters .ais-SortByRadios-radio:checked::before {
  border-width: 0.5rem;
  border-color: #354bcf;
}
.included-events-filters .ais-SortByRadios-radio:checked + .ais-SortByRadios-label {
  color: #354bcf;
}
.included-events-filters .ais-SortByRadios-label,
.included-events-filters .ais-DateSelector-label-title {
  font-weight: 500;
}
.included-events-filters .ais-SortByRadios-message {
  display: none;
}
.included-events-filters .ais-DateSelector-label-title {
  margin-right: 0.5rem;
}
.included-events-filters .ais-DateSelector-input {
  width: 16rem;
}
.included-events-filters .ais-DateSelector-input,
.included-events-filters select {
  background-color: #fff;
  border: 0;
  font-weight: 500;
  padding: 1.2rem 1.6rem;
}
.included-events-hits .ais-Hits-item {
  margin-bottom: 6rem;
}
.included-events .ais-Pagination--noRefinement {
  display: none;
}
@media (max-width: 799px) {
  .included-events-map {
    display: none;
  }
  .included-events-mini-map {
    background-color: #f4f3f3;
    height: 20rem;
    margin: 3rem -2rem 4rem;
    position: relative;
  }
  .included-events-filters {
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding: 2rem 0 1rem 2rem;
  }
  .included-events-filters > div {
    align-items: center;
    display: flex;
    margin: 0 2rem 1rem 0;
    min-height: 4.2rem;
  }
}
@media (min-width: 800px) {
  .included-events .paris-container-column:first-of-type {
    display: flex;
    justify-content: flex-end;
    padding-right: 7rem;
  }
  .included-events-map {
    background-color: #f4f3f3;
    height: 60rem;
    position: sticky;
    top: 7.8rem;
    width: 40rem;
  }
  .included-events-map .paris-search-hits-item-number {
    line-height: 2rem;
  }
  .included-events-mini-map {
    display: none;
  }
  .included-events-filters {
    align-items: center;
    justify-content: space-between;
    min-height: 6.2rem;
    margin-bottom: 5rem;
    padding: 1rem 1.6rem;
  }
  .included-events-filters > * + * {
    margin-left: 2rem;
  }
}

.indication {
  border-bottom: 0.2rem solid #f2f2f2;
  color: #071f32;
  display: block;
  margin-top: 4rem;
  margin-bottom: 6rem;
  position: relative;
  text-align: center;
  text-decoration: none;
}
.indication.level-1 svg .airmeter-level-1 {
  display: initial;
}
.indication.level-2 svg .airmeter-level-2 {
  display: initial;
}
.indication.level-3 svg .airmeter-level-3 {
  display: initial;
}
.indication.level-4 svg .airmeter-level-4 {
  display: initial;
}
.indication.level-5 .indication-text {
  bottom: 0.6rem;
}
.indication.level-5 svg .airmeter-level-5 {
  display: initial;
}
.indication.level-6 .indication-text {
  bottom: 0.4rem;
  font-size: 1.1rem;
}
.indication.level-6 svg .airmeter-level-6 {
  display: initial;
}
.indication.level-error .indication-text {
  opacity: 0.6;
}
.indication.only-on-small {
  display: none;
}
.indication:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.indication:hover .indication-action, .indication:focus .indication-action {
  color: #fff;
}
.indication:hover .indication-action::before, .indication:focus .indication-action::before {
  left: 0;
}
.indication-title {
  display: block;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.33;
  position: relative;
}
.indication-action {
  color: #d22638;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.23;
  margin: 0 auto;
  overflow: hidden;
  padding: 0.8rem 1rem;
  pointer-events: none;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  transition: color 0.3s ease;
  width: fit-content;
  z-index: 1;
}
body[data-animations=disabled] .indication-action {
  transition: none;
}

.indication-action::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #d22638;
  transition: left 0.3s ease;
  z-index: -1;
}
body[data-animations=disabled] .indication-action::before {
  transition: none;
}

.indication svg {
  display: block;
  max-width: 13rem;
  margin: 1.5rem auto 0;
}
.indication svg [class^=airmeter-level-] {
  display: none;
}
.indication-text {
  bottom: 0.8rem;
  display: block;
  font-weight: 600;
  left: 50%;
  line-height: 1em;
  max-width: 8rem;
  position: absolute;
  transform: translateX(-50%);
}
@media (max-width: 799px) {
  .indication {
    margin-left: 3rem;
    margin-right: 3rem;
  }
  .indication.only-on-small {
    display: block;
  }
}

.info {
  margin: -2rem 0 7rem;
  padding: 0 0;
  text-align: center;
}
.info:first-child {
  margin-top: 2rem;
}
.info-title {
  display: flex;
  font-size: 1.5rem;
  font-weight: 700;
  justify-content: center;
  margin: auto auto 1rem auto;
}
.info-title span {
  padding: 0 0 0 0.5rem;
}
.info p {
  border-bottom: 0.2rem solid #f2f2f2;
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0 0 1rem 0;
  text-align: left;
}
@media (max-width: 499px) {
  .info {
    margin: 0 3rem 4rem;
  }
}

.magazine {
  background: #071f32 url(/../../assets/images/nef-grey-10.svg) no-repeat center center;
  background-size: 44rem;
  border-bottom: 4.8rem solid #fff;
  color: #071f32;
  display: flex;
  justify-content: center;
  margin: auto auto 7rem 0;
  text-decoration: none;
}
.magazine a {
  text-decoration: none;
}
.magazine a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.magazine a:first-of-type {
  display: block;
}
.magazine-detail {
  margin: 5rem 4rem 0 5rem;
  max-width: 15rem;
  text-align: center;
}
.magazine-detail .title {
  display: block;
}
.magazine-archive {
  text-decoration: none;
  color: white;
  font-size: 1.1rem;
  font-weight: 300;
  display: inline-block;
  margin-top: 2rem;
}
.magazine-archive:focus-visible {
  outline: 0.3rem solid #fff;
  outline-offset: 0.25rem;
}
.magazine-image {
  margin: 4.5rem 3.5rem -4.8rem 8rem;
  order: -1;
}
.magazine-image img {
  box-shadow: 0 0.2rem 4.4rem rgba(0, 0, 0, 0.12);
}
.magazine:hover .paris-button::before, .magazine:focus-visible .paris-button::before {
  width: 100%;
}
@media (max-width: 799px) {
  .magazine {
    background-position: center -10rem;
    border-bottom: none;
    flex-direction: column;
  }
  .magazine-detail {
    margin: 0 auto 2rem;
  }
  .magazine-detail .title.is-level-3 {
    font-size: 2.2rem;
    line-height: 1.36;
    margin-top: 0;
  }
  .magazine-image {
    margin: 4.8rem auto 3rem;
  }
}

.map {
  min-height: 20rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
.qfap--section.map-section .map {
  height: 45rem;
}
.map .leaflet-popup-content-wrapper {
  border-radius: 0;
}
.map .leaflet-popup-content-wrapper .marker-popup {
  display: flex;
  font-family: "Montserrat", sans-serif;
  gap: 2rem;
  width: 30rem;
}
.map .leaflet-popup-content-wrapper .marker-popup-image, .map .leaflet-popup-content-wrapper .marker-popup-content {
  flex: 1 0 0%;
}
.map .leaflet-popup-content-wrapper .marker-popup-image img {
  max-width: 100%;
}
.map .leaflet-popup-content-wrapper .marker-popup h3 {
  font-size: 1.5rem;
  color: #071f32;
  margin-top: 0;
  margin-bottom: 0.5em;
}
.map .leaflet-popup-content-wrapper .marker-popup p {
  font-size: 1.3rem;
  margin: 0.5em 0;
}
.map .leaflet-popup-content-wrapper .marker-popup a {
  font-size: 1.3rem;
  color: #d22638;
}
.map a.leaflet-popup-close-button {
  color: #071f32;
}
.has-filters .map .leaflet-top.leaflet-right {
  width: 100%;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers {
  border: none;
  border-radius: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  line-height: 1.15;
  margin: 0;
  padding: 0 0 2rem;
  width: 100%;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 107rem;
  position: relative;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label {
  cursor: pointer;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label:hover, .has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label:focus {
  color: #ffcd00;
  transition: color 150ms;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label input {
  appearance: none;
  position: absolute;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label input:not(:checked) + span .qfap--tag::after,
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label input:not(:checked) + span .qfap--tag .paris-icon-qfap--tags-stroke {
  display: none;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label .qfap--tag {
  margin-right: 1.5rem;
}

.cluster-marker {
  background-image: url(/../search/search_hits_component/map/marker.svg);
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff !important;
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.02rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, filter 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.cluster-marker-icon {
  position: absolute;
  width: 100%;
  height: 100%;
}

.cluster-count {
  position: relative;
  color: #fff;
  z-index: 2;
  padding-bottom: 0.2rem;
  font-size: 1rem;
}

.map ~ .disclosure {
  display: none;
  padding: 2rem;
}
.map ~ .disclosure.has-details {
  display: block;
}

.map-disclosure-item {
  display: flex;
  font-family: "Montserrat", sans-serif;
  gap: 2rem;
  width: 30rem;
}
.map-disclosure-item-image, .map-disclosure-item-content {
  flex: 1 0 0%;
}
.map-disclosure-item-image img {
  max-width: 100%;
}
.map-disclosure-item h3 {
  font-size: 1.5rem;
  color: #071f32;
  margin-top: 0;
  margin-bottom: 0.5em;
}
.map-disclosure-item p {
  font-size: 1.3rem;
  margin: 0.5em 0;
}
.map-disclosure-item a {
  font-size: 1.3rem;
  color: #d22638;
}

.map-disclosure-item + .map-disclosure-item {
  margin-top: 4rem;
}

.nef {
  background: url(/assets/nef-blackpearl-cf0c11543c78a0e2236287438c6753f74c9c544e836e5fb422e577adf24fdc1f.svg) no-repeat center center;
  background-size: cover;
  display: none;
  height: 73.1rem;
  left: 40%;
  pointer-events: none;
  position: absolute;
  top: -19rem;
  transform: translateX(-50%);
  width: 78rem;
  z-index: 2000;
}
.nef.is-hide {
  display: none;
}
@media (min-width: 800px) {
  @supports (pointer-events: none) {
    .nef {
      display: block;
    }
  }
}

.notice {
  align-items: center;
  background: #fff;
  color: #071f32;
  display: flex;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  padding: 1.4rem 2rem;
  position: relative;
  width: 100%;
}
.notice.fade {
  opacity: 0;
  transition: opacity 0.5s ease;
}
.notice.is-red {
  background: #e8404e;
  color: #fff;
  font-weight: 700;
}
.notice.is-red .notice-icon {
  height: 3.2rem;
  width: 3.2rem;
}
.notice.heading-alert {
  position: absolute;
  margin-top: 2rem;
  margin-left: 10%;
  width: 80%;
}
.notice.is-red-alert {
  background-color: #f4f3f3;
  text-align: left;
  color: #e8404e;
  border-left: 0.8rem solid #e8404e;
}
.notice.is-red-alert a {
  color: #e8404e;
}
.notice.is-gray {
  background: #f4f3f3;
}
.notice.is-gray a {
  font-weight: 700;
}
.notice.is-centered {
  justify-content: center;
}
.notice-icon {
  fill: currentColor;
  flex-grow: 0;
  flex-shrink: 0;
  margin-right: 1rem;
}
.notice a {
  color: inherit;
  cursor: pointer;
}
.notice a:hover {
  text-decoration: none;
}
.notice.is-dismissible {
  padding-right: 4rem;
}
.notice.space-top {
  margin-top: 2rem;
}
.notice.space-bottom {
  margin-bottom: 2rem;
}
.notice-close {
  align-items: center;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  height: 3rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 0.7rem;
  top: 0.7rem;
  width: 3rem;
}
.notice-close .paris-icon {
  fill: currentColor;
  height: 2rem;
  width: 2rem;
}
@media (max-width: 799px) {
  .notice.heading-alert {
    position: relative;
    margin-left: unset;
    width: unset;
    margin: 2rem 2rem auto 0;
  }
}

.is-giant .notice {
  position: relative;
}

.paris-pagination {
  font-weight: 700;
  margin: 2rem 0;
  text-align: center;
}
.paris-pagination .ais-Pagination-list {
  align-items: flex-start;
  justify-content: center;
}
.paris-pagination-page a {
  min-height: 3.4rem;
}
.paris-pagination-page a, .paris-pagination-page.active, .paris-pagination-page.gap,
.paris-pagination .ais-Pagination-link {
  padding: 0.4rem 1rem;
  min-width: 3rem;
}
.paris-pagination-page, .paris-pagination-page a,
.paris-pagination .ais-Pagination-item,
.paris-pagination .ais-Pagination-link {
  display: inline-flex;
  justify-content: center;
}
.paris-pagination-page,
.paris-pagination .ais-Pagination-item {
  margin: 0 0.2rem;
}
.paris-pagination-page a,
.paris-pagination .ais-Pagination-link {
  border-bottom: 0 solid rgba(7, 31, 50, 0.2);
  color: inherit;
  text-decoration: none;
  transition: border-bottom 0.2s ease;
}
.paris-pagination-page a:focus-visible,
.paris-pagination .ais-Pagination-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-pagination-page a:hover,
.paris-pagination .ais-Pagination-link:hover {
  border-bottom-width: 0.6rem;
}
body[data-animations=disabled] .paris-pagination-page a, body[data-animations=disabled] .paris-pagination .ais-Pagination-link {
  transition: none;
}

.paris-pagination-page.disabled {
  display: none;
}
.paris-pagination .ais-Pagination-item--disabled {
  pointer-events: none;
  opacity: 0.3;
}
.paris-pagination-page.gap {
  cursor: default;
  opacity: 0.5;
}
.paris-pagination-page.active,
.paris-pagination .ais-Pagination-item--selected .ais-Pagination-link {
  border-bottom: 0.6rem solid currentColor;
  color: #d22638;
}
.paris-pagination-page.prev, .paris-pagination-page.next {
  transform: translateY(0.2rem);
}
.paris-pagination-page.prev a,
.paris-pagination-page.prev .ais-Pagination-link, .paris-pagination-page.next a,
.paris-pagination-page.next .ais-Pagination-link,
.paris-pagination .ais-Pagination-item--previousPage a,
.paris-pagination .ais-Pagination-item--previousPage .ais-Pagination-link,
.paris-pagination .ais-Pagination-item--nextPage a,
.paris-pagination .ais-Pagination-item--nextPage .ais-Pagination-link {
  padding: 1rem;
}

.portfolio {
  width: 100%;
  position: relative;
}
.portfolio .carousel, .portfolio-carousel-main-container .flickity-viewport {
  height: 100%;
}
.portfolio .carousel:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.portfolio .heading-lead-text {
  margin: auto auto 60px;
  max-width: 100%;
  font-size: 1.2rem;
  text-align: center;
}
.portfolio .is-mobile {
  display: none;
}
.portfolio-image-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  outline: none;
}
.portfolio-card-columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 5rem;
}
.portfolio-card-columns.is-hide {
  opacity: 0;
}
.portfolio-card-columns .image-img img {
  position: relative;
  display: block;
  max-height: 100%;
  max-width: 100%;
  min-width: 100%;
}
.portfolio-card-columns figure {
  margin: 0;
}
.portfolio-card-columns .card {
  margin: 0 1rem 1rem 0;
}
.portfolio-card-columns .card:hover {
  transform: none;
}
.portfolio-mosaic-column:first-child {
  padding-top: 2rem;
}
.portfolio-mosaic-column:nth-child(2) {
  padding-top: 8rem;
}
.portfolio-mosaic-column .card {
  border: none;
}
.portfolio-mosaic-column .mosaic-pict {
  margin-bottom: 5rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.portfolio-mosaic-column .mosaic-pict:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.portfolio-mosaic-column .mosaic-pict img {
  position: relative;
  display: block;
  max-height: 100%;
  max-width: 100%;
  min-width: 100%;
  cursor: pointer;
}
.portfolio-carousel-main-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  background-color: white;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 0;
  bottom: 0;
  padding-left: 7rem;
  top: 7.7rem;
}
.portfolio-carousel-main-container.is-shown {
  display: flex;
  z-index: 20;
}
.portfolio-carousel-main-container .carousel-container {
  background-color: white;
  top: 0;
  position: relative;
  display: none;
  width: calc(100% - 25rem);
  height: 100%;
  /* CONTROLS */
  /* arrow color */
  /* position outside */
}
.portfolio-carousel-main-container .carousel-container .main-carousel {
  height: 100%;
}
.portfolio-carousel-main-container .carousel-container .close-but-container {
  position: absolute;
  right: -10rem;
  top: 2rem;
  cursor: pointer;
}
.portfolio-carousel-main-container .carousel-container .close-but-container .close-carousel {
  position: absolute;
  cursor: pointer;
}
.portfolio-carousel-main-container .carousel-container .paris-button::before {
  background-color: none;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell {
  width: 100%;
  height: 100%;
  margin-right: 10px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content {
  height: 100%;
  width: 100%;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content .image {
  width: 100%;
  position: relative;
  height: 100%;
  margin: 0;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content .image .image-img {
  width: 100%;
  background: transparent !important;
  height: calc(100% - 5.7rem); /* 5.7rem is .image-footer default state height */
  padding-top: 1rem;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content .image .image-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-width: 140rem;
  max-height: 140rem;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content .image .image-footer {
  position: absolute;
  left: 50% !important;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
  max-width: 80rem;
  padding: 1rem 2rem;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9);
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content .image .image-footer .image-caption {
  font-size: 1.4rem;
  font-weight: 600;
  position: relative;
  margin-bottom: 0;
  max-height: 10em;
  overflow: hidden;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: max-height 0.6s;
  font-weight: 500;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content .image .image-footer:not(:hover) .image-caption {
  white-space: nowrap;
  max-height: 1.5em;
}
.portfolio-carousel-main-container .carousel-container .carousel-cell .carousel-cell-content .image .image-footer .image-credit {
  height: 1.6em;
  max-width: unset;
  font-size: 1rem;
  color: #777;
  position: relative;
}
.portfolio-carousel-main-container .carousel-container .flickity-prev-next-button:hover {
  background-color: #e22c3f;
}
.portfolio-carousel-main-container .carousel-container .flickity-prev-next-button:hover .flickity-button-icon .arrow {
  fill: white;
}
.portfolio-carousel-main-container .carousel-container .flickity-prev-next-button .flickity-button-icon .arrow {
  fill: #333;
}
.portfolio-carousel-main-container .carousel-container .flickity-button-icon {
  width: 30%;
  height: 40%;
  position: inherit;
  left: auto;
  top: auto;
}
.portfolio-carousel-main-container .carousel-container .flickity-button {
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-carousel-main-container .carousel-container .flickity-prev-next-button .arrow {
  fill: white;
}
.portfolio-carousel-main-container .carousel-container .flickity-prev-next-button.no-svg {
  color: white;
}
.portfolio-carousel-main-container .carousel-container .flickity-prev-next-button.previous {
  left: -10rem;
}
.portfolio-carousel-main-container .carousel-container .flickity-prev-next-button.next {
  right: -10rem;
}
.portfolio-carousel-main-container .show {
  display: block;
}
.portfolio-carousel-main-container .flickity-viewport {
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.portfolio .ctrl-buttons {
  position: absolute;
  z-index: 1;
  top: 50%;
}
.portfolio .ctrl-buttons:disabled {
  opacity: 0.1;
  pointer-events: none;
}
.portfolio-gallery-previous {
  left: -10rem;
  transform: translateY(-50%);
}
.portfolio-gallery-next {
  right: -10rem;
  transform: translateY(-50%);
}

.hide {
  display: none !important;
}

@media (max-width: 960px) {
  .portfolio-carousel-main-container .carousel-container .close-but-container {
    right: -7rem;
  }
  .portfolio .flickity-prev-next-button.previous {
    left: -7rem !important;
  }
  .portfolio .flickity-prev-next-button.next {
    right: -7rem !important;
  }
}
@media (max-width: 680px) {
  .portfolio-carousel-main-container .carousel-container .close-but-container {
    right: -4rem;
  }
  .portfolio .flickity-prev-next-button.previous {
    left: -10rem !important;
  }
  .portfolio .flickity-prev-next-button.next {
    right: -5rem !important;
  }
}
@media (max-width: 499px) {
  .portfolio-carousel-main-container {
    top: 6rem;
  }
  .portfolio-container {
    margin: 3rem;
    width: unset;
  }
  .portfolio-card-columns .portfolio-mosaic-column {
    padding-top: unset !important;
  }
  .portfolio-card-columns {
    grid-template-columns: 1fr;
    margin: auto;
  }
  .portfolio .image {
    margin-bottom: 4rem;
  }
  .portfolio .image-footer {
    margin: 0 0 2rem;
    position: relative;
  }
  .portfolio .image-footer .image-caption {
    font-size: 1.3rem;
    font-weight: 600;
    position: relative;
    margin: 1rem auto 0.6rem;
    line-height: 1.4;
  }
  .portfolio .image-footer .image-credit {
    max-width: unset;
    font-size: 0.9rem;
    color: #777;
    position: relative;
  }
  .portfolio .portfolio-mosaic-column {
    flex: 0 0 100% !important;
  }
  .portfolio .is-desktop {
    display: none !important;
  }
  .portfolio .is-mobile {
    display: block;
  }
  .portfolio .close-carousel {
    transform: translateX(3rem) !important;
  }
  .portfolio .flickity-prev-next-button.previous {
    left: -7rem !important;
  }
  .portfolio .flickity-prev-next-button.next {
    right: -7rem !important;
  }
  .portfolio .carousel-cell .image,
  .portfolio .carousel-cell .image-img {
    height: 100%;
  }
  .portfolio .carousel-cell img {
    height: unset !important;
    max-height: 100%;
    max-width: 100%;
    min-width: 100%;
  }
}
@media (min-width: 500px) {
  .portfolio .image-footer {
    margin-right: unset;
    margin-left: unset;
  }
}
.profile {
  margin: 0 auto;
  max-width: 26rem;
  text-align: center;
}
.profile-items {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.profile-item {
  list-style-type: none;
}
.profile-link {
  align-items: center;
  color: #071f32;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
}
.profile-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.profile-link:hover .paris-button::before {
  width: 100%;
}
.profile-link:hover .paris-button-text {
  color: #fff;
}
.profile-link:hover .profile-image img {
  transform: scale(1.15);
}
.profile > .title {
  margin-bottom: 0.8rem;
}
.profile-text {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.33;
  margin-bottom: 1.6rem;
}
@media (max-width: 799px) {
  .profile {
    margin: 0 3rem;
  }
}

.ratp--icon {
  height: 2rem;
  width: 2rem;
}
.ratp--icon-kind {
  fill: #164b9c;
}
.ratp--icon-bus:not(.ratp--icon-kind) {
  width: 2.6rem;
}

.related {
  margin-top: 2rem;
  position: relative;
  text-align: center;
}
.related::before {
  background: #f2f2f2;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.related > * {
  position: relative;
}
.related-title {
  color: #071f32;
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: 0.04rem;
  line-height: 1.125;
  position: relative;
  text-align: left;
  padding-left: 2rem;
}
.related-cards {
  margin: 0 0 2rem;
}
.related-cards .paris-card {
  margin-right: 1.2rem;
  width: calc(100% - 6rem);
}
.related-cards .paris-card:last-child {
  margin-right: 0;
}
.related-cards .paris-card-image {
  height: 22rem;
}
.related-cards .paris-card-image img {
  height: 22rem;
  object-fit: cover;
  width: 100%;
}
.related-cards .paris-card-link {
  display: none;
}
.comment + .related {
  margin-top: 0;
}
@media (max-width: 499px) {
  .related {
    width: 100%;
  }
  .related::before {
    height: 19rem;
    width: 100%;
  }
  .related-title {
    padding: 4rem 0;
    text-align: center;
    padding-left: unset;
  }
  .related-cards {
    margin: 0 3rem 2rem;
  }
  .related-cards .paris-card {
    flex: 1;
    margin: 0 7rem 0 0 !important;
    width: 100%;
  }
  .related-cards .paris-card .paris-card-image img {
    width: 100%;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .related::before {
    height: 18rem;
  }
  .related-title {
    margin: 1.5rem auto 0;
    padding: 1.5rem;
  }
  .related-cards {
    margin: 0 1.5rem 2rem;
  }
  .related .paris-card.portfolio-cat .tag {
    margin-top: 2rem;
  }
}
@media (min-width: 800px) {
  .related::before {
    height: 18rem;
  }
  .related .paris-card-image {
    height: 19rem;
  }
  .related-title {
    margin: 0 5.5rem 3.2rem 2rem;
    padding-top: 6.5rem;
  }
  .related .related-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 4rem 5.9rem;
    margin: 6rem 3rem 0 4rem;
    max-width: 100rem;
  }
  .related .related-cards .paris-card {
    flex: 1;
    margin: 0 7rem 0 0;
    width: 100%;
  }
  .related .related-cards .paris-card:last-child {
    margin-right: 0;
  }
  .related .related-cards .paris-card-image img {
    width: 100%;
    height: 16rem;
  }
}
@media (min-width: 1140px) {
  .related .related-title {
    margin: 0 auto 2rem;
    max-width: 100rem;
    padding-left: unset;
  }
  .related .related-cards {
    margin: 0 auto 2rem;
    max-width: 100rem;
  }
  .related .related-cards .paris-card {
    margin: 0 7rem 0 0;
  }
  .related .related-cards .paris-card-image img {
    height: 16rem;
  }
}

.paris-search-box {
  position: relative;
}
.paris-search-box .ais-SearchBox {
  position: relative;
}
.paris-search-box .ais-SearchBox-reset,
.paris-search-box .ais-SearchBox-submit {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.paris-search-box .ais-SearchBox-reset:focus-visible,
.paris-search-box .ais-SearchBox-submit:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-box .ais-SearchBox-input {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  outline: none;
  transition: background-color 0.3s ease;
}
.paris-search-box .ais-SearchBox-input:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-box .ais-SearchBox-reset {
  align-items: center;
  background-color: #d1d1d1;
  border-radius: 50%;
  display: flex;
  fill: rgba(7, 31, 50, 0.6);
  justify-content: center;
}
.paris-search-box .ais-SearchBox-input:placeholder-shown + .ais-SearchBox-submit {
  pointer-events: none;
}
.paris-search-box .ais-SearchBox-input:placeholder-shown ~ .ais-SearchBox-reset {
  display: none;
}
.paris-search-box .ais-SearchBox-input::placeholder,
.paris-search-box .paris-search-box-placeholder-suffixes {
  color: #788693;
  opacity: 1;
}
.paris-search-box.is-large .paris-search-box-placeholder-suffixes,
.paris-search-box.is-large .ais-SearchBox-input {
  font-weight: 600;
}
.paris-search-box.is-large .ais-SearchBox-input {
  background-color: #fff;
  border: 1px solid #cecfcf;
  width: 100%;
}
.paris-search-box.is-large .ais-SearchBox-input {
  color: #071f32;
}
.paris-search-box.is-large .ais-SearchBox-input::placeholder {
  color: #788693;
}
@media (max-width: 799px) {
  .paris-search-box.is-large .ais-SearchBox-submit,
  .paris-search-box.is-large .ais-SearchBox-submit .paris-icon {
    height: 4rem;
    width: 4rem;
  }
  .paris-search-box.is-large .ais-SearchBox-submit {
    left: 1.2rem;
  }
  .paris-search-box.is-large .ais-SearchBox-reset {
    height: 2.4rem;
    right: 1.6rem;
    width: 2.4rem;
  }
  .paris-search-box.is-large .ais-SearchBox-reset .paris-icon {
    height: 2rem;
    width: 2rem;
  }
  .paris-search-box.is-large .ais-SearchBox-input {
    font-size: 2rem;
    line-height: 4.2rem;
    padding: 0.8rem 0 0.8rem 6rem;
  }
}
@media (min-width: 800px) {
  .paris-search-box .paris-search-box-placeholder-suffixes {
    pointer-events: none;
    position: absolute;
  }
  .paris-search-box .paris-search-box-placeholder-suffix-items {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .paris-search-box.is-large {
    min-height: 10.1rem;
  }
  .paris-search-box.is-large .ais-SearchBox-submit,
  .paris-search-box.is-large .ais-SearchBox-submit .paris-icon {
    height: 6rem;
    width: 6rem;
  }
  .paris-search-box.is-large .ais-SearchBox-submit {
    left: 2rem;
  }
  .paris-search-box.is-large .ais-SearchBox-reset {
    height: 3rem;
    right: 3rem;
    width: 3rem;
  }
  .paris-search-box.is-large .ais-SearchBox-reset .paris-icon {
    height: 2.4rem;
    width: 2.4rem;
  }
  .paris-search-box.is-large .paris-search-box-placeholder-suffixes,
  .paris-search-box.is-large .ais-SearchBox-input {
    font-size: 3.5rem;
    line-height: 5.7rem;
  }
  .paris-search-box.is-large .ais-SearchBox-input {
    padding: 2rem 6rem 2rem 9rem;
  }
  .paris-search-box.is-large .paris-search-box-placeholder-suffixes {
    display: block;
    height: 7.7rem;
    left: 32.6rem;
    overflow: hidden;
    top: 1.2rem;
  }
  html[lang=en] .paris-search-box.is-large .paris-search-box-placeholder-suffixes {
    left: 23.5rem;
  }
  .paris-search-box.is-large .paris-search-box-placeholder-suffixes::before, .paris-search-box.is-large .paris-search-box-placeholder-suffixes::after {
    content: "";
    display: block;
    height: 2rem;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
  }
  .paris-search-box.is-large .paris-search-box-placeholder-suffixes::before {
    background-image: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);
    top: 0;
  }
  .paris-search-box.is-large .paris-search-box-placeholder-suffixes::after {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
    bottom: 0;
  }
  .paris-search-box.is-large .paris-search-box-placeholder-suffix-items {
    transform: translateY(1rem);
  }
  .paris-search.is-searching .paris-search-box-placeholder-suffixes, .paris-search-modal.is-searching .paris-search-box-placeholder-suffixes {
    display: none;
  }
}

.paris-search {
  min-height: 100vh;
}
.paris-search-heading {
  background-color: #fff;
  z-index: 100;
}
@media (max-width: 799px) {
  .paris-search-heading {
    padding: 1.6rem 0 0;
    margin-bottom: 2rem;
  }
}
@media (min-width: 800px) {
  .paris-search-heading {
    margin: 3rem auto;
    max-width: 125rem;
  }
}

.search-filters .title {
  margin-bottom: 1rem;
}
.search-filters .form-multiple-input,
.search-filters .form-search-input {
  background-repeat: no-repeat;
  background-position: right calc(0.3125em + 0.3rem) center;
  background-size: calc(0.4125em + 0.6rem) calc(1.413em + 0.6rem);
}
.search-filters .form-multiple-input .ts-control,
.search-filters .form-search-input .ts-control {
  padding-right: calc(2rem - 5px) !important;
  background: transparent;
  line-height: unset;
}
.search-filters .form-multiple-input .ts-control:focus-within,
.search-filters .form-search-input .ts-control:focus-within {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.search-filters .form-multiple-input .ts-control input,
.search-filters .form-multiple-input .ts-control .ts-dropdown,
.search-filters .form-search-input .ts-control input,
.search-filters .form-search-input .ts-control .ts-dropdown {
  line-height: unset;
}
.search-filters .form-multiple-input .ts-control .place-item,
.search-filters .form-search-input .ts-control .place-item {
  cursor: pointer;
  padding: 2px 6px;
  background: #f2f2f2;
  color: #303030;
  border: 0px solid #d0d0d0;
}
.search-filters .form-multiple-input {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23343a40' d='M416 208H272V64c0-18-14-32-32-32h-32c-18 0-32 14-32 32v144H32c-18 0-32 14-32 32v32c0 18 14 32 32 32h144v144c0 18 14 32 32 32h32c18 0 32-14 32-32V304h144c18 0 32-14 32-32v-32c0-18-14-32-32-32z'/%3E%3C/svg%3E");
}
.search-filters .form-search-input {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23343a40' d='M3.5 0C1.5 0 0 1.5 0 3.5S1.5 7 3.5 7C4 7 4.5 7 5.1 6.6L6.1 7.6A1 1 0 007.5 6.1L6.5 5.1C6.9 4.5 7 4 7 3.5C7 1.5 5.5 0 3.5 0ZM3.5 1C5 1 6 2 6 3.5C6 5 5 6 3.5 6C2 6 1 5 1 3.5S2 1 3.5 1Z'/%3e%3c/svg%3e");
}
.search-filters .qfap-datepicker-display {
  line-height: 1.73;
  width: 100%;
  padding-right: 0.45rem !important;
  cursor: pointer;
  border: 1px solid #d0d0d0;
  padding: 0.8rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: none;
  border-radius: 3px;
  color: #757575;
}
.search-filters .qfap-datepicker-display-text {
  font-weight: 500;
}
.search-filters .qfap-datepicker-display.hidden {
  display: none;
  color: #757575;
  display: inline-flex;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
  align-self: auto;
  order: 0;
  font-size: inherit;
  line-height: inherit;
}
.search-filters .qfap-datepicker-display.hidden::after {
  content: "\f133";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  margin-left: auto;
  -webkit-font-smoothing: antialiased;
  color: #071f32;
}
.search-filters .qfap-datepicker-container {
  position: absolute;
  z-index: 2;
}
.search-filters .qfap-datepicker-container .wc-datepicker__year-select {
  max-width: 6rem;
}
.search-filters .qfap-datepicker-container.mb-1 {
  margin-bottom: 1rem;
}
.search-filters .place-dropdown-display {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: normal;
  align-items: center;
  align-content: normal;
  border: 1px solid #d0d0d0;
  padding: 0.8rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: none;
  border-radius: 3px;
  flex-wrap: wrap;
}
.search-filters .place-dropdown-display-input,
.search-filters .place-dropdown-display input:focus {
  display: block;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
  align-self: auto;
  order: 0;
  border-style: none;
  outline: none;
}
.search-filters .place-dropdown-container {
  position: relative;
  border: 1px solid #d0d0d0;
  background: #fff;
  margin: 0.25rem 0 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
  z-index: 1;
}
.search-filters .place-dropdown-container-option {
  padding: 5px 8px;
}
.search-filters .place-dropdown-container.hidden {
  display: none;
}
.search-filters-indices {
  line-height: 1.2;
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.search-filters-indices-item {
  align-items: baseline;
  display: flex;
  padding: 0.8rem 0;
  text-decoration: none;
  width: 100%;
}
.search-filters-indices-item:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.search-filters-indices-label {
  color: #071f32;
  pointer-events: none;
}
.search-filters-indices-count {
  pointer-events: none;
}
.search-filters-indices-item.is-active .search-filters-indices-label {
  color: #354bcf;
  text-decoration-line: underline;
  text-decoration-thickness: 0.3rem;
  text-underline-offset: 0.3rem;
}
.search-filters-mini-map {
  display: none;
}
.search-filters-content {
  font-size: 1.3rem;
  display: flex;
}
.search-filters-sorting:empty, .search-filters-widgets:empty {
  display: none !important;
}
.search-filters-item {
  margin: 1.2rem 0;
}
.search-filters-item.is-grouped {
  margin: 0.5rem 0;
}
.search-filters-item:first-child .search-filters-item-title, .search-filters-item-title + .search-filters-item {
  margin-top: 0;
}
.search-filters-item-widget input,
.search-filters-item-widget select {
  max-width: 100%;
}
.search-filters-item-widget .ts-wrapper.single .ts-control::after {
  content: none;
}
.search-filters-item-widget .ts-dropdown .active {
  background-color: #f5fafd;
  color: #495c68;
}
.search-filters-hits-count, .search-filters-widgets-title {
  font-weight: 600;
}
.search-filters-widgets-body-wrapper fieldset {
  padding: 0;
  border: none;
  margin: 3rem 0 1rem; /* this is the margin applied to label in the widgets, because a legend cannot have top and bottom margins, thus we must set the parent fieldset */
}
.search-filters-item-title,
.search-filters .ais-DateSelector-label-title {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 3rem 0 1rem;
}
.search-filters .ais-RefinementList-label,
.search-filters .ais-ToggleNumericRefinement-label,
.search-filters .ais-SortByRadios-item,
.search-filters .ais-ToggleRefinement {
  align-items: baseline;
  display: flex;
  font-weight: 500;
  line-height: 1.4;
}
.search-filters .ais-SortByRadios-item {
  cursor: pointer;
  line-height: 1.2;
  padding: 0.3rem 0;
}
.search-filters .ais-DateSelector-input {
  background-color: #f2f2f2;
  border: 0;
  border-radius: 0;
  font-weight: 600;
  padding: 1rem;
  width: 17rem;
}
.search-filters .ais-DateSelector-input:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.search-filters .ais-RefinementList-checkbox,
.search-filters .ais-ToggleRefinement-checkbox,
.search-filters .ais-ToggleNumericRefinement-checkbox,
.search-filters .ais-SortByRadios-radio {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  display: block;
  margin: 0 0.8rem 0 0;
  padding: 0;
  transform: translateY(0.3rem);
}
.search-filters .ais-RefinementList-checkbox:focus-visible,
.search-filters .ais-ToggleRefinement-checkbox:focus-visible,
.search-filters .ais-ToggleNumericRefinement-checkbox:focus-visible,
.search-filters .ais-SortByRadios-radio:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.search-filters .ais-RefinementList-checkbox::before,
.search-filters .ais-ToggleRefinement-checkbox::before,
.search-filters .ais-ToggleNumericRefinement-checkbox::before,
.search-filters .ais-SortByRadios-radio::before {
  border: 0.2rem solid #071f32;
  content: "";
  cursor: pointer;
  display: block;
  font-family: "Montserrat", sans-serif;
  height: 1.8rem;
  width: 1.8rem;
}
.search-filters .ais-RefinementList-checkbox,
.search-filters .ais-ToggleRefinement-checkbox,
.search-filters .ais-ToggleNumericRefinement-checkbox {
  height: 1.7rem;
  margin: 0 0.8rem 0 0;
  padding: 0;
  transform: translateY(0.3rem);
  width: 1.7rem;
}
.search-filters .ais-RefinementList-checkbox::before,
.search-filters .ais-ToggleRefinement-checkbox::before,
.search-filters .ais-ToggleNumericRefinement-checkbox::before {
  height: 1.8rem;
  width: 1.8rem;
}
.search-filters .ais-RefinementList-checkbox:checked::before,
.search-filters .ais-ToggleRefinement-checkbox:checked::before,
.search-filters .ais-ToggleNumericRefinement-checkbox:checked::before {
  border-color: #354bcf;
  background: #354bcf url(/assets/check-602a5df68ca3d01b8fcee1fdc1dcc68bfcf4c7ed8401ee06d9d86644c3dea707.svg) no-repeat center center;
}
.search-filters .ais-SortByRadios-radio, .search-filters .ais-SortByRadios-radio::before {
  border-radius: 1.8rem;
  height: 1.5rem;
  width: 1.5rem;
}
.search-filters .ais-SortByRadios-radio:checked::before {
  border-width: 0.5rem;
  border-color: #354bcf;
}
.search-filters .ais-SortByRadios-radio:checked + .ais-SortByRadios-label {
  color: #354bcf;
}
.search-filters .ais-SortByRadios-message {
  color: #767676;
  font-size: 1.1rem;
}
.search-filters .ais-RefinementList-item + .ais-RefinementList-item,
.search-filters .ais-SortByRadios-item + .ais-SortByRadios-item {
  margin-top: 0.5rem;
}
.search-filters .ais-RefinementList-labelText {
  align-items: baseline;
  display: flex;
}
.search-filters .ais-RefinementList-label .paris-icon {
  flex-shrink: 0;
  height: 1.8rem;
  margin-right: 1rem;
  transform: translateY(0.4rem);
  width: 1.8rem;
}
.search-filters .ais-RefinementList-list.is-capitalized .ais-RefinementList-labelText {
  text-transform: capitalize;
}
.search-filters .ais-RefinementList-list.has-2-cols {
  display: grid;
  grid-column-gap: 2rem;
  grid-row-gap: 0.5rem;
  grid-template-columns: repeat(2, 1fr);
}
.search-filters .ais-RefinementList-list.has-2-cols .ais-RefinementList-item + .ais-RefinementList-item {
  margin-top: 0;
}
.search-filters .ais-RefinementList-list.has-2-cols .ais-RefinementList-label {
  white-space: nowrap;
}
.search-filters .ais-RefinementList-count {
  font-weight: 400;
}
.search-filters .ais-RefinementList-list.has-counts .ais-RefinementList-labelText {
  display: block;
}
.search-filters .ais-RefinementDropdown-select {
  appearance: none;
  background: 0;
  border: 0;
  color: #e8404e;
  cursor: pointer;
  padding: 0;
  width: 100%;
}
.search-filters .ais-RefinementDropdown-select:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.search-filters .ais-CurrentRefinements-label {
  border: none;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  display: none;
}
.search-filters .ais-CurrentRefinements-item {
  display: inline-flex;
  flex-wrap: wrap;
  margin: 0;
}
.search-filters .ais-CurrentRefinements-category {
  background-color: #e8e8e8;
  border-radius: 0.4rem;
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0.2rem 0.2rem 0;
  padding: 0.35rem 0.8rem;
  position: relative;
}
.search-filters .ais-CurrentRefinements-categoryLabel {
  white-space: nowrap;
}
.search-filters .ais-CurrentRefinements-delete {
  background: #767676;
  border-radius: 50%;
  color: #fff;
  font-size: 1.2rem;
  height: 1.8rem;
  position: absolute;
  right: -0.8rem;
  top: -0.8rem;
  width: 1.8rem;
}
.search-filters .ais-CurrentRefinements-delete:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.search-filters .ais-CurrentRefinements-delete:focus {
  background-color: #354bcf;
}
@media (max-width: 799px) {
  .search-filters > * {
    margin-bottom: 1rem;
  }
  .search-filters-indices {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
  }
  .search-filters-indices::after {
    border-top: 1px solid #d1d1d1;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    transform: translateY(5rem);
  }
  .search-filters-indices-label {
    font-weight: 700;
  }
  .search-filters-indices-count {
    display: none;
  }
  .paris-search.has-map .search-filters-mini-map {
    display: block;
    margin: -1.3rem -2rem 0.5rem;
    transition: height 0.2s ease-in-out;
  }
  .paris-search.has-map .search-filters-mini-map,
  .paris-search.has-map .search-filters-mini-map .leaflet-container {
    height: 14rem;
  }
  .paris-search.has-map .search-filters-mini-map .leaflet-container {
    z-index: 0;
  }
  .paris-search.has-map .search-filters-mini-map .paris-search-hits-item-number {
    line-height: 1.8rem;
  }
  .paris-search.has-map.has-large-map .search-filters-mini-map,
  .paris-search.has-map.has-large-map .search-filters-mini-map .leaflet-container {
    height: 37.5rem;
  }
  .search-filters-content {
    align-items: center;
  }
  .search-filters-hits-count {
    flex-grow: 1;
  }
  .search-filters-widgets-title {
    color: #767676;
  }
  .search-filters-widgets-title:not(button) {
    display: none;
  }
  .search-filters-widgets-toggle {
    align-items: center;
    appearance: none;
    background: #fff;
    border: 0;
    color: #071f32;
    display: flex;
    padding: 1rem 1.6rem;
    position: relative;
  }
  .search-filters-widgets-toggle:focus-visible {
    outline: 0.3rem solid #354bcf;
    outline-offset: 0.25rem;
  }
  .search-filters-widgets-toggle .paris-icon {
    fill: #354bcf;
    margin-left: 1rem;
    transition: transform 0.2s ease-in-out;
  }
  .search-filters-widgets-toggle.is-open {
    z-index: 11;
  }
  .search-filters-widgets-toggle.is-open .paris-icon {
    transform: rotate(180deg);
  }
  .search-filters-widgets-toggle.is-open + .search-filters-widgets-body {
    display: block;
  }
  .search-filters-widgets-toggle.is-open + .search-filters-widgets-body::after {
    background-color: rgba(7, 31, 50, 0.8);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1;
  }
  .search-filters-widgets-body {
    display: none;
    left: 2rem;
    max-height: calc(100vh - 100px);
    overflow: auto;
    position: absolute;
    right: 2rem;
    z-index: 10;
  }
  .search-filters-widgets-body-wrapper {
    background-color: #fff;
    padding: 2.5rem;
    position: relative;
    z-index: 11;
  }
}
@media (min-width: 800px) {
  .search-filters-indices-label {
    font-size: 1.8rem;
    font-weight: 800;
  }
  .search-filters-indices-count {
    color: #7b758e;
    display: none;
    font-size: 1.2rem;
    font-weight: 600;
    margin-left: 1rem;
    pointer-events: none;
    text-decoration: none;
  }
  .paris-search.is-searching .search-filters-indices-count {
    display: inline;
  }
  .search-filters-hits-count {
    display: none !important;
  }
  .search-filters-content {
    flex-direction: column;
  }
  .search-filters-sorting, .search-filters-sorting + .search-filters-widgets {
    border-top: 0.2rem solid #e8e8e8;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
  }
  .search-filters-widgets-title {
    color: #354bcf;
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
  .search-filters-widgets-toggle {
    display: none;
  }
  .search-filters .ais-CurrentRefinements-delete {
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .search-filters .ais-CurrentRefinements-category:hover .ais-CurrentRefinements-delete,
  .search-filters .ais-CurrentRefinements-delete:focus {
    opacity: 1;
  }
}

.paris-search-hits-item {
  position: relative;
}
.ais-Hits-item:first-child .paris-search-hits-item {
  padding-top: 0;
}
.paris-search-hits-item-link {
  color: #071f32;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  padding: 0.5rem 0;
  text-decoration: none;
}
.paris-search-hits-item-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-hits-item-link:hover .paris-search-hits-item-image img, .paris-search-hits-item-link:focus .paris-search-hits-item-image img {
  transform: scale(1.15);
}
.paris-search-hits-item-number {
  background-image: url(/assets/search-map-marker-ce198a67aa7c3f1cc547c4153c75926088971b8b92dc0ab85520c50cedeebd7d.svg);
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff !important;
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.02rem;
  position: absolute;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, filter 0.2s ease;
}
body[data-animations=disabled] .paris-search-hits-item-number {
  transition: none;
}

.paris-search-hits-item-image {
  background-color: #f2f2f2;
  flex-shrink: 0;
  height: 10rem;
  overflow: hidden;
  width: 16rem;
}
.paris-search-hits-item-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 0.2s ease;
  width: 100%;
}
body[data-animations=disabled] .paris-search-hits-item-image img {
  transition: none;
}

.paris-search-hits-item-content {
  line-height: 1.4;
}
.paris-search-hits-item-title, .paris-search-hits-item-date, .paris-search-hits-item-update, .paris-search-hits-item-audience, .paris-search-hits-item-place {
  margin-bottom: 0.6rem;
}
.paris-search-hits-item-title, .paris-search-hits-item-title.title.is-level-4 {
  font-weight: 800;
}
.paris-search-hits-item-date, .paris-search-hits-item-audience {
  align-items: baseline;
  color: #354bcf;
  display: flex;
  font-size: 1.3rem;
  font-weight: 700;
}
.paris-search-hits-item-date .paris-icon, .paris-search-hits-item-audience .paris-icon {
  fill: #354bcf;
  flex-shrink: 0;
  margin-right: 0.6rem;
  transform: translateY(0.2rem);
}
.paris-search-hits-item-update {
  color: #767676;
  font-weight: 700;
  text-transform: uppercase;
}
.paris-search-hits-item-place {
  align-items: baseline;
  display: flex;
}
.paris-search-hits-item-place .paris-icon {
  fill: #767676;
  flex-shrink: 0;
  margin-right: 0.6rem;
  transform: translateY(0.2rem);
}
.paris-search-hits-item-open-details {
  font-size: 1rem;
  margin-top: 0.4rem;
  text-transform: uppercase;
}
.paris-search-hits-item-open-details.is-green {
  color: #0d7d00;
}
.paris-search-hits-item-open-details.is-orange {
  color: #bf5000;
}
.paris-search-hits-item-open-details.is-red {
  color: #d71d31;
}
.paris-search-hits .ais-Highlight-highlighted,
.paris-search-hits .ais-Snippet-highlighted {
  background-color: transparent;
  text-decoration: underline;
  text-decoration-color: #354bcf;
  text-decoration-thickness: 0.2rem;
  text-underline-offset: 0.3rem;
}
.paris-search-hits .ais-CurrentRefinements-list:not(:empty) {
  margin-bottom: 2rem;
}
.paris-search-hits .ais-CurrentRefinements-label {
  border: none;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.paris-search-hits .ais-CurrentRefinements-item {
  display: inline-flex;
  flex-wrap: wrap;
  margin: 0;
}
.paris-search-hits .ais-CurrentRefinements-category {
  background-color: #e8e8e8;
  border-radius: 0.4rem;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 1rem 1rem 0;
  padding: 0.7rem 1.6rem;
  position: relative;
}
.paris-search-hits .ais-CurrentRefinements-categoryLabel {
  white-space: nowrap;
}
.paris-search-hits .ais-CurrentRefinements-delete {
  background: #767676;
  border-radius: 50%;
  color: #fff;
  font-size: 1.2rem;
  height: 1.8rem;
  position: absolute;
  right: -0.8rem;
  top: -0.8rem;
  width: 1.8rem;
}
.paris-search-hits .ais-CurrentRefinements-delete:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-hits .ais-CurrentRefinements-delete:focus {
  background-color: #354bcf;
}
.paris-search-hits-map {
  background-color: #f2f2f2;
  display: none;
}
.paris-search-hits-map .leaflet-pane.leaflet-tile-pane {
  filter: grayscale(100%);
}
.paris-search-hits-map .paris-search-hits-item-number {
  position: relative;
}
.paris-search-hits-map .paris-search-hits-item-number:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-hits-map-control {
  align-items: center;
  background-color: #767676;
  border: 0;
  cursor: pointer;
  display: flex !important;
  height: 2.5rem;
  justify-content: center;
  transition: background-color 0.2s ease;
}
.paris-search-hits-map-control .paris-icon {
  pointer-events: none;
}
.paris-search-hits-map-control-location {
  width: 2.5rem;
}
.paris-search-hits-map-control-location .paris-icon {
  height: 1.3rem;
  width: 1.3rem;
}
.paris-search-hits-map-control-size {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}
.paris-search-hits-map-control-size .paris-icon {
  fill: #767676;
  height: 2rem;
  margin-right: 1rem;
  width: 2rem;
}
.paris-search-hits-map-control:hover {
  background-color: #f2f2f2;
}
.paris-search-hits-map-control:hover .paris-icon {
  fill: #767676;
}
.is-located .paris-search-hits-map-control-location {
  background-color: #fff;
}
.is-located .paris-search-hits-map-control-location .paris-icon {
  stroke: #354bcf;
  fill: transparent;
}
.is-located.is-centered .paris-search-hits-map-control-location {
  background-color: #fff;
}
.is-located.is-centered .paris-search-hits-map-control-location .paris-icon {
  fill: #354bcf;
}
.location-unknown .paris-search-hits-map-control-location {
  background-color: #767676;
}
.location-unknown .paris-search-hits-map-control-location:hover {
  background-color: #979797;
}
.location-unknown .paris-search-hits-map-control-location:hover .paris-icon {
  fill: #fff;
}
.location-unknown .paris-search-hits-map-control-location .paris-icon {
  fill: #fff;
}
.location-denied .paris-search-hits-map-control-location {
  background-color: #d1d1d1;
  opacity: 0.8;
}
.location-denied .paris-search-hits-map-control-location .paris-icon {
  fill: #767676;
}
.paris-search-hits-item.is-active .paris-search-hits-item-number {
  transform: scale(1.2);
}
.paris-search-hits-item-number:hover, .paris-search-hits-item-number.is-active, .paris-search-hits-item:hover .paris-search-hits-item-number, .paris-search-hits-item.is-active .paris-search-hits-item-number {
  filter: brightness(2);
}
.paris-search-hits-item-place {
  font-size: 1.3rem;
  font-weight: 600;
}
.paris-search-hits-item-open-details {
  font-size: 1.2rem;
  font-weight: 700;
}
.paris-search-hits .ais-Pagination--noRefinement {
  display: none;
}
.paris-search-hits-item-tags {
  padding: 0;
  list-style-type: none;
}
.paris-search-hits-item-tags li {
  display: inline-block;
}
@media (max-width: 799px) {
  .paris-search-hits-initial {
    margin-top: 1rem;
  }
  .paris-search-hits-initial > .title {
    margin-bottom: 1rem;
  }
  .paris-search-hits-item {
    margin-bottom: 3.5rem;
  }
  .paris-search-hits-item.has-number .paris-search-hits-item-title {
    padding-right: 4rem;
  }
  .paris-search-hits-item.has-number .paris-search-hits-item-title + * {
    padding-right: 2.5rem;
  }
  .paris-search-hits-item-image {
    height: 5.8rem;
    margin-right: 1.6rem;
    width: 9.8rem;
  }
  .paris-search-hits-item-title, .paris-search-hits-item-title.title.is-level-4 {
    font-size: 1.3rem;
  }
  .paris-search-hits .tag {
    display: inline-block;
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .paris-search-hits-item-text {
    display: none;
  }
  .paris-search-hits-item-update {
    font-size: 0.9rem;
  }
  .paris-search-hits-item-number {
    height: 3.5rem;
    line-height: 2.6rem;
    right: -0.5rem;
    width: 3rem;
  }
  .paris-search-hits-item-tags {
    margin-left: 10rem;
  }
  .paris-search-hits-map-control-size .paris-search-hits-map-control-text {
    display: none;
  }
  .paris-search-hits-map-control-size .paris-icon {
    margin-right: 0;
  }
}
@media (min-width: 800px) {
  .paris-search-hits-initial > .title {
    margin-bottom: 0;
  }
  .paris-search-hits-item {
    border-bottom: 1px solid rgba(7, 31, 50, 0.15);
    padding: 2.3rem 0;
  }
  .paris-search-hits-item.has-number {
    padding-right: 4rem;
  }
  .paris-search-hits-item-image {
    height: 10rem;
    margin-right: 3.2rem;
    width: 16rem;
  }
  .paris-search-hits-item-title, .paris-search-hits-item-title.title.is-level-4 {
    font-size: 1.6rem !important;
    max-width: 50rem;
  }
  .paris-search-hits-item-text {
    font-size: 1.3rem;
    font-weight: 500;
  }
  .paris-search-hits-item-update {
    font-size: 1.2rem;
  }
  .paris-search-hits-item-number {
    height: 4.3rem;
    line-height: 3.4rem;
    right: 0;
    width: 3.6rem;
  }
  .paris-search-hits-item-tags {
    margin-left: 18.2rem;
    margin-top: 0.4rem;
  }
  .paris-search-hits .ais-CurrentRefinements-delete {
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .paris-search-hits .ais-CurrentRefinements-category:hover .ais-CurrentRefinements-delete,
  .paris-search-hits .ais-CurrentRefinements-delete:focus {
    opacity: 1;
  }
  .paris-search-hits-map {
    height: 60rem;
    height: calc(100vh - 7.8rem);
    position: sticky;
    top: 7.8rem;
  }
  .paris-search-hits-map .leaflet-container {
    height: 100%;
    position: absolute !important;
    width: calc((100vw - 125rem) / 2 + 30rem);
  }
  .paris-search-hits-map-control-size {
    width: 10.5rem !important;
  }
  .paris-search-hits-map .paris-search-hits-item-number {
    line-height: 2rem;
  }
  .paris-search.has-map .paris-search-hits-container {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-column-gap: 6.5rem;
    transition: grid-template-columns 0.2s ease, grid-column-gap 0.2s ease;
  }
  .paris-search.has-map .paris-search-hits-map {
    display: block;
  }
  .paris-search.has-map.has-large-map .paris-search-hits-container {
    grid-template-columns: 1fr 2fr;
    grid-column-gap: 1.5rem;
  }
  .paris-search.has-map.has-large-map .paris-search-hits-map .leaflet-container {
    width: calc((100vw - 125rem) / 2 + 55rem);
  }
  .paris-search.has-map.has-large-map .paris-search-hits-item-image, .paris-search.has-map.has-large-map .paris-search-hits-item-text, .paris-search.has-map.has-large-map .paris-search-hits-item .tag {
    display: none;
  }
  .paris-search.has-map.has-large-map .paris-search-hits-item-tags {
    margin-left: -1rem;
  }
}
.paris-search-modal-query-alert {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  margin-top: 2rem;
  text-align: center;
  font-weight: 500;
}
.paris-search-modal-initial-title, .paris-search-modal-row-title {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2rem;
  margin-top: 0;
}
.paris-search-modal-initial-title.is-small, .paris-search-modal-row-title.is-small {
  font-size: 1.7rem;
}
.paris-search-modal-initial-block > ul {
  list-style-type: none;
  padding-inline: 0;
  margin-block: 0;
}
.paris-search-modal-back {
  align-items: center;
  appearance: none;
  background: #071f32;
  border-radius: 50%;
  border: 0;
  display: none;
  fill: #fff;
  height: 4rem;
  justify-content: center;
  position: absolute;
  top: 0;
  transform: translate(1rem, 1rem);
  width: 4rem;
}
.paris-search-modal-back .paris-icon {
  height: 3.6rem;
  width: 3.6rem;
}
.paris-search-modal-recent {
  display: none;
}
.paris-search-modal-spotlights {
  display: block;
}
.paris-search-modal-initial-items {
  font-size: 1.4rem;
  list-style: none;
  margin: 0 0 4rem;
  padding: 0;
}
.paris-search-modal-initial-item-button {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: #071f32;
  cursor: pointer;
  display: flex;
  font-weight: 600;
  padding: 0.5rem 0;
  text-align: left;
  text-decoration: none;
  width: 100%;
}
.paris-search-modal-initial-item-button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-modal-initial-item-button > .paris-icon {
  fill: #e8404e;
  flex-shrink: 0;
  margin-right: 1rem;
  pointer-events: none;
  transition: fill 0.2s ease;
}
.paris-search-modal-places .paris-search-modal-initial-item-button > .paris-icon {
  height: 1.8rem;
  width: 1.8rem;
}
.paris-search-modal-rows, .paris-search-modal-close {
  display: none;
}
.paris-search-modal-mairie-row {
  order: -1;
}
.paris-search-modal-row {
  position: relative;
}
.paris-search-modal-row-title-text {
  background-color: #f4f3f3;
  padding-right: 1rem;
}
.only-default-locale .paris-search-modal-row-title-text {
  padding-right: 1.5em;
}
.only-default-locale .paris-search-modal-row-title-text::after {
  content: "(fr)";
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.8em;
  font-weight: 500;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  text-transform: uppercase;
  vertical-align: 0.1em;
}
.paris-search-modal-row-count {
  font-weight: 700;
  color: #071f32;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.2s ease;
}
.paris-search-modal-row-count:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-modal-row-more {
  display: none;
  padding-left: 1rem;
  position: absolute;
  right: 0;
  top: 0;
}
.paris-search-modal-row-more.is-visible {
  display: block;
}
.paris-search-modal-row-more-link {
  align-items: center;
  color: inherit;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 700;
  padding: 1rem;
  text-decoration: underline;
}
.paris-search-modal-row-more-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-search-modal-mairie-row .ais-HitsCarousel-list {
  display: block;
}
.paris-search-modal-hits .flickity-button {
  background: transparent;
  border-radius: 0;
  display: flex;
  height: 100%;
  transition: opacity 0.2s ease;
}
.paris-search-modal-hits .flickity-button:disabled {
  display: none;
}
.paris-search-modal-hits .flickity-button:hover {
  opacity: 0.6;
}
.paris-search-modal-hits .flickity-prev-next-button.previous {
  background-image: linear-gradient(to left, rgba(244, 243, 243, 0) 0%, #f4f3f3 100%);
  justify-content: flex-start;
}
.paris-search-modal-hits .flickity-prev-next-button.next {
  background-image: linear-gradient(to right, rgba(244, 243, 243, 0) 0%, #f4f3f3 100%);
  justify-content: flex-end;
}
.paris-search-modal-hits .flickity-button-icon {
  fill: #071f32;
  position: static;
  width: 1.5rem;
}
.paris-search-modal-mairie-hit {
  align-items: center;
  background-color: rgba(7, 31, 50, 0.1);
  font-weight: 800;
  display: flex;
  justify-content: center;
}
.paris-search-modal-mairie-hit > a {
  color: inherit;
  margin: 0 2rem;
}
.paris-search-modal-mairie-hit .paris-button .paris-icon {
  height: 1.4rem;
  margin-right: 0;
  vertical-align: bottom;
  width: 1.4rem;
}
.paris-search-modal-hit-link {
  color: inherit;
  display: block;
  font-size: 1.3rem;
  line-height: 1.4;
  opacity: 0.8;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.paris-search-modal-hit-link:hover, .paris-search-modal-hit-link:focus {
  opacity: 1;
}
.paris-search-modal-hit-link:focus {
  outline: 0.3rem solid #354bcf;
}
body[data-animations=disabled] .paris-search-modal-hit-link {
  transition: none;
}

.paris-search-modal-hit-link {
  display: flex;
  font-weight: 600;
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin-bottom: 2rem;
  width: 30rem;
}
.paris-search-modal-hit-link .paris-icon {
  fill: #788693;
  flex-shrink: 0;
  height: 1rem;
  margin-right: 0.5rem;
  transform: translateY(0.1rem);
  width: 1rem;
}
.paris-search-modal-hit-content {
  width: 21.8rem;
}
.paris-search-modal-hit-title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  margin-bottom: 0.5rem;
  overflow: hidden;
}
.paris-search-modal-hit-title.is-place-name {
  -webkit-line-clamp: 2;
}
.paris-search-modal-hit-date, .paris-search-modal-hit-update, .paris-search-modal-hit-place, .paris-search-modal-hit-audience {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
.paris-search-modal-hit-date, .paris-search-modal-hit-update, .paris-search-modal-hit-audience, .paris-search-modal-hit-open-details {
  color: #60686f;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.paris-search-modal-hit-place {
  color: #788693;
  font-weight: 600;
  font-size: 1.1rem;
}
.paris-search-modal-hit-open-details {
  font-size: 1rem;
}
.paris-search-modal-hit-open-details.is-green {
  color: #0d7d00;
}
.paris-search-modal-hit-open-details.is-orange {
  color: #bf5000;
}
.paris-search-modal-hit-open-details.is-red {
  color: #d71d31;
}
.paris-search-modal-hit-image {
  background-color: rgba(53, 75, 207, 0.1);
  display: block;
  flex-shrink: 0;
  height: 5rem;
  object-fit: cover;
  margin-right: 1.2rem;
  width: 7rem;
}
.paris-search-modal-hit-image > img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.paris-search-modal .ais-Highlight-highlighted {
  background-color: transparent;
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #788693;
  text-decoration-thickness: 0.2rem;
  text-underline-offset: 0.3rem;
}
.paris-search-modal .ais-HitsCarousel--empty {
  font-weight: 500;
  font-size: 1.6rem;
}
.paris-search-modal .ais-HitsCarousel--empty p {
  margin: 0;
}
.paris-search-modal.is-searching .paris-search-modal-initial {
  display: none;
}
.paris-search-modal.is-searching .paris-search-modal-rows {
  display: flex;
  flex-direction: column;
}
.paris-search-modal.has-recent .paris-search-modal-recent {
  display: block;
}
.is-searching .paris-search-modal .paris-search-modal-back {
  display: flex;
}
@media (max-width: 799px) {
  .paris-search-modal-container {
    overflow: auto;
    padding: 0 4rem 3rem;
  }
  .paris-search-modal-heading {
    margin-bottom: 2.4rem;
  }
  .paris-search-modal-initial-block.not-on-mobile {
    display: none;
  }
  .paris-search-modal-back {
    padding: 0;
  }
  .paris-search-modal > .is-icon-only {
    background-color: #071f32;
  }
  .paris-search-modal-hits .flickity-button {
    padding: 0 1rem;
    width: 6rem;
  }
  .paris-search-modal-hits .flickity-prev-next-button.previous {
    left: -2rem;
  }
  .paris-search-modal-hits .flickity-prev-next-button.next {
    right: -2rem;
  }
  .paris-search-modal-row {
    margin-bottom: 1rem;
  }
  .paris-search-modal-row + .paris-search-modal-row {
    border-top: 1px solid #788693;
    padding-top: 1rem;
  }
  .paris-search-modal-initial-title, .paris-search-modal-row-title {
    font-size: 2rem;
  }
  .paris-search-modal-row-title-text {
    min-width: 7rem;
  }
  .paris-search-modal-row-count {
    font-size: 1rem;
  }
  .paris-search-modal-row-more {
    transform: translateX(1rem);
  }
  .paris-search-modal-hit-title {
    -webkit-line-clamp: 2;
  }
  .paris-search-modal-mairie-hit {
    flex-direction: column;
    margin: 0 -2rem 2rem;
    padding: 1.6rem 2rem 1rem;
  }
  .paris-search-modal-mairie-hit .paris-button.is-blue {
    padding-bottom: 0.8rem;
    padding-top: 0.8rem;
  }
  .paris-search-modal-mairie-hit-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  .paris-search-modal-mairie-hit-links {
    display: flex;
  }
  .paris-search-modal-mairie-hit-links .paris-button {
    min-width: auto;
    padding: 1.2rem 1rem;
  }
}
@media (min-width: 800px) {
  .paris-search-modal {
    position: fixed;
  }
  .paris-search-modal::after {
    background-color: rgba(7, 31, 50, 0.5);
    bottom: 0;
    content: "";
    display: none;
    top: 8rem;
    position: fixed;
    width: 100%;
  }
  .paris-search-modal-container {
    align-items: center;
    background: #f4f3f3;
    background-size: auto 130%;
    display: flex;
    flex-direction: column;
    left: 0;
    max-height: calc(100vh - 9.7rem);
    overflow: auto;
    padding: 5rem 6rem;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateY(calc(-100% - 8rem));
    transition: transform 0.6s, background-position 0.6s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    z-index: 1;
  }
  body[data-animations=disabled] .paris-search-modal-container {
    transition: none;
  }
  .paris-search-modal-heading {
    display: flex;
    justify-content: center;
  }
  .paris-search-modal-heading > .paris-search-box {
    width: 78rem;
  }
  .paris-search-modal-initial {
    display: grid;
    margin-top: 2rem;
    max-width: 120rem;
    grid-gap: 6rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .paris-search-modal-initial-block {
    padding: 1.5rem;
  }
  .paris-search-modal-rows {
    width: 100%;
  }
  .paris-search-modal-row {
    border-top: 1px solid rgba(7, 31, 50, 0.4);
    min-height: 9.5rem;
    margin-top: 2.5rem;
    padding: 2rem 0 0 16rem;
  }
  .paris-search-modal-initial-title, .paris-search-modal-row-title {
    font-size: 2.2rem;
  }
  .paris-search-modal-row-title {
    left: 0;
    position: absolute;
    top: -2rem;
  }
  .paris-search-modal-row-count {
    font-size: 1.2rem;
    margin-top: 0.5rem;
  }
  .paris-search-modal-hits .flickity-button {
    padding: 0 2rem;
    width: 10rem;
  }
  .paris-search-modal-hits .flickity-prev-next-button.previous {
    left: 0;
  }
  .paris-search-modal-hits .flickity-prev-next-button.next {
    right: 0;
  }
  .paris-search-modal .ais-HitsCarousel-item + .ais-HitsCarousel-item {
    margin-left: 2rem;
  }
  .paris-search-modal-mairie-hit {
    margin: 1rem 0;
    padding: 2.4rem;
  }
  .paris-search-modal-mairie-hit > a {
    font-size: 1.3rem;
  }
  .paris-search-modal-mairie-hit-title {
    font-size: 2.2rem;
    margin-right: 3rem;
  }
  .paris-search-modal-row-more {
    background-color: #f4f3f3;
    transform: translateY(-70%);
  }
  .paris-search-modal-close {
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: block;
    font-size: 1.3rem;
    font-weight: 500;
    padding: 2rem;
    position: absolute;
    right: 1rem;
    text-decoration: underline;
    text-underline-offset: 0.4rem;
    top: 1rem;
  }
  .paris-search-modal-close:focus-visible {
    outline: 0.3rem solid #354bcf;
    outline-offset: 0.25rem;
  }
  .paris-search-modal-close:hover, .paris-search-modal-close:focus {
    text-decoration: none;
  }
  .paris-search-modal.is-open::after {
    display: block;
  }
  .paris-search-modal.is-open .paris-search-modal-container {
    transform: translateY(0);
  }
}
@media (min-width: 800px) and (min-height: 837px) {
  .paris-search-modal-container {
    min-height: 74rem;
  }
}
@media (min-width: 800px) and (max-width: 1139px) {
  .paris-search-modal-container {
    bottom: 2vh;
    top: 6.1rem;
  }
}
@media (min-width: 1140px) {
  .paris-search-modal-container {
    top: 8rem;
  }
  .paris-search-modal-initial {
    grid-gap: 12rem;
  }
}

.shortcut .shortcut-link {
  align-items: center;
  background: #f4f3f3;
  color: #071f32;
  display: flex;
  padding: 0.4rem 1.6rem 0.4rem 0.8rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.shortcut .shortcut-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
body[data-animations=disabled] .shortcut .shortcut-link {
  transition: none;
}

.shortcut .shortcut-link::before {
  background-color: #dcdbdb;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  transition: width 0.3s ease;
  width: 0;
}
body[data-animations=disabled] .shortcut .shortcut-link::before {
  transition: none;
}

.shortcut .shortcut-link > * {
  z-index: 1;
}
.shortcut .shortcut-link-icon {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  height: 4rem;
  justify-content: center;
  margin-right: 0.4rem;
  width: 4rem;
}
.shortcut .shortcut-link-icon > * {
  height: 2.4rem;
  width: 2.4rem;
}
.shortcut .shortcut-link-icon > img {
  filter: invert(23%) sepia(37%) saturate(5458%) hue-rotate(228deg) brightness(88%) contrast(89%);
}
.shortcut .shortcut-link-text {
  font-size: 1.3rem;
  line-height: 1.38;
  font-weight: 500;
  width: 100%;
}
.shortcut .shortcut-link[target=_blank] .shortcut-link-text {
  padding-right: 1.5em;
  padding-right: 0.5rem;
}
.shortcut .shortcut-link[target=_blank] .shortcut-link-text::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23475663' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.shortcut .shortcut-link[target=_blank] .shortcut-link-text:hover::after, .shortcut .shortcut-link[target=_blank] .shortcut-link-text:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='1rem' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.shortcut .shortcut-link[target=_blank]:hover .shortcut-link-text::after, .shortcut .shortcut-link[target=_blank]:focus .shortcut-link-text::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='rgba%2871, 86, 99, 0.7%29' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.shortcut .shortcut-link[target=_blank].qfap--tag {
  text-transform: none;
}
.shortcut .shortcut-link[target=_blank].qfap--tag .shortcut-link-text {
  font-weight: 700;
  position: relative;
}
.shortcut .shortcut-link[target=_blank].qfap--tag .shortcut-link-text span {
  position: relative;
}
.shortcut .shortcut-link[target=_blank].qfap--tag .paris-icon-qfap--tags-stroke {
  width: calc(100% + 1rem);
  left: 0;
  bottom: -0.7rem;
}
.shortcut .shortcut-link[target=_blank].qfap--tag:hover {
  background: #f4f3f3;
  color: #071f32;
}
.shortcut .shortcut-link[target=_blank].qfap--tag:hover .paris-icon-qfap--tags-stroke {
  fill: rgba(244, 243, 243, 0.1);
}
.shortcut .shortcut-link[target=_blank].qfap--tag:hover::after, .shortcut .shortcut-link[target=_blank].qfap--tag:focus::after {
  transform: scale3d(0, 0, 0);
}
.shortcut .shortcut-link:focus::before, .shortcut .shortcut-link.is-active::before {
  width: 100%;
}

@media (hover: hover) {
  .shortcut-link:hover::before {
    width: 100%;
  }
}
@media (min-width: 800px) {
  .is-horizontal .shortcut {
    max-width: fit-content;
    min-width: 27rem;
    flex: 1 1 27rem;
  }
  .is-horizontal .shortcut .shortcut-link {
    border-left: 0.1rem solid #f2f2f2;
    border-top: 0;
    margin: 0 auto 2rem auto;
    padding: 0 3rem 0 1.5rem;
  }
}
.shortcuts > .title {
  text-align: center;
}
.shortcuts-items {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 0.8rem;
  list-style-type: none;
  padding-inline-start: 0;
  margin-block: 0;
}
.shortcuts.is-horizontal {
  margin: 2rem auto;
}
.shortcuts.is-horizontal > .title {
  color: #d22638;
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  line-height: 2;
  text-transform: uppercase;
}
.shortcuts.is-horizontal .shortcut::before {
  display: none;
}
.shortcuts.is-vertical-small {
  margin-right: 6rem;
  width: 30rem;
}
.shortcuts.is-vertical-small .title {
  font-size: 1.4rem;
  font-weight: 600;
  text-align: left;
  margin-top: 0;
  margin-bottom: 2.4rem;
}
@media (max-width: 799px) {
  .shortcuts {
    margin: 3rem 3rem 5rem;
  }
  .shortcuts.is-horizontal {
    margin: 3rem 3rem 5rem;
  }
  .shortcuts > .title {
    margin-bottom: 0.8rem;
  }
  .shortcuts.is-vertical-small {
    margin: 0;
    width: 100%;
  }
}
@media (min-width: 800px) {
  .shortcuts > .title {
    margin-bottom: 2.4rem;
    margin-top: 3.2rem;
  }
  .shortcuts.is-horizontal {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 2rem 8rem 0;
  }
  .shortcuts.is-horizontal > .title {
    margin: 0 2.6rem 2rem 0;
  }
}
@media (min-width: 800px) and (max-width: 999px) {
  .shortcuts:not(.theme-shortcuts) {
    max-width: 40rem;
    margin: 0 auto;
  }
}
@media (min-width: 1800px) {
  .shortcuts.is-horizontal {
    margin: 2rem auto;
    max-width: 157rem;
  }
}

.sidebar {
  background-color: #fcf5e2;
  font-size: 1.5rem;
  font-weight: 500;
  position: relative;
  z-index: 998;
}
.sidebar-title {
  color: #354bcf;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 2rem;
}
.sidebar-section {
  display: flex;
  position: relative;
}
.sidebar-section + .sidebar-section {
  margin-top: 5rem;
}
.sidebar-section + .sidebar-section::before, .sidebar-links + .sidebar-opinion .sidebar-section::before {
  background-color: #e0e0e0;
  border-radius: 0.5rem;
  content: "";
  display: block;
  height: 0.5rem;
  position: absolute;
  transform: translateY(-2.5rem);
  width: 100%;
}
.sidebar-section.is-map {
  flex-direction: column;
}
.sidebar-section.is-place + .sidebar-section.is-place, .sidebar-section.is-map + .sidebar-section.is-transportation, .sidebar-section.is-transportation + .sidebar-section.is-velib {
  margin-top: 3rem;
}
.sidebar-section.is-place + .sidebar-section.is-place::before, .sidebar-section.is-map + .sidebar-section.is-transportation::before, .sidebar-section.is-transportation + .sidebar-section.is-velib::before {
  display: none;
}
.sidebar-section.is-mention {
  margin-left: 6.4rem;
  margin-top: 1rem;
}
.sidebar-section.is-mention::before {
  display: none;
}
.sidebar-section p {
  line-height: 1.3;
}
.sidebar-section p a {
  color: #d22638;
  transition: color 0.2s ease;
}
.sidebar-section p a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.sidebar-section p a::after {
  transition: color 0.2s ease;
}
.sidebar-section p a:hover, .sidebar-section p a:active {
  color: #071f32;
}
.sidebar-section p a[target=_blank] {
  padding-right: 1.5em;
}
.sidebar-section p a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.sidebar-section p a[target=_blank]:hover::after, .sidebar-section p a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.sidebar-section-content {
  line-height: 1.3;
  width: 100%;
}
.sidebar-section-content a {
  color: #d22638;
  transition: color 0.2s ease;
}
.sidebar-section-content a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.sidebar-section-content a::after {
  transition: color 0.2s ease;
}
.sidebar-section-content a:hover, .sidebar-section-content a:active {
  color: #071f32;
}
.sidebar-section-content a[target=_blank] {
  padding-right: 1.5em;
}
.sidebar-section-content a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.sidebar-section-content a[target=_blank]:hover::after, .sidebar-section-content a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.sidebar-section-content > :first-child {
  margin-top: 0;
}
.sidebar-section-content > :last-child {
  margin-bottom: 0;
}
.sidebar-section-content p {
  margin: 1rem 0;
}
.sidebar-section-content p:last-of-type {
  margin-bottom: 0;
}
.sidebar-section-content small {
  font-size: 1rem;
}
.sidebar-section-content a {
  font-size: 1.4rem;
  font-weight: 600;
  word-break: break-word;
}
.sidebar-section-content .accessibility-iframe {
  border: none;
  width: 100%;
  height: 125px;
  max-width: 400px;
}
.sidebar-section-icon {
  fill: #354bcf;
  flex-shrink: 0;
  height: 3.5rem;
  margin-right: 2.4rem;
  width: 4rem;
}
.sidebar-section-line {
  display: flex;
  flex-wrap: wrap;
}
.sidebar-section-line + .sidebar-section-line {
  margin-top: 0.5rem;
}
.sidebar-section-line > span {
  margin-left: 1rem;
}
.sidebar-section-line-icon, .sidebar-section-line-icon-ratp {
  flex-shrink: 0;
  margin-right: 0.5rem;
}
.sidebar-map {
  background-color: #fff;
  height: 20rem;
  width: 100%;
}
.sidebar-links, .sidebar-opinion {
  background-color: #ffcd00;
  padding-bottom: 5rem;
}
.sidebar-links-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2rem;
}
.sidebar-links-title-header {
  font-size: 1.2rem;
}
.sidebar-links-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sidebar-links-item + .sidebar-links-item {
  margin-top: 1.4rem;
}
.sidebar-links-item-link {
  align-items: center;
  color: #000;
  display: flex;
  font-weight: 700;
}
.sidebar-links-item-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.sidebar-links-item-link:hover, .sidebar-links-item-link:focus {
  text-decoration: none;
}
.sidebar-links-item-link[target=_blank]::after {
  content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M17.78,17.78H2.22V2.22H7.69V0H2.22A2.21,2.21,0,0,0,0,2.22V17.78A2.21,2.21,0,0,0,2.22,20H17.78A2.23,2.23,0,0,0,20,17.78V12.31H17.78ZM12.22,0V2.22h4l-6.3,6.3,1.57,1.57,6.3-6.3v4H20V0Z' fill='%23000000'/></svg>");
  flex-shrink: 0;
  left: 0.3em;
  position: relative;
  width: 0.6em;
}
.sidebar-links-item-icon {
  fill: currentColor;
  flex-shrink: 0;
  height: 2.8rem;
  margin-right: 2.5rem;
  width: 2.8rem;
}
.sidebar-links-item-link-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-opinion .sidebar-section {
  align-items: center;
  flex-direction: column;
  text-align: center;
}
.sidebar-opinion-text, .sidebar-opinion-button {
  width: 21rem;
}
.sidebar-opinion-text {
  font-weight: 600;
  line-height: 1.5;
  margin: 1rem 0 2rem;
}
.sidebar.is-equipment {
  background-color: #f1f7fd;
}
.sidebar.is-equipment .blocks {
  margin-top: 1rem;
}
.sidebar.is-equipment .sidebar-links {
  background-color: #354bcf;
}
.sidebar.is-equipment .sidebar-links, .sidebar.is-equipment .sidebar-links-item-link {
  color: #fff;
}
.sidebar.is-equipment .sidebar-links:focus-visible, .sidebar.is-equipment .sidebar-links-item-link:focus-visible {
  outline: 0.3rem solid #d22638;
  outline-offset: 0.25rem;
}
.sidebar.is-equipment .sidebar-links [target=_blank]::after {
  content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M17.78,17.78H2.22V2.22H7.69V0H2.22A2.21,2.21,0,0,0,0,2.22V17.78A2.21,2.21,0,0,0,2.22,20H17.78A2.23,2.23,0,0,0,20,17.78V12.31H17.78ZM12.22,0V2.22h4l-6.3,6.3,1.57,1.57,6.3-6.3v4H20V0Z' fill='%23ffffff'/></svg>");
}
.sidebar.is-equipment .sidebar-opinion {
  background-color: #354bcf;
  color: #fff;
}
@media (max-width: 499px) {
  .sidebar-sections, .sidebar-links, .sidebar-opinion {
    padding: 3rem 2rem;
  }
  .sidebar-section-line {
    flex-wrap: wrap;
  }
  .sidebar .accessibility-dropdown {
    left: -6.5rem;
    margin-top: 2rem;
  }
  .sidebar .accessibility-dropdown-menu {
    width: calc(100vw - 4rem);
  }
  .sidebar.is-equipment .accessibility-dropdown {
    left: unset;
  }
}
@media (min-width: 500px) {
  .sidebar {
    width: 40rem;
  }
  .sidebar-sections, .sidebar-links, .sidebar-opinion {
    padding: 3.4rem 4.3rem 4rem 3.4rem;
  }
}
@media (max-width: 799px) {
  .sidebar {
    width: 100%;
  }
}

.skip-links {
  left: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 9999;
}
.skip-links > li {
  position: absolute;
  width: 100%;
}
.skip-links a {
  background-color: #354bcf;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  left: -999rem;
  padding: 0.5rem 1rem;
  position: absolute;
  text-decoration: none;
}
.skip-links a:focus {
  left: 0;
}

.social {
  background: #071f32;
}
.social .social-title {
  margin-bottom: 1.4rem;
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.5;
}
.social-links {
  align-items: center;
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.social-item {
  margin: 0 2rem 0 0;
}
.social-item:last-child {
  margin-right: 0;
}
.social-link {
  display: block;
}
.social-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.social-link .paris-icon {
  fill: #fff;
  height: 3.2rem;
  transition: fill 0.3s ease;
  width: 3.2rem;
}
.social-link .paris-icon-youtube {
  width: 2.6rem;
  height: 2.6rem;
}
body[data-animations=disabled] .social-link .paris-icon {
  transition: none;
}

.social-link:hover .paris-icon, .social-link:focus .paris-icon {
  fill: #d22638;
}
.social.is-white {
  background: transparent;
}
.social.is-white .social-link .paris-icon {
  fill: #071f32;
}
.social.is-white .social-link:hover .paris-icon, .social.is-white .social-link:focus .paris-icon {
  fill: #354bcf;
}
.social.has-line {
  position: relative;
}
.social.has-line::before {
  background: #f2f2f2;
  content: "";
  display: block;
  height: 0.1rem;
  position: absolute;
  top: 1.6rem;
  width: 100%;
  z-index: 0;
}
.social.has-line .social-links {
  position: relative;
  z-index: 1;
}
.social.has-line .social-link {
  background: #fff;
  padding: 0 0.5rem;
}
.social.is-in-footer .social-title {
  color: #071f32;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.33;
  letter-spacing: inherit;
  text-transform: none;
}
.social.is-in-footer .social-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto;
  text-align: center;
  width: 15.2rem;
}
.social.is-in-footer .social-item {
  margin: 0;
}

.steps {
  position: relative;
  padding: 0;
  list-style-type: none;
  /* step */
  /* responsive */
}
.steps-title {
  color: #071f32;
  font-weight: 800;
}
.steps-subtitle {
  color: #354bcf;
  font-weight: 700;
}
.steps-step {
  position: relative;
}
.steps.is-alt-bg .steps-step:nth-child(2n) {
  background-color: #f2f2f2;
}
.steps-step::before {
  background-color: #ccc;
  content: "";
  display: block;
  position: absolute;
  width: 0.1rem;
  z-index: 1;
}
.steps-step:last-child::before {
  display: none;
}
.steps-step-counter {
  align-items: center;
  background-color: #354bcf;
  border-radius: 100%;
  color: #fff;
  display: flex;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  position: absolute;
  left: 0;
  z-index: 2;
}
.steps-step-container {
  align-items: flex-start;
  display: flex;
}
.steps-step-image {
  height: auto;
  object-fit: contain;
}
.steps-step-content {
  flex: 1;
}
.steps-step-title, .steps-step-text {
  color: #071f32;
}
.steps-step-title {
  font-weight: 700;
  margin-bottom: 0.2rem;
}
.steps-step-text a {
  color: #d22638;
  transition: color 0.2s ease;
}
.steps-step-text a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.steps-step-text a::after {
  transition: color 0.2s ease;
}
.steps-step-text a:hover, .steps-step-text a:active {
  color: #071f32;
}
.steps-step-text a[target=_blank] {
  padding-right: 1.5em;
}
.steps-step-text a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.steps-step-text a[target=_blank]:hover::after, .steps-step-text a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.steps-step-info {
  color: #354bcf;
  font-style: italic;
  line-height: 1.4;
  margin-top: 0.6rem;
}
@media (max-width: 499px) {
  .steps-title {
    font-size: 2.6rem;
    line-height: 1.2;
    margin-bottom: 2.4rem;
  }
  .steps-subtitle {
    font-size: 1.6rem;
    line-height: 1.4;
    margin-top: -1.3rem;
    margin-bottom: 1rem;
  }
  .steps-step {
    padding: 1.5rem 0 1.5rem 4.5rem;
  }
  .steps.is-alt-bg .steps-step {
    padding-left: 5rem;
    padding-right: 1rem;
  }
  .steps-step::before {
    height: calc(100% - 3.2rem + 2rem);
    left: 1.4rem;
    top: 3.2rem;
  }
  .steps.is-alt-bg .steps-step::before {
    left: 2.2rem;
  }
  .steps-step-counter {
    font-size: 1.5rem;
    height: 2.8rem;
    width: 2.8rem;
    top: 1.5rem;
  }
  .steps.is-alt-bg .steps-step-counter {
    left: 0.8rem;
  }
  .steps-step-image {
    margin-right: 1.8rem;
    max-width: 3.6rem;
  }
  .steps-step-title {
    font-size: 1.5rem;
    line-height: 1.3;
  }
  .steps-step-text {
    font-size: 1.2rem;
    line-height: 1.3;
  }
  .steps-step-info {
    font-size: 0.9rem;
  }
}
@media (min-width: 500px) {
  .steps-title {
    font-size: 3.1rem;
    line-height: 1.3;
    margin-bottom: 3.2rem;
  }
  .steps-subtitle {
    font-size: 2rem;
    line-height: 1.4;
    margin-top: -1.5rem;
    margin-bottom: 2rem;
  }
  .steps-step {
    padding: 2.5rem 0 2.5rem 6rem;
  }
  .steps.is-alt-bg .steps-step {
    padding-left: 8.5rem;
    padding-right: 2rem;
  }
  .steps-step::before {
    height: calc(100% - 4.6rem + 3rem);
    left: 1.8rem;
    top: 4.6rem;
  }
  .steps.is-alt-bg .steps-step::before {
    left: 4.2rem;
  }
  .steps-step-counter {
    font-size: 2rem;
    height: 3.5rem;
    width: 3.5rem;
    top: 2.2rem;
  }
  .steps.is-alt-bg .steps-step-counter {
    left: 2.5rem;
  }
  .steps-step-image {
    margin-right: 2.4rem;
    max-width: 7.5rem;
  }
  .steps-step-title {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .steps-step-text {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .steps-step-info {
    font-size: 1.2rem;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .steps-step {
    padding: 2rem 0 2rem 6rem;
  }
  .steps.is-alt-bg .steps-step {
    padding-left: 8rem;
    padding-right: 2rem;
  }
  .steps-step::before {
    height: calc(100% - 4rem + 3rem);
    left: 1.7rem;
    top: 4rem;
  }
  .steps.is-alt-bg .steps-step::before {
    left: 3.7rem;
  }
  .steps-step-counter {
    font-size: 2rem;
    height: 3.5rem;
    width: 3.5rem;
    top: 2rem;
  }
  .steps.is-alt-bg .steps-step-counter {
    left: 2rem;
  }
}

.tag {
  color: #354bcf;
  display: inline-flex;
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
}
.tag:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.tag + .tag {
  margin-left: 2.4rem;
}
.tag.is-link:hover, .tag.is-link:focus {
  color: #071f32;
}
.tag.is-red {
  color: #d22638;
}
.tag.is-red.is-link:hover, .tag.is-red.is-link:focus {
  color: #071f32;
}
@media (max-width: 499px) {
  .tag.is-large {
    font-size: 1.2rem;
  }
}
@media (min-width: 500px) {
  .tag.is-large {
    font-size: 1.6rem;
  }
}

.telex {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.telex-title.title {
  margin: 3.2rem 0 0.8rem 0.8rem;
}
.telex li:last-child {
  flex-grow: 1;
}
.telex-items {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 100%;
  list-style: none;
  margin: auto 0;
  padding: 0;
}
.telex-controls {
  display: none;
  align-items: center;
  justify-content: flex-end;
  margin: 2.8rem 3.4rem 2rem 3.2rem;
}
.telex-controls button {
  align-items: center;
  background-color: #e22c3f;
  border: 0;
  border-radius: 3rem;
  cursor: pointer;
  display: flex;
  height: 3.2rem;
  justify-content: center;
  padding: 0;
  width: 3.2rem;
}
.telex-controls button:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.telex-controls button + button {
  margin-left: 1rem;
}
.telex-controls .paris-icon {
  fill: #fff;
  height: 2.4rem;
  width: 2.4rem;
}
.telex-controls button:disabled {
  pointer-events: none;
  opacity: 0.3;
}
@media (max-width: 999px) {
  .telex {
    background-color: #f4f3f3;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
    margin-bottom: 5rem;
  }
  .telex li {
    width: 70%;
    min-height: 100%;
    margin: 0 auto;
  }
  .telex-heading {
    display: flex;
    justify-content: space-between;
  }
  .telex-title.title.is-level-4 {
    font-size: 2rem;
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .telex-controls {
    display: flex;
  }
  .telex.telex-ready li {
    height: 100%;
  }
}
@media (min-width: 800px) and (max-width: 999px) {
  .telex li {
    width: 100%;
  }
  .telex-title.title.is-level-4 {
    min-height: 100%;
  }
}
@media (min-width: 1000px) {
  .telex {
    max-width: 31rem;
    margin-right: 3rem;
  }
  .telex[data-placeholder-for] {
    display: none;
  }
}

.telex-item {
  display: flex;
  margin: 0;
  padding: 1.5rem 0 2.5rem;
  position: relative;
}
.telex-item::after {
  background: #d22638;
  bottom: 0;
  content: "";
  left: 1.6rem;
  position: absolute;
  top: 4.1rem;
  width: 0.1rem;
}
.telex-item-date {
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1;
  margin: 0 2rem 0.7rem 0;
  padding-top: 0.1rem;
}
.telex-item-date .paris-icon {
  fill: #d22638;
  height: 3.2rem;
  margin-top: -0.6rem;
  width: 3.2rem;
}
.telex-item-content {
  width: 100%;
}
.telex-item-content-digit {
  color: #d22638;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
}
.telex-item-content-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 0.5rem 0;
  padding: 0;
}
.telex-item-content-text,
.telex-item-content p {
  font-size: 1.3rem;
  line-height: 1.54;
  margin: 0;
  padding: 0;
}
.telex-item-content-text a,
.telex-item-content p a {
  color: #d22638;
  transition: color 0.2s ease;
}
.telex-item-content-text a:focus-visible,
.telex-item-content p a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.telex-item-content-text a::after,
.telex-item-content p a::after {
  transition: color 0.2s ease;
}
.telex-item-content-text a:hover, .telex-item-content-text a:active,
.telex-item-content p a:hover,
.telex-item-content p a:active {
  color: #071f32;
}
.telex-item-content-text a[target=_blank],
.telex-item-content p a[target=_blank] {
  padding-right: 1.5em;
}
.telex-item-content-text a[target=_blank]::after,
.telex-item-content p a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23d22638' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.telex-item-content-text a[target=_blank]:hover::after, .telex-item-content-text a[target=_blank]:focus::after,
.telex-item-content p a[target=_blank]:hover::after,
.telex-item-content p a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.telex-item-content-text a[target=_blank],
.telex-item-content p a[target=_blank] {
  padding-right: 1.5em;
  padding-right: 1.5em;
}
.telex-item-content-text a[target=_blank]::after,
.telex-item-content p a[target=_blank]::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.telex-item-content-text a[target=_blank]:hover::after, .telex-item-content-text a[target=_blank]:focus::after,
.telex-item-content p a[target=_blank]:hover::after,
.telex-item-content p a[target=_blank]:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.telex-item-content-text a:hover,
.telex-item-content-text a:focus,
.telex-item-content p a:hover,
.telex-item-content p a:focus {
  text-decoration-thickness: 2px;
}
.telex-item-content .paris-button {
  margin-left: -1rem;
  margin-top: 0.4rem;
}
.telex-item-content .paris-button::before {
  content: "";
  display: block;
  clear: both;
}
.telex-item-image {
  display: block;
  margin-top: 2rem;
  width: 100%;
}
@media (max-width: 999px) {
  .telex-item {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    height: 100%;
  }
  .telex-item-date {
    margin-right: 1.2rem;
  }
  .telex-item-image {
    /* We force small sizes here as a fallback for a very small % of users */
    height: 90px;
    object-fit: cover;
    width: 150px;
  }
  @supports (aspect-ratio: 16/10) {
    .telex-item-image {
      aspect-ratio: 16/10;
      height: auto;
      width: 100%;
    }
  }
  .telex-item::after {
    left: 3.2rem;
  }
}

.paris-theme-card-link {
  color: inherit;
  display: block;
  text-decoration: none;
}
.paris-theme-card-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-theme-card-link:hover img, .paris-theme-card-link:focus img {
  transform: scale(1.15);
}
.paris-theme-card-more {
  letter-spacing: 0.1em;
  font-weight: 600;
}
.paris-theme-card-image-mask {
  overflow: hidden;
}
.paris-theme-card-image img {
  display: block;
  max-width: 100%;
  transform: scale(1);
  transition: transform 0.2s ease;
}
body[data-animations=disabled] .paris-theme-card-image img {
  transition: none;
}

.paris-theme-card-title {
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1.17;
  margin: 0.8rem 0 0.4rem;
}
.paris-theme-card-list {
  list-style: none;
  margin: 2rem 0 0.4rem;
  padding: 0;
}
.paris-theme-card-list-item + .paris-theme-card-list-item {
  border-top: 0.1rem solid #f2f2f2;
}
.paris-theme-card-list-item-link {
  align-items: flex-start;
  color: #071f32;
  display: flex;
  font-size: 1.5rem;
  min-height: 4rem;
  line-height: 1.33;
  margin-left: -0.9rem;
  padding: 1rem 0 1.1rem;
  text-decoration: none;
}
.paris-theme-card-list-item-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.paris-theme-card-list-item-link .paris-icon {
  fill: black;
  flex-shrink: 0;
  height: 2.4rem;
  margin-top: -0.2rem;
  stroke: white;
  stroke-width: 2px;
  width: 2.4rem;
}
.paris-theme-card-list-item-link:hover, .paris-theme-card-list-item-link:focus {
  color: #d22638;
}
.paris-theme-card-list-item-link:hover .paris-icon, .paris-theme-card-list-item-link:focus .paris-icon {
  fill: #d22638;
}
.paris-theme-card .paris-button {
  margin-left: -1.2rem;
  padding: 0.8rem 1rem;
}
.paris-theme-card .paris-button .paris-icon {
  height: 0.9rem;
  margin: -0.2rem 1rem 0 0;
  width: 1rem;
}
.paris-theme-card .paris-button-text {
  font-size: 1rem;
  font-weight: 600;
}
.paris-theme-card.has-gray-background {
  background-color: #f2f2f2;
  padding: 2.5rem 3rem;
}
.paris-theme-card.has-gray-background .paris-theme-card-image {
  margin-right: 0;
}
.paris-theme-card.has-gray-background .paris-button {
  background-color: #f2f2f2;
}
@media (max-width: 499px) {
  .paris-theme-card {
    margin-bottom: 3rem;
  }
  .paris-theme-card-title {
    font-size: 2rem;
  }
  .paris-theme-card-list {
    margin-top: 0.4rem;
  }
  .paris-theme-card-list-item-link {
    padding: 0.7rem 0;
    min-height: 0;
  }
}
@media (max-width: 799px) {
  .paris-theme-card-list-item-link {
    font-size: 1.3rem;
  }
  .paris-theme-card-list-item-link .paris-icon {
    margin-top: -0.3rem;
  }
}
@media (min-width: 800px) {
  .paris-theme-card-image {
    margin-right: 4rem;
  }
  .paris-theme-card-image img {
    display: block;
  }
  .paris-theme-card.has-gray-background {
    transform: translateY(-2rem);
    z-index: 21;
  }
}

.theme-heading.heading {
  margin-bottom: 3rem;
}
.theme-links {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 2rem 5rem;
  max-width: 100%;
}
.theme-cards {
  margin-top: 3rem;
}
.theme-cards .title {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 4rem;
  text-align: center;
}
@media (max-width: 799px) {
  .theme {
    margin-bottom: 4.4rem;
  }
}
@media (min-width: 800px) {
  .theme {
    margin-bottom: 7.2rem;
  }
  .theme-links {
    flex-direction: row;
  }
  .theme-links > .themes-list:first-child {
    margin-left: 36rem;
  }
}
@media (min-width: 1140px) {
  .theme-links {
    margin: 6rem auto;
    max-width: 117rem;
  }
  .theme-cards .title {
    margin-bottom: 0;
  }
}

.themes-list {
  flex: 1;
  width: 100%;
}
.themes-list.has-no-title {
  margin-top: 4.2rem;
}
.themes-list > .title {
  font-size: 1.4rem;
  font-weight: 600;
  text-align: left;
  margin: 4rem 0 2.4rem;
}
.themes-list-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.themes-list-link {
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
  padding: 2.4rem 0;
  text-decoration: none;
}
.themes-list-link:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.themes-list-link-icon {
  align-items: center;
  border: 0.2rem solid #d22638;
  border-radius: 5rem;
  display: inline-flex;
  flex-shrink: 0;
  height: 2.8rem;
  justify-content: center;
  margin-right: 1.5rem;
  width: 2.8rem;
  transition: background-color 0.2s ease;
}
body[data-animations=disabled] .themes-list-link-icon {
  transition: none;
}

.themes-list-link-icon svg {
  fill: #d22638;
  transition: fill 0.2s ease;
}
body[data-animations=disabled] .themes-list-link-icon svg {
  transition: none;
}

.themes-list-link-text {
  display: flex;
  flex-direction: column;
  line-height: 2.6rem;
}
.themes-list-link-text-main {
  align-items: center;
  color: #071f32;
  display: flex;
  font-size: 2.4rem;
  font-weight: 800;
}
.themes-list-link-text-subtext {
  color: #d22638;
  font-size: 1.9rem;
  font-weight: 600;
  font-variant: all-small-caps;
}
.themes-list-link[target=_blank] .themes-list-link-text-main {
  padding-right: 1.5em;
  white-space: nowrap;
}
.themes-list-link[target=_blank] .themes-list-link-text-main::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
  display: inline-block;
  flex-shrink: 0;
  height: 0.6em;
  left: 0.5em; /* instead of margin-left to prevent new line with icon only when at the end of previous line */
  margin-right: -1em;
  position: relative;
  width: 0.6em;
}
.themes-list-link[target=_blank] .themes-list-link-text-main:hover::after, .themes-list-link[target=_blank] .themes-list-link-text-main:focus::after {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23071f32' d='M18 18H2V2H8V0H2A2 2 0 000 2V18A2 2 0 002 20H18A2 2 0 0020 18V12H18ZM12 0V2h4l-6 6 2 2 6-6v4H20V0Z'/%3e%3c/svg%3e");
}
.themes-list-item:first-child .themes-list-link {
  padding-top: 0;
}
.themes-list-item + .themes-list-item {
  border-top: 0.1rem solid lightgrey;
}
@media (min-width: 800px) {
  .themes-list > .title {
    margin-top: 0;
  }
}
@media (hover: hover) {
  .themes-list-link:hover .themes-list-link-icon {
    background-color: #d22638;
  }
  .themes-list-link:hover .themes-list-link-icon svg {
    fill: #fff;
  }
}

.toc {
  margin-bottom: 2rem;
}
.toc .title {
  margin: 0;
}
.toc .toc-content ul {
  list-style: none;
  margin: 0;
}
.toc .toc-content ul li {
  line-height: 1.4;
  margin-bottom: 0.4rem;
  position: relative;
}
.toc .toc-content ul li::before {
  background-color: #071f32;
  border-radius: 50%;
  content: "";
  display: block;
  font-size: 7px;
  height: 1em;
  left: -2.9rem;
  position: absolute;
  top: 0.5rem;
  transition: background-color 0.2s ease;
  width: 1em;
}
.toc .toc-content ul li a {
  color: #071f32;
  display: block;
  text-decoration: none;
}
.toc .toc-content ul li a:focus-visible {
  outline: 0.3rem solid #354bcf;
  outline-offset: 0.25rem;
}
.toc .toc-content ul li a:focus-visible, .toc .toc-content ul li a:hover {
  color: #d22638;
}
@media (max-width: 799px) {
  .toc {
    background-color: #f2f2f2;
    margin: 3rem;
    max-height: calc(100vh - 6rem);
    position: relative;
  }
  .toc .toc-heading {
    background-color: #f2f2f2;
    padding: 0.3rem;
  }
  .toc .toc-heading > .title {
    display: none;
  }
  .toc .toc-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    padding: 1rem 3rem;
    width: 100%;
  }
  .toc .toc-toggle:focus-visible {
    outline: 0.3rem solid #354bcf;
    outline-offset: 0.25rem;
  }
  .toc .toc-toggle .paris-icon {
    fill: #d22638;
    height: 3.2rem;
    margin-left: auto;
    width: 3.2rem;
  }
  .toc .toc-content {
    background-color: #f2f2f2;
    border-top: 1px solid rgba(7, 31, 50, 0.15);
    display: none;
    overflow: hidden;
    position: relative;
  }
  .toc .toc-content ul {
    padding: 1.5rem 5rem 3rem;
  }
  .toc .toc-content ul li {
    line-height: 1.46;
  }
  .toc .toc-content ul li::before {
    border-color: #f2f2f2;
    top: 1.2rem;
  }
  .toc .toc-content ul li a {
    padding: 0.5rem 0;
  }
  .toc .toc-content .back-to-top {
    display: none;
  }
  .toc.is-open {
    bottom: 0;
    display: block;
    left: 0;
    right: 0;
    z-index: 3000;
  }
  .toc.is-open::after {
    background: rgba(7, 31, 50, 0.85);
    bottom: 0;
    content: "";
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
  }
  .toc.is-open .toc-heading {
    position: relative;
    z-index: 3;
  }
  .toc.is-open .toc-toggle .paris-icon {
    transform: rotate(180deg);
  }
  .toc.is-open .toc-content {
    height: calc(100vh - 11.8rem);
    display: block;
    overflow-y: scroll;
    z-index: 1;
  }
}
@media (min-width: 800px) {
  .toc {
    height: 100%;
    margin-top: 3.2rem;
    padding-left: 2rem;
    padding-right: 4.5rem;
  }
  .toc .toc-heading .title {
    font-size: 1.05em;
    font-weight: 600;
  }
  .toc .toc-heading .toc-toggle {
    display: none;
  }
  .toc .toc-container {
    pointer-events: none;
    position: sticky;
    top: 11rem;
    z-index: 998;
  }
  .toc .toc-container .toc-content {
    background-color: #fff;
    margin: 1px 0;
    max-width: 30rem;
    padding: 3rem 2rem 5rem 0;
    position: relative;
    transform: translateX(1rem);
    transition-property: background-color, box-shadow;
    transition-delay: 0s;
  }
  .toc .toc-container .toc-content::before {
    content: "";
    background-color: transparent;
    height: calc(100% - 6rem);
    left: -1px;
    position: absolute;
    top: 15px;
    width: 8rem;
    transition: background-color 150ms;
  }
  .toc .toc-container .toc-content:not(.js-stuck) .back-to-top {
    opacity: 0;
  }
  .toc .toc-container .toc-content.js-stuck {
    box-shadow: 0 0 0 0.1rem rgba(0, 0, 0, 0.12);
  }
  .toc .toc-container .toc-content.js-stuck:not(.js-fold)::before, .toc .toc-container .toc-content.js-fold:hover::before, .toc .toc-container .toc-content.js-fold:focus-within::before {
    background-color: white;
  }
  .toc .toc-container .toc-content.js-fold:focus-within, .toc .toc-container .toc-content.js-fold:hover, .toc .toc-container .toc-content.js-fold:hover li, .toc .toc-container .toc-content a {
    transition-duration: 150ms;
    transition-timing-function: ease;
  }
  .toc .toc-container .toc-content:not(.js-fold), .toc .toc-container .toc-content.js-fold:focus-within, .toc .toc-container .toc-content.js-fold:hover {
    pointer-events: auto;
  }
  .toc .toc-container .toc-content.js-stuck .toc-items a {
    height: 2.2rem;
  }
  .toc .toc-container .toc-content.js-fold:hover .toc-items a {
    transition-delay: 0s, 50ms, 50ms;
  }
  .toc .toc-container .toc-content.js-fold::before {
    pointer-events: auto;
  }
  .toc .toc-container .toc-content.js-fold:not(:hover):not(:focus-within) {
    background-color: transparent;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    pointer-events: none;
  }
  .toc .toc-container .toc-content.js-fold:not(:hover):not(:focus-within) a,
  .toc .toc-container .toc-content.js-fold:not(:hover):not(:focus-within) .back-to-top {
    transform: translateX(-10px);
    opacity: 0;
  }
  .toc .toc-container .toc-content.js-fold:not(:hover):not(:focus-within) .toc-items li:not(:first-child) {
    margin-top: -1.5rem;
  }
  .toc .toc-container .toc-content.js-fold:focus-within .toc-nav, .toc .toc-container .toc-content.js-fold:hover .toc-nav, .toc .toc-container .toc-content:not(.js-fold) .toc-nav {
    max-height: calc(100vh - 20rem);
    overflow: auto;
    animation: 0.5s toc-delay-overflow;
  }
  @keyframes toc-delay-overflow {
    from {
      overflow: hidden;
    }
  }
  .toc .toc-container .toc-content .toc-nav {
    transform: translateX(-1.5rem);
  }
  .toc .toc-container .toc-content ul a,
  .toc .toc-container .toc-content .back-to-top {
    transition-property: color, opacity, transform, height;
    transition-duration: 150ms;
    transition-timing-function: ease;
  }
  .toc .toc-container .toc-content .back-to-top:hover {
    color: inherit;
  }
  .toc .toc-container .toc-content ul {
    font-size: 1.4rem;
    padding-left: 4rem;
  }
  .toc .toc-container .toc-content ul li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .toc .toc-container .toc-content ul li.active::before {
    background-color: #d22638;
  }
  .toc .toc-container .toc-content .back-to-top {
    appearance: none;
    background-color: transparent;
    line-height: inherit;
    bottom: 1rem;
    border: none;
    color: #6a7884;
    cursor: pointer;
    font-size: 1.3rem;
    font-weight: 300;
    left: 1rem;
    padding-left: 1.4rem;
    position: absolute;
  }
  .toc .toc-container .toc-content .back-to-top::before {
    content: "↑ ";
    font-size: 17px;
    line-height: 1;
  }
  .toc .toc-container .toc-content .back-to-top:focus {
    outline: none;
  }
  .toc .toc-container .toc-content,
  .toc .toc-container .toc-items li {
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(0.3, 0.4, 0, 1);
  }
  .toc .toc-container .toc-items li {
    transition-property: margin;
  }
}
@keyframes opacityPulse {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.4;
  }
}
.update {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  margin: unset;
}
.update > .paris-icon {
  fill: #d22638;
  flex-grow: 0;
  flex-shrink: 0;
  height: 3.2rem;
  margin-left: -1rem;
  width: 3.2rem;
}
.update-text {
  color: #071f32;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.54;
}
.blocks + .update {
  margin-top: 1.5rem;
}
.update.is-centered {
  justify-content: center;
}
.update.is-live > .paris-icon {
  animation: opacityPulse 2s ease-in-out;
  animation-iteration-count: infinite;
  opacity: 1;
}

.leaflet-pane.leaflet-tile-pane {
  filter: grayscale(100%);
}

#jo-map {
  height: 640px !important;
  width: 100%;
  border: 1px solid #f0f0f0;
  display: flex;
  padding-bottom: 2em;
}
@media screen and (max-width: 639px) {
  #jo-map {
    display: block;
    height: auto !important;
  }
}

.map.jo-map {
  height: 640px !important;
  width: calc(100% - 360px) !important;
}
@media screen and (max-width: 639px) {
  .map.jo-map {
    width: 100% !important;
    height: 45rem !important;
  }
}

#map-pane {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: white;
  justify-content: flex-start;
}
#map-pane .leaflet-control-layers {
  border: none;
  border-radius: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  line-height: 1.15;
  margin: 0;
  right: 0;
  width: 360px;
  padding: 0;
  box-shadow: none;
}
@media screen and (max-width: 639px) {
  #map-pane .leaflet-control-layers {
    width: 100%;
  }
}
#map-pane .leaflet-control-layers-overlays {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 1em 0 0;
}
#map-pane .leaflet-control-layers-overlays > label {
  cursor: pointer;
}
#map-pane .leaflet-control-layers-overlays > label:last-child {
  border-top: 4px solid #f0f0f0;
}
#map-pane .leaflet-control-layers-overlays > label input {
  appearance: none;
  position: absolute;
}
#map-pane .leaflet-control-layers-overlays > label input:not(:checked) + span span:after {
  background-image: url(/markers/jo2024/show.svg);
  height: 16px;
}
#map-pane .leaflet-control-layers-overlays > label input:not(:checked) + span span:before {
  content: "Afficher";
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control {
  align-items: center;
  display: flex;
  font-weight: 700;
  justify-content: flex-start;
  margin: 0.5em 2em;
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control:before {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  flex-shrink: 0;
  height: 2rem;
  margin-right: 1em;
  width: 3rem;
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control--celebration {
  margin: 0 2em 1.5em;
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control--celebration:before {
  background-image: url(/markers/jo2024/pins.svg);
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control--parcours {
  margin: 1.5em 2em 0;
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control--parcours:before {
  background-image: url(/markers/jo2024/parcours.svg);
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control--competition:before {
  background-image: url(/markers/jo2024/competition.svg);
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control span {
  margin-left: auto;
  color: #787676;
  text-decoration: underline;
  font-weight: 500;
  display: flex;
  align-items: center;
  font-size: 0.75em;
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control span:before {
  content: "Masquer";
}
#map-pane .leaflet-control-layers-overlays > label .overlay-control span:after {
  content: "";
  display: block;
  height: 17px;
  width: 20px;
  margin-left: 1em;
  background-image: url(/markers/jo2024/hide.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 639px) {
  #map-pane .leaflet-control-layers-overlays {
    display: block;
  }
}
#map-pane .date-control-container {
  font-family: "Montserrat", sans-serif;
  background: white;
  margin: 0;
  margin-top: 1.5em;
  width: 360px;
  font-size: 15px;
  color: #071f32;
}
@media screen and (max-width: 639px) {
  #map-pane .date-control-container {
    width: 100%;
  }
}
#map-pane .date-control-container .tabset {
  display: flex;
  justify-content: center;
}
#map-pane .date-control-container .tabset > input[type=radio] {
  position: absolute;
  left: -200vw;
}
#map-pane .date-control-container .tabset .tab-panel {
  display: none;
}
#map-pane .date-control-container .tabset > input:first-child:checked ~ .tab-panels > .tab-panel:first-child,
#map-pane .date-control-container .tabset > input:nth-child(3):checked ~ .tab-panels > .tab-panel:nth-child(2),
#map-pane .date-control-container .tabset > input:nth-child(5):checked ~ .tab-panels > .tab-panel:nth-child(3),
#map-pane .date-control-container .tabset > input:nth-child(7):checked ~ .tab-panels > .tab-panel:nth-child(4),
#map-pane .date-control-container .tabset > input:nth-child(9):checked ~ .tab-panels > .tab-panel:nth-child(5),
#map-pane .date-control-container .tabset > input:nth-child(11):checked ~ .tab-panels > .tab-panel:nth-child(6) {
  display: block;
}
#map-pane .date-control-container .tabset > label {
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-bottom: 0;
  cursor: pointer;
  font-weight: 600;
  background-color: #f0f0f0;
  margin-left: 8px;
}
#map-pane .date-control-container .tabset > label:hover,
#map-pane .date-control-container .tabset > input:focus + label,
#map-pane .date-control-container .tabset > input:checked + label {
  background-color: #fff;
}
#map-pane .date-control-container .tabset > input:checked + label {
  border-color: #d9d9d9;
  margin-bottom: -1px;
  border-bottom: 1px solid #fff;
}
#map-pane .date-control-container .tab-panel {
  padding: 30px 0;
  border-top: 1px solid #d9d9d9;
}
#map-pane .date-control-container .current-date {
  display: flex;
  border-top: 1px solid #d9d9d9;
  font-weight: bold;
  color: #354bcf;
  text-transform: capitalize;
  text-align: center;
  justify-content: space-between;
  padding: 1em 2em;
  cursor: pointer;
  align-items: center;
  transition: all 0.5s ease;
}
#map-pane .date-control-container .current-date:before {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  flex-shrink: 0;
  height: 2rem;
  width: 3rem;
  background-image: url(/markers/jo2024/calendar.svg);
}
#map-pane .date-control-container .current-date:after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  flex-shrink: 0;
  height: 10px;
  margin-left: 1em;
  width: 14px;
  background-image: url(/markers/jo2024/toggle.svg);
  transform: rotate(180deg);
}
#map-pane .date-control-container .current-date.open {
  padding-bottom: 2em;
}
#map-pane .date-control-container .current-date.open:after {
  transform: rotate(0deg);
}
#map-pane .date-control-container .calendar-container {
  transition: height 0.5s ease;
  overflow: hidden;
}
#map-pane .date-control-container .calendar-container:not(.active) {
  display: none;
}
#map-pane .date-control-container .calendar-body {
  padding: 15px 15px 0 15px;
  border-top: 1px solid #d9d9d9;
}
#map-pane .date-control-container .calendar-body ul {
  list-style: none;
  flex-wrap: wrap;
  display: flex;
  text-align: center;
  padding: 0;
  margin: 0.5em 0;
}
#map-pane .date-control-container .calendar-body .calendar-dates {
  margin-bottom: 20px;
}
#map-pane .date-control-container .calendar-body li {
  width: 14.2857142857%;
  color: #071f32;
}
#map-pane .date-control-container .calendar-body .calendar-weekdays li {
  cursor: default;
  font-weight: 600;
  color: #6d6d6d;
}
#map-pane .date-control-container .calendar-body .calendar-dates li {
  margin-top: 20px;
  position: relative;
  z-index: 1;
  cursor: pointer;
  font-weight: 600;
}
#map-pane .date-control-container .calendar-dates li.inactive {
  color: #aaa;
}
#map-pane .date-control-container .calendar-dates li.has-event {
  color: #354bcf;
}
#map-pane .date-control-container .calendar-dates li.has-event .dots {
  pointer-events: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 38px;
  height: 38px;
  top: 8px;
}
#map-pane .date-control-container .calendar-dates li.has-event .dots span {
  width: 4px;
  height: 4px;
  display: inline-block;
  border-radius: 4px;
  margin: 0 1px;
}
#map-pane .date-control-container .calendar-dates li.has-event .dots .or {
  background-color: #ae8c0b;
}
#map-pane .date-control-container .calendar-dates li.has-event .dots .flamme,
#map-pane .date-control-container .calendar-dates li.has-event .dots .points {
  background-color: #33d2fd;
}
#map-pane .date-control-container .calendar-dates li.has-event .dots .para {
  background-color: #17b7b0;
}
#map-pane .date-control-container .calendar-dates li.active {
  color: #fff;
}
#map-pane .date-control-container .calendar-dates li::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 38px;
  height: 38px;
  transform: translate(-50%, -50%);
}
#map-pane .date-control-container .calendar-dates li.has-event::before {
  background: #f3f6fe;
}
#map-pane .date-control-container .calendar-dates li.active::before {
  background: #354bcf;
}
#map-pane .date-control-container .calendar-dates li:not(.active):hover::before {
  background: #e4e1e1;
}
#map-pane .date-control-container .legend {
  display: flex;
  padding: 0 2em 15px;
  flex-direction: column;
}
@media screen and (max-width: 639px) {
  #map-pane .date-control-container .legend {
    padding-top: 1.5em;
    border-top: 1px solid #d9d9d9;
  }
}
#map-pane .date-control-container .legend span {
  display: flex;
  align-items: center;
}
#map-pane .date-control-container .legend span.para:before {
  background-color: #17b7b0;
}
#map-pane .date-control-container .legend span.course:before {
  background-color: #ae8c0b;
}
#map-pane .date-control-container .legend span:before {
  content: "";
  height: 3px;
  margin-right: 1em;
  border-radius: 2px;
  width: 18px;
  background-color: #33d2fd;
  display: block;
}

.cluster-marker-jo,
.cluster-marker-jo-para {
  color: #fff !important;
  font-size: 1.3rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  letter-spacing: -0.02rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, filter 0.2s ease;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cluster-marker-jo {
  background-color: #33d2fc;
}

.cluster-marker-jo-para {
  background-color: #17b7b0;
}

.map {
  min-height: 20rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
.qfap--section.map-section .map {
  height: 45rem;
}
.map .leaflet-popup-content-wrapper {
  border-radius: 0;
}
.map .leaflet-popup-content-wrapper .marker-popup {
  display: flex;
  font-family: "Montserrat", sans-serif;
  gap: 2rem;
  width: 30rem;
}
.map .leaflet-popup-content-wrapper .marker-popup-image, .map .leaflet-popup-content-wrapper .marker-popup-content {
  flex: 1 0 0%;
}
.map .leaflet-popup-content-wrapper .marker-popup-image img {
  max-width: 100%;
}
.map .leaflet-popup-content-wrapper .marker-popup h3 {
  font-size: 1.5rem;
  color: #071f32;
  margin-top: 0;
  margin-bottom: 0.5em;
}
.map .leaflet-popup-content-wrapper .marker-popup p {
  font-size: 1.3rem;
  margin: 0.5em 0;
}
.map .leaflet-popup-content-wrapper .marker-popup a {
  font-size: 1.3rem;
  color: #d22638;
}
.map a.leaflet-popup-close-button {
  color: #071f32;
}
.has-filters .map .leaflet-top.leaflet-right {
  width: 100%;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers {
  border: none;
  border-radius: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  line-height: 1.15;
  margin: 0;
  padding: 0 0 2rem;
  width: 100%;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 107rem;
  position: relative;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label {
  cursor: pointer;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label:hover, .has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label:focus {
  color: #ffcd00;
  transition: color 150ms;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label input {
  appearance: none;
  position: absolute;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label input:not(:checked) + span .qfap--tag::after,
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label input:not(:checked) + span .qfap--tag .paris-icon-qfap--tags-stroke {
  display: none;
}
.has-filters .map .leaflet-top.leaflet-right .leaflet-control-layers-overlays > label .qfap--tag {
  margin-right: 1.5rem;
}

.cluster-marker {
  background-image: url(/../search/search_hits_component/map/marker.svg);
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff !important;
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.02rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, filter 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.cluster-marker-icon {
  position: absolute;
  width: 100%;
  height: 100%;
}

.cluster-count {
  position: relative;
  color: #fff;
  z-index: 2;
  padding-bottom: 0.2rem;
  font-size: 1rem;
}

.map ~ .disclosure {
  display: none;
  padding: 2rem;
}
.map ~ .disclosure.has-details {
  display: block;
}

.map-disclosure-item {
  display: flex;
  font-family: "Montserrat", sans-serif;
  gap: 2rem;
  width: 30rem;
}
.map-disclosure-item-image, .map-disclosure-item-content {
  flex: 1 0 0%;
}
.map-disclosure-item-image img {
  max-width: 100%;
}
.map-disclosure-item h3 {
  font-size: 1.5rem;
  color: #071f32;
  margin-top: 0;
  margin-bottom: 0.5em;
}
.map-disclosure-item p {
  font-size: 1.3rem;
  margin: 0.5em 0;
}
.map-disclosure-item a {
  font-size: 1.3rem;
  color: #d22638;
}

.map-disclosure-item + .map-disclosure-item {
  margin-top: 4rem;
}
