:root {
  --ws--bg-color: #4517cf;
  --ws--text-color: #fae2d2;
  --space--padding: clamp(.25rem, .25rem + 0vw, .25rem);
  --font--display: clamp(1.8rem, 1.248rem + 2.76vw, 3.73rem);
  --ws--heading-color: #f97c52;
  --ws--accent-color: #80daa0;
  --font--h2: clamp(1.59rem, 1.492rem + .49vw, 1.93rem);
  --font--text-main: clamp(.96rem, .892rem + .34vw, 1.2rem);
  --site--width: 65rem;
  --site--margin: clamp(1rem, .428rem + 2.86vw, 3rem);
  --space--gap: clamp(.96rem, .882rem + .39vw, 1.23rem);
  --space--logo-width: clamp(5.25rem, 4.036rem + 6.07vw, 9.5rem);
  --font--h3: clamp(1.26rem, 1.222rem + .19vw, 1.39rem);
  --font--text-small: clamp(.83rem, .792rem + .19vw, .96rem);
  --space--section: clamp(2.64rem, 2.228rem + 2.06vw, 4.08rem);
  --font--text-large: clamp(1.1rem, .986rem + .57vw, 1.5rem);
  --space--arrows: clamp(2.5rem, 2.072rem + 2.14vw, 4rem);
  --font--h1: clamp(2rem, 1.802rem + .99vw, 2.69rem);
}

body {
  background-color: var(--ws--bg-color);
  color: var(--ws--text-color);
  text-wrap: pretty;
  font-family: Bricolage Grotesque, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

h1 {
  margin-top: 0;
  margin-bottom: var(--space--padding);
  color: var(--ws--text-color);
  font-family: Anton, sans-serif;
  font-size: var(--font--display);
  text-transform: uppercase;
  text-shadow: none;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--ws--heading-color);
  text-decoration-color: var(--ws--heading-color);
  font-weight: 400;
  line-height: 1.2;
  text-decoration-style: double;
}

h2 {
  background-color: var(--ws--accent-color);
  color: var(--ws--bg-color);
  font-family: Anton, sans-serif;
  font-size: var(--font--h2);
  margin-top: 1em;
  margin-bottom: .5em;
  font-weight: 700;
  line-height: 1.2;
}

h3 {
  font-size: var(--font--h2);
  text-wrap: balance;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 30px;
}

p {
  font-size: var(--font--text-main);
  max-width: 60ch;
  margin-bottom: .5em;
  font-weight: 800;
  line-height: 1.5;
}

a {
  text-decoration: underline;
}

ul {
  font-size: var(--font--text-main);
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
  line-height: 1.2;
}

img {
  max-width: 100%;
  display: inline-block;
}

strong {
  font-weight: bold;
}

.heading {
  text-shadow: -1.5px 1.5px 0 var(--ws--text-color), -.5px .5px 0 var(--ws--text-color), -2px 2px 0 var(--ws--text-color), -1px 1px 0 var(--ws--text-color);
}

.no-shadow {
  text-shadow: none;
}

.wrapper {
  max-width: calc(min(100%, var(--site--width))  - var(--site--margin) * 2);
  margin-left: auto;
  margin-right: auto;
}

.code-responsive {
  display: none;
}

.nav {
  padding-top: var(--space--gap);
  padding-bottom: var(--space--padding);
}

