/* ACOREV presentation, base (slice A): tokens, fonts, shell, shared components, contact band, footer, home bands.
   Source framework CSS (Bootstrap 5 grid, zengrid, UIkit hero grid) is reproduced here natively, never loaded. */

/* ---------- 1. Tokens and fonts ---------- */
:root {
  --ac-navy: rgb(40, 50, 110);
  --ac-blue: rgb(31, 134, 172);
  --ac-blue-hover: rgb(30, 113, 172);
  --ac-peach: rgb(247, 205, 170);
  --ac-cream: rgb(254, 237, 221);
  --ac-orange: rgb(247, 173, 119);
  --ac-salmon: rgb(244, 161, 144);
  --ac-coral: rgb(255, 112, 78);
  --ac-grey: rgb(85, 85, 85);
  --ac-script: 'Tahu!', cursive;
  --ac-sans: 'Montserrat', sans-serif;
  --ac-header-h: 100px;
  --ac-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.11);
  --bs-gutter-x: 1.5rem;
}
@font-face { font-family: 'Tahu!'; src: url(../fonts/tahu.woff2) format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
/* Google Fonts v31 variable files, as the source's `css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,500;1,600;1,700`: the regular 400 is its own face (a later face
   with the same weight replaces it, see below), 500 to 700 share the file; a 900 request falls to the 700 face as on the source */
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-latin-ext.woff2) format('woff2'); font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-latin.woff2) format('woff2'); font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-latin-ext.woff2) format('woff2'); font-weight: 500 700; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-latin.woff2) format('woff2'); font-weight: 500 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-italic-latin-ext.woff2) format('woff2'); font-weight: 500 700; font-style: italic; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-italic-latin.woff2) format('woff2'); font-weight: 500 700; font-style: italic; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* the source loads a second Google Fonts request (`family=Montserrat`, regular only, no font-display) after the one above, so its regular 400 face wins: same files, same order */
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-400-latin-ext.woff2) format('woff2'); font-weight: 400; font-style: normal;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/montserrat-400-latin.woff2) format('woff2'); font-weight: 400; font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- 2. Base typography and page frame ---------- */
html { font-size: 19px; background: transparent; overflow-x: clip; }
body.site {
  margin: 0; min-height: 0; overflow-x: clip; background-color: transparent;
  font-family: var(--ac-sans); font-size: 1rem; font-weight: 400; line-height: 1.5; color: var(--ac-navy);
}
body.site a { color: var(--ac-navy); text-decoration: none; }
body.site a:hover { color: var(--ac-blue); }
body.site h1, body.site h2, body.site h3, body.site h4, body.site h5, body.site h6 {
  font-family: var(--ac-sans); font-weight: 700; color: var(--ac-navy); margin: 0 0 0.5rem; clear: both; line-height: 1.4em; text-rendering: optimizeLegibility;
}
body.site h1 { font-size: 2em; }
body.site h2 { font-size: 1.5em; }
body.site h3 { font-size: 1.3em; }
body.site h4 { font-size: 1.2em; }
body.site p { margin: 0 0 15px; line-height: 1.4em; }
body.site p:last-child { margin-bottom: 0; }
body.site ul { margin-bottom: 30px; }
body.site img { max-width: 100%; height: auto; vertical-align: middle; }
body.site em strong { font-weight: 600; }
body.site .center { text-align: center; }
body.site .mini { font-size: small; }
body.site .hidden-phone { display: block; }
@media (max-width: 767px) { body.site .hidden-phone { display: none !important; } }
@media (min-width: 768px) and (max-width: 979px) { body.site .hidden-tablet { display: none !important; } }
body.site .hidden-desktop { display: none !important; }
/* the grid's responsive visibility: the phone/tablet hero module shows below 787 px, the desktop one from 788 px */
@media (max-width: 786px) { body.site .hidden-desktop { display: block !important; } }
@media (max-width: 787px) { body.site .hidden-tablets { display: none !important; } }
@media (max-width: 620px) { body.site .hidden-phones { display: none !important; } }
@media (max-width: 768px) and (orientation: portrait) {
  body.site { font-size: 0.85rem; }
}

/* Cassiopeia grid reset: every container is a plain block, full width */
body.site .site-grid { display: flex; flex-direction: column; }
body.site .site-grid > * { grid-column: auto; }
body.site .grid-child, body.site.wrapper-fluid .grid-child { display: flow-root; width: 100%; max-width: none; margin: 0; padding: 0; }
body.site.wrapper-fluid header > .grid-child, body.site.wrapper-fluid footer > .grid-child { padding: 0; }
body.site .container-banner, body.site .container-component, body.site .container-top-a, body.site .container-top-b,
body.site .container-bottom-a, body.site .container-bottom-b { display: flow-root; margin: 0; padding: 0; flex: none; }
body.site .container-component > *, body.site .container-bottom-a > *, body.site .container-bottom-b > * { margin: 0; flex: none; }
body.site .container-component > * + * { margin-top: 0; }
body.site .container-top-a > * { margin: 0 0 15px; }
/* inside pages: the source #mainwrap content column (85 % of the viewport, 1400 max, 90 % on phones; 30 px section padding, 19 px column padding, 15 px column margin) */
body.site:not(.home) .container-component { padding-top: 30px; }
body.site:not(.home) .container-component > main { width: 85%; max-width: 1400px; margin: 0 auto; padding: 19px 0 15px; box-sizing: content-box; display: flow-root; }
@media (max-width: 620px) { body.site:not(.home) .container-component > main { width: 90%; } }
body.site .mod-custom { position: relative; }

/* ---------- 3. Native grid (Bootstrap 5 grid as the authored markup uses it) ---------- */
.row { --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(var(--bs-gutter-y) * -1); margin-right: calc(var(--bs-gutter-x) / -2); margin-left: calc(var(--bs-gutter-x) / -2); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) / 2); padding-left: calc(var(--bs-gutter-x) / 2); margin-top: var(--bs-gutter-y); }
.col { flex: 1 0 0%; }
.container-fluid { width: 100%; padding-right: calc(var(--bs-gutter-x) / 2); padding-left: calc(var(--bs-gutter-x) / 2); margin-right: auto; margin-left: auto; }
.row-cols-1 > * { flex: 0 0 auto; width: 100%; }
.col-sm-12 { flex: 0 0 auto; width: 100%; }
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.justify-content-end { justify-content: flex-end; }
.justify-content-center { justify-content: center; }
.justify-content-around { justify-content: space-around; }
.align-items-center { align-items: center; }
.align-self-start { align-self: flex-start; }
.align-self-end { align-self: flex-end; }
.align-self-center { align-self: center; }
.align-self-stretch { align-self: stretch; }
.mx-auto { margin-right: auto; margin-left: auto; }
.img-fluid { max-width: 100%; height: auto; }
.offset-md-0 { margin-left: 0; }
@media (min-width: 576px) {
  .col-sm-1 { flex: 0 0 auto; width: 8.33333333%; } .col-sm-2 { flex: 0 0 auto; width: 16.66666667%; } .col-sm-3 { flex: 0 0 auto; width: 25%; }
  .col-sm-4 { flex: 0 0 auto; width: 33.33333333%; } .col-sm-6 { flex: 0 0 auto; width: 50%; } .col-sm-8 { flex: 0 0 auto; width: 66.66666667%; }
}
@media (min-width: 768px) {
  .col-md-3 { flex: 0 0 auto; width: 25%; } .col-md-4 { flex: 0 0 auto; width: 33.33333333%; } .col-md-6 { flex: 0 0 auto; width: 50%; }
  .col-md-8 { flex: 0 0 auto; width: 66.66666667%; } .col-md-12 { flex: 0 0 auto; width: 100%; }
  .row-cols-md-2 > * { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 992px) {
  .col-lg-1 { flex: 0 0 auto; width: 8.33333333%; } .col-lg-2 { flex: 0 0 auto; width: 16.66666667%; } .col-lg-3 { flex: 0 0 auto; width: 25%; }
  .col-lg-4 { flex: 0 0 auto; width: 33.33333333%; } .col-lg-5 { flex: 0 0 auto; width: 41.66666667%; } .col-lg-6 { flex: 0 0 auto; width: 50%; }
  .col-lg-7 { flex: 0 0 auto; width: 58.33333333%; } .col-lg-8 { flex: 0 0 auto; width: 66.66666667%; } .col-lg-9 { flex: 0 0 auto; width: 75%; }
  .col-lg-12 { flex: 0 0 auto; width: 100%; }
  .offset-lg-1 { margin-left: 8.33333333%; }
  .row-cols-lg-5 > * { flex: 0 0 auto; width: 20%; }
}
@media (max-width: 768px) and (orientation: portrait) {
  .row { flex-direction: column; }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) {
  .row { flex-direction: row; }
}
body.site ul.row { list-style-type: none; padding: 0; margin-bottom: 0; }
body.site .aligner { display: flex; align-items: center; justify-content: center; }

/* ---------- 4. Header, logo, menu ---------- */
body.site header.container-header {
  position: relative; z-index: 90; display: flex; align-items: flex-start; height: var(--ac-header-h);
  margin: 0; padding: 0; background: transparent; box-shadow: none; color: var(--ac-navy);
}
body.site header.container-header .container-below-top { flex: 0 0 16.6%; width: 16.6%; color: var(--ac-navy); }
body.site header.container-header .container-nav { flex: 0 0 83%; width: 83%; display: flex; justify-content: flex-end; padding: 0; }
body.site .ac-logo { padding: 0; margin: 0; }
body.site .ac-logo p { margin: 0; line-height: var(--ac-header-h); padding-left: 2vw; }
body.site .ac-logo p a { display: inline; }
body.site .ac-logo p.logoFix { display: none; }
body.site .ac-logo p.logoFix img { width: 85px; }

body.site header.container-header ul.mod-menu {
  display: flex; flex-direction: row; justify-content: flex-end; flex: 0 1 auto; margin: 0; padding: 0; list-style: none;
  font-size: 18px; max-height: var(--ac-header-h); color: var(--ac-navy);
}
body.site header.container-header ul.mod-menu > li { position: relative; margin: 0; padding: 0; line-height: var(--ac-header-h); list-style: none; }
body.site header.container-header ul.mod-menu > li + li { margin-left: 0; }
body.site header.container-header ul.mod-menu > li::after { content: none; display: none; }
body.site header.container-header ul.mod-menu > li > a {
  display: block; padding: 0 15px; font-weight: 400; color: var(--ac-navy); text-decoration: none; text-align: right; position: static;
}
body.site header.container-header ul.mod-menu > li > a::after { content: none; }
body.site header.container-header ul.mod-menu > li:hover > a { color: var(--ac-salmon); }
body.site header.container-header ul.mod-menu > li.active > a { color: var(--ac-coral); font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
body.site header.container-header ul.mod-menu > li.active:hover > a { color: var(--ac-salmon); }
body.site header.container-header ul.mod-menu > li.parent > a::before {
  content: ''; float: left; width: 0; height: 0; margin-top: 45.45454545px; margin-right: 8px; border: 2px solid var(--ac-navy); border-radius: 100px;
}
body.site header.container-header ul.mod-menu > li.parent > button { display: none; }
body.site header.container-header ul.mod-menu > li.parent > ul {
  display: block; visibility: hidden; opacity: 0; position: absolute; top: 80px; left: 0; right: auto; z-index: 98; min-width: 300px; height: 50px; margin: 100px 0 0; padding: 0;
  list-style: none; font-size: 18px; background: transparent; border: 2px solid var(--ac-navy); border-radius: 20px; line-height: 0;
  transition: margin-top 0.4s ease-in-out;
}
/* the source's dropdown slides up 100 px into place on hover (zengrid: margin-top 100 px to 0, 0.4 s ease-in-out) */
body.site header.container-header ul.mod-menu > li.parent:hover > ul { visibility: visible; opacity: 1; margin-top: 0; }
body.site header.container-header ul.mod-menu > li.parent > ul > li { width: 100%; margin: 0; padding: 0; line-height: 2em; }
body.site header.container-header ul.mod-menu > li.parent > ul > li > a {
  display: block; box-sizing: border-box; height: 50px; padding: 8px 0 8px 2vw; margin: 0; line-height: 35px; color: var(--ac-navy); border: 0; font-weight: 400; text-align: left;
}

/* the source never styles focus: links show the browser's own ring; cassiopeia_extended colors.css sets a 2 px solid `currentColor` ring on links and menu items */
body.site a:focus-visible, body.site .metismenu.mod-menu .metismenu-item > a:focus { outline: revert; outline-offset: revert; }

/* the source styles its menu for screens only: printed, the menu row is gone */
@media print { body.site header.container-header ul.mod-menu { display: none; } }

/* the source zooms its menu column by width: 0.7 from 992 px, 0.9 from 1400 px, 1 from 1800 px */
@media (min-width: 992px) { body.site header.container-header .container-nav { zoom: 0.7; } }
@media (min-width: 1400px) { body.site header.container-header .container-nav { zoom: 0.9; } }
@media (min-width: 1800px) { body.site header.container-header .container-nav { zoom: 1; } }

/* Sticky header (script adds .is-stuck after 300 px of scroll) */
/* !important: Cassiopeia's template.css forces `.container-header { position: relative !important }` below 992 px, where the source's header still sticks */
body.site header.container-header.is-stuck { position: fixed !important; top: 0; left: 0; width: 100%; z-index: 100; background-color: var(--ac-coral);
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.06); transition: 0.2s ease-in; }
body.site header.container-header.is-stuck .ac-logo p.logoHigh { display: none; }
body.site header.container-header.is-stuck .ac-logo p.logoFix { display: block; }
body.site header.container-header.is-stuck ul.mod-menu > li > a { color: #fff; }
body.site header.container-header.is-stuck ul.mod-menu > li.parent > a::before { border-color: #fff; }
body.site header.container-header.is-stuck ul.mod-menu > li:hover > a { color: var(--ac-navy); }
body.site header.container-header.is-stuck ul.mod-menu > li.active > a { color: #fff; }
body.site header.container-header.is-stuck ul.mod-menu > li.active:hover > a { color: var(--ac-navy); }
body.site.ac-stuck { padding-top: var(--ac-header-h); }

/* Phones and tablets: the menu row is replaced by the round trigger and the off-canvas panel */
@media (max-width: 787px) { body.site header.container-header { display: none; } }
/* while the menu row is hidden the source keeps its 1 px `#sticky-fill` above the page */
@media (max-width: 787px) { body.site { padding-top: 1px; } }

body.site .ac-nav-toggle {
  display: none; position: fixed; z-index: 10; top: 0; right: 0; width: 50px; height: 50px; margin: 0; padding: 0;
  border: 1px solid var(--ac-coral); border-radius: 30px; background: var(--ac-coral); color: #fff; cursor: pointer; align-items: center; justify-content: center;
}
body.site .ac-nav-toggle:hover { background: var(--ac-coral); border-color: var(--ac-coral); }
body.site .ac-nav-toggle svg { width: 22px; height: 22px; fill: #fff; display: block; }
/* the source shows the trigger up to 786 px (at 787 neither the menu nor the trigger is shown); in its phone block (portrait, 768 and below) it sits 4vw from the top and right, otherwise in the corner */
@media (max-width: 786px) { body.site .ac-nav-toggle { display: flex; } }
@media (max-width: 768px) and (orientation: portrait) { body.site .ac-nav-toggle { top: 4vw; right: 4vw; } }

body.site .ac-offcanvas {
  position: fixed; top: 0; right: 0; z-index: 9999; width: 240px; height: 100%; overflow-y: auto; box-sizing: border-box;
  background: var(--ac-coral); color: #fff; transform: translateX(100%); visibility: hidden;
  transition: transform 400ms ease, visibility 0s linear 400ms;
}
body.site .ac-offcanvas.is-open { transform: translateX(0); visibility: visible; transition: transform 400ms ease; }
body.site .ac-offcanvas__close { position: absolute; top: 10px; right: 10px; width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
body.site .ac-offcanvas__body { padding: 60px 30px; }
body.site .ac-offcanvas__list { margin: 0 0 30px; padding: 0; list-style: none; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
body.site .ac-offcanvas__list li { margin: 0; padding: 4px 0; list-style: none; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
body.site .ac-offcanvas__list li:last-child { border-bottom: 0; }
body.site .ac-offcanvas__list a { display: block; padding: 10px 0; color: #fff; text-decoration: none; }
body.site .ac-offcanvas__list a:hover { color: var(--ac-navy); }
body.site .ac-offcanvas__list li.is-active > a { color: var(--ac-blue); }
@media (max-width: 768px) { body.site .ac-offcanvas__list li.is-active > a { color: var(--ac-peach); } }
body.site .site-grid, body.site footer.container-footer { transition: transform 400ms ease; }
html.ac-menu-open body.site .site-grid, html.ac-menu-open body.site footer.container-footer { transform: translateX(-240px); }

body.site .ac-totop {
  display: none; position: fixed; right: 10px; bottom: 10px; z-index: 100; width: 50px; height: 50px; box-sizing: border-box; padding: 0;
  border: 1px solid var(--ac-blue); border-radius: 30px; background: var(--ac-blue); align-items: center; justify-content: center; cursor: pointer;
  transition: all 0.2s ease-in;
}
body.site .ac-totop:hover { background: var(--ac-blue-hover); border-color: var(--ac-blue-hover); }
body.site .ac-totop svg { width: 22px; height: 22px; fill: #fff; display: block; }
/* owner request (deviation from the source, which hides it below 768 px): the button shows at every width */
body.site .ac-totop.is-visible { display: flex; }

/* ---------- 5. Cookie banner (same ids as the source plugin; first-visit look) ---------- */
#redim-cookiehint-bottom {
  position: fixed; z-index: 99999; left: 0; right: 0; bottom: 0; top: auto; box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25); text-align: center; background-color: #fff;
  font-family: 'Times New Roman', Times, serif;
}
#redim-cookiehint-bottom.is-hidden { display: none; }
#redim-cookiehint { box-sizing: border-box; font-size: 14px; line-height: 20px; font-weight: 400; background: #fff; padding: 15px 30px; border-radius: 3px; margin: 0 auto; text-align: left; max-width: 980px; }
#redim-cookiehint .cookiecontent { font-size: 14px; line-height: 18px; display: inline-block; color: #707070; padding-bottom: 5px; }
#redim-cookiehint .clr { clear: both; }
#redim-cookiehint .cookiebuttons { text-align: right; }
#redim-cookiehint .cookiebuttons .btn {
  font-family: var(--ac-script); font-size: 18px; line-height: 24px; cursor: pointer; display: inline-block; margin: 0 10px 0 0; padding: 8px 14px; text-align: center;
  width: auto; box-sizing: border-box; text-decoration: none; background-image: none; border-radius: 4px; border: 1px solid var(--ac-blue);
  background: #00bc13; color: #fff; transition: background 0.3s ease;
}
#redim-cookiehint .cookiebuttons .btn:hover { background: #008a13; color: #fff; }
#cookiehintinfo { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; float: left; }
#cookiehintinfo > * { margin: 2px 6px; }
#cookiehintinfo a { color: var(--ac-navy); }
@media (max-width: 576px) {
  #redim-cookiehint { padding: 7px 15px; }
  #redim-cookiehint .cookiebuttons { text-align: center; }
  #redim-cookiehint .cookiebuttons .btn { display: block; width: 100%; margin: 0 auto 8px; font-size: 14px; line-height: 20px; padding: 8px; }
  #cookiehintinfo { float: none; }
}

/* ---------- 6. Shared components ---------- */
body.site .btn, body.site a.btn {
  display: inline-block; color: #fff; background: var(--ac-blue); border: 1px solid var(--ac-blue); padding: 10px; border-radius: 30px; box-shadow: none; text-shadow: none;
  margin: 0 10px 10px 0; text-decoration: none; transition: all 0.2s ease-in;
}
body.site .btn:hover, body.site a.btn:hover { color: #fff; background: var(--ac-blue-hover); border: 1px solid var(--ac-blue-hover); text-decoration: none; }
body.site a.btn { font-family: var(--ac-script); font-weight: 400; padding: 5px 30px; font-size: 25px; border-radius: 50px; margin: 3vh auto; }
body.site a.btn.center { display: flex; width: fit-content; }
body.site a.btn.btnBan { font-size: 35px; padding: 10px 40px; color: #fff; }
body.site a.btn.btnBan:hover { text-decoration: underline; }
body.site a.btn.round.gold { background-color: var(--ac-orange); border-color: var(--ac-orange); }
body.site a.btn.round.gold:hover { color: var(--ac-orange); background-color: #fff; }
body.site .taHu, body.site .article-title { font-family: var(--ac-script); font-weight: 400; font-style: normal; }
body.site h1.article-title { margin-bottom: 15px; padding-bottom: 15px; line-height: 1.2; }
body.site h1.taHu { margin-bottom: 0; }
body.site .ac-title { font-size: 1.5em; line-height: 1.4em; }
body.site.home h2.taHu, body.site h1.taHu, body.site #userForm h3.taHu { text-transform: none; font-size: 3.8em; }
body.site .borderA { z-index: 1; position: relative; border-radius: 12px; border: 2px solid var(--ac-navy); padding: 4vh; background: transparent; box-sizing: border-box; }
body.site .moduletable h3, body.site .ac-subtitle { font-size: 1.3em; text-transform: uppercase; }
body.site .whiteBG { background-color: rgba(255, 255, 255, 0.8); border-radius: 12px; padding: 3%; }
body.site .whiteBG.beige { background-color: var(--ac-cream); box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.11); }
body.site .bgPink { text-align: justify; background-color: hsl(8deg 73% 88% / 80%); padding: 5%; border-radius: 12px; position: relative; z-index: 2; }
body.site .bgPink.salm { background-color: var(--ac-salmon); }
body.site .bgPink h3 { text-transform: uppercase; font-weight: 500; margin-bottom: 3%; }
body.site img.picto { width: 44px; padding: 0; }
body.site .ac-card > h3, body.site .ac-card > p { text-align: inherit; }

/* ---------- 7. Contact band (form 1) and footer ---------- */
body.site footer.container-footer { margin: 0; padding: 0; color: var(--ac-navy); background: none; position: relative; font-size: 0.9em; }
body.site footer.container-footer .grid-child { padding: 0; display: flex; flex-direction: column; }
body.site footer.container-footer a { color: var(--ac-navy); }
body.site footer.container-footer a:hover { color: var(--ac-blue); }
body.site footer.container-footer {
  background-repeat: no-repeat; background-position: top center; background-size: 100% auto; padding-top: 270px; margin-top: -2px;
}
body.site.home footer.container-footer {
  background: url(/images/ACCUEIL/contact/fleur-footer-contact.png), url(/images/ACCUEIL/contact/fond-footer-contact-arriere-plan-orange-clair.png);
  background-repeat: no-repeat; background-color: var(--ac-peach); background-position: left bottom, top center;
}
body.site.actus footer.container-footer, body.site.comp footer.container-footer, body.site.recrutm footer.container-footer {
  background: url(/images/ACCUEIL/contact/fleur-footer-contact.png), url(/images/ACCUEIL/contact/fond-ensemble-footer-orange-clair.png);
  background-repeat: no-repeat; background-position: left bottom, top center;
}
body.site.acti footer.container-footer, body.site.blog footer.container-footer, body.site.cabinet footer.container-footer {
  background: url(/images/ACCUEIL/contact/fleur-footer-contact.png), url(/images/NOTRECABINET/footer/fond-footer-contact-arriere-plan-orange.png);
  background-repeat: no-repeat; background-position: left bottom, top center;
}
@media (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) {
  body.site.home footer.container-footer { padding-top: 15vh; margin-top: -2px; }
}
body.site footer.container-footer > .grid-child > .mod-custom { width: 85%; max-width: 1400px; margin: 0 auto; position: relative; z-index: 2; }
body.site .ac-contact { margin-bottom: 15px; }
body.site .ac-contact .container-fluid { padding-right: calc(var(--bs-gutter-x) / 2); padding-left: calc(var(--bs-gutter-x) / 2); }
body.site .ac-contact .row.aligner { margin-right: calc(var(--bs-gutter-x) / -2); margin-left: calc(var(--bs-gutter-x) / -2); }
body.site #userForm { width: 90%; }
body.site #userForm label.formControlLabel { display: none; }
body.site #userForm input, body.site #userForm textarea { box-sizing: content-box; width: 100%; border: none; text-indent: 10px; }
body.site #userForm input.rsform-input-box, body.site #userForm textarea {
  font-family: inherit; font-size: 13px; line-height: 18px; padding: 4px; background: #fff; color: var(--ac-grey); border: 0; border-radius: 12px; margin-bottom: 9px; min-height: 42px; height: 42px; max-width: 100%;
}
body.site #userForm:not(.ac-form--candidature) textarea#message { height: 180px; }
body.site #userForm ::placeholder { color: rgb(35, 73, 139); opacity: 1; font-size: 13px; }
:where(body.site #userForm) input:focus, :where(body.site #userForm) textarea:focus { outline: 0; }
body.site #userForm .rsform-block-intro p { text-transform: uppercase; font-weight: 600; margin-bottom: 5vh; font-size: 20px; }
body.site #userForm h3.taHu { font-weight: inherit; font-size: 3.8em; text-transform: none; margin-bottom: 0.5rem; line-height: 1.4em; }
body.site #userForm label { font-size: 0.9em; }
/* the source theme's `label` rule (padding and margin); zero specificity so the consent label of the footer form keeps its own box */
:where(body.site #userForm) label { padding: 4px 8px; margin: 0 10px 5px 0; }
body.site #userForm label[for^='rgpd'] { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; }
body.site #userForm input[type='checkbox'] { color: var(--ac-navy); background-color: #fff; }
body.site #userForm input#rgpd0 { width: 3em; margin: 0 2vw 0; height: 1em; min-height: 0; }
/* consent checkbox of the candidature form: round box as on the source (size, margin and flex come from the form rules of the inside slice) */
body.site #userForm input#rgpd-check-recrut0 { box-sizing: border-box; max-width: 100%; border-radius: 12px; }
body.site #userForm label#rgpd-check-recrut0-lbl a { text-decoration: underline; }
body.site #userForm label#rgpd-check-recrut0-lbl a { color: #0d6efd; }
body.site #userForm label#rgpd-check-recrut0-lbl a:hover { color: var(--ac-blue); }
body.site #userForm button#contactus, body.site #userForm input#contactus {
  display: inline-block; width: fit-content; margin: 0; padding: 1vh 2vw; border-radius: 50px; background: var(--ac-blue); border: 1px solid var(--ac-blue);
  font-family: var(--ac-script); font-size: 33px; font-weight: 400; line-height: initial; color: #fff; cursor: pointer; transition: all 0.2s ease-in;
}
body.site #userForm button#contactus:hover { background: var(--ac-blue-hover); border-color: var(--ac-blue-hover); transition-duration: 0.1s; }
body.site .ac-contact__side { max-width: 50%; margin-top: 5%; }
body.site footer .ac-contact__side h3 { text-transform: inherit; padding-left: 4vh; margin-bottom: 3vh; font-size: 25px; line-height: 1.4em; font-weight: 700; }
body.site .ac-contact__side .row { flex-wrap: nowrap; flex: none; padding-bottom: 10px; }
body.site .ac-contact__side img { padding: 0; }
body.site .ac-contact__side a img { margin-top: 3vh; }
body.site .ac-contact__side p { clear: both; margin-bottom: 0; }
body.site .absoTypew { position: absolute; top: -15vh; right: -8vw; }
body.site .ac-copy { margin: 2% auto 0; }

/* ---------- 8. Home ---------- */
body.site.home {
  background: url(/images/ACCUEIL/accueil/fond-formes-accueil-cabinet-acorev-expert-comptable.png);
  background-repeat: no-repeat; background-position: top center; background-size: 100% auto;
}
@media (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) {
  body.site.home { background-color: var(--ac-peach); }
}

/* page backdrops of the other page types (the source puts these classes on the root element; here they sit on the body and paint the canvas the same way) */
body.site.actus { background: url(/images/ACTUALITES/fond-1-actualites.png) no-repeat top center / 100% auto; background-color: var(--ac-peach); }
body.site.blog { background: url(/images/BLOG/fond-blog.png) no-repeat top center / 100% auto; background-color: var(--ac-orange); }
body.site.cabinet { background: url(/images/NOTRECABINET/presentation/fond-presentation-cabinet-acorev.png) no-repeat top center / 100% auto; background-color: var(--ac-peach); }
body.site.comp { background: url(/images/COMPETENCES/fond-presentation-competences-acorev.png) no-repeat top center / 100% auto; }
body.site.acti { background: url(/images/ACTIVITES/fond-1-activites.png) no-repeat top center / 100% auto; background-color: var(--ac-peach); }

/* the 85 % content column of every band (1224 px at 1440, 90 % on phones) */
body.site .ac-band__inner, body.site .container-banner > .mod-custom, body.site footer.container-footer > .grid-child > .mod-custom {
  width: 85%; max-width: 1400px; margin: 0 auto; position: relative; z-index: 2;
}
@media (max-width: 620px) {
  body.site .ac-band__inner, body.site .container-banner > .mod-custom, body.site footer.container-footer > .grid-child > .mod-custom { width: 90%; }
}
body.site .ac-band { position: relative; }
body.site .ac-band__inner { display: flow-root; }

/* hero (source: #bannerwrap, UIkit grid 1-2 / 1-2 with the text first) */
body.site .container-banner { position: relative; color: var(--ac-navy); }
body.site.home .container-banner { padding-bottom: 10vh; }
body.site.home .container-banner {
  background-image: url(/images/ACCUEIL/bottom.png), url(/images/ACCUEIL/accueil/plantes-droite.png), url(/images/ACCUEIL/accueil/plantes-gauche.png);
  background-position: bottom left, top left, left center; background-repeat: no-repeat;
}
body.site .marG.hidden-phone { padding-top: 15px; }
body.site .marG.hidden-desktop { margin-top: 30px; }
body.site .banneR { padding-top: 4vh; }
body.site .ac-hero { display: flex; flex-direction: row-reverse; flex-wrap: wrap; margin-left: -30px; margin-bottom: 40px; }
body.site .ac-hero__media, body.site .ac-hero__text { box-sizing: border-box; width: 100%; padding-left: 30px; }
body.site .ac-hero__media { text-align: center; }
body.site .ac-hero__text > * { box-sizing: border-box; }
/* the phone/tablet hero module sits outside .banneR: its title and text keep the framework look (system font, 35.7px regular grey title, inherited text size) */
body.site .banneR .ac-hero__text h1 { text-transform: uppercase; font-size: 1.7em; font-weight: 700; margin: 0 0 20px; line-height: 38.76px; }
body.site .banneR .ac-hero__text p { font-size: 16px; line-height: 22.4px; margin: 20px 0; }
body.site .ac-hero:not(.banneR) .ac-hero__text h1 { font-family: -apple-system, "system-ui", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 35.7px; font-weight: 400; line-height: 1.2; color: rgb(51, 51, 51); margin: 0 0 20px; }
body.site .ac-hero:not(.banneR) .ac-hero__text p { margin: 20px 0; }
body.site .ac-hero__text { padding: 30px 30px 30px 60px; margin-top: 20px; }
body.site .marG .d-flex.justify-content-end { margin: -16vh -2vw 0 0; z-index: 1; position: relative; float: right; }
@media (min-width: 960px) {
  body.site .ac-hero__media, body.site .ac-hero__text { width: 50%; }
  body.site .ac-hero__text { margin-top: 0; }
}
@media (min-width: 1200px) {
  body.site .ac-hero { margin-left: -40px; margin-bottom: 70px; }
  body.site .ac-hero__media, body.site .ac-hero__text { padding-left: 40px; }
  body.site .ac-hero__text { padding: 40px 40px 40px 80px; }
}
/* cabinet and figures (source: #grid4wrap) */
body.site.home .container-component {
  background-color: var(--ac-peach);
  background-image: url(/images/ACCUEIL/top.png), url(/images/ACCUEIL/cabinet/Fond-intersection-entre-notre-cabinet-en-quelques-chiffres-et-nos-missions.png);
  background-repeat: no-repeat; background-position: top, bottom; margin-bottom: -2px; padding-bottom: 0;
}
body.site .ac-band--cabinet .ac-band__inner { padding-left: min(1.7%, 28px); padding-right: min(1.7%, 28px); padding-bottom: 5vh; }
@media (max-width: 787px) { body.site .ac-band--cabinet .ac-band__inner { padding-left: 4.25%; padding-right: 4.25%; } }
@media (max-width: 620px) { body.site .ac-band--cabinet .ac-band__inner { padding-left: 1.7%; padding-right: 1.7%; } }
body.site .modCab .ac-band__inner { padding-top: 30px; }
body.site .modCabNu .ac-band__inner { padding-top: 30px; padding-bottom: calc(5vh + 30px); }
@media (max-width: 787px) { body.site .modCabNu .ac-band__inner { padding-bottom: calc(5vh + 45px); } }
body.site .modCab img { float: right; }
body.site .modCab .col:first-child { margin-top: 10vh; }
body.site .modCab .borderA { padding: 2vw; text-align: justify; }
body.site .modCab .borderA h3 { text-align: justify; }
body.site .modCabNu .whiteBG { padding-bottom: 2vh; }
body.site .pb { padding-bottom: 5vh; }
body.site span.numbR { font-weight: 700; font-size: 50px; line-height: 10vh; text-transform: initial; }
body.site .modCabNu p.col.center {
  background-repeat: no-repeat; margin: 0 5%; height: 210px; padding: 0 5%; text-transform: uppercase; font-weight: 500;
}
body.site .sablier { background-image: url(/images/ACCUEIL/cabinet/illu-15-ans-expertise.png); background-position: 3vw 4vh; }
body.site .smile { background-image: url(/images/ACCUEIL/cabinet/illu-99-de-sourires.png); background-position: top right; }
body.site .coffee { background-image: url(/images/ACCUEIL/cabinet/illu-60-expressos.png); background-position: top right; }
body.site .gourm { background-image: url(/images/ACCUEIL/cabinet/illu-30-petits-dejeuner.png); background-position: right 0; }
body.site p.absoWhyNot { display: flex; justify-content: flex-end; margin-top: -60px; margin-right: 2%; }
body.site .modCabNu a.btn.center { margin-top: -70px; }
body.site.home a.btn.center { font-size: 30px; padding: 10px 30px; }

/* missions (source: #grid5wrap) */
body.site.home .container-bottom-a { background-color: var(--ac-cream); margin-bottom: -2px; padding-bottom: 0; }
body.site .modMissions { text-align: justify; }
body.site .modMissions .col h3, body.site .modMissions h3 { font-weight: 600; }
body.site .row.justify-content-around.abso { z-index: 0; position: relative; }
body.site .abso .gest { left: 2vw; position: relative; }
body.site .abso .compta { right: 1vw; position: relative; padding-top: 1vh; }
body.site .gest { margin-top: -2vh; }
body.site .compta .bgPink, body.site .gest .salm { padding: 5vh 3vw; }
body.site .absoComp { display: flex; justify-content: flex-end; margin-bottom: -40px; margin-right: 2%; z-index: 3; position: relative; }

/* domains and news (source: #grid6wrap) */
body.site.home .container-bottom-b {
  background-color: var(--ac-orange); background-image: url(/images/ACCUEIL/activites/Fond-intersection-entre-nos-missions-et-domaines-dactivites.png);
  background-repeat: no-repeat; background-position: top; background-size: contain; margin-top: -3px; margin-bottom: -2px;
}
body.site .modDom { margin-top: 10vh; }
body.site .modDom ul li { text-align: center; }
body.site .modDom h4 { text-transform: uppercase; font-weight: 600; line-height: 1em; font-size: large; }
body.site .modDom li img { margin: 25px auto; max-height: 90px; }
body.site .modDom h3 { margin-bottom: 5vh; }
body.site .modDom .bgPink { font-size: 23px; text-align: left; width: auto; padding: 5% 6%; font-weight: 500; }
body.site .absoPlant { display: flex; justify-content: flex-end; margin-top: -145px; margin-right: -5%; z-index: 2; position: relative; }
body.site .absoPlant.plant2 { margin-right: 3vw; margin-top: -180px; margin-bottom: -20px; }
body.site .modActus { padding-top: 6vh; }
body.site .modActus .whiteBG { padding-bottom: 45vh; }
body.site .container-fluid.actuEp { width: 110%; position: relative; margin-left: -5%; margin-top: -43vh; }
body.site .actuEp .wrap-resume.col { background-color: #fff; border-radius: 12px; box-shadow: var(--ac-shadow); }
/* owner request (deviation from the source): cards of a row share one height, "Lire la suite" sits at the bottom */
body.site .actuEp .row > div:has(> .wrap-resume) { display: flex; flex-direction: column; }
body.site .actuEp .wrap-resume.col { display: flex; flex-direction: column; }
body.site .actuEp .wrap-resume.col > p:last-child { margin-top: auto; }
body.site .actuEp .wrap-resume.col .titre, body.site .wrap-resume.col p { padding: 0 6%; }
body.site .actuEp .wrap-resume.col p { font-size: initial; color: var(--ac-navy); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; min-height: 66px; }
body.site .actuEp .wrap-resume.col .titre { margin-top: 15px; font-size: initial; }
body.site .actuEp .image img { border-top-left-radius: 12px; border-top-right-radius: 12px; object-fit: cover; height: 210px; width: 100%; }
body.site .titre h4 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 55px; }
body.site .actuEp a.btn.round.gold { margin: 10px auto 30px; zoom: 0.9; padding: 7px 35px; }
body.site .wrap-resume { background-color: #fff; margin: 0.4vw; padding: 0; border-radius: 12px; box-shadow: 1px 1px 8px 1px rgba(0, 0, 0, 0.12); }

body.site.home h3 { font-size: 1.1em; font-weight: 600; }
/* the pink cards keep 20px: same specificity as the home h3 rule, so it has to come after it */
body.site .bgPink h3 { font-size: 20px; }
body.site.home a.btn.center, body.site.home h2.taHu { }

/* ---------- 9. Device-width rules of the source, kept as written ---------- */
@media (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) {
  body.site .absoPlant { margin-top: -10vh; }
  body.site .absoPlant.plant2 { margin-right: -2vw; }
}

/* ---------- 10. Phones and portrait tablets (source: max-width 768 portrait) ---------- */
@media (max-width: 768px) and (orientation: portrait) {
  body.site .cab .row { flex-direction: row; }
  body.site.home .ac-hero:not(.banneR) .ac-hero__text h1 { text-transform: uppercase; font-size: 1.2em; width: 58vw; line-height: normal; font-weight: 700; color: var(--ac-navy); }
  body.site .ac-hero { margin-bottom: 0; }
  body.site a.btn.btnBan { margin: 2vh auto 4vh; display: flex; width: fit-content; padding: 2% 5%; font-size: 25px; }
  body.site footer.container-footer { margin-top: 10vh !important; }
  html { background-image: none; background-color: var(--ac-peach); }
  body.site .container-component, body.site .container-bottom-a, body.site .container-bottom-b, body.site footer.container-footer,
  body.site.home .container-component, body.site.home .container-bottom-a, body.site.home .container-bottom-b, body.site.home footer.container-footer,
  body.site.actus footer.container-footer, body.site.comp footer.container-footer, body.site.recrutm footer.container-footer,
  body.site.acti footer.container-footer, body.site.blog footer.container-footer, body.site.cabinet footer.container-footer {
    background-image: none; background-color: var(--ac-peach); padding: initial; margin: initial;
  }
  body.site #userForm h3.taHu, body.site.home h2.taHu, body.site h1.taHu { font-size: 2.3em; text-align: left; }
  body.site.home h3 { font-size: 0.8em; }
  body.site.home footer .ac-contact__side h3 { font-size: 0.8em; }
  body.site .cab, body.site .ac-contact__side { max-width: 100%; margin: auto; }
  body.site .absoCanap { margin: auto; height: auto; margin-bottom: 4vh; margin-top: -3vh; }
  body.site .storImg img { width: 30vw; position: absolute; margin-top: -5vh; margin-right: -30px; z-index: 10; right: 0; height: auto; }
  body.site .modCabNu .row { display: flex; flex-direction: row; }
  body.site .modCabNu .col { width: 48% !important; flex: unset; margin: 1% !important; text-transform: initial !important; font-size: initial; height: auto !important; padding: 10% 0 0 !important; }
  body.site span.numbR { font-size: 30px; line-height: inherit; }
  body.site .sablier { background-image: url(/images/ACCUEIL/cabinet/illu-15ans@0.38x.png); background-position: top left; }
  body.site .smile { background-image: url(/images/ACCUEIL/cabinet/illu-99@0.38x.png); background-position: top right; }
  body.site .coffee { background-image: url(/images/ACCUEIL/cabinet/illu-60@0.38x.png); background-position: 0 -1vh; }
  body.site .gourm { background-image: url(/images/ACCUEIL/cabinet/illu-30@0.38x.png); background-position: top left; }
  body.site p.quote { font-size: 24px; padding: inherit; }
  /* the source keeps #mainwrap's margin-bottom of -2 px here */
  body.site.wrapper-fluid .grid-child.container-component { margin-bottom: -2px; }
  body.site .container-banner, body.site.home .container-banner { padding-top: 85px; }
  body.site.blog .container-banner { padding-bottom: 10vh; }
  body.site:not(.home):not(.blog) .container-component { padding-top: 85px; }
  body.site.blog:not(.home) .container-component { padding-top: 0; }
  /* the source points the phone hero at /images/BG/fond-accueil-plantes-mob2.jpg, which is a 404: no hero background there */
  body.site.home .container-banner { background-image: none; }
  /* the source paints these on `html`, which the phone rule above sets to peach; here the page class sits on body, so body must not paint over it */
  body.site, body.site.home, body.site.actus, body.site.blog, body.site.cabinet, body.site.comp, body.site.acti { background-image: none; background-color: transparent; }
  body.site .modCab .row { flex-direction: initial; }
  body.site .absoTypew { margin-top: 6vh; margin-right: -20px; width: auto; right: 0; }
  body.site .absoTypew img { width: 160px; height: 150px; }
  body.site p.absoWhyNot { position: absolute; margin-top: -10px; margin-bottom: 0; right: 0; width: 128px; margin-right: -17px; }
  body.site.home a.btn.center { font-size: 25px; padding: 2% 5%; margin: 4vh auto 4vh; }
  body.site .absoPlant.plant2 { margin: -5vh 0 0; }
  body.site .abso .gest { left: auto; margin-top: 2vh; margin-left: 6vw; width: 90vw; }
  body.site .abso .compta { right: 6vw; width: 92vw; padding-top: 0; top: -2vh; }
  body.site .borderA, body.site .modCab .borderA, body.site .modCabNu .whiteBG.beige { padding: 2vh 5vw; }
  body.site .ac-band--cabinet .ac-band__inner { padding-left: 0; padding-right: 0; }
  body.site .modCab .ac-band__inner { padding-top: 0; }
  body.site .modCabNu .ac-band__inner { padding-bottom: calc(5vh + 15px); }
  body.site .compta .bgPink, body.site .gest .salm { padding: 5%; text-align: justify; }
  body.site .bgPink.salm strong { text-align: left !important; font-size: 15px; }
  body.site .modDom { margin-top: 4vh; }
  body.site .modDom .bgPink { background-color: rgba(255, 255, 255, 0.6); width: 90%; margin-top: 2vh; font-size: inherit; }
  body.site .container-fluid.actuEp { width: 100%; margin: -45vh auto 0; }
  body.site h3.taHu { text-transform: none; font-size: 2.3em; text-align: left; }
  body.site .bgPink h3 { font-size: 15px; font-weight: 700; }
  body.site .absoPlant { margin-top: -100px; width: 30vw; z-index: 150; display: block; float: right; }
  body.site .absoWhyNot img { height: 95px; }
  body.site .modCabNu a.btn.center { margin: 2vh auto 0 10vw; }
  body.site .cab a img { width: 50vw; margin: auto; display: flex; }
  body.site #userForm .rsform-block-intro p { font-size: revert; }
  body.site .modCab img { height: auto; }
  body.site .actuEp > div > div { margin-bottom: 2vh; }
  body.site .wrap-resume { margin: 2vh auto; }
  body.site p.absoPkp { width: 30vw; margin-left: -10vw; margin-top: -7vh; }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) {
  body.site .absoTypew img, body.site p.absoWhyNot { transform: scale(0.6); }
}
/* ACOREV presentation, slice B: static, recruitment and Expert+ pages (groups G8, G9, G10).
   Uses slice A's custom properties and shared components; nothing here restyles a shared selector. */

/* Bootstrap 5 grid widths and gutters that the shell grid does not define; spacing, display and carousel utilities come from the Cassiopeia stylesheet */
.col-12 { flex: 0 0 auto; width: 100%; }
.g-3 { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
@media (min-width: 768px) {
  .col-md-5 { flex: 0 0 auto; width: 41.66666667%; } .col-md-7 { flex: 0 0 auto; width: 58.33333333%; } .col-md-10 { flex: 0 0 auto; width: 83.33333333%; }
}
@media (min-width: 992px) { .col-lg-10 { flex: 0 0 auto; width: 83.33333333%; } .g-lg-5 { --bs-gutter-x: 3rem; --bs-gutter-y: 3rem; } }

/* ---------- 1. Main content column of the article pages ---------- */
body.site .ac-article .borderA { padding: 3%; text-align: left; }
@media (max-width: 768px) and (orientation: portrait) { body.site .ac-article .borderA { padding: 5%; } }

/* ---------- 2. Cabinet (source #mainwrap, #grid6wrap, #bottomwrap) ---------- */
body.site.cabinet .container-component { background: url(/images/NOTRECABINET/histoire/fond-bordure-ombre-transparent.png) no-repeat bottom; }
body.site .absoCanap { display: flex; margin: -70px 0 0 70px; height: 633px; z-index: 5; position: relative; }
@media (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) { body.site .absoCanap { margin-top: -4vh; } }

body.site .ac-band--histoire { background-color: var(--ac-peach); margin-top: -25px; padding-bottom: 30px; }
body.site .storImg { margin-left: -5vw; }
body.site .storImg img { max-width: 90%; height: auto; }
body.site .ac-band--histoire .story .borderA { padding: 6%; text-align: justify; margin-right: auto; }
body.site .bgBlue { background-color: rgb(31 134 172 / 0.8); padding: 7%; border-radius: 12px; color: #fff; }
body.site.cabinet .bgBlue { width: 80%; text-align: justify; display: flex; margin: auto; margin-top: -2vh; }

body.site .mod-custom:has(> .ac-team) { display: flow-root; padding-bottom: 4px; background: var(--ac-orange) url(/images/NOTRECABINET/equipe/fond-orange-notre-equipe-arriere-plan-orange.png) no-repeat top; }
body.site .ac-team {
  box-sizing: border-box; margin: 1vh 0 0 max(7.5%, calc((100% - 1400px) / 2));
  width: min(80.75%, 1330px); padding: min(2.55%, 42px);
}
body.site .ac-team .container-fluid { display: flex; flex-wrap: wrap; justify-content: space-between; width: 95%; }
body.site .absoPkp { position: absolute; margin-left: 10vw; }

/* ---------- 3. Competences ---------- */
body.site.comp .container-component { background: url(/images/COMPETENCES/fond-clair-bordure-nos-competences.png) no-repeat bottom; }
/* The source names Tahu! alone, so the two characters the font lacks fall to the browser default (Times); a generic family would pick Apple Chancery. */
body.site p.quote { margin: 10% auto; font-family: 'Tahu!'; font-size: 50px; text-align: center; color: var(--ac-coral); padding-bottom: 10vh; }
@media (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) { body.site p.quote { margin: auto; padding: 5vh 0; font-size: 45px; } }
body.site .ac-band--competences { background-color: var(--ac-cream); margin-bottom: -2px; padding-bottom: 0; }
@media (max-width: 768px) { body.site .ac-band--competences { margin-bottom: 0; } }
body.site .compy .bgPink { padding: 10%; font-size: initial; }
body.site .compy .bgPink h3 { font-weight: 700; }
body.site .compy .borderA { width: 85%; margin: -20px auto; padding: 7%; text-align: justify; font-weight: 500; font-size: large; z-index: 3; }
body.site.comp a.btn.center { margin-bottom: -100px; padding: 10px 30px; font-size: 30px; letter-spacing: 1px; margin-top: 10vh; }

/* ---------- 4. Domaines d'activité ---------- */
body.site .blueBox { background-color: #1e71ac; border-radius: 12px; margin: 2% 0; color: #fff; text-align: justify; font-weight: 100; padding: 3%; box-shadow: 1px 1px 5px 1px rgb(0 0 0 / 0.2); }
body.site.acti .blueBox { margin-top: 5vh; background-color: #23498b; }
body.site .blueBox h2 { color: #fff; text-transform: uppercase; font-weight: 500; font-size: 20px; }
body.site .blueBox img { height: 142px; width: auto; }
body.site .container-fluid.bgPink { width: 90%; margin-top: -25px; }
body.site.acti .ac-article { padding-bottom: 10vh; }
body.site .ac-band--avis { background-color: var(--ac-orange); }
body.site .ac-band--avis.whiteBox { background-color: var(--ac-orange); border-radius: 0; box-shadow: none; padding: 0 0 30px; }
body.site .ac-band--avis > .ac-band__inner { box-sizing: border-box; width: min(81.6%, 1344px); background: rgb(255 255 255 / 0.8); border-radius: 12px; padding: min(2.448%, 40.32px); box-shadow: 1px 1px 5px 1px rgb(0 0 0 / 0.2); }
body.site .ac-band--avis h2 { text-transform: uppercase; font-weight: 600; font-size: 20px; }
body.site .ac-band--avis picture, body.site .ac-band--avis > .ac-band__inner > img { display: flex; margin: auto; }
body.site .ac-band--avis picture > img { margin: auto; }

/* ---------- 5. Mentions légales ---------- */
body.site .com-content-article:has(.ac-article--legal) > .page-header h1 { font-family: var(--ac-script); font-weight: 400; font-style: normal; line-height: 1.2em; padding-bottom: 15px; }

/* ---------- 6. Recrutement and job pages ---------- */
/* source main-block strip: the 759 px image sits at the bottom of the main block, which ends where the first band begins */
body.site .ac-band--recrutement::before, body.site .ac-band--poste::before { content: ''; position: absolute; z-index: -1; left: 0; right: 0; bottom: 100%; height: 759px; background: url(/images/recrutement/recrut-bg-header.png) no-repeat bottom / 100% auto; pointer-events: none; }
/* the source body is as tall as the viewport and paints the cream header artwork; staging flows, so the same layer sits behind the page at viewport height */
body.site.recrutm::before { content: ''; position: absolute; z-index: -2; top: 0; right: 0; left: 0; height: 100vh; background: #feeddd url(/images/recrutement/fic-bg-header.png) no-repeat bottom center / cover; pointer-events: none; }
body.site.recrutm h1.taHu { margin-bottom: 10px; }
body.site.recrutm h2.taHu { font-size: 60px; }
body.site .ac-band--recrutement { background: var(--ac-cream) url(/images/recrutement/bg-reaass.svg) no-repeat top center / cover; margin-bottom: -2px; padding-bottom: 0; }
body.site .reass h3 { text-align: center; font-family: var(--ac-script); font-size: 30px; font-weight: 400; line-height: 0.9; text-transform: revert; margin-top: 25px; }
body.site .ac-offers { background: var(--ac-cream) url(/images/recrutement/recrut-bg-offres.png) no-repeat bottom center / cover; padding-top: 5vh; min-height: 550px; }
body.site .ac-offers > div, body.site .ac-tools > .container, body.site .ac-carousel > .carousel { width: 85%; max-width: 1400px; margin-right: auto; margin-left: auto; }
body.site h2.taHu.offer {
  font-family: var(--ac-script); font-size: 60px; font-weight: 400; line-height: 0.83; text-align: center; color: var(--ac-cream);
  background: url(/images/recrutement/recrut-bulle-offres-titre.svg) no-repeat; padding: 3vh; width: 364px; height: 214.4px;
  display: flex; justify-content: center; align-items: center; align-content: center;
}
@media (min-width: 992px) { body.site h2.taHu.offer { position: absolute; zoom: 0.7; } }
@media (min-width: 1400px) { body.site h2.taHu.offer { zoom: 0.9; } }
@media (min-width: 1800px) { body.site h2.taHu.offer { zoom: 1; } }
body.site .list-postes { width: 100%; }
body.site .ac-carousel { display: flow-root; background: url(/images/recrutement/recrut-bg-photos.svg) no-repeat bottom / cover; }
body.site .ac-tools { background: var(--ac-cream) url(/images/recrutement/recrut-bg-outils.png) no-repeat top center / cover; height: 560px; padding-top: 5vh; }
body.site .ac-tools > h2 { width: 85%; max-width: 1400px; margin-left: auto; margin-right: auto; font-size: 60px; }
/* the job page loads the Bootstrap stylesheet after the theme, so its heading line height is 1.2; /recrutement keeps the theme's 1.4 */
body.site.fichpos .ac-tools > h2 { line-height: 1.2; }
body.site .tools img, body.site .ac-tools img { margin-top: 1vh; margin-bottom: 1vh; }

body.site ul.chcklist { list-style: none; padding-left: 0; }
body.site ul.chcklist li { font-family: var(--ac-sans); font-size: 20px; font-weight: 300; line-height: normal; text-align: left; color: var(--ac-navy); padding-bottom: 2vh; padding-left: 1em; position: relative; }
body.site .chcklist li::before { content: '\2713'; position: absolute; left: 0; color: var(--ac-navy); }
body.site.recrutm .bgBlue { margin-left: -2vw; }
body.site .rect-blu { border-radius: 16px; background-color: #28326e; color: #fff; padding: 3vh 2vw; }
body.site .rect-blu h2 { color: #fff; }
body.site.fichpos .container-bottom-a { background: url(/images/recrutement/recrut-bg-offres.png), url(/images/recrutement/fic-bg-transition-form3x.png); background-color: var(--ac-cream); background-position: bottom center, top center; background-size: cover; background-repeat: no-repeat; padding-top: 5vh; }
/* the source paints both artworks as layers of one section: the process artwork (4320 x 1257) stands on the bottom edge and rises above its band over the poste artwork, so the bands carry them as layers behind their content */
body.site.fichpos .ac-band--poste, body.site.fichpos .ac-band--chez-nous { background: none; }
body.site.fichpos .ac-band--poste::after { content: ''; position: absolute; z-index: -2; inset: 0; background: var(--ac-peach) url(/images/recrutement/fic-bg-poste.png) no-repeat top center / contain; pointer-events: none; }
body.site.fichpos .ac-band--chez-nous::before { content: ''; position: absolute; z-index: -2; inset: 0; background: var(--ac-peach); pointer-events: none; }
body.site.fichpos .ac-band--chez-nous::after { content: ''; position: absolute; z-index: -1; right: 0; bottom: 0; left: 0; aspect-ratio: 4320 / 1257; background: url(/images/recrutement/fic-bg-processus3x.png) no-repeat center / 100% 100%; pointer-events: none; }
body.site.fichpos .moduletable h3, body.site.fichpos .ac-subtitle { text-transform: revert; }
/* the job page loads the Bootstrap stylesheet after the theme, so its heading line-height of 1.2 wins over the theme's 1.4 for the footer headings */
body.site.fichpos footer h3, body.site.fichpos footer #userForm h3.taHu { line-height: 1.2; }
body.site.fichpos footer .ac-contact .col-lg-9 > p:empty { margin-bottom: 1rem; }
/* above 619 px the source testimonial carousel has no visible box (the illustration carries the look): the quotes stay in the markup for readers; the slider and its dots show at 619 px and below */
body.site .ac-bubbles-dots { display: none; }
/* source: the theme's figure rules (grey 17.1 px caption) do not apply; quote italic, caption navy 19 px, cite 50 % black italic */
body.site .ac-bubble blockquote { font-style: italic; }
body.site .ac-bubble figcaption { font-size: 1em; color: var(--ac-navy); }
body.site .ac-bubble cite { color: rgb(0 0 0 / 0.5); }
body.site .ac-bubbles { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* the source theme's clearfix on .row adds two empty flex items, which changes how justify-content-around spaces the two columns */
body.site .ac-band--competences .row::before, body.site .ac-band--competences .row::after { content: ' '; display: table; }
body.site .compy .bgPink ul { padding-left: 0; margin: 0 0 0 16px; }
@media (min-width: 788px) { body.site .ac-band--poste > .ac-band__inner, body.site .ac-band--chez-nous > .ac-band__inner, body.site .ac-band--recrutement > .ac-band__inner { width: min(81.6%, 1344px); } }
body.site .ac-band--chez-nous h3 { font-weight: 500; line-height: 1.2em; text-transform: none; }
body.site ul.chcklist { margin: 0 0 1rem 16px; }
body.site .ac-band--poste h2.taHu, body.site.fichpos h1.taHu { line-height: 1.2; }
body.site .rect-blu h2 { font-size: calc(1.325rem + 0.9vw); font-weight: 500; line-height: 1.2; }
@media (min-width: 1200px) {
  body.site .rect-blu h2 { font-size: 2rem; }
  body.site.fichpos .ac-band--poste .borderA, body.site.fichpos .ac-band--chez-nous .borderA { right: 1vw; padding-left: 2vw; }
}
/* source: one grid holds both bands, so the photo's bottom margin collapses into the next block's top margin and the grid pads its top by 30 px */
body.site .ac-band--poste > .ac-band__inner { padding-top: 30px; }
body.site .ac-band--chez-nous > .ac-band__inner { padding-bottom: 30px; }
body.site .ac-band--chez-nous > .ac-band__inner > div { margin-top: 0 !important; }
/* source #mainwrap strip: painted at the bottom of the main block, which ends where the avis band begins */
body.site .ac-band--avis::before { content: ''; position: absolute; z-index: -1; left: 0; right: 0; bottom: 100%; height: 518px; background: url(/images/ACTIVITES/fond-orange-avis-clients-arriere-plan-orange.png) no-repeat bottom; pointer-events: none; }

/* ---------- 7. Candidature form (job pages) ---------- */
body.site .recrut-form { box-sizing: border-box; width: 85%; max-width: 1400px; margin: 0 auto; border: 2px solid var(--ac-navy); border-radius: 12px; padding: 3vw; }
body.site .recrut-form h2 { font-family: var(--ac-script); font-size: 50px; font-weight: 400; line-height: 1.38; text-align: left; text-transform: none; color: var(--ac-navy); margin: 0 0 40px; }
body.site #userForm.ac-form--candidature input.rsform-input-box, body.site #userForm.ac-form--candidature textarea { box-sizing: border-box; height: auto; min-height: 0; margin-bottom: 0; padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; }
body.site #userForm.ac-form--candidature input[type='file'] { box-sizing: border-box; height: auto; padding: 0.375rem 0.75rem; background: transparent; border-radius: 12px; font-size: 1rem; line-height: 1.5; }
body.site #userForm.ac-form--candidature input[type='file']::file-selector-button, body.site #userForm.ac-form--candidature button#recrut-send {
  margin-right: 0.75rem; padding: 1vh 2vw; border: 1px solid var(--ac-blue); border-radius: 50px; background: var(--ac-blue);
  font-family: var(--ac-script); font-size: 33px; font-weight: 400; line-height: normal; color: var(--ac-navy);
}
body.site #userForm.ac-form--candidature { margin-bottom: 30px; }
/* owner request (deviation from the source): field spacing of the footer contact form, 10 px across and 9 px down */
body.site #userForm.ac-form--candidature .row { --bs-gutter-x: 10px; }
body.site #userForm.ac-form--candidature .rsform-block { margin-bottom: 9px !important; } /* !important: the blocks carry Bootstrap's `mb-3` utility */
/* file buttons as tall as the text inputs (43 px), so a file button no longer sets the row height */
body.site #userForm.ac-form--candidature input[type='file'] { height: 43px; padding: 0; border-radius: 50px; line-height: 43px; overflow: visible; }
body.site #userForm.ac-form--candidature input[type='file']::file-selector-button { box-sizing: border-box; height: 43px; padding: 0 max(2vw, 16px); font-size: 28px; line-height: 41px; vertical-align: middle; }
body.site #userForm.ac-form--candidature button#recrut-send { margin: 0 10px 10px 0; color: #fff; cursor: pointer; }
body.site #userForm.ac-form--candidature .form-check { display: flex; align-items: center; padding-left: 0; margin: 0 1rem 0.125rem 0; } /* owner request: consent toggle on the left edge (source: 1.5em) */
body.site #userForm.ac-form--candidature label#rgpd-check-recrut0-lbl { display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-start; }
body.site #userForm.ac-form--candidature input#rgpd-check-recrut0 { flex: 0 1 auto; float: none; width: 3em; height: 1em; min-height: 0; margin: 0 2vw 0 0; }
body.site .ac-band--recrutement > .ac-band__inner { padding-top: 30px; padding-bottom: 30px; }
@media (min-width: 768px) { body.site .ac-tools > .container.col-md-8 { width: 56.66666667%; max-width: 933.33333333px; } }

/* ---------- 8. Expert+ pages ---------- */
body.site .ac-docs-grid { display: flex; width: 85%; max-width: 1400px; margin: 0 auto; padding: 0; list-style: none; text-align: center; }
body.site .ac-docs-card { flex: 0 0 25%; margin: 0; padding: 0; list-style: none; }
body.site .ac-docs-card a { display: block; color: inherit; text-decoration: none; }
body.site .ac-docs-card img { display: block; width: 245px; max-width: 100%; height: auto; aspect-ratio: 1; margin: 0 auto 20px; border-radius: 50%; }
body.site .ac-docs-card__title { box-sizing: border-box; width: 200px; margin: 0 auto; padding: 15px 30px; border-radius: 50px; background: var(--ac-blue); color: #333; font-family: var(--ac-script); font-size: 30px; font-weight: 400; letter-spacing: 1.5px; line-height: 1.4; text-transform: none; transition: background-color 0.2s; }
body.site .ac-docs-card a:hover .ac-docs-card__title, body.site .ac-docs-card a:focus-visible .ac-docs-card__title { background: var(--ac-navy); color: #fff; }
body.site .ac-expert-intro { box-sizing: border-box; width: min(81.6%, 1400px); margin: 0 auto; padding: 30px 0; }
body.site form.lookfor { margin: 0 0 30px; }
body.site form.lookfor fieldset { margin: 0; padding: 0; border: 0; }
body.site form.lookfor input { box-sizing: content-box; width: 95%; height: 42px; margin: 0 0 15px; padding: 6px 12px; border: 1px solid #23498b; border-radius: 50px; background: transparent; color: #23498b; font-family: var(--ac-sans); font-size: 1rem; }
body.site form.lookfor input::placeholder { color: #23498b; opacity: 1; font-size: 13px; }
body.site form.lookfor button { width: 56px; height: 56px; margin: 0; padding: 1px 6px; border: 1px solid transparent; background: transparent; color: transparent; }

/* Expert+ package rules (list, article, search and dossier output); the runtime that fills them is served with the site */
body.site #eplus-container { position: relative }
body.site .navbar-general { overflow: hidden; margin-bottom: 10px }
body.site .navbar-general form { list-style: none outside none; float: left; margin: 0 }
body.site .navbar-general ul { list-style: none outside none; float: left; margin: 0; padding-left: 0 }
body.site .navbar-general ul li { float: left; display: block; position: relative; margin-right: 10px; font-size: larger; padding: 10px }
body.site .eplus-ariane { margin: 8px 0px 0px 8px }
body.site .colcontainer { clear: both; overflow: hidden }
body.site .colgauche { width: 48%; margin-right: 15px; float: left }
body.site .coldroite { width: 48%; float: left }
body.site .coldroite ul, body.site .colgauche ul { padding-left: 0 }
body.site .artY { display: flex; flex-flow: row-reverse }
body.site .article-teaser { clear: both; margin-bottom: 5px; padding-bottom: 25px; border-bottom: 1px dashed }
body.site .article-teaser img { margin-left: 10px; margin-bottom: 10px; float: right; width: 160px; height: auto; max-height: 160px }
/* list titles sit one step below the section titles (h2, 24 px): 1.1em of the 19 px root is the site's own h3 size (.ac-subtitle, 20.9 px); the phone rule is left as the source has it */
@media not ((max-width: 768px) and (orientation: portrait)) { body.site .article-teaser h3 { font-size: 1.1em; } }
body.site .article-full img { margin-right: 5%; margin-bottom: 10px; float: right; width: 439px; height: 273px; max-height: 273px; border-radius: 12px }
body.site ul.article-links { list-style: none outside none; padding-left: 0; margin: 0; clear: both }
body.site ul.article-links li a i, body.site ul.article-links li a { color: #848484 }
body.site ul.filtre-links { list-style: none outside none; float: right; margin: 10px 0px; clear: both }
body.site ul.filtre-links li { float: left; display: block; position: relative; margin-right: 3px; padding: 3px }
body.site .article-liste-categorie img { margin-right: 10px; margin-bottom: 10px; float: left; width: 340px; height: auto; max-height: 340px }
body.site ul.article-liste { list-style: none outside none; clear: both }
body.site div.description_courte { font-size: smaller; font-style: italic; border-bottom: 1px solid }
body.site .chiffreutile-fond { margin: 5px; box-shadow: 0 0 5px 0 #656565; padding: 10px; border: none; background: none }
body.site ul.chiffre-liste { list-style: none outside none; clear: both }
body.site .chiffreutile-fond ul { margin-left: 20px; overflow: visible; list-style: square outside none }
body.site .chiffreutile-fond i { margin-left: 20px }
body.site em.eplus-auteur { font-size: smaller; display: block; margin-bottom: 5px }
body.site ul.chiffre-liste li { border-bottom: 1px solid }
body.site h2.chapitre { display: block; margin: 0; padding: 5px 5px; border-bottom: 1px solid; cursor: pointer; cursor: hand; margin-top: 5px; margin-bottom: 5px }
body.site .collapse { font-size: 31px; display: block }
body.site .collapse+input { display: none }
body.site .collapse+input+* { display: none }
body.site .collapse+input:checked+* { display: block }
body.site .avertissement { color: #555; border-radius: 2px; padding: 10px; margin: 10px; border: 1px solid; text-align: center }
body.site div.eplus-social { position: absolute; top: 95px; left: -80px; flex-flow: column }
body.site div.eplus-social ul li { width: 30px; height: 30px; margin: 4px; text-align: center; line-height: 30px; font-size: large }
body.site ul.article-links li a i, body.site ul.article-links li a { color: white }
body.site ul.article-links li a { display: block }
body.site div.eplus-social ul li span { display: none; visibility: hidden }
body.site .module-eplus.article-liste li div.description_courte { clear: both; min-height: 70px }
body.site ul.module-eplus.article-liste  li a { border-bottom: none }
body.site .module-eplus { padding-left: 0; margin-bottom: 0 }
body.site .module-eplus li { list-style: none; padding: 2px 8px; color: #000; letter-spacing: .2px; margin-bottom: 7px }
/* source: the heading of a dossiers listing keeps the browser's 0.67em bottom margin (21.6 px at 32.3 px, 25.5 px at 38 px); the Bootstrap 0.5rem would otherwise win */
body.site .ac-article:has(.liste-dossiers) > h1 { margin-bottom: 0.67em; }
/* source theme clearfix: its two table pseudo elements stop the card's 20 px bottom margin from collapsing out of the column */
body.site .liste-dossiers .clearfix { clear: both; }
body.site .liste-dossiers .clearfix::before, body.site .liste-dossiers .clearfix::after { content: ' '; display: table; }
body.site .liste-dossiers .clearfix::after { clear: both; }
body.site .liste-dossiers .file-wrap { background-color: rgba(235,235,236,.2); padding-right: 5px; display: flex; margin-bottom: 20px; border-right: 8px solid }
body.site .liste-dossiers .file-wrap .wrap { padding: 0 15px }
body.site .liste-dossiers .file-wrap .wrap h2 { margin-bottom: 0; font-size: x-large; margin-top: 10px }
body.site .lookfor button { height: 56px; width: 56px; background: transparent; border: transparent; color: transparent }
body.site .result { display: flex; flex-direction: row; align-items: center }
body.site .result>div { padding: 0 20px; margin-bottom: 30px }
body.site .result>div:first-child { min-width: 350px; max-width: 350px; padding-left: 0 }
body.site .result .date { font-size: 15px }
body.site .date>.category { font-weight: 700; text-transform: capitalize }
body.site label.collapse { height: auto; margin: 0 10px 5px 0; padding: 4px 8px }
/* the source's eplus-config rules: 20 px titles, 2vh top padding, and `margin: auto`, which also cancels `.actus h2 { margin: 60px 0 }` */
body.site h2.chapitre.ng-binding { font-size: 20px; padding-top: 2vh; margin: auto }
body.site ul.article-liste li { display: block; margin-right: 50px; margin-bottom: 20px; padding: 8px }
body.site ul.article-liste li div.description_courte img { max-width: 180px; margin-right: 20px }
body.site ul.article-liste li div.description_courte { border-bottom: none }
body.site .article-liste-categorie ul.article-liste li { display: block; width: 100%; height: 24px; margin: 5px; float: none; min-height: 24px; padding: 2px }
body.site div.description_courte { font-size: 12px; font-style: normal }
body.site .module-eplus>li { padding-top: 10px; padding-bottom: 10px }
body.site .liste-dossiers > .uk-width-large-1-1 { width: 50%; }
body.site .liste-dossiers .image img { max-width: 340px; height: 225px; border-radius: 12px; object-fit: cover; }
body.site .liste-dossiers .file-wrap .wrap h2 { text-transform: uppercase; }
body.site .ac-docs-grid.int { margin: 22vh auto; }
/* the source grid fills its container; the 85 % of the Expert+ bands is that container's own width, so inside a card the grid is full width and a narrow column lets the 200 px pill overflow */
body.site .ac-card .ac-docs-grid { width: 100%; }
body.site .ac-docs-card { min-width: 0; }

/* ---------- 9. Actualites page ---------- */
body.site.actus .container-bottom-a { background: #feeddd url(/images/ACTUALITES/fond-2-actualites.png) no-repeat top; }
/* source phone rule: the section backgrounds lose their artwork; the news, competences (band and the component's bottom edge), offers and tools sections go flat (peach, peach, cream, cream), and the photo strip under the offers goes flat peach */
@media (max-width: 768px) and (orientation: portrait) {
  body.site.actus .container-bottom-a { background: var(--ac-peach); }
  body.site .ac-band--competences { background-color: var(--ac-peach); }
  body.site.comp .container-component { background: var(--ac-peach); }
  body.site .ac-offers, body.site .ac-tools, body.site.fichpos .container-bottom-a { background: var(--ac-cream); }
  body.site .ac-carousel { background: var(--ac-peach); }
  body.site .ac-band--avis, body.site .ac-band--avis.whiteBox { background-color: var(--ac-peach); }
}
body.site.actus .whiteBG { margin-top: 10vh; padding: 1vh 3vw; background-color: rgb(255 255 255 / 0.5); box-shadow: 1px 1px 8px 1px rgb(0 0 0 / 0.12); }
body.site.actus h2 { margin: 60px 0; font-size: x-large; text-transform: uppercase; }
body.site .premier-article.row { margin: 0 0 2vh; border-radius: 12px; background-color: #fff; box-shadow: 1px 1px 8px 1px rgb(0 0 0 / 0.12); }
body.site .zoom .premier-article img { padding: 0; height: auto; border-radius: 12px 0 0 12px; object-fit: cover; }
body.site .zoom a.readmore.btn.round.gold { margin: 0 0 2vh; }
body.site .zoom .premier-article > .padding { padding: 30px 2%; }
body.site span.miniDate { padding: 0 6%; font-size: small; }
body.site .artZoom { padding: 0; }
body.site .artZoom img { width: 100%; height: 192px; padding: 0; border-radius: 12px 12px 0 0; object-fit: cover; }
body.site .artZoom h3 { min-height: 55px; padding: 0 6%; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: inherit; }
body.site .artZoom p { min-height: 55px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; font-size: inherit; }
body.site .blueBox.dark { background-color: var(--ac-navy); }
body.site .blueBox.dark:first-child { margin-top: 0; }
body.site .blueBox.dark a h4 { padding-bottom: 5px; color: #fff; font-weight: 500; }
body.site .blueBox.dark span.date { float: right; bottom: 0; height: 50px; line-height: 60px; }
body.site .blueBox.dark .btn { margin: 10px auto; border-color: #fff; background-color: transparent; }
body.site .blueBox.dark .btn:hover { background-color: #fff; color: var(--ac-navy) !important; }
body.site li.round.gold { margin: 2vh auto; padding: 15px; border: 1px solid var(--ac-navy); border-radius: 50px; }
body.site .ac-feed { width: 85%; max-width: 1400px; margin: 0 auto; }
/* the source paints no breadcrumb; the module is assigned to the Expert+ pages only */
body.site .mod-breadcrumbs__wrapper { display: none; }

/* ---------- 10. Phones and portrait tablets (source: max-width 768 px, portrait) ---------- */
@media (max-width: 768px) and (orientation: portrait) {
  body.site .absoCanap { margin: -3vh auto 4vh; height: auto; }
  body.site.cabinet .absoCanap img, body.site .modCab img { height: auto; }
  body.site .storImg img { position: absolute; right: 0; z-index: 10; width: 30vw; height: auto; margin-top: -5vh; margin-right: -30px; }
  body.site.cabinet .bgBlue { width: 90%; margin: 2vh auto; padding: 4%; }
  body.site.cabinet .bgBlue p { margin-bottom: 0; }
  body.site .ac-team { margin: auto; }
  body.site .team h3 { font-size: 0.9em; }
  body.site .team img { width: 70vw; height: auto; }
  body.site p.quote { padding: inherit; font-size: 24px; }
  body.site .compy .bgPink { padding: 5%; }
  body.site .compy .borderA { width: 95%; margin: 2vh auto 4vh; padding: 4%; font-size: 15px; }
  body.site.comp a.btn.center { margin: 5vh auto 10vh; }
  body.site .container-fluid.bgPink { margin: 3vh auto; font-size: 15px; }
  body.site .bgPink h3 { font-size: 15px; font-weight: 700; }
  body.site .blueBox h2 { text-align: center; }
  body.site .blueBox img { width: 150px; padding: 20px; }
  body.site .blueBox { padding: 1vh 2vw 5vh; }
  body.site .ac-band--avis > .ac-band__inner { width: 85%; margin-bottom: 11vh; padding: 1vh 2vw 5vh; }
  body.site.acti .ac-band--avis { display: flow-root; padding-bottom: 15px; }
  body.site .absoPlant { z-index: 150; display: block; float: right; width: 30vw; margin-top: -100px; }
  body.site .absoPlant.plant2 { margin: -5vh 0 0; }
  body.site .absoTypew { right: 0; width: auto; margin-top: 6vh; margin-right: -20px; }
  body.site .absoTypew img { width: 160px; height: 150px; }
  body.site p.absoPkp { width: 30vw; margin-top: -7vh; margin-left: -10vw; }
  body.site .dossiers { flex-direction: column; width: auto; }
  body.site .dossiers img { display: none; }
  body.site .dossiers div { width: fit-content; }
  body.site .ac-docs-card__title { margin: 0 0 20px; }
  body.site .liste-dossiers > .uk-width-large-1-1 { margin-right: auto; margin-left: auto; }
  body.site.actus .borderA h2 { font-size: 0.9em !important; }
  body.site.actus h2 { margin: 0 auto 2vh; }
  body.site.actus .whiteBG { margin: 5vh auto; padding: 5%; }
  body.site .searcH.col { display: none; }
  body.site .fil-actu a.readmore, body.site .fil-actu p { display: none; }
  body.site ul.fil-actu.row { width: 100%; margin: auto; padding: initial; }
  body.site ul.fil-actu.row li h4 { text-align: left !important; }
  body.site .tease .padding, body.site .zoom .premier-article > .padding { padding: 0 6%; }
  body.site .tease h3 { font-size: inherit; }
  body.site .zoom .premier-article img { border-top-right-radius: 12px; border-bottom-left-radius: 0; }
  body.site .zoom a.readmore.btn.round.gold { margin-bottom: 2vh; }
  body.site .container-fluid.tease { padding: 0; }
  body.site .wrap-resume { margin: 2vh auto; }
  body.site .temoi blockquote { padding: 3vh 10vw; border-radius: 12px; background: var(--ac-peach); font-size: 1em; }
}
@media (max-width: 620px) {
  body.site .ac-expert-intro { width: 86.4%; }
  body.site .ac-team { width: 85.5%; padding: 2.7%; }
  body.site .ac-offers > div, body.site .ac-tools > h2, body.site .ac-tools > .container, body.site .ac-carousel > .carousel, body.site .ac-docs-grid, body.site .recrut-form, body.site .ac-feed, body.site .ac-band--avis > .ac-band__inner { width: 90%; }
}
@media (max-width: 787px) { body.site .ac-band--recrutement > .ac-band__inner, body.site .ac-band--poste > .ac-band__inner, body.site .ac-band--chez-nous > .ac-band__inner { padding-top: 0; padding-bottom: 15px; } }
/* source: the photo's 57 px bottom margin collapses with the grid's 15 px and the next module's 30 px, so nothing is added under it */
@media (max-width: 787px) { body.site .ac-band--poste > .ac-band__inner { padding-bottom: 0; } }
@media (max-width: 959px) { body.site .ac-docs-grid { flex-wrap: wrap; } body.site .ac-docs-card { flex-basis: 50%; } }
@media (max-width: 619px) {
  body.site .ac-bubbles { position: static; display: flex; width: auto; height: auto; margin: 0; overflow: hidden; clip: auto; white-space: normal; }
  body.site .ac-bubble { display: flow-root; flex: 0 0 var(--ac-card, 100%); min-width: 0; box-sizing: border-box; margin: 0; padding: 2rem 10px 15px 0; text-align: left; line-height: 1.4em; transform: translateX(calc(var(--ac-slide, 0) * -100%)); transition: transform 1s; }
  body.site .ac-bubble blockquote { margin: 0 0 19px; padding: 3vh 10vw; border-left: 1px solid rgba(0, 0, 0, 0.2); border-radius: 12px; background: var(--ac-peach); font-size: 1em; font-style: italic; }
  body.site .ac-bubble figcaption { font-family: var(--ac-script); font-size: xx-large; }
  body.site .ac-bubble cite { display: block; float: left; width: 100vw; clear: both; font-family: Montserrat, sans-serif; font-size: initial; line-height: 40px; color: var(--ac-navy); }
  body.site .ac-bubbles-dots { display: block; margin: 10px 0 0; text-align: center; line-height: 1.5; }
  body.site .ac-bubbles-dot { display: inline-block; padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
  body.site .ac-bubbles-dot span { display: block; width: 12px; height: 12px; margin: 5px 7px; border-radius: 20px; background: #bda180; opacity: 0.5; }
  body.site .ac-bubbles-dot.active span { opacity: 1; }
}
/* ACOREV presentation, slice C: blog list and blog article (groups G11).
   Styles the native Joomla 6 com_content blog and article layouts; spacing model of the source (zen grid 23.5 % columns + 2 % gutter,
   vh and vw paddings) is kept as written. Tokens and shared components come from the base file. */

/* ---------- Blog list ---------- */
body.site .com-content-category-blog {
  background-color: rgb(255 255 255 / 0.8); border-radius: 12px; padding: 5%; box-sizing: border-box;
}
body.site .com-content-category-blog .category-desc { display: none; }
body.site .com-content-category-blog .page-subheader { margin: 0; padding: 0 0 9.5px; }
body.site .com-content-category-blog .page-subtitle { margin: 0; text-align: left; text-transform: none; }
body.site .com-content-category-blog__items { display: block; margin: 0; padding: 0; }

body.site .com-content-category-blog__item {
  display: flex; flex-direction: column; margin: 0; padding: 0; background-color: #fff; border-radius: 12px; min-width: 0;
}
body.site .com-content-category-blog__item .item-image { margin: 0; padding: 0; float: none; width: 100%; }
body.site .com-content-category-blog__item .item-image img {
  display: block; width: 100%; max-width: 100%; max-height: 200px; height: auto; margin: 0; padding: 0; object-fit: cover; box-shadow: none;
  border: 0; background-color: #fff; border-top-left-radius: 12px; border-top-right-radius: 12px;
}
body.site .com-content-category-blog__item .item-content { display: flex; flex-direction: column; padding: 1vh 1vw 2vh; text-align: justify; }
body.site .com-content-category-blog__item .article-info {
  order: -1; display: flow-root; width: 80%; text-align: left; margin: -15px 0 0; padding: 0; background: none; color: var(--ac-grey); font-size: 13px; line-height: 19.5px; font-style: italic;
}
body.site .com-content-category-blog__item .article-info-term { display: none; }
body.site .com-content-category-blog__item .article-info dd { float: left; margin: 0 10px 0 0; padding: 10px 0; color: var(--ac-grey); }
body.site .com-content-category-blog__item .article-info .icon-calendar { display: none; }
body.site .com-content-category-blog__item .page-header { margin: 0; padding: 0; border: 0; }
body.site .com-content-category-blog__item .page-header h2 {
  font-family: var(--ac-sans); font-size: 20px; line-height: 24px; font-weight: 700; margin: 0; text-align: left; min-height: 80px;
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-transform: none;
}
body.site .com-content-category-blog__item .page-header h2 a { font-weight: 600; color: var(--ac-navy); }
body.site .com-content-category-blog__item .page-header h2 a:hover { color: var(--ac-blue); }
body.site .com-content-category-blog__item .item-content > p:not(.readmore) {
  margin: 0 0 15px; font-size: 16px; line-height: 22.4px; text-align: justify; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
}
body.site .com-content-category-blog__item p.readmore { margin: 0; }
body.site .com-content-category-blog__item p.readmore a.btn {
  zoom: 0.8; margin: auto; background-color: var(--ac-orange); border-color: var(--ac-orange); color: #fff;
}
body.site .com-content-category-blog__item p.readmore a.btn .icon-chevron-right { display: none; }
body.site .com-content-category-blog__item p.readmore a.btn:hover { background-color: #fff; border-color: var(--ac-orange); color: var(--ac-orange); }

/* leading article: image left half, text right half */
body.site .items-leading { margin-bottom: 3vh; }
body.site .items-leading .com-content-category-blog__item { flex-direction: row; }
body.site .items-leading .com-content-category-blog__item .item-image { flex: 0 0 50%; width: 50%; }
body.site .items-leading .com-content-category-blog__item .item-image img {
  width: 98%; height: auto; max-height: none; border-top-right-radius: 0; border-bottom-left-radius: 12px;
}
body.site .items-leading .com-content-category-blog__item .item-content { flex: 0 0 50%; width: 50%; box-sizing: border-box; position: relative; padding: 4vh 2vw; }
body.site .items-leading .article-info { position: absolute; top: calc(2vh - 15px); left: 6%; right: 0; margin: 0; width: auto; font-size: 11.7px; line-height: 17.55px; }

/* four columns of the source grid: 23.5 % with a 2 % gutter; one column below the 787 px collapse */
body.site .com-content-category-blog__items.columns-4 { display: grid; grid-template-columns: 100%; row-gap: 3vh; align-items: start; margin-bottom: 3vh; }
@media (min-width: 787px) {
  body.site .com-content-category-blog__items.columns-4 { grid-template-columns: repeat(4, 23.5%); column-gap: 2%; }
}

/* pagination: round pills centred under the grid */
/* the source's pagination wrapper is a float: it sits in the panel's bottom padding instead of adding to the panel height */
body.site .com-content-category-blog__navigation { float: left; width: 100%; }
body.site .com-content-category-blog__counter { display: none; }
body.site .com-content-category-blog__pagination { margin: 0; padding: 0; }
body.site .com-content-category-blog__pagination .pagination {
  display: flex; flex-wrap: wrap; justify-content: center; width: 100%; margin: 0 auto !important; padding: 4px 0 0; list-style: none;
}
body.site .com-content-category-blog__pagination .page-item { margin: 0 0.3vw 10px 0; border-radius: 50%; list-style: none; font-size: 90%; }
body.site .com-content-category-blog__pagination .page-link {
  display: block; box-sizing: border-box; min-width: 45px; padding: 0 10px; text-align: center; border-radius: 30px; border: 1px solid var(--ac-blue);
  background-color: var(--ac-blue); color: #fff; font-size: inherit; line-height: 42px; text-decoration: none; margin: 0; border-left-width: 0;
}
body.site .com-content-category-blog__pagination .page-item:first-child .page-link { border-left-width: 1px; }
body.site .com-content-category-blog__pagination a.page-link:hover { background-color: rgb(30, 113, 172); border-color: rgb(30, 113, 172); color: #fff; }
body.site .com-content-category-blog__pagination .active .page-link { background-color: rgb(45, 57, 125); border-color: rgb(45, 57, 125); color: #fff; }
body.site .com-content-category-blog__pagination .disabled .page-link { color: rgb(30, 113, 172); }

@media (max-width: 768px) and (orientation: portrait) {
  body.site .items-leading .com-content-category-blog__item { flex-direction: column; }
  body.site .items-leading .com-content-category-blog__item .item-image,
  body.site .items-leading .com-content-category-blog__item .item-content { flex: none; width: 100%; }
  body.site .items-leading .com-content-category-blog__item .item-content { position: static; padding: 2vh 0 3vh; }
  body.site .items-leading .article-info { position: static; margin: -15px 0 1vh; font-size: 13px; line-height: normal; }
  body.site .items-leading .article-info dd { padding: 0; }
  body.site .items-leading .page-header, body.site .items-leading p.readmore { padding: 0 1vh; }
  body.site .items-leading .item-content > p:not(.readmore) { margin-left: 1vh; margin-right: 1vh; }
  body.site .items-leading .com-content-category-blog__item .item-image img { height: auto; max-height: 200px; border-top-right-radius: 12px; border-bottom-left-radius: 0; }
  body.site .com-content-category-blog__pagination .pagination { margin-bottom: 10vh !important; padding-top: 0; }
}

/* ---------- Blog article ---------- */
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) { margin: 0 auto; }
@media (min-width: 992px) { body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) { width: 66.66666667%; } }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .page-header { display: flow-root; margin: 0; padding: 0; border: 0; }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h1,
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h2 {
  margin: 50px 0 0.5rem; font-family: var(--ac-script); font-size: 35px; line-height: 35px; font-weight: 400; text-transform: none;
}
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h3,
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h3.ac-subtitle {
  margin: 0 0 0.5rem; font-family: var(--ac-script); font-size: 30px; line-height: 30px; font-weight: 400; text-transform: none;
}
@media (min-width: 992px) {
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h1,
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h2 { font-size: 47px; line-height: 47px; }
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h3,
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) h3.ac-subtitle { font-size: 37px; line-height: 47px; }
}
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .article-info { margin: 4vh 0; padding: 0; display: flow-root; background: none; color: var(--ac-navy); font-size: 1rem; line-height: 1.5em; }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .article-info-term,
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .article-info .icon-calendar { display: none; }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .article-info dd { float: left; margin: 0 10px 0 0; padding: 10px 0; color: var(--ac-navy); }
@media (min-width: 992px) { body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .article-info { line-height: 30px; } }
@media (max-width: 991px) { body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .article-info { font-size: 0.9em; } }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) time { font-family: var(--ac-sans); font-style: italic; font-weight: 600; }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .item-image { margin: 0 0 30px; padding: 0; float: none; }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .item-image img { display: block; width: auto; max-width: 100%; height: auto; border: 0; padding: 0; background: none; }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body ul,
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body blockquote {
  width: 100%; margin: 4vh 0; padding: 3vh; border: 0; border-radius: 7px; box-sizing: border-box;
}
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body ul:nth-child(3n-2),
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body blockquote:nth-child(3n-2) { background: var(--ac-cream); color: var(--ac-navy); }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body ul:nth-child(3n-1),
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body blockquote:nth-child(3n-1) { background: var(--ac-coral); color: var(--ac-cream); }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body ul:nth-child(3n),
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body blockquote:nth-child(3n) { background: var(--ac-navy); color: var(--ac-cream); }
@media (min-width: 992px) {
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body ul,
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body blockquote { font-size: 19px; line-height: 30px; }
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body ul { padding-left: 3vw; }
}
/* below 992 px the source prints a blockquote callout at twice the body size (32.3 px at 390 to 768, 38 px at 960), in italics (the 500 italic is the closest loaded face) */
@media (max-width: 991px) {
  body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body blockquote { font-size: 2em; line-height: 1.4; font-style: italic; }
}
/* the source conclusion callout: navy 2 px frame, 16 px corners, 3vh padding like the other callouts */
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body .conclusion { padding: 3vh; border: 2px solid var(--ac-navy); border-radius: 16px; box-sizing: border-box; }
/* the source headings name only the script face (no generic fallback), so a glyph it lacks (œ, °) falls back to the browser default and wraps like the source */
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body :is(h2, h3) { font-family: 'Tahu!'; }
/* the source note box (div.noteLSV in the article text) */
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body .noteLSV { border: 1px solid; border-radius: 10px; padding: 30px; }
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body .noteLSV a { font-weight: 700; }
/* the source numbered list sits 16 px in from the text edge, with no padding and no bottom margin; the template's `.com-content-article ol { overflow: hidden }` clips the outside number, so the list must not clip */
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .com-content-article__body ol { margin: 0 0 0 16px; padding: 0; overflow: visible; }
/* the source article has no previous/next navigation (Joomla 6 prints one by default) */
body.site .com-content-article.item-pageblog:not(:has(.ac-article--legal)) .pagenavigation { display: none; }

/* the source bold is 700 whatever the nesting; the browser default (bolder) turns a strong inside a strong or a bold heading into 900. Low specificity keeps the em strong rule. */
body.site :where(.com-content-article__body, .com-content-category-blog) strong { font-weight: 700; }
/* ACOREV presentation, slice C: error page (error.php), component page (component.php) and the search page.
   The error page is a standalone document: it carries no body.site, so none of the shell rules apply and its own scale is restated here. */

/* ---------- Error page (source: logo band, grey title box, four reasons) ----------
   The source asks for Montserrat 300 but only loads the 400 face, so it paints at 400: the same weight is set here. */
html.ac-error-page { width: 100%; padding-top: 60px; background: #fff; font-family: var(--ac-sans); font-weight: 300; font-size: 13px; overflow-x: clip; }
body.ac-error { margin: 0; overflow-x: clip; background: #fff; color: #000; font-family: var(--ac-sans); font-weight: 300; font-size: 13px; line-height: normal; }
body.ac-error section { display: block; max-width: 90%; margin: 0 auto; text-align: center; }
body.ac-error .zen-row { margin: 0 -20px; }
body.ac-error .zen-container { width: 600px; max-width: 80%; margin: 0 auto; padding: 0; }
body.ac-error .zg-col { float: left; width: 100%; box-sizing: border-box; margin-bottom: 0; }
body.ac-error p { margin: 0 0 30px; font-size: 13px; line-height: 1.71428571; font-weight: 300; color: #333; text-align: center; }
body.ac-error a { color: #2980b9; text-decoration: none; transition: all 0.2s ease-in; }
body.ac-error #logowrap img { max-width: 100%; height: auto; vertical-align: middle; }
body.ac-error h1, body.ac-error h3 { font-family: var(--ac-sans); font-weight: 300; color: #333; text-align: center; word-break: break-word; }
body.ac-error h1 { margin: 10px 0; font-size: 39px; line-height: 1.42857143; }
body.ac-error h3 { margin: 10px 0; font-size: 20.8px; line-height: 2; }
body.ac-error .padding-style { float: left; width: 100%; box-sizing: border-box; background: #f9f9f9; border: 1px solid #eee; padding: 45px; margin-bottom: 20px; }
body.ac-error ul { margin: 0 0 30px 16px; padding: 0; text-align: left; color: #000; }
body.ac-error li { box-sizing: border-box; font-weight: 300; }
body.ac-error .divider { clear: both; border-bottom: 1px solid #e6e6e6; }
body.ac-error .divider::before, body.ac-error .divider::after { content: ' '; display: table; }
body.ac-error .divider::after { clear: both; }
body.ac-error #searchbox { float: left; width: 100%; margin: 40px auto; }
body.ac-error label { display: block; margin-bottom: 4px; font-weight: 400; cursor: pointer; }
body.ac-error input { box-sizing: border-box; margin: 0; padding: 6px 12px; font: inherit; line-height: 2em; background: #fff; color: #666; border: 1px solid #e6e6e6; }
body.ac-error input:hover { background: #f3f3f3; }
body.ac-error #searchbox input { float: left; width: 75%; margin-bottom: 20px; }
@media (max-width: 787px) { body.ac-error #searchbox input { width: 100%; } }
/* the source 404 page loads the regular Montserrat face only, so its bold is the browser's synthetic bold of that face (narrower than the real 700 face loaded elsewhere) */
@font-face { font-family: 'Montserrat Regular'; src: url(../fonts/montserrat-400-latin-ext.woff2) format('woff2'); font-weight: 400; font-style: normal;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat Regular'; src: url(../fonts/montserrat-400-latin.woff2) format('woff2'); font-weight: 400; font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
body.ac-error strong { font-family: 'Montserrat Regular', var(--ac-sans); font-weight: 700; }

/* ---------- Component page (?tmpl=component): the theme alone, the component output as the page ---------- */
body.contentpane.modal { margin: 0; font-family: var(--ac-sans); font-size: 1rem; font-weight: 400; line-height: 1.5; color: var(--ac-navy); background: transparent; }

/* ---------- Search page (Smart Search on /recherche; source: com_search "searchblog") ---------- */
body.site .com-finder { color: var(--ac-navy); }
body.site .com-finder .com-finder__search-legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.site .com-finder fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
/* the source form ends with a 30 px margin; the core fieldset carries Bootstrap mb-3 (19 px, !important) */
body.site .com-finder fieldset.mb-3 { margin-bottom: 30px !important; }
body.site .com-finder .form-inline > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.site .com-finder .form-inline { display: block; }
body.site .com-finder .input-group { display: flex; flex-wrap: wrap; align-items: flex-start; width: 100%; margin: 0; }
body.site .com-finder .input-group .awesomplete { display: block; flex: 1 1 300px; min-width: 0; margin-bottom: 30px; }
body.site .com-finder .input-group .awesomplete .form-control { width: 100%; }
body.site .com-finder .input-group .form-control {
  flex: 1 1 auto; min-width: 0; max-width: none; height: 44.8px; padding: 6px 12px; box-sizing: border-box; font: inherit; font-size: 16px; line-height: 1.2;
  background: #fff; color: var(--ac-navy); border: 1px solid #f7d1cb; border-radius: 12px 0 0 12px;
}
body.site .com-finder .input-group .btn {
  margin: 0 10px 10px -1px; padding: 10px; font-size: 19px; line-height: 1.5; color: #fff; background-color: var(--ac-blue); border: 1px solid var(--ac-blue); border-radius: 0;
}
body.site .com-finder .com-finder__form { margin-top: 0; }
body.site .com-finder .input-group .btn .icon-search { display: none; }
body.site .com-finder .input-group .btn:hover { background-color: rgb(30, 113, 172); border-color: rgb(30, 113, 172); color: #fff; }
body.site .com-finder__explained p { margin: 0 0 10px; font-size: 19px; line-height: 26.6px; }
body.site .com-finder__explained a { color: var(--ac-navy); text-decoration: underline; }
body.site .com-finder .sorting { margin: 0 0 30px; }
body.site .com-finder .sorting label { display: inline-block; margin-right: 4px; font-size: 17.1px; font-weight: 400; }
body.site .com-finder .sorting .btn {
  height: 42px; padding: 0 12px; font-size: 19px; color: var(--ac-navy); background: #fff; border: 1px solid #f7d1cb; border-radius: 12px;
}
body.site .com-finder .sorting .dropdown-menu { padding: 4px 0; background: #fff; border: 1px solid #f7d1cb; border-radius: 12px; }
body.site .com-finder .sorting .dropdown-item { padding: 4px 12px; font-size: 17.1px; color: var(--ac-navy); }
body.site .com-finder .sorting .dropdown-item:hover,
body.site .com-finder .sorting .sorting__list-li-active .dropdown-item { background: var(--ac-cream); color: var(--ac-navy); }

body.site .com-finder__results-list { display: block; margin: 0 0 30px; padding: 0; list-style: none; }
body.site .com-finder__results-list .result__item { display: flex; flex-direction: column; margin: 0; padding: 10px 0; border: 0; list-style: none; }
body.site .com-finder__results-list .result__title { order: 0; margin: 0 0 9.4px; font-size: 24.7px; line-height: 34.58px; font-weight: 700; }
body.site .com-finder__results-list .result__title-link { color: var(--ac-navy); text-decoration: none; }
body.site .com-finder__results-list .result__title-link:hover,
body.site .com-finder__results-list .result__title-link:focus-visible { color: var(--ac-blue); text-decoration: none; }
body.site .com-finder__results-list .result__taxonomy { order: 1; margin: 0 0 15px; padding: 0; list-style: none; font-size: 19px; line-height: 26.6px; }
body.site .com-finder__results-list .result__taxonomy-item { display: none; }
body.site .com-finder__results-list .result__taxonomy--Category { display: flex; }
body.site .com-finder__results-list .result__taxonomy--Category span { display: none; }
body.site .com-finder__results-list .result__taxonomy--Category::before { content: '('; }
body.site .com-finder__results-list .result__taxonomy--Category::after { content: ')'; }
body.site .com-finder__results-list .result__description { order: 2; margin: 0; font-size: 19px; line-height: 26.6px; }
body.site .com-finder .highlight, body.site .com-finder mark { padding: 0; background: rgb(255, 196, 13); color: inherit; font: inherit; }
body.site .com-finder__empty h2 { margin: 0 0 15px; font-size: 24.7px; line-height: 34.58px; font-weight: 700; }
body.site .com-finder__empty p { font-size: 19px; line-height: 26.6px; }
body.site .com-finder__navigation { margin-bottom: 30px; }

/* below the source's 787 px collapse the search page drops to 0.85 of the base size */
@media (max-width: 787px) {
  body.site .com-finder__explained p, body.site .com-finder__results-list .result__taxonomy, body.site .com-finder__results-list .result__description,
  body.site .com-finder__empty p { font-size: 16.15px; line-height: 22.6px; }
  body.site .com-finder__results-list .result__title, body.site .com-finder__empty h2 { font-size: 21px; line-height: 29.4px; }
}

/* page title of the search page (source h1.page-title) */
body.site .com-finder > h1 {
  margin: 0 0 25.46px; padding: 0; font-family: var(--ac-sans); font-size: 38px; line-height: 53.2px; font-weight: 700; text-transform: none; color: var(--ac-navy);
}
@media (max-width: 787px) { body.site .com-finder > h1 { margin-bottom: 21.64px; font-size: 32.3px; line-height: 45.22px; } }

/* ---------- Header search form (source: one outlined field, no button; Enter submits) ---------- */
body.site .searcH .mod-finder__search { display: block; width: 100%; }
body.site .searcH .mod-finder__search .awesomplete { display: block; width: 100%; }
body.site .searcH .mod-finder__search .form-control {
  display: block; width: 100%; max-width: none; height: 44.75px; box-sizing: border-box; margin: 0; padding: 7.125px 14.25px; font-family: var(--ac-sans); font-size: 19px; font-weight: 400; line-height: 28.5px;
  color: var(--ac-navy); background: transparent; border: 1px solid var(--ac-navy); border-radius: 50px !important; box-shadow: none;
}
body.site .searcH .mod-finder__search .form-control::placeholder { color: var(--ac-navy); opacity: 1; }
body.site .searcH .mod-finder__search .btn { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); border: 0; white-space: nowrap; }