.content {
  grid-column-gap: var(--space--gap);
  grid-row-gap: var(--space--gap);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.content.vert {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.content.footer {
  justify-content: center;
  align-items: center;
}

.logo_div {
  aspect-ratio: 1;
  justify-content: center;
  align-self: center;
  align-items: center;
  display: flex;
}

.head_textdiv {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.heading-2 {
  font-size: var(--font--display);
}

.logo {
  width: var(--space--logo-width);
  min-width: 5.25rem;
}

.sub-heading_text {
  margin-top: var(--space--padding);
  color: var(--ws--text-color);
  font-size: var(--font--h3);
  font-weight: 800;
  line-height: 1.4;
}

.highlight {
  background-color: var(--ws--accent-color);
  color: var(--ws--bg-color);
}

.highlight.cap {
  text-transform: uppercase;
}

.section {
  padding-top: var(--space--section);
  padding-bottom: var(--space--section);
}

.section.pacte {
  background-color: var(--ws--text-color);
  color: var(--ws--bg-color);
}

.section.cta {
  background-color: var(--ws--heading-color);
}

.section.footer {
  padding-top: var(--space--gap);
  padding-bottom: var(--space--gap);
}

.underline_double {
  text-transform: uppercase;
  text-underline-offset: .1em;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--ws--heading-color);
  text-decoration-color: var(--ws--heading-color);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-position: auto;
  text-decoration-style: double;
  text-decoration-thickness: 2px;
}

.underline_double.bold {
  font-size: var(--font--text-large);
  font-weight: 800;
}

.underline_double.light {
  -webkit-text-decoration-color: var(--ws--text-color);
  text-decoration-color: var(--ws--text-color);
}

.underline_double.lower {
  text-transform: none;
}

.text-block {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.cta_block {
  grid-column-gap: var(--space--gap);
  grid-row-gap: var(--space--gap);
  display: flex;
}

.cta_btn {
  border: 2px solid var(--ws--heading-color);
  background-color: var(--ws--heading-color);
  box-shadow: 4px 4px 0 0 var(--ws--accent-color);
  color: var(--ws--bg-color);
  font-family: Bricolage Grotesque, sans-serif;
  font-size: var(--font--text-main);
  text-transform: uppercase;
  align-self: flex-start;
  font-weight: 800;
  line-height: 1.4;
  transition: box-shadow .4s, transform .4s;
}

.cta_btn:hover {
  box-shadow: 0 0 0 0 var(--ws--accent-color);
  transform: translate(4px, 4px);
}

.cta_btn.secondary {
  border: 2px solid var(--ws--heading-color);
  background-color: var(--ws--bg-color);
  color: var(--ws--text-color);
  text-transform: none;
  align-self: flex-start;
}

.cta_btn.secondary.display-sign {
  font-size: var(--font--text-small);
  margin-top: -1rem;
  font-weight: 400;
  line-height: 1.2;
}

.cta_btn.alt {
  border-color: var(--ws--bg-color);
  background-color: var(--ws--bg-color);
  color: var(--ws--text-color);
  align-self: flex-start;
}

.slider_exemples {
  background-color: #0000;
  width: 100%;
  height: auto;
}

.slide_div {
  padding-right: var(--space--arrows);
  padding-left: var(--space--arrows);
  grid-column-gap: var(--space--gap);
  grid-row-gap: var(--space--gap);
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  display: flex;
}

.slide_photo-div {
  object-fit: contain;
}

.icon-arrow {
  color: var(--ws--accent-color);
}

.slide_nav {
  color: var(--ws--heading-color);
}

.css-mask {
  display: none;
}

.demande_div {
  padding-right: var(--space--gap);
  padding-left: var(--space--gap);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.arrow {
  width: var(--space--arrows);
}

.demande-ex_text {
  font-size: var(--font--text-large);
  font-weight: 400;
  line-height: 1.3;
}

.h2-pacte {
  color: var(--ws--bg-color);
  background-color: #0000;
  max-width: 60ch;
}

.pacte_text p {
  max-width: 70ch;
  font-weight: 400;
}

.p-pacte {
  max-width: 65ch;
  font-weight: 400;
}

.engagement_main {
  margin-top: var(--space--gap);
  flex-flow: column;
  width: 100%;
  max-width: 60rem;
  display: flex;
}

.engagement_head-block {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 6fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.engagement_grid-div {
  outline-color: var(--ws--heading-color);
  outline-offset: -1px;
  outline-width: 2px;
  outline-style: solid;
  justify-content: center;
  align-items: center;
  padding: .5em 1em;
  display: flex;
}

.engagement_grid-div.plus {
  cursor: pointer;
  position: relative;
}

.engagement_grid-div.plus:hover {
  outline-offset: -1.5px;
  outline-width: 3px;
}

.engagement_grid-div.nolines {
  outline-color: var(--ws--heading-color);
  outline-offset: 0px;
  outline-width: 0;
  outline-style: none;
}

.engagement_grid-div.nolines.left, .engagement_grid-div.left {
  justify-content: flex-start;
  align-items: center;
}

.engagement_head-count {
  font-size: var(--font--display);
  font-weight: 800;
  line-height: 1.2;
}

.plusbar {
  background-color: var(--ws--heading-color);
  width: 3rem;
  height: .5rem;
  transition: transform .5s;
  position: absolute;
}

.plusbar.flip {
  transform: rotate(90deg);
}

.plusbar.flip.open {
  transform: rotate(135deg);
}

.plusbar.noflip.open {
  transform: rotate(-45deg);
}

.plusbar_div {
  justify-content: center;
  align-items: center;
  transition: transform .5s;
  display: flex;
}

.plusbar_div.open {
  transform: rotate(-135deg);
}

.engagement_bullet-main {
  margin-top: var(--space--gap);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.engagement_bullet-main.close {
  transform: translate(0, -120%);
}

.engagement_bullet-div {
  grid-template-rows: auto;
  grid-template-columns: 1fr 6fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: .2em;
  display: grid;
}

.bullet {
  width: 2rem;
}

.p-engag {
  font-size: var(--font--text-small);
  max-width: none;
  margin-bottom: 0;
  font-weight: 400;
}

.engagement_content-wrapper {
  height: 0;
  overflow: hidden;
}

.engagement_content-wrapper.open {
  height: auto;
}

.h2-cta {
  background-color: var(--ws--heading-color);
  color: var(--ws--bg-color);
  text-wrap: balance;
}

.rt-sign h3 {
  font-size: var(--font--h3);
  margin-top: 1em;
  margin-bottom: .5em;
  line-height: 1.2;
}

.rt-sign ul {
  font-size: var(--font--text-small);
  margin-bottom: .25em;
  padding-left: 2em;
  line-height: 1.4;
  list-style-type: square;
}

.rt-sign.perso {
  height: 0;
  overflow: hidden;
}

.rt-sign.perso.open {
  height: auto;
}

.rt-sign.perso.open p {
  font-size: var(--font--text-small);
  font-weight: 400;
  line-height: 1.4;
}

.rt-sign.perso.open a {
  color: var(--ws--heading-color);
}

.rt-sign.pol {
  height: 0;
  overflow: hidden;
}

.rt-sign.pol.open {
  height: auto;
}

.rt-sign.pol.open p {
  font-size: var(--font--text-small);
  font-weight: 400;
  line-height: 1.4;
}

.rt-sign.pol.open a {
  color: var(--ws--heading-color);
}

.ml-link {
  color: var(--ws--text-color);
  font-weight: 800;
}

.footer-text {
  font-size: var(--font--text-small);
  line-height: 1.2;
}

.text-appelfinal {
  color: var(--ws--accent-color);
  font-family: Anton, sans-serif;
  font-size: var(--font--display);
  text-align: center;
  line-height: 1.2;
}

.rs_div {
  margin-top: var(--space--section);
}

.links-rs {
  color: var(--ws--heading-color);
  font-size: var(--font--text-large);
  text-transform: uppercase;
  font-weight: 800;
  text-decoration: none;
}

.rt-mentionslegales p {
  font-size: var(--font--text-small);
  font-weight: 400;
}

.link-don {
  background-color: var(--ws--heading-color);
  color: var(--ws--bg-color);
  -webkit-text-decoration: underline double;
  text-decoration: underline double;
}

.name-citation {
  color: var(--ws--text-color);
  font-size: var(--font--text-main);
  font-weight: 800;
}

.quotes {
  width: var(--font--h1);
  height: var(--font--h1);
  background-image: url('../images/pactelyonrespire-quotes.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: auto;
  margin-bottom: .5em;
}

.quotes.right {
  align-self: flex-end;
  margin-top: -2rem;
  margin-bottom: 0;
  transform: rotate(180deg);
}

.p-sign {
  color: var(--ws--bg-color);
  font-weight: 400;
}

.contact-button {
  margin-top: var(--space--section);
  color: var(--ws--heading-color);
  font-size: var(--font--text-main);
  margin-left: auto;
  margin-right: auto;
  font-weight: 800;
  text-decoration: none;
}

.space-before {
  margin-top: var(--space--section);
}

.p-head {
  font-weight: 400;
}

.div-buttons {
  grid-column-gap: var(--space--gap);
  grid-row-gap: var(--space--gap);
  flex-flow: wrap;
  display: flex;
}

@media screen and (max-width: 479px) {
  h3 {
    font-size: 1.4rem;
    line-height: 1.1;
  }

  .sub-heading_text {
    font-size: var(--font--text-small);
    line-height: 1.1;
  }

  .cta_block {
    flex-flow: column;
  }

  .plusbar {
    width: 2.5rem;
  }

  .engagement_bullet-div {
    grid-template-columns: 1fr 6fr 1fr;
  }
}


