@charset "UTF-8";
:root {
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
}

.o-container,
.o-container-wide,
.o-container-fluid,
.o-container-block {
  width: 100%;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.o-container {
  max-width: var(--wp--style--global--content-size, 1440px);
}

.o-container-wide {
  max-width: var(--wp--style--global--wide-size, 1440px);
}

.o-container-fluid {
  max-width: 100%;
}

.o-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gap, var(--wp--preset--spacing--regular, 40px));
  width: 100%;
}

.o-col {
  min-width: 0;
  grid-column: span 12;
}

.o-col-1 {
  grid-column: span 1;
}

.o-col-2 {
  grid-column: span 2;
}

.o-col-3 {
  grid-column: span 3;
}

.o-col-4 {
  grid-column: span 4;
}

.o-col-5 {
  grid-column: span 5;
}

.o-col-6 {
  grid-column: span 6;
}

.o-col-7 {
  grid-column: span 7;
}

.o-col-8 {
  grid-column: span 8;
}

.o-col-9 {
  grid-column: span 9;
}

.o-col-10 {
  grid-column: span 10;
}

.o-col-11 {
  grid-column: span 11;
}

.o-col-12 {
  grid-column: span 12;
}

@media (min-width: 576px) {
  .o-col-sm-1 {
    grid-column: span 1;
  }
  .o-col-sm-2 {
    grid-column: span 2;
  }
  .o-col-sm-3 {
    grid-column: span 3;
  }
  .o-col-sm-4 {
    grid-column: span 4;
  }
  .o-col-sm-5 {
    grid-column: span 5;
  }
  .o-col-sm-6 {
    grid-column: span 6;
  }
  .o-col-sm-7 {
    grid-column: span 7;
  }
  .o-col-sm-8 {
    grid-column: span 8;
  }
  .o-col-sm-9 {
    grid-column: span 9;
  }
  .o-col-sm-10 {
    grid-column: span 10;
  }
  .o-col-sm-11 {
    grid-column: span 11;
  }
  .o-col-sm-12 {
    grid-column: span 12;
  }
}
@media (min-width: 768px) {
  .o-col-md-1 {
    grid-column: span 1;
  }
  .o-col-md-2 {
    grid-column: span 2;
  }
  .o-col-md-3 {
    grid-column: span 3;
  }
  .o-col-md-4 {
    grid-column: span 4;
  }
  .o-col-md-5 {
    grid-column: span 5;
  }
  .o-col-md-6 {
    grid-column: span 6;
  }
  .o-col-md-7 {
    grid-column: span 7;
  }
  .o-col-md-8 {
    grid-column: span 8;
  }
  .o-col-md-9 {
    grid-column: span 9;
  }
  .o-col-md-10 {
    grid-column: span 10;
  }
  .o-col-md-11 {
    grid-column: span 11;
  }
  .o-col-md-12 {
    grid-column: span 12;
  }
}
@media (min-width: 992px) {
  .o-col-lg-1 {
    grid-column: span 1;
  }
  .o-col-lg-2 {
    grid-column: span 2;
  }
  .o-col-lg-3 {
    grid-column: span 3;
  }
  .o-col-lg-4 {
    grid-column: span 4;
  }
  .o-col-lg-5 {
    grid-column: span 5;
  }
  .o-col-lg-6 {
    grid-column: span 6;
  }
  .o-col-lg-7 {
    grid-column: span 7;
  }
  .o-col-lg-8 {
    grid-column: span 8;
  }
  .o-col-lg-9 {
    grid-column: span 9;
  }
  .o-col-lg-10 {
    grid-column: span 10;
  }
  .o-col-lg-11 {
    grid-column: span 11;
  }
  .o-col-lg-12 {
    grid-column: span 12;
  }
}
@media (min-width: 1200px) {
  .o-col-xl-1 {
    grid-column: span 1;
  }
  .o-col-xl-2 {
    grid-column: span 2;
  }
  .o-col-xl-3 {
    grid-column: span 3;
  }
  .o-col-xl-4 {
    grid-column: span 4;
  }
  .o-col-xl-5 {
    grid-column: span 5;
  }
  .o-col-xl-6 {
    grid-column: span 6;
  }
  .o-col-xl-7 {
    grid-column: span 7;
  }
  .o-col-xl-8 {
    grid-column: span 8;
  }
  .o-col-xl-9 {
    grid-column: span 9;
  }
  .o-col-xl-10 {
    grid-column: span 10;
  }
  .o-col-xl-11 {
    grid-column: span 11;
  }
  .o-col-xl-12 {
    grid-column: span 12;
  }
}
@media (min-width: 1400px) {
  .o-col-xxl-1 {
    grid-column: span 1;
  }
  .o-col-xxl-2 {
    grid-column: span 2;
  }
  .o-col-xxl-3 {
    grid-column: span 3;
  }
  .o-col-xxl-4 {
    grid-column: span 4;
  }
  .o-col-xxl-5 {
    grid-column: span 5;
  }
  .o-col-xxl-6 {
    grid-column: span 6;
  }
  .o-col-xxl-7 {
    grid-column: span 7;
  }
  .o-col-xxl-8 {
    grid-column: span 8;
  }
  .o-col-xxl-9 {
    grid-column: span 9;
  }
  .o-col-xxl-10 {
    grid-column: span 10;
  }
  .o-col-xxl-11 {
    grid-column: span 11;
  }
  .o-col-xxl-12 {
    grid-column: span 12;
  }
}
.o-col-auto {
  grid-column: auto;
}

.o-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--grid-gap, 1.5rem);
}

.o-align-start {
  align-items: flex-start;
}

.o-align-center {
  align-items: center;
}

.o-align-end {
  align-items: flex-end;
}

.o-justify-center {
  justify-content: center;
}

.o-justify-between {
  justify-content: space-between;
}

.o-gap-tiny {
  gap: var(--wp--preset--spacing--tiny, 10px);
}

.o-gap-x-tiny {
  column-gap: var(--wp--preset--spacing--tiny, 10px);
}

.o-gap-y-tiny {
  row-gap: var(--wp--preset--spacing--tiny, 10px);
}

.o-gap-x-small {
  gap: var(--wp--preset--spacing--x-small, 20px);
}

.o-gap-x-x-small {
  column-gap: var(--wp--preset--spacing--x-small, 20px);
}

.o-gap-y-x-small {
  row-gap: var(--wp--preset--spacing--x-small, 20px);
}

.o-gap-small {
  gap: var(--wp--preset--spacing--small, 30px);
}

.o-gap-x-small {
  column-gap: var(--wp--preset--spacing--small, 30px);
}

.o-gap-y-small {
  row-gap: var(--wp--preset--spacing--small, 30px);
}

.o-gap-regular {
  gap: var(--wp--preset--spacing--regular, 40px);
}

.o-gap-x-regular {
  column-gap: var(--wp--preset--spacing--regular, 40px);
}

.o-gap-y-regular {
  row-gap: var(--wp--preset--spacing--regular, 40px);
}

.o-gap-large {
  gap: var(--wp--preset--spacing--large, 60px);
}

.o-gap-x-large {
  column-gap: var(--wp--preset--spacing--large, 60px);
}

.o-gap-y-large {
  row-gap: var(--wp--preset--spacing--large, 60px);
}

.o-gap-x-large {
  gap: var(--wp--preset--spacing--x-large, 80px);
}

.o-gap-x-x-large {
  column-gap: var(--wp--preset--spacing--x-large, 80px);
}

.o-gap-y-x-large {
  row-gap: var(--wp--preset--spacing--x-large, 80px);
}

.o-gap-xx-large {
  gap: var(--wp--preset--spacing--xx-large, 100px);
}

.o-gap-x-xx-large {
  column-gap: var(--wp--preset--spacing--xx-large, 100px);
}

.o-gap-y-xx-large {
  row-gap: var(--wp--preset--spacing--xx-large, 100px);
}

@media (max-width: 576px) {
  .o-grid {
    column-gap: 20px;
  }
}
.o-m-0, .o-m-0 {
  margin: 0;
}

.o-m-1, .o-m-1 {
  margin: 0.5rem;
}

.o-m-2, .o-m-2 {
  margin: 1rem;
}

.o-m-3, .o-m-3 {
  margin: 1.5rem;
}

.o-m-4, .o-m-4 {
  margin: 2rem;
}

.o-m-5, .o-m-5 {
  margin: 3rem;
}

.o-m-t-0, .o-mt-0 {
  margin-top: 0;
}

.o-m-t-1, .o-mt-1 {
  margin-top: 0.5rem;
}

.o-m-t-2, .o-mt-2 {
  margin-top: 1rem;
}

.o-m-t-3, .o-mt-3 {
  margin-top: 1.5rem;
}

.o-m-t-4, .o-mt-4 {
  margin-top: 2rem;
}

.o-m-t-5, .o-mt-5 {
  margin-top: 3rem;
}

.o-m-b-0, .o-mb-0 {
  margin-bottom: 0;
}

.o-m-b-1, .o-mb-1 {
  margin-bottom: 0.5rem;
}

.o-m-b-2, .o-mb-2 {
  margin-bottom: 1rem;
}

.o-m-b-3, .o-mb-3 {
  margin-bottom: 1.5rem;
}

.o-m-b-4, .o-mb-4 {
  margin-bottom: 2rem;
}

.o-m-b-5, .o-mb-5 {
  margin-bottom: 3rem;
}

.o-m-s-0, .o-ms-0 {
  margin-inline-start: 0;
}

.o-m-s-1, .o-ms-1 {
  margin-inline-start: 0.5rem;
}

.o-m-s-2, .o-ms-2 {
  margin-inline-start: 1rem;
}

.o-m-s-3, .o-ms-3 {
  margin-inline-start: 1.5rem;
}

.o-m-s-4, .o-ms-4 {
  margin-inline-start: 2rem;
}

.o-m-s-5, .o-ms-5 {
  margin-inline-start: 3rem;
}

.o-m-e-0, .o-me-0 {
  margin-inline-end: 0;
}

.o-m-e-1, .o-me-1 {
  margin-inline-end: 0.5rem;
}

.o-m-e-2, .o-me-2 {
  margin-inline-end: 1rem;
}

.o-m-e-3, .o-me-3 {
  margin-inline-end: 1.5rem;
}

.o-m-e-4, .o-me-4 {
  margin-inline-end: 2rem;
}

.o-m-e-5, .o-me-5 {
  margin-inline-end: 3rem;
}

.o-m-x-0, .o-mx-0 {
  margin-inline-start: 0;
  margin-inline-end: 0;
}

.o-m-x-1, .o-mx-1 {
  margin-inline-start: 0.5rem;
  margin-inline-end: 0.5rem;
}

.o-m-x-2, .o-mx-2 {
  margin-inline-start: 1rem;
  margin-inline-end: 1rem;
}

.o-m-x-3, .o-mx-3 {
  margin-inline-start: 1.5rem;
  margin-inline-end: 1.5rem;
}

.o-m-x-4, .o-mx-4 {
  margin-inline-start: 2rem;
  margin-inline-end: 2rem;
}

.o-m-x-5, .o-mx-5 {
  margin-inline-start: 3rem;
  margin-inline-end: 3rem;
}

.o-m-y-0, .o-my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.o-m-y-1, .o-my-1 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.o-m-y-2, .o-my-2 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.o-m-y-3, .o-my-3 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.o-m-y-4, .o-my-4 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.o-m-y-5, .o-my-5 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.o-p-0, .o-p-0 {
  padding: 0;
}

.o-p-1, .o-p-1 {
  padding: 0.5rem;
}

.o-p-2, .o-p-2 {
  padding: 1rem;
}

.o-p-3, .o-p-3 {
  padding: 1.5rem;
}

.o-p-4, .o-p-4 {
  padding: 2rem;
}

.o-p-5, .o-p-5 {
  padding: 3rem;
}

.o-p-t-0, .o-pt-0 {
  padding-top: 0;
}

.o-p-t-1, .o-pt-1 {
  padding-top: 0.5rem;
}

.o-p-t-2, .o-pt-2 {
  padding-top: 1rem;
}

.o-p-t-3, .o-pt-3 {
  padding-top: 1.5rem;
}

.o-p-t-4, .o-pt-4 {
  padding-top: 2rem;
}

.o-p-t-5, .o-pt-5 {
  padding-top: 3rem;
}

.o-p-b-0, .o-pb-0 {
  padding-bottom: 0;
}

.o-p-b-1, .o-pb-1 {
  padding-bottom: 0.5rem;
}

.o-p-b-2, .o-pb-2 {
  padding-bottom: 1rem;
}

.o-p-b-3, .o-pb-3 {
  padding-bottom: 1.5rem;
}

.o-p-b-4, .o-pb-4 {
  padding-bottom: 2rem;
}

.o-p-b-5, .o-pb-5 {
  padding-bottom: 3rem;
}

.o-p-s-0, .o-ps-0 {
  padding-inline-start: 0;
}

.o-p-s-1, .o-ps-1 {
  padding-inline-start: 0.5rem;
}

.o-p-s-2, .o-ps-2 {
  padding-inline-start: 1rem;
}

.o-p-s-3, .o-ps-3 {
  padding-inline-start: 1.5rem;
}

.o-p-s-4, .o-ps-4 {
  padding-inline-start: 2rem;
}

.o-p-s-5, .o-ps-5 {
  padding-inline-start: 3rem;
}

.o-p-e-0, .o-pe-0 {
  padding-inline-end: 0;
}

.o-p-e-1, .o-pe-1 {
  padding-inline-end: 0.5rem;
}

.o-p-e-2, .o-pe-2 {
  padding-inline-end: 1rem;
}

.o-p-e-3, .o-pe-3 {
  padding-inline-end: 1.5rem;
}

.o-p-e-4, .o-pe-4 {
  padding-inline-end: 2rem;
}

.o-p-e-5, .o-pe-5 {
  padding-inline-end: 3rem;
}

.o-p-x-0, .o-px-0 {
  padding-inline-start: 0;
  padding-inline-end: 0;
}

.o-p-x-1, .o-px-1 {
  padding-inline-start: 0.5rem;
  padding-inline-end: 0.5rem;
}

.o-p-x-2, .o-px-2 {
  padding-inline-start: 1rem;
  padding-inline-end: 1rem;
}

.o-p-x-3, .o-px-3 {
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;
}

.o-p-x-4, .o-px-4 {
  padding-inline-start: 2rem;
  padding-inline-end: 2rem;
}

.o-p-x-5, .o-px-5 {
  padding-inline-start: 3rem;
  padding-inline-end: 3rem;
}

.o-p-y-0, .o-py-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.o-p-y-1, .o-py-1 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.o-p-y-2, .o-py-2 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.o-p-y-3, .o-py-3 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.o-p-y-4, .o-py-4 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.o-p-y-5, .o-py-5 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

@media (min-width: 576px) {
  .o-m-sm-0, .o-m-sm-0 {
    margin: 0;
  }
  .o-m-sm-1, .o-m-sm-1 {
    margin: 0.5rem;
  }
  .o-m-sm-2, .o-m-sm-2 {
    margin: 1rem;
  }
  .o-m-sm-3, .o-m-sm-3 {
    margin: 1.5rem;
  }
  .o-m-sm-4, .o-m-sm-4 {
    margin: 2rem;
  }
  .o-m-sm-5, .o-m-sm-5 {
    margin: 3rem;
  }
  .o-m-t-sm-0, .o-mt-sm-0 {
    margin-top: 0;
  }
  .o-m-t-sm-1, .o-mt-sm-1 {
    margin-top: 0.5rem;
  }
  .o-m-t-sm-2, .o-mt-sm-2 {
    margin-top: 1rem;
  }
  .o-m-t-sm-3, .o-mt-sm-3 {
    margin-top: 1.5rem;
  }
  .o-m-t-sm-4, .o-mt-sm-4 {
    margin-top: 2rem;
  }
  .o-m-t-sm-5, .o-mt-sm-5 {
    margin-top: 3rem;
  }
  .o-m-b-sm-0, .o-mb-sm-0 {
    margin-bottom: 0;
  }
  .o-m-b-sm-1, .o-mb-sm-1 {
    margin-bottom: 0.5rem;
  }
  .o-m-b-sm-2, .o-mb-sm-2 {
    margin-bottom: 1rem;
  }
  .o-m-b-sm-3, .o-mb-sm-3 {
    margin-bottom: 1.5rem;
  }
  .o-m-b-sm-4, .o-mb-sm-4 {
    margin-bottom: 2rem;
  }
  .o-m-b-sm-5, .o-mb-sm-5 {
    margin-bottom: 3rem;
  }
  .o-m-s-sm-0, .o-ms-sm-0 {
    margin-inline-start: 0;
  }
  .o-m-s-sm-1, .o-ms-sm-1 {
    margin-inline-start: 0.5rem;
  }
  .o-m-s-sm-2, .o-ms-sm-2 {
    margin-inline-start: 1rem;
  }
  .o-m-s-sm-3, .o-ms-sm-3 {
    margin-inline-start: 1.5rem;
  }
  .o-m-s-sm-4, .o-ms-sm-4 {
    margin-inline-start: 2rem;
  }
  .o-m-s-sm-5, .o-ms-sm-5 {
    margin-inline-start: 3rem;
  }
  .o-m-e-sm-0, .o-me-sm-0 {
    margin-inline-end: 0;
  }
  .o-m-e-sm-1, .o-me-sm-1 {
    margin-inline-end: 0.5rem;
  }
  .o-m-e-sm-2, .o-me-sm-2 {
    margin-inline-end: 1rem;
  }
  .o-m-e-sm-3, .o-me-sm-3 {
    margin-inline-end: 1.5rem;
  }
  .o-m-e-sm-4, .o-me-sm-4 {
    margin-inline-end: 2rem;
  }
  .o-m-e-sm-5, .o-me-sm-5 {
    margin-inline-end: 3rem;
  }
  .o-m-x-sm-0, .o-mx-sm-0 {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
  .o-m-x-sm-1, .o-mx-sm-1 {
    margin-inline-start: 0.5rem;
    margin-inline-end: 0.5rem;
  }
  .o-m-x-sm-2, .o-mx-sm-2 {
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
  }
  .o-m-x-sm-3, .o-mx-sm-3 {
    margin-inline-start: 1.5rem;
    margin-inline-end: 1.5rem;
  }
  .o-m-x-sm-4, .o-mx-sm-4 {
    margin-inline-start: 2rem;
    margin-inline-end: 2rem;
  }
  .o-m-x-sm-5, .o-mx-sm-5 {
    margin-inline-start: 3rem;
    margin-inline-end: 3rem;
  }
  .o-m-y-sm-0, .o-my-sm-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .o-m-y-sm-1, .o-my-sm-1 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .o-m-y-sm-2, .o-my-sm-2 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .o-m-y-sm-3, .o-my-sm-3 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .o-m-y-sm-4, .o-my-sm-4 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .o-m-y-sm-5, .o-my-sm-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .o-p-sm-0, .o-p-sm-0 {
    padding: 0;
  }
  .o-p-sm-1, .o-p-sm-1 {
    padding: 0.5rem;
  }
  .o-p-sm-2, .o-p-sm-2 {
    padding: 1rem;
  }
  .o-p-sm-3, .o-p-sm-3 {
    padding: 1.5rem;
  }
  .o-p-sm-4, .o-p-sm-4 {
    padding: 2rem;
  }
  .o-p-sm-5, .o-p-sm-5 {
    padding: 3rem;
  }
  .o-p-t-sm-0, .o-pt-sm-0 {
    padding-top: 0;
  }
  .o-p-t-sm-1, .o-pt-sm-1 {
    padding-top: 0.5rem;
  }
  .o-p-t-sm-2, .o-pt-sm-2 {
    padding-top: 1rem;
  }
  .o-p-t-sm-3, .o-pt-sm-3 {
    padding-top: 1.5rem;
  }
  .o-p-t-sm-4, .o-pt-sm-4 {
    padding-top: 2rem;
  }
  .o-p-t-sm-5, .o-pt-sm-5 {
    padding-top: 3rem;
  }
  .o-p-b-sm-0, .o-pb-sm-0 {
    padding-bottom: 0;
  }
  .o-p-b-sm-1, .o-pb-sm-1 {
    padding-bottom: 0.5rem;
  }
  .o-p-b-sm-2, .o-pb-sm-2 {
    padding-bottom: 1rem;
  }
  .o-p-b-sm-3, .o-pb-sm-3 {
    padding-bottom: 1.5rem;
  }
  .o-p-b-sm-4, .o-pb-sm-4 {
    padding-bottom: 2rem;
  }
  .o-p-b-sm-5, .o-pb-sm-5 {
    padding-bottom: 3rem;
  }
  .o-p-s-sm-0, .o-ps-sm-0 {
    padding-inline-start: 0;
  }
  .o-p-s-sm-1, .o-ps-sm-1 {
    padding-inline-start: 0.5rem;
  }
  .o-p-s-sm-2, .o-ps-sm-2 {
    padding-inline-start: 1rem;
  }
  .o-p-s-sm-3, .o-ps-sm-3 {
    padding-inline-start: 1.5rem;
  }
  .o-p-s-sm-4, .o-ps-sm-4 {
    padding-inline-start: 2rem;
  }
  .o-p-s-sm-5, .o-ps-sm-5 {
    padding-inline-start: 3rem;
  }
  .o-p-e-sm-0, .o-pe-sm-0 {
    padding-inline-end: 0;
  }
  .o-p-e-sm-1, .o-pe-sm-1 {
    padding-inline-end: 0.5rem;
  }
  .o-p-e-sm-2, .o-pe-sm-2 {
    padding-inline-end: 1rem;
  }
  .o-p-e-sm-3, .o-pe-sm-3 {
    padding-inline-end: 1.5rem;
  }
  .o-p-e-sm-4, .o-pe-sm-4 {
    padding-inline-end: 2rem;
  }
  .o-p-e-sm-5, .o-pe-sm-5 {
    padding-inline-end: 3rem;
  }
  .o-p-x-sm-0, .o-px-sm-0 {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
  .o-p-x-sm-1, .o-px-sm-1 {
    padding-inline-start: 0.5rem;
    padding-inline-end: 0.5rem;
  }
  .o-p-x-sm-2, .o-px-sm-2 {
    padding-inline-start: 1rem;
    padding-inline-end: 1rem;
  }
  .o-p-x-sm-3, .o-px-sm-3 {
    padding-inline-start: 1.5rem;
    padding-inline-end: 1.5rem;
  }
  .o-p-x-sm-4, .o-px-sm-4 {
    padding-inline-start: 2rem;
    padding-inline-end: 2rem;
  }
  .o-p-x-sm-5, .o-px-sm-5 {
    padding-inline-start: 3rem;
    padding-inline-end: 3rem;
  }
  .o-p-y-sm-0, .o-py-sm-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .o-p-y-sm-1, .o-py-sm-1 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .o-p-y-sm-2, .o-py-sm-2 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .o-p-y-sm-3, .o-py-sm-3 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .o-p-y-sm-4, .o-py-sm-4 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .o-p-y-sm-5, .o-py-sm-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 768px) {
  .o-m-md-0, .o-m-md-0 {
    margin: 0;
  }
  .o-m-md-1, .o-m-md-1 {
    margin: 0.5rem;
  }
  .o-m-md-2, .o-m-md-2 {
    margin: 1rem;
  }
  .o-m-md-3, .o-m-md-3 {
    margin: 1.5rem;
  }
  .o-m-md-4, .o-m-md-4 {
    margin: 2rem;
  }
  .o-m-md-5, .o-m-md-5 {
    margin: 3rem;
  }
  .o-m-t-md-0, .o-mt-md-0 {
    margin-top: 0;
  }
  .o-m-t-md-1, .o-mt-md-1 {
    margin-top: 0.5rem;
  }
  .o-m-t-md-2, .o-mt-md-2 {
    margin-top: 1rem;
  }
  .o-m-t-md-3, .o-mt-md-3 {
    margin-top: 1.5rem;
  }
  .o-m-t-md-4, .o-mt-md-4 {
    margin-top: 2rem;
  }
  .o-m-t-md-5, .o-mt-md-5 {
    margin-top: 3rem;
  }
  .o-m-b-md-0, .o-mb-md-0 {
    margin-bottom: 0;
  }
  .o-m-b-md-1, .o-mb-md-1 {
    margin-bottom: 0.5rem;
  }
  .o-m-b-md-2, .o-mb-md-2 {
    margin-bottom: 1rem;
  }
  .o-m-b-md-3, .o-mb-md-3 {
    margin-bottom: 1.5rem;
  }
  .o-m-b-md-4, .o-mb-md-4 {
    margin-bottom: 2rem;
  }
  .o-m-b-md-5, .o-mb-md-5 {
    margin-bottom: 3rem;
  }
  .o-m-s-md-0, .o-ms-md-0 {
    margin-inline-start: 0;
  }
  .o-m-s-md-1, .o-ms-md-1 {
    margin-inline-start: 0.5rem;
  }
  .o-m-s-md-2, .o-ms-md-2 {
    margin-inline-start: 1rem;
  }
  .o-m-s-md-3, .o-ms-md-3 {
    margin-inline-start: 1.5rem;
  }
  .o-m-s-md-4, .o-ms-md-4 {
    margin-inline-start: 2rem;
  }
  .o-m-s-md-5, .o-ms-md-5 {
    margin-inline-start: 3rem;
  }
  .o-m-e-md-0, .o-me-md-0 {
    margin-inline-end: 0;
  }
  .o-m-e-md-1, .o-me-md-1 {
    margin-inline-end: 0.5rem;
  }
  .o-m-e-md-2, .o-me-md-2 {
    margin-inline-end: 1rem;
  }
  .o-m-e-md-3, .o-me-md-3 {
    margin-inline-end: 1.5rem;
  }
  .o-m-e-md-4, .o-me-md-4 {
    margin-inline-end: 2rem;
  }
  .o-m-e-md-5, .o-me-md-5 {
    margin-inline-end: 3rem;
  }
  .o-m-x-md-0, .o-mx-md-0 {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
  .o-m-x-md-1, .o-mx-md-1 {
    margin-inline-start: 0.5rem;
    margin-inline-end: 0.5rem;
  }
  .o-m-x-md-2, .o-mx-md-2 {
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
  }
  .o-m-x-md-3, .o-mx-md-3 {
    margin-inline-start: 1.5rem;
    margin-inline-end: 1.5rem;
  }
  .o-m-x-md-4, .o-mx-md-4 {
    margin-inline-start: 2rem;
    margin-inline-end: 2rem;
  }
  .o-m-x-md-5, .o-mx-md-5 {
    margin-inline-start: 3rem;
    margin-inline-end: 3rem;
  }
  .o-m-y-md-0, .o-my-md-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .o-m-y-md-1, .o-my-md-1 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .o-m-y-md-2, .o-my-md-2 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .o-m-y-md-3, .o-my-md-3 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .o-m-y-md-4, .o-my-md-4 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .o-m-y-md-5, .o-my-md-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .o-p-md-0, .o-p-md-0 {
    padding: 0;
  }
  .o-p-md-1, .o-p-md-1 {
    padding: 0.5rem;
  }
  .o-p-md-2, .o-p-md-2 {
    padding: 1rem;
  }
  .o-p-md-3, .o-p-md-3 {
    padding: 1.5rem;
  }
  .o-p-md-4, .o-p-md-4 {
    padding: 2rem;
  }
  .o-p-md-5, .o-p-md-5 {
    padding: 3rem;
  }
  .o-p-t-md-0, .o-pt-md-0 {
    padding-top: 0;
  }
  .o-p-t-md-1, .o-pt-md-1 {
    padding-top: 0.5rem;
  }
  .o-p-t-md-2, .o-pt-md-2 {
    padding-top: 1rem;
  }
  .o-p-t-md-3, .o-pt-md-3 {
    padding-top: 1.5rem;
  }
  .o-p-t-md-4, .o-pt-md-4 {
    padding-top: 2rem;
  }
  .o-p-t-md-5, .o-pt-md-5 {
    padding-top: 3rem;
  }
  .o-p-b-md-0, .o-pb-md-0 {
    padding-bottom: 0;
  }
  .o-p-b-md-1, .o-pb-md-1 {
    padding-bottom: 0.5rem;
  }
  .o-p-b-md-2, .o-pb-md-2 {
    padding-bottom: 1rem;
  }
  .o-p-b-md-3, .o-pb-md-3 {
    padding-bottom: 1.5rem;
  }
  .o-p-b-md-4, .o-pb-md-4 {
    padding-bottom: 2rem;
  }
  .o-p-b-md-5, .o-pb-md-5 {
    padding-bottom: 3rem;
  }
  .o-p-s-md-0, .o-ps-md-0 {
    padding-inline-start: 0;
  }
  .o-p-s-md-1, .o-ps-md-1 {
    padding-inline-start: 0.5rem;
  }
  .o-p-s-md-2, .o-ps-md-2 {
    padding-inline-start: 1rem;
  }
  .o-p-s-md-3, .o-ps-md-3 {
    padding-inline-start: 1.5rem;
  }
  .o-p-s-md-4, .o-ps-md-4 {
    padding-inline-start: 2rem;
  }
  .o-p-s-md-5, .o-ps-md-5 {
    padding-inline-start: 3rem;
  }
  .o-p-e-md-0, .o-pe-md-0 {
    padding-inline-end: 0;
  }
  .o-p-e-md-1, .o-pe-md-1 {
    padding-inline-end: 0.5rem;
  }
  .o-p-e-md-2, .o-pe-md-2 {
    padding-inline-end: 1rem;
  }
  .o-p-e-md-3, .o-pe-md-3 {
    padding-inline-end: 1.5rem;
  }
  .o-p-e-md-4, .o-pe-md-4 {
    padding-inline-end: 2rem;
  }
  .o-p-e-md-5, .o-pe-md-5 {
    padding-inline-end: 3rem;
  }
  .o-p-x-md-0, .o-px-md-0 {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
  .o-p-x-md-1, .o-px-md-1 {
    padding-inline-start: 0.5rem;
    padding-inline-end: 0.5rem;
  }
  .o-p-x-md-2, .o-px-md-2 {
    padding-inline-start: 1rem;
    padding-inline-end: 1rem;
  }
  .o-p-x-md-3, .o-px-md-3 {
    padding-inline-start: 1.5rem;
    padding-inline-end: 1.5rem;
  }
  .o-p-x-md-4, .o-px-md-4 {
    padding-inline-start: 2rem;
    padding-inline-end: 2rem;
  }
  .o-p-x-md-5, .o-px-md-5 {
    padding-inline-start: 3rem;
    padding-inline-end: 3rem;
  }
  .o-p-y-md-0, .o-py-md-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .o-p-y-md-1, .o-py-md-1 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .o-p-y-md-2, .o-py-md-2 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .o-p-y-md-3, .o-py-md-3 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .o-p-y-md-4, .o-py-md-4 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .o-p-y-md-5, .o-py-md-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 992px) {
  .o-m-lg-0, .o-m-lg-0 {
    margin: 0;
  }
  .o-m-lg-1, .o-m-lg-1 {
    margin: 0.5rem;
  }
  .o-m-lg-2, .o-m-lg-2 {
    margin: 1rem;
  }
  .o-m-lg-3, .o-m-lg-3 {
    margin: 1.5rem;
  }
  .o-m-lg-4, .o-m-lg-4 {
    margin: 2rem;
  }
  .o-m-lg-5, .o-m-lg-5 {
    margin: 3rem;
  }
  .o-m-t-lg-0, .o-mt-lg-0 {
    margin-top: 0;
  }
  .o-m-t-lg-1, .o-mt-lg-1 {
    margin-top: 0.5rem;
  }
  .o-m-t-lg-2, .o-mt-lg-2 {
    margin-top: 1rem;
  }
  .o-m-t-lg-3, .o-mt-lg-3 {
    margin-top: 1.5rem;
  }
  .o-m-t-lg-4, .o-mt-lg-4 {
    margin-top: 2rem;
  }
  .o-m-t-lg-5, .o-mt-lg-5 {
    margin-top: 3rem;
  }
  .o-m-b-lg-0, .o-mb-lg-0 {
    margin-bottom: 0;
  }
  .o-m-b-lg-1, .o-mb-lg-1 {
    margin-bottom: 0.5rem;
  }
  .o-m-b-lg-2, .o-mb-lg-2 {
    margin-bottom: 1rem;
  }
  .o-m-b-lg-3, .o-mb-lg-3 {
    margin-bottom: 1.5rem;
  }
  .o-m-b-lg-4, .o-mb-lg-4 {
    margin-bottom: 2rem;
  }
  .o-m-b-lg-5, .o-mb-lg-5 {
    margin-bottom: 3rem;
  }
  .o-m-s-lg-0, .o-ms-lg-0 {
    margin-inline-start: 0;
  }
  .o-m-s-lg-1, .o-ms-lg-1 {
    margin-inline-start: 0.5rem;
  }
  .o-m-s-lg-2, .o-ms-lg-2 {
    margin-inline-start: 1rem;
  }
  .o-m-s-lg-3, .o-ms-lg-3 {
    margin-inline-start: 1.5rem;
  }
  .o-m-s-lg-4, .o-ms-lg-4 {
    margin-inline-start: 2rem;
  }
  .o-m-s-lg-5, .o-ms-lg-5 {
    margin-inline-start: 3rem;
  }
  .o-m-e-lg-0, .o-me-lg-0 {
    margin-inline-end: 0;
  }
  .o-m-e-lg-1, .o-me-lg-1 {
    margin-inline-end: 0.5rem;
  }
  .o-m-e-lg-2, .o-me-lg-2 {
    margin-inline-end: 1rem;
  }
  .o-m-e-lg-3, .o-me-lg-3 {
    margin-inline-end: 1.5rem;
  }
  .o-m-e-lg-4, .o-me-lg-4 {
    margin-inline-end: 2rem;
  }
  .o-m-e-lg-5, .o-me-lg-5 {
    margin-inline-end: 3rem;
  }
  .o-m-x-lg-0, .o-mx-lg-0 {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
  .o-m-x-lg-1, .o-mx-lg-1 {
    margin-inline-start: 0.5rem;
    margin-inline-end: 0.5rem;
  }
  .o-m-x-lg-2, .o-mx-lg-2 {
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
  }
  .o-m-x-lg-3, .o-mx-lg-3 {
    margin-inline-start: 1.5rem;
    margin-inline-end: 1.5rem;
  }
  .o-m-x-lg-4, .o-mx-lg-4 {
    margin-inline-start: 2rem;
    margin-inline-end: 2rem;
  }
  .o-m-x-lg-5, .o-mx-lg-5 {
    margin-inline-start: 3rem;
    margin-inline-end: 3rem;
  }
  .o-m-y-lg-0, .o-my-lg-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .o-m-y-lg-1, .o-my-lg-1 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .o-m-y-lg-2, .o-my-lg-2 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .o-m-y-lg-3, .o-my-lg-3 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .o-m-y-lg-4, .o-my-lg-4 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .o-m-y-lg-5, .o-my-lg-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .o-p-lg-0, .o-p-lg-0 {
    padding: 0;
  }
  .o-p-lg-1, .o-p-lg-1 {
    padding: 0.5rem;
  }
  .o-p-lg-2, .o-p-lg-2 {
    padding: 1rem;
  }
  .o-p-lg-3, .o-p-lg-3 {
    padding: 1.5rem;
  }
  .o-p-lg-4, .o-p-lg-4 {
    padding: 2rem;
  }
  .o-p-lg-5, .o-p-lg-5 {
    padding: 3rem;
  }
  .o-p-t-lg-0, .o-pt-lg-0 {
    padding-top: 0;
  }
  .o-p-t-lg-1, .o-pt-lg-1 {
    padding-top: 0.5rem;
  }
  .o-p-t-lg-2, .o-pt-lg-2 {
    padding-top: 1rem;
  }
  .o-p-t-lg-3, .o-pt-lg-3 {
    padding-top: 1.5rem;
  }
  .o-p-t-lg-4, .o-pt-lg-4 {
    padding-top: 2rem;
  }
  .o-p-t-lg-5, .o-pt-lg-5 {
    padding-top: 3rem;
  }
  .o-p-b-lg-0, .o-pb-lg-0 {
    padding-bottom: 0;
  }
  .o-p-b-lg-1, .o-pb-lg-1 {
    padding-bottom: 0.5rem;
  }
  .o-p-b-lg-2, .o-pb-lg-2 {
    padding-bottom: 1rem;
  }
  .o-p-b-lg-3, .o-pb-lg-3 {
    padding-bottom: 1.5rem;
  }
  .o-p-b-lg-4, .o-pb-lg-4 {
    padding-bottom: 2rem;
  }
  .o-p-b-lg-5, .o-pb-lg-5 {
    padding-bottom: 3rem;
  }
  .o-p-s-lg-0, .o-ps-lg-0 {
    padding-inline-start: 0;
  }
  .o-p-s-lg-1, .o-ps-lg-1 {
    padding-inline-start: 0.5rem;
  }
  .o-p-s-lg-2, .o-ps-lg-2 {
    padding-inline-start: 1rem;
  }
  .o-p-s-lg-3, .o-ps-lg-3 {
    padding-inline-start: 1.5rem;
  }
  .o-p-s-lg-4, .o-ps-lg-4 {
    padding-inline-start: 2rem;
  }
  .o-p-s-lg-5, .o-ps-lg-5 {
    padding-inline-start: 3rem;
  }
  .o-p-e-lg-0, .o-pe-lg-0 {
    padding-inline-end: 0;
  }
  .o-p-e-lg-1, .o-pe-lg-1 {
    padding-inline-end: 0.5rem;
  }
  .o-p-e-lg-2, .o-pe-lg-2 {
    padding-inline-end: 1rem;
  }
  .o-p-e-lg-3, .o-pe-lg-3 {
    padding-inline-end: 1.5rem;
  }
  .o-p-e-lg-4, .o-pe-lg-4 {
    padding-inline-end: 2rem;
  }
  .o-p-e-lg-5, .o-pe-lg-5 {
    padding-inline-end: 3rem;
  }
  .o-p-x-lg-0, .o-px-lg-0 {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
  .o-p-x-lg-1, .o-px-lg-1 {
    padding-inline-start: 0.5rem;
    padding-inline-end: 0.5rem;
  }
  .o-p-x-lg-2, .o-px-lg-2 {
    padding-inline-start: 1rem;
    padding-inline-end: 1rem;
  }
  .o-p-x-lg-3, .o-px-lg-3 {
    padding-inline-start: 1.5rem;
    padding-inline-end: 1.5rem;
  }
  .o-p-x-lg-4, .o-px-lg-4 {
    padding-inline-start: 2rem;
    padding-inline-end: 2rem;
  }
  .o-p-x-lg-5, .o-px-lg-5 {
    padding-inline-start: 3rem;
    padding-inline-end: 3rem;
  }
  .o-p-y-lg-0, .o-py-lg-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .o-p-y-lg-1, .o-py-lg-1 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .o-p-y-lg-2, .o-py-lg-2 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .o-p-y-lg-3, .o-py-lg-3 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .o-p-y-lg-4, .o-py-lg-4 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .o-p-y-lg-5, .o-py-lg-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 1200px) {
  .o-m-xl-0, .o-m-xl-0 {
    margin: 0;
  }
  .o-m-xl-1, .o-m-xl-1 {
    margin: 0.5rem;
  }
  .o-m-xl-2, .o-m-xl-2 {
    margin: 1rem;
  }
  .o-m-xl-3, .o-m-xl-3 {
    margin: 1.5rem;
  }
  .o-m-xl-4, .o-m-xl-4 {
    margin: 2rem;
  }
  .o-m-xl-5, .o-m-xl-5 {
    margin: 3rem;
  }
  .o-m-t-xl-0, .o-mt-xl-0 {
    margin-top: 0;
  }
  .o-m-t-xl-1, .o-mt-xl-1 {
    margin-top: 0.5rem;
  }
  .o-m-t-xl-2, .o-mt-xl-2 {
    margin-top: 1rem;
  }
  .o-m-t-xl-3, .o-mt-xl-3 {
    margin-top: 1.5rem;
  }
  .o-m-t-xl-4, .o-mt-xl-4 {
    margin-top: 2rem;
  }
  .o-m-t-xl-5, .o-mt-xl-5 {
    margin-top: 3rem;
  }
  .o-m-b-xl-0, .o-mb-xl-0 {
    margin-bottom: 0;
  }
  .o-m-b-xl-1, .o-mb-xl-1 {
    margin-bottom: 0.5rem;
  }
  .o-m-b-xl-2, .o-mb-xl-2 {
    margin-bottom: 1rem;
  }
  .o-m-b-xl-3, .o-mb-xl-3 {
    margin-bottom: 1.5rem;
  }
  .o-m-b-xl-4, .o-mb-xl-4 {
    margin-bottom: 2rem;
  }
  .o-m-b-xl-5, .o-mb-xl-5 {
    margin-bottom: 3rem;
  }
  .o-m-s-xl-0, .o-ms-xl-0 {
    margin-inline-start: 0;
  }
  .o-m-s-xl-1, .o-ms-xl-1 {
    margin-inline-start: 0.5rem;
  }
  .o-m-s-xl-2, .o-ms-xl-2 {
    margin-inline-start: 1rem;
  }
  .o-m-s-xl-3, .o-ms-xl-3 {
    margin-inline-start: 1.5rem;
  }
  .o-m-s-xl-4, .o-ms-xl-4 {
    margin-inline-start: 2rem;
  }
  .o-m-s-xl-5, .o-ms-xl-5 {
    margin-inline-start: 3rem;
  }
  .o-m-e-xl-0, .o-me-xl-0 {
    margin-inline-end: 0;
  }
  .o-m-e-xl-1, .o-me-xl-1 {
    margin-inline-end: 0.5rem;
  }
  .o-m-e-xl-2, .o-me-xl-2 {
    margin-inline-end: 1rem;
  }
  .o-m-e-xl-3, .o-me-xl-3 {
    margin-inline-end: 1.5rem;
  }
  .o-m-e-xl-4, .o-me-xl-4 {
    margin-inline-end: 2rem;
  }
  .o-m-e-xl-5, .o-me-xl-5 {
    margin-inline-end: 3rem;
  }
  .o-m-x-xl-0, .o-mx-xl-0 {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
  .o-m-x-xl-1, .o-mx-xl-1 {
    margin-inline-start: 0.5rem;
    margin-inline-end: 0.5rem;
  }
  .o-m-x-xl-2, .o-mx-xl-2 {
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
  }
  .o-m-x-xl-3, .o-mx-xl-3 {
    margin-inline-start: 1.5rem;
    margin-inline-end: 1.5rem;
  }
  .o-m-x-xl-4, .o-mx-xl-4 {
    margin-inline-start: 2rem;
    margin-inline-end: 2rem;
  }
  .o-m-x-xl-5, .o-mx-xl-5 {
    margin-inline-start: 3rem;
    margin-inline-end: 3rem;
  }
  .o-m-y-xl-0, .o-my-xl-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .o-m-y-xl-1, .o-my-xl-1 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .o-m-y-xl-2, .o-my-xl-2 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .o-m-y-xl-3, .o-my-xl-3 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .o-m-y-xl-4, .o-my-xl-4 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .o-m-y-xl-5, .o-my-xl-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .o-p-xl-0, .o-p-xl-0 {
    padding: 0;
  }
  .o-p-xl-1, .o-p-xl-1 {
    padding: 0.5rem;
  }
  .o-p-xl-2, .o-p-xl-2 {
    padding: 1rem;
  }
  .o-p-xl-3, .o-p-xl-3 {
    padding: 1.5rem;
  }
  .o-p-xl-4, .o-p-xl-4 {
    padding: 2rem;
  }
  .o-p-xl-5, .o-p-xl-5 {
    padding: 3rem;
  }
  .o-p-t-xl-0, .o-pt-xl-0 {
    padding-top: 0;
  }
  .o-p-t-xl-1, .o-pt-xl-1 {
    padding-top: 0.5rem;
  }
  .o-p-t-xl-2, .o-pt-xl-2 {
    padding-top: 1rem;
  }
  .o-p-t-xl-3, .o-pt-xl-3 {
    padding-top: 1.5rem;
  }
  .o-p-t-xl-4, .o-pt-xl-4 {
    padding-top: 2rem;
  }
  .o-p-t-xl-5, .o-pt-xl-5 {
    padding-top: 3rem;
  }
  .o-p-b-xl-0, .o-pb-xl-0 {
    padding-bottom: 0;
  }
  .o-p-b-xl-1, .o-pb-xl-1 {
    padding-bottom: 0.5rem;
  }
  .o-p-b-xl-2, .o-pb-xl-2 {
    padding-bottom: 1rem;
  }
  .o-p-b-xl-3, .o-pb-xl-3 {
    padding-bottom: 1.5rem;
  }
  .o-p-b-xl-4, .o-pb-xl-4 {
    padding-bottom: 2rem;
  }
  .o-p-b-xl-5, .o-pb-xl-5 {
    padding-bottom: 3rem;
  }
  .o-p-s-xl-0, .o-ps-xl-0 {
    padding-inline-start: 0;
  }
  .o-p-s-xl-1, .o-ps-xl-1 {
    padding-inline-start: 0.5rem;
  }
  .o-p-s-xl-2, .o-ps-xl-2 {
    padding-inline-start: 1rem;
  }
  .o-p-s-xl-3, .o-ps-xl-3 {
    padding-inline-start: 1.5rem;
  }
  .o-p-s-xl-4, .o-ps-xl-4 {
    padding-inline-start: 2rem;
  }
  .o-p-s-xl-5, .o-ps-xl-5 {
    padding-inline-start: 3rem;
  }
  .o-p-e-xl-0, .o-pe-xl-0 {
    padding-inline-end: 0;
  }
  .o-p-e-xl-1, .o-pe-xl-1 {
    padding-inline-end: 0.5rem;
  }
  .o-p-e-xl-2, .o-pe-xl-2 {
    padding-inline-end: 1rem;
  }
  .o-p-e-xl-3, .o-pe-xl-3 {
    padding-inline-end: 1.5rem;
  }
  .o-p-e-xl-4, .o-pe-xl-4 {
    padding-inline-end: 2rem;
  }
  .o-p-e-xl-5, .o-pe-xl-5 {
    padding-inline-end: 3rem;
  }
  .o-p-x-xl-0, .o-px-xl-0 {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
  .o-p-x-xl-1, .o-px-xl-1 {
    padding-inline-start: 0.5rem;
    padding-inline-end: 0.5rem;
  }
  .o-p-x-xl-2, .o-px-xl-2 {
    padding-inline-start: 1rem;
    padding-inline-end: 1rem;
  }
  .o-p-x-xl-3, .o-px-xl-3 {
    padding-inline-start: 1.5rem;
    padding-inline-end: 1.5rem;
  }
  .o-p-x-xl-4, .o-px-xl-4 {
    padding-inline-start: 2rem;
    padding-inline-end: 2rem;
  }
  .o-p-x-xl-5, .o-px-xl-5 {
    padding-inline-start: 3rem;
    padding-inline-end: 3rem;
  }
  .o-p-y-xl-0, .o-py-xl-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .o-p-y-xl-1, .o-py-xl-1 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .o-p-y-xl-2, .o-py-xl-2 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .o-p-y-xl-3, .o-py-xl-3 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .o-p-y-xl-4, .o-py-xl-4 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .o-p-y-xl-5, .o-py-xl-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 1400px) {
  .o-m-xxl-0, .o-m-xxl-0 {
    margin: 0;
  }
  .o-m-xxl-1, .o-m-xxl-1 {
    margin: 0.5rem;
  }
  .o-m-xxl-2, .o-m-xxl-2 {
    margin: 1rem;
  }
  .o-m-xxl-3, .o-m-xxl-3 {
    margin: 1.5rem;
  }
  .o-m-xxl-4, .o-m-xxl-4 {
    margin: 2rem;
  }
  .o-m-xxl-5, .o-m-xxl-5 {
    margin: 3rem;
  }
  .o-m-t-xxl-0, .o-mt-xxl-0 {
    margin-top: 0;
  }
  .o-m-t-xxl-1, .o-mt-xxl-1 {
    margin-top: 0.5rem;
  }
  .o-m-t-xxl-2, .o-mt-xxl-2 {
    margin-top: 1rem;
  }
  .o-m-t-xxl-3, .o-mt-xxl-3 {
    margin-top: 1.5rem;
  }
  .o-m-t-xxl-4, .o-mt-xxl-4 {
    margin-top: 2rem;
  }
  .o-m-t-xxl-5, .o-mt-xxl-5 {
    margin-top: 3rem;
  }
  .o-m-b-xxl-0, .o-mb-xxl-0 {
    margin-bottom: 0;
  }
  .o-m-b-xxl-1, .o-mb-xxl-1 {
    margin-bottom: 0.5rem;
  }
  .o-m-b-xxl-2, .o-mb-xxl-2 {
    margin-bottom: 1rem;
  }
  .o-m-b-xxl-3, .o-mb-xxl-3 {
    margin-bottom: 1.5rem;
  }
  .o-m-b-xxl-4, .o-mb-xxl-4 {
    margin-bottom: 2rem;
  }
  .o-m-b-xxl-5, .o-mb-xxl-5 {
    margin-bottom: 3rem;
  }
  .o-m-s-xxl-0, .o-ms-xxl-0 {
    margin-inline-start: 0;
  }
  .o-m-s-xxl-1, .o-ms-xxl-1 {
    margin-inline-start: 0.5rem;
  }
  .o-m-s-xxl-2, .o-ms-xxl-2 {
    margin-inline-start: 1rem;
  }
  .o-m-s-xxl-3, .o-ms-xxl-3 {
    margin-inline-start: 1.5rem;
  }
  .o-m-s-xxl-4, .o-ms-xxl-4 {
    margin-inline-start: 2rem;
  }
  .o-m-s-xxl-5, .o-ms-xxl-5 {
    margin-inline-start: 3rem;
  }
  .o-m-e-xxl-0, .o-me-xxl-0 {
    margin-inline-end: 0;
  }
  .o-m-e-xxl-1, .o-me-xxl-1 {
    margin-inline-end: 0.5rem;
  }
  .o-m-e-xxl-2, .o-me-xxl-2 {
    margin-inline-end: 1rem;
  }
  .o-m-e-xxl-3, .o-me-xxl-3 {
    margin-inline-end: 1.5rem;
  }
  .o-m-e-xxl-4, .o-me-xxl-4 {
    margin-inline-end: 2rem;
  }
  .o-m-e-xxl-5, .o-me-xxl-5 {
    margin-inline-end: 3rem;
  }
  .o-m-x-xxl-0, .o-mx-xxl-0 {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
  .o-m-x-xxl-1, .o-mx-xxl-1 {
    margin-inline-start: 0.5rem;
    margin-inline-end: 0.5rem;
  }
  .o-m-x-xxl-2, .o-mx-xxl-2 {
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
  }
  .o-m-x-xxl-3, .o-mx-xxl-3 {
    margin-inline-start: 1.5rem;
    margin-inline-end: 1.5rem;
  }
  .o-m-x-xxl-4, .o-mx-xxl-4 {
    margin-inline-start: 2rem;
    margin-inline-end: 2rem;
  }
  .o-m-x-xxl-5, .o-mx-xxl-5 {
    margin-inline-start: 3rem;
    margin-inline-end: 3rem;
  }
  .o-m-y-xxl-0, .o-my-xxl-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .o-m-y-xxl-1, .o-my-xxl-1 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .o-m-y-xxl-2, .o-my-xxl-2 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .o-m-y-xxl-3, .o-my-xxl-3 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .o-m-y-xxl-4, .o-my-xxl-4 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .o-m-y-xxl-5, .o-my-xxl-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .o-p-xxl-0, .o-p-xxl-0 {
    padding: 0;
  }
  .o-p-xxl-1, .o-p-xxl-1 {
    padding: 0.5rem;
  }
  .o-p-xxl-2, .o-p-xxl-2 {
    padding: 1rem;
  }
  .o-p-xxl-3, .o-p-xxl-3 {
    padding: 1.5rem;
  }
  .o-p-xxl-4, .o-p-xxl-4 {
    padding: 2rem;
  }
  .o-p-xxl-5, .o-p-xxl-5 {
    padding: 3rem;
  }
  .o-p-t-xxl-0, .o-pt-xxl-0 {
    padding-top: 0;
  }
  .o-p-t-xxl-1, .o-pt-xxl-1 {
    padding-top: 0.5rem;
  }
  .o-p-t-xxl-2, .o-pt-xxl-2 {
    padding-top: 1rem;
  }
  .o-p-t-xxl-3, .o-pt-xxl-3 {
    padding-top: 1.5rem;
  }
  .o-p-t-xxl-4, .o-pt-xxl-4 {
    padding-top: 2rem;
  }
  .o-p-t-xxl-5, .o-pt-xxl-5 {
    padding-top: 3rem;
  }
  .o-p-b-xxl-0, .o-pb-xxl-0 {
    padding-bottom: 0;
  }
  .o-p-b-xxl-1, .o-pb-xxl-1 {
    padding-bottom: 0.5rem;
  }
  .o-p-b-xxl-2, .o-pb-xxl-2 {
    padding-bottom: 1rem;
  }
  .o-p-b-xxl-3, .o-pb-xxl-3 {
    padding-bottom: 1.5rem;
  }
  .o-p-b-xxl-4, .o-pb-xxl-4 {
    padding-bottom: 2rem;
  }
  .o-p-b-xxl-5, .o-pb-xxl-5 {
    padding-bottom: 3rem;
  }
  .o-p-s-xxl-0, .o-ps-xxl-0 {
    padding-inline-start: 0;
  }
  .o-p-s-xxl-1, .o-ps-xxl-1 {
    padding-inline-start: 0.5rem;
  }
  .o-p-s-xxl-2, .o-ps-xxl-2 {
    padding-inline-start: 1rem;
  }
  .o-p-s-xxl-3, .o-ps-xxl-3 {
    padding-inline-start: 1.5rem;
  }
  .o-p-s-xxl-4, .o-ps-xxl-4 {
    padding-inline-start: 2rem;
  }
  .o-p-s-xxl-5, .o-ps-xxl-5 {
    padding-inline-start: 3rem;
  }
  .o-p-e-xxl-0, .o-pe-xxl-0 {
    padding-inline-end: 0;
  }
  .o-p-e-xxl-1, .o-pe-xxl-1 {
    padding-inline-end: 0.5rem;
  }
  .o-p-e-xxl-2, .o-pe-xxl-2 {
    padding-inline-end: 1rem;
  }
  .o-p-e-xxl-3, .o-pe-xxl-3 {
    padding-inline-end: 1.5rem;
  }
  .o-p-e-xxl-4, .o-pe-xxl-4 {
    padding-inline-end: 2rem;
  }
  .o-p-e-xxl-5, .o-pe-xxl-5 {
    padding-inline-end: 3rem;
  }
  .o-p-x-xxl-0, .o-px-xxl-0 {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
  .o-p-x-xxl-1, .o-px-xxl-1 {
    padding-inline-start: 0.5rem;
    padding-inline-end: 0.5rem;
  }
  .o-p-x-xxl-2, .o-px-xxl-2 {
    padding-inline-start: 1rem;
    padding-inline-end: 1rem;
  }
  .o-p-x-xxl-3, .o-px-xxl-3 {
    padding-inline-start: 1.5rem;
    padding-inline-end: 1.5rem;
  }
  .o-p-x-xxl-4, .o-px-xxl-4 {
    padding-inline-start: 2rem;
    padding-inline-end: 2rem;
  }
  .o-p-x-xxl-5, .o-px-xxl-5 {
    padding-inline-start: 3rem;
    padding-inline-end: 3rem;
  }
  .o-p-y-xxl-0, .o-py-xxl-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .o-p-y-xxl-1, .o-py-xxl-1 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .o-p-y-xxl-2, .o-py-xxl-2 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .o-p-y-xxl-3, .o-py-xxl-3 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .o-p-y-xxl-4, .o-py-xxl-4 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .o-p-y-xxl-5, .o-py-xxl-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.o-text-start {
  text-align: start;
}

.o-text-center {
  text-align: center;
}

.o-text-end {
  text-align: end;
}

.o-text-justify {
  text-align: justify;
}

@media (min-width: 576px) {
  .o-text-sm-start {
    text-align: start;
  }
  .o-text-sm-center {
    text-align: center;
  }
  .o-text-sm-end {
    text-align: end;
  }
  .o-text-sm-justify {
    text-align: justify;
  }
}
@media (min-width: 768px) {
  .o-text-md-start {
    text-align: start;
  }
  .o-text-md-center {
    text-align: center;
  }
  .o-text-md-end {
    text-align: end;
  }
  .o-text-md-justify {
    text-align: justify;
  }
}
@media (min-width: 992px) {
  .o-text-lg-start {
    text-align: start;
  }
  .o-text-lg-center {
    text-align: center;
  }
  .o-text-lg-end {
    text-align: end;
  }
  .o-text-lg-justify {
    text-align: justify;
  }
}
@media (min-width: 1200px) {
  .o-text-xl-start {
    text-align: start;
  }
  .o-text-xl-center {
    text-align: center;
  }
  .o-text-xl-end {
    text-align: end;
  }
  .o-text-xl-justify {
    text-align: justify;
  }
}
@media (min-width: 1400px) {
  .o-text-xxl-start {
    text-align: start;
  }
  .o-text-xxl-center {
    text-align: center;
  }
  .o-text-xxl-end {
    text-align: end;
  }
  .o-text-xxl-justify {
    text-align: justify;
  }
}
.o-text-uppercase {
  text-transform: uppercase;
}

.o-text-lowercase {
  text-transform: lowercase;
}

.o-text-capitalize {
  text-transform: capitalize;
}

@media (min-width: 576px) {
  .o-text-sm-uppercase {
    text-transform: uppercase;
  }
  .o-text-sm-lowercase {
    text-transform: lowercase;
  }
  .o-text-sm-capitalize {
    text-transform: capitalize;
  }
}
@media (min-width: 768px) {
  .o-text-md-uppercase {
    text-transform: uppercase;
  }
  .o-text-md-lowercase {
    text-transform: lowercase;
  }
  .o-text-md-capitalize {
    text-transform: capitalize;
  }
}
@media (min-width: 992px) {
  .o-text-lg-uppercase {
    text-transform: uppercase;
  }
  .o-text-lg-lowercase {
    text-transform: lowercase;
  }
  .o-text-lg-capitalize {
    text-transform: capitalize;
  }
}
@media (min-width: 1200px) {
  .o-text-xl-uppercase {
    text-transform: uppercase;
  }
  .o-text-xl-lowercase {
    text-transform: lowercase;
  }
  .o-text-xl-capitalize {
    text-transform: capitalize;
  }
}
@media (min-width: 1400px) {
  .o-text-xxl-uppercase {
    text-transform: uppercase;
  }
  .o-text-xxl-lowercase {
    text-transform: lowercase;
  }
  .o-text-xxl-capitalize {
    text-transform: capitalize;
  }
}
/* Gotham font weight utility classes */
.font-gotham-thin {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 100 !important;
  font-style: normal !important;
}

.font-gotham-thin-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 100 !important;
  font-style: italic !important;
}

.font-gotham-xlight {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 200 !important;
  font-style: normal !important;
}

.font-gotham-xlight-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 200 !important;
  font-style: italic !important;
}

.font-gotham-light {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 300 !important;
  font-style: normal !important;
}

.font-gotham-light-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 300 !important;
  font-style: italic !important;
}

.font-gotham-book {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

.font-gotham-book-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 400 !important;
  font-style: italic !important;
}

.font-gotham-medium {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 500 !important;
  font-style: normal !important;
}

.font-gotham-medium-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 500 !important;
  font-style: italic !important;
}

.font-gotham-bold {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 700 !important;
  font-style: normal !important;
}

.font-gotham-bold-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 700 !important;
  font-style: italic !important;
}

.font-gotham-ultra {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 800 !important;
  font-style: normal !important;
}

.font-gotham-ultra-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 800 !important;
  font-style: italic !important;
}

.font-gotham-black {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 900 !important;
  font-style: normal !important;
}

.font-gotham-black-italic {
  font-family: var(--wp--preset--font-family--gotham) !important;
  font-weight: 900 !important;
  font-style: italic !important;
}

/* Corps de texte par defaut de tous les paragraphes Gutenberg. Faible
   specificite et pas de !important : n'importe quelle classe de taille ou
   regle de bloc la surcharge. */
.wp-block-paragraph {
  font-size: var(--wp--preset--font-size--16-px);
  line-height: 24px;
}

/* Articles : le texte courant passe a 18px, le reste du site garde 16px.
   Pas de !important : une classe de taille posee sur un paragraphe precis
   continue de primer. */
.single-post .entry-content .wp-block-paragraph,
.single-post .entry-content p {
  font-size: var(--wp--preset--font-size--18-px);
  line-height: 24px;
}

/* Global font size utilities from theme.json presets */
.has-10px-font-size {
  font-size: var(--wp--preset--font-size--10-px) !important;
}

.has-12px-font-size {
  font-size: var(--wp--preset--font-size--12-px) !important;
}

.has-14px-font-size {
  font-size: var(--wp--preset--font-size--14-px) !important;
}

.has-16px-font-size {
  font-size: var(--wp--preset--font-size--16-px) !important;
}

.has-18px-font-size {
  font-size: var(--wp--preset--font-size--18-px) !important;
}

.has-20px-font-size {
  font-size: var(--wp--preset--font-size--20-px) !important;
}

.has-120px-font-size {
  font-size: var(--wp--preset--font-size--120-px) !important;
}

.has-96px-font-size {
  font-size: var(--wp--preset--font-size--96-px) !important;
}

.has-xsmall-font-size {
  font-size: var(--wp--preset--font-size--xsmall) !important;
}

.has-small-font-size {
  font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
  font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
  font-size: var(--wp--preset--font-size--large) !important;
}

.has-24px-font-size {
  font-size: var(--wp--preset--font-size--24-px) !important;
}

.has-xlarge-font-size {
  font-size: var(--wp--preset--font-size--xlarge) !important;
}

.has-32px-font-size {
  font-size: var(--wp--preset--font-size--32-px) !important;
}

.has-36px-font-size {
  font-size: var(--wp--preset--font-size--36-px) !important;
}

.has-48px-font-size {
  font-size: var(--wp--preset--font-size--48-px) !important;
}

.has-48-px-font-size {
  font-size: var(--wp--preset--font-size--48-px) !important;
}

.has-60px-font-size {
  font-size: var(--wp--preset--font-size--60-px) !important;
}

.has-64px-font-size {
  font-size: var(--wp--preset--font-size--64-px) !important;
}

.has-72px-font-size {
  font-size: var(--wp--preset--font-size--72-px) !important;
}

.has-140px-font-size {
  font-size: var(--wp--preset--font-size--140-px) !important;
}

.has-140-px-font-size {
  font-size: var(--wp--preset--font-size--140-px) !important;
}

.has-180px-font-size {
  font-size: var(--wp--preset--font-size--180-px) !important;
}

.has-x-large-font-size {
  font-size: var(--wp--preset--font-size--x-large) !important;
}

.has-xx-large-font-size {
  font-size: var(--wp--preset--font-size--xx-large) !important;
}

/* Global font weight utilities from theme.json presets */
.has-extra-light-font-weight {
  font-weight: var(--wp--custom--font-weight--extra-light) !important;
}

.has-regular-font-weight {
  font-weight: var(--wp--custom--font-weight--regular) !important;
}

.has-medium-font-weight {
  font-weight: var(--wp--custom--font-weight--medium) !important;
}

.has-bold-font-weight {
  font-weight: var(--wp--custom--font-weight--bold) !important;
}

:root {
  --o-block-padding-x: 24px;
  --o-block-padding: 0 var(--o-block-padding-x);
  --o-section-margin-bottom: 50px;
}

@media (min-width: 768px) {
  :root {
    --o-block-padding-x: 54px;
    --o-block-padding: 0 var(--o-block-padding-x);
  }
}
@media (min-width: 992px) {
  :root {
    --o-block-padding-x: 188px;
    --o-block-padding: 0 var(--o-block-padding-x);
    --o-section-margin-bottom: 100px;
  }
}
.o-block-padded {
  padding: var(--o-block-padding);
}

/* Titre natif pose directement dans le contenu : sans marge basse, le bloc
   suivant venait se coller dessous et il fallait ajouter une classe a la main.
   On lui donne le meme ecart qu'un titre de section. Selecteur en enfant direct
   uniquement : les titres rendus a l'interieur des blocs Oderis portent deja
   leurs propres marges. */
.entry-content > .wp-block-heading {
  margin-bottom: var(--oderis-section-heading-gap, 30px);
}

/* Blocs natifs places directement dans le contenu : ils recoivent la gouttiere
   sans classe ni bloc maison. Liste explicite plutot qu'un :not() fourre-tout,
   pour ne rien cadrer par accident (embeds, images pleine largeur...). */
.entry-content:not(.o-block-padded) > p,
.entry-content:not(.o-block-padded) > .wp-block-paragraph,
.entry-content:not(.o-block-padded) > .wp-block-oderis-paragraph,
.entry-content:not(.o-block-padded) > .wp-block-heading,
.entry-content:not(.o-block-padded) > .wp-block-list,
.entry-content:not(.o-block-padded) > .wp-block-quote,
.entry-content:not(.o-block-padded) > .wp-block-table {
  padding: var(--o-block-padding);
}

.o-block-padded .o-block-padded {
  padding: 0;
}

/* Meme principe pour l'auto-gouttiere ci-dessus : le garde :not(.o-block-padded)
   ne regarde que .entry-content elle-meme. Quand c'est un conteneur PARENT qui
   porte la classe — le cas du modele single.html — les deux gouttieres
   s'additionnaient et le texte partait a 376px. Le :not() est conserve dans le
   selecteur pour rester au-dessus en specificite (0,4,0 contre 0,3,0). */
.o-block-padded .entry-content:not(.o-block-padded) > p,
.o-block-padded .entry-content:not(.o-block-padded) > .wp-block-paragraph,
.o-block-padded .entry-content:not(.o-block-padded) > .wp-block-oderis-paragraph,
.o-block-padded .entry-content:not(.o-block-padded) > .wp-block-heading,
.o-block-padded .entry-content:not(.o-block-padded) > .wp-block-list,
.o-block-padded .entry-content:not(.o-block-padded) > .wp-block-quote,
.o-block-padded .entry-content:not(.o-block-padded) > .wp-block-table {
  padding-left: 0;
  padding-right: 0;
}

/* Un bloc en pleine largeur (alignfull) échappe au padding du contenu et
   s'étend sur toute la largeur du viewport. */
.o-block-padded > .alignfull {
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Paragraphes natifs poses directement dans le contenu : sans cela ils sont
   colles, le block gap du theme valant 0. Un interligne d'ecart. */
.entry-content > .wp-block-paragraph {
  margin-bottom: 24px;
}

.entry-content > .wp-block-paragraph:last-child {
  margin-bottom: 0;
}

/* Médias natifs posés directement dans le contenu (vidéo embarquée, image,
   galerie, tableau) : ils n'entrent pas dans le sélecteur [class*='wp-block-oderis-']
   ci-dessous et retombaient sur la marge par défaut de WordPress — 1em, soit
   20px au lieu des 100px qui séparent les autres blocs. */
.entry-content > .wp-block-embed:not(:last-child),
.entry-content > .wp-block-video:not(:last-child),
.entry-content > .wp-block-image:not(:last-child),
.entry-content > .wp-block-gallery:not(:last-child),
.entry-content > .wp-block-table:not(:last-child) {
  margin-bottom: var(--o-section-margin-bottom);
}

/* Séparation entre deux blocs oderis consécutifs (pas de marge sur le dernier d'un conteneur) */
[class*=wp-block-oderis-]:not(.wp-block-oderis-section):not(.wp-block-oderis-megafooter):not(.wp-block-oderis-homepage-stats):not(.wp-block-oderis-homepage-partners):not(.wp-block-oderis-services-hero):not(.wp-block-oderis-key-figures):not(.wp-block-oderis-h1-heading):not(:has(+ .wp-block-oderis-list-important)):not(:last-child):not([class*=wp-block-oderis-] [class*=wp-block-oderis-]) {
  margin-bottom: var(--o-section-margin-bottom);
}

/* Le bloc « liste importante » porte 70px de padding interne dans son fond
   bleu : la separation standard de 100px s'y ajoutait et creusait l'ecart.
   On ne garde qu'un filet blanc avant l'encadre. */
[class*=wp-block-oderis-]:has(+ .wp-block-oderis-list-important) {
  margin-bottom: 33px;
}

/* Fiche implantation : le bloc Expertises porte lui-même sa respiration, la même
   que celle qui suit un titre de section. La séparation standard de 100px du
   bloc précédent la recouvrait — les marges adjacentes fusionnent et c'est la
   plus grande qui gagne. On l'annule donc juste avant lui.
   Le !important est nécessaire pour les mêmes raisons que .o-no-bottom-space
   plus bas : la règle de séparation ci-dessus atteint une spécificité bien plus
   élevée avec sa chaîne de :not(). */
.implantation-template [class*=wp-block-oderis-]:has(+ .wp-block-oderis-services-hero),
.implantation-template [class*=wp-block-oderis-]:has(+ p.wp-block-paragraph:empty + .wp-block-oderis-services-hero) {
  margin-bottom: 0 !important;
}

/* Fiche implantation : la photo d'équipe se rapproche des dirigeants, 70px au
   lieu des 100px qui séparent les autres blocs. Même remarque sur le !important
   que ci-dessus. */
.implantation-template .wp-block-oderis-implantation-managers {
  margin-bottom: 70px !important;
}

/* Séparation entre la fin du contenu et le footer : padding bas sur le groupe de contenu
   (with-white-bg) — l'espace reste dans la zone blanche, le fond bleu du main n'apparaît pas. */
.with-white-bg {
  padding-bottom: var(--o-section-margin-bottom);
}

/* Exception au cas par cas : classe à saisir dans « Classes CSS additionnelles »
   sur un bloc qui ne doit pas être suivi d'un espace — typiquement un bloc à fond
   coloré qui termine la page, où la zone blanche se verrait.
   Le !important est nécessaire : la règle de séparation ci-dessus atteint une
   spécificité d'environ (0,12,0) à cause de sa chaîne de :not(). */
.o-no-bottom-space {
  margin-bottom: 0 !important;
}

/* L'espace de fin est porté par le parent : seul :has() permet de l'annuler
   depuis une classe posée sur l'enfant. */
.entry-content:has(> .o-no-bottom-space:last-child) {
  padding-bottom: 0;
}

/* Mêmes blocs que la liste d'exclusion ci-dessus : à fond propre et pleine
   largeur, ils n'ont jamais besoin de l'espace de fin. Automatique, rien à
   saisir dans l'éditeur. */
.entry-content:has(> .wp-block-oderis-section:last-child),
.entry-content:has(> .wp-block-oderis-megafooter:last-child),
.entry-content:has(> .wp-block-oderis-homepage-stats:last-child),
.entry-content:has(> .wp-block-oderis-homepage-partners:last-child),
.entry-content:has(> .wp-block-oderis-services-hero:last-child),
.entry-content:has(> .wp-block-oderis-key-figures:last-child),
.entry-content:has(> .wp-block-oderis-testimonials:last-child) {
  padding-bottom: 0;
}

/* Offcanvas (formulaire de contact) — panneau latéral basé sur <dialog>. */
.oderis-offcanvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.oderis-offcanvas.is-open {
  opacity: 1;
}

.oderis-offcanvas::backdrop {
  background: transparent;
}

.oderis-offcanvas__panel {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: clamp(320px, 50%, 800px);
  max-width: 100%;
  height: 100%;
  background: var(--wp--preset--color--base);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.oderis-offcanvas.is-open .oderis-offcanvas__panel {
  transform: translateX(0);
}

.oderis-offcanvas__close {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  z-index: 2;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 34px;
  line-height: 1;
  color: var(--wp--preset--color--primary);
  cursor: pointer;
}

.oderis-offcanvas__body {
  flex: 1;
  overflow-y: auto;
  padding: 3.25rem 2.5rem 2.5rem;
}

.oderis-offcanvas__title {
  margin: 0 0 1.5rem;
  font-size: 48px;
  line-height: 1.05;
  color: var(--wp--preset--color--primary);
}

.oderis-offcanvas__title b {
  font-family: var(--wp--preset--font-family--gotham, sans-serif);
  font-weight: 700;
}

.oderis-offcanvas__intro {
  margin: 0 0 1.75rem;
  font-size: 16px;
  line-height: 1.6;
  color: var(--wp--preset--color--primary);
}

.oderis-offcanvas__intro p:last-child {
  margin-bottom: 0;
}

/* --- Formulaire ACFE : rendu propre dans l'offcanvas --- */
.oderis-offcanvas .acf-fields.acf-form-fields {
  border: 0;
  padding: 0;
}

.oderis-offcanvas .acf-fields.acf-form-fields::before,
.oderis-offcanvas .acf-fields.acf-form-fields::after {
  display: none;
}

/* Pas de trait de séparation entre les champs (bordure ACF par défaut). */
.oderis-offcanvas .acf-fields.acf-form-fields > .acf-field {
  width: 100%;
  margin: 0 0 1rem;
  padding: 0;
  border-top: 0;
}

/* Labels affichés en placeholder : on masque le label visuel. */
.oderis-offcanvas .oderis-field--ph > .acf-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.oderis-offcanvas .acf-field > .acf-label label {
  font-family: var(--wp--preset--font-family--gotham, sans-serif);
  font-weight: 400;
  font-size: 16px;
  color: var(--wp--preset--color--primary);
}

.oderis-offcanvas .acf-field .acf-required {
  color: var(--wp--preset--color--primary);
}

.oderis-offcanvas .acf-field .description {
  margin-top: 0.25rem;
  font-size: 12px;
  color: rgba(0, 23, 116, 0.55);
}

/* Champs texte / email / tel / textarea — bord 1px #001774, radius 4px. */
.oderis-offcanvas .acf-input input[type=text],
.oderis-offcanvas .acf-input input[type=email],
.oderis-offcanvas .acf-input input[type=url],
.oderis-offcanvas .acf-input input[type=tel],
.oderis-offcanvas .acf-input input[type=number],
.oderis-offcanvas .acf-input textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  border: 1px solid var(--wp--preset--color--primary);
  border-radius: 0;
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--primary);
  font-family: var(--wp--preset--font-family--gotham, sans-serif);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
}

.oderis-offcanvas .acf-input textarea {
  min-height: 130px;
  resize: vertical;
}

/* Placeholder = label, Gotham Book 16px #001774. */
.oderis-offcanvas .acf-input input::placeholder,
.oderis-offcanvas .acf-input textarea::placeholder {
  color: var(--wp--preset--color--primary);
  opacity: 1;
  font-family: var(--wp--preset--font-family--gotham, sans-serif);
  font-weight: 400;
  font-size: 16px;
}

/* Select « sujet » : simple menu déroulant avec icône down (le style global
   des <select> est très verrouillé en !important, on le neutralise ici). */
.oderis-offcanvas .acf-input select {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
  padding: 0.75rem 2.75rem 0.75rem 1rem !important;
  border: 1px solid var(--wp--preset--color--primary) !important;
  border-radius: 0 !important;
  background-color: var(--wp--preset--color--base) !important;
  background-image: url(../images/icon-down.svg) !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 12px 12px !important;
  color: var(--wp--preset--color--primary) !important;
  font-family: var(--wp--preset--font-family--gotham, sans-serif) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.oderis-offcanvas .acf-input input:focus,
.oderis-offcanvas .acf-input textarea:focus,
.oderis-offcanvas .acf-input select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 23, 116, 0.12);
}

/* Consentement (case à cocher) — on garde le label. */
.oderis-offcanvas .acf-field-true-false .acf-input {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.oderis-offcanvas .acf-field-true-false label {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}

/* Bouton « Envoyer » : même design que le CTA (pilule bleue, hover secondaire). */
.oderis-offcanvas .acf-form-submit {
  margin-top: 1.25rem;
  text-align: center;
}

.oderis-offcanvas .acf-form-submit .acf-button,
.oderis-offcanvas .acf-form-submit input[type=submit],
.oderis-offcanvas .acf-form-submit button {
  display: inline-block;
  width: auto;
  padding: calc(0.667em + 2px) calc(1.6em + 2px);
  border: 0;
  border-radius: 40px;
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--gotham, sans-serif);
  font-weight: 500;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.oderis-offcanvas .acf-form-submit .acf-button:hover,
.oderis-offcanvas .acf-form-submit input[type=submit]:hover,
.oderis-offcanvas .acf-form-submit button:hover {
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--base);
}

/* Note « champs obligatoire ». */
.oderis-offcanvas__required {
  margin: 0.75rem 0 0;
  text-align: left;
  font-size: 12px;
  color: var(--wp--preset--color--primary);
}

/* Messages d'erreur / succès. */
.oderis-offcanvas .acf-notice.-error,
.oderis-offcanvas .acf-error-message {
  border: 0;
  border-radius: 4px;
  background: var(--wp--preset--color--red, #ff424c);
  color: var(--wp--preset--color--base);
}

.oderis-offcanvas .acf-notice.-success {
  border: 0;
  border-radius: 4px;
  background: rgba(0, 23, 116, 0.08);
  color: var(--wp--preset--color--primary);
}

/* Message de confirmation, affiché à la place du formulaire après envoi.
   Le panneau se rouvre tout seul au rechargement pour qu'on le voie. */
.oderis-offcanvas__success {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  padding: 32px 0;
  font-size: 20px;
  line-height: 28px;
}

.oderis-offcanvas__success-close {
  background: var(--wp--preset--color--contrast, #001774);
  color: var(--wp--preset--color--base, #ffffff);
  border: 0;
  border-radius: 999px;
  padding: 18px 32px;
  font: inherit;
  font-size: 16px;
  cursor: pointer;
}

.oderis-offcanvas__success-close:hover,
.oderis-offcanvas__success-close:focus-visible {
  background: var(--wp--preset--color--secondary, #007eff);
}

.oderis-search-overlay__submit, .oderis-search-overlay__close, .oderis-language__current, .oderis-megamenu__icon-button, .oderis-megamenu__toggle {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
}

.oderis-megamenu {
  --oderis-menu-blue: var(--wp--custom--oderis-megamenu--blue, #001774);
  --oderis-menu-text: var(--wp--custom--oderis-megamenu--text, #001774);
  --oderis-menu-border: var(--wp--custom--oderis-megamenu--border, #e5e8f1);
  --oderis-menu-border-strong: rgba(0, 23, 116, 0.2);
  --oderis-menu-max: var(--wp--custom--oderis-megamenu--max-width, 1280px);
  --oderis-menu-header-height: var(--wp--custom--oderis-megamenu--header-height, 92px);
  --oderis-menu-dropdown-min-height: var(--wp--custom--oderis-megamenu--dropdown-min-height, 360px);
  background: #fff;
  border-bottom: 1px solid #e5e8f1;
  color: var(--oderis-menu-text);
  position: relative;
  z-index: 50;
}
.oderis-megamenu.is-sticky {
  position: sticky;
  top: 0;
}
.oderis-megamenu a {
  text-decoration: none;
}
.oderis-megamenu__bar {
  align-items: center;
  display: grid;
  gap: 32px;
  grid-template-columns: auto 1fr auto;
  margin: 0 auto;
  max-width: var(--oderis-menu-max);
  min-height: var(--oderis-menu-header-height);
  padding: 0 24px;
  position: relative;
  z-index: 2;
}
.oderis-megamenu__brand {
  align-items: center;
  display: inline-flex;
  line-height: 0;
  position: relative;
  width: 190px;
  z-index: 3;
}
.oderis-megamenu__brand img {
  height: auto;
  width: 100%;
}
.oderis-megamenu__toggle {
  display: none;
}
.oderis-megamenu__panel {
  align-items: center;
  display: flex;
  justify-content: center;
  min-width: 0;
}
.oderis-megamenu__top-list {
  align-items: stretch;
  display: flex;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.oderis-megamenu__top-item {
  align-items: center;
  display: flex;
  min-height: var(--oderis-menu-header-height);
}
.oderis-megamenu__top-item:hover > .oderis-megamenu__top-link::after, .oderis-megamenu__top-item:focus-within > .oderis-megamenu__top-link::after, .oderis-megamenu__top-item.is-active > .oderis-megamenu__top-link::after {
  opacity: 1;
}
.oderis-megamenu__top-item:hover .oderis-megamenu__dropdown, .oderis-megamenu__top-item:focus-within .oderis-megamenu__dropdown, .oderis-megamenu__top-item.is-active .oderis-megamenu__dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0) scaleY(1);
  visibility: visible;
}
.oderis-megamenu__top-item:hover .oderis-megamenu__grid, .oderis-megamenu__top-item:focus-within .oderis-megamenu__grid, .oderis-megamenu__top-item.is-active .oderis-megamenu__grid {
  opacity: 1;
  transform: translateY(0);
}
.oderis-megamenu__top-link {
  align-items: center;
  display: flex;
  font-size: var(--wp--custom--oderis-megamenu--font-xl);
  font-weight: var(--wp--custom--font-weight--regular);
  min-height: var(--oderis-menu-header-height);
  position: relative;
}
.oderis-megamenu__top-link::after {
  background: var(--oderis-menu-blue);
  bottom: 12px;
  content: "";
  height: 5px;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  transition: opacity 180ms ease;
}
.oderis-megamenu__actions {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: flex-end;
}
.oderis-megamenu__actions .wp-block-button__link {
  border-radius: 999px;
  white-space: nowrap;
}
.oderis-megamenu__icon-button {
  align-items: center;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  width: 32px;
}
.oderis-megamenu__icon-button img {
  height: 20px;
  width: 20px;
}
.oderis-megamenu__mobile-tools {
  display: none;
}
.oderis-megamenu__dropdown {
  background: #fff;
  box-shadow: 0 28px 52px rgba(0, 23, 116, 0.12);
  display: block;
  left: 50%;
  max-width: var(--oderis-menu-max);
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 100%;
  transform: translate(-50%, -10px) scaleY(0.96);
  transform-origin: top center;
  transition: opacity 300ms ease, transform 300ms ease, visibility 300ms ease, height 260ms ease;
  visibility: hidden;
  width: calc(100vw - 48px);
}
.oderis-megamenu.has-open-dropdown .oderis-megamenu__dropdown {
  transition: opacity 0s, transform 0s, visibility 0s, height 260ms ease;
}
.oderis-megamenu__grid {
  display: grid;
  grid-template-columns: minmax(260px, 366px) minmax(210px, 1fr) minmax(260px, 1.1fr) minmax(260px, 1.1fr);
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 240ms ease, transform 240ms ease;
}
@media (prefers-reduced-motion: reduce) {
  .oderis-megamenu__grid {
    transition: none;
  }
}
.oderis-megamenu__intro {
  padding: 44px 36px;
}
.oderis-megamenu__intro p {
  font-size: 16px;
  font-weight: var(--wp--custom--font-weight--regular);
  line-height: 1.5;
  margin: 0;
  max-width: 366px;
}
.oderis-megamenu__secondary {
  display: flex;
  flex-direction: column;
}
.oderis-megamenu__secondary-link {
  align-items: center;
  display: flex;
  font-size: 16px;
  font-weight: var(--wp--custom--font-weight--bold);
  gap: 16px;
  line-height: 1.2;
  padding: 0.8125rem 1rem;
  transition: background-color 160ms ease, color 160ms ease;
}
.oderis-megamenu__secondary-link.oderis-icon-ts::before {
  background-image: url("../images/icon.white.TS.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-ts:hover::before, .oderis-megamenu__secondary-link.oderis-icon-ts:focus::before, .oderis-megamenu__secondary-link.oderis-icon-ts.is-active::before {
  background-image: url("../images/icon.TS.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-bp::before {
  background-image: url("../images/icon.white.BP.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-bp:hover::before, .oderis-megamenu__secondary-link.oderis-icon-bp:focus::before, .oderis-megamenu__secondary-link.oderis-icon-bp.is-active::before {
  background-image: url("../images/icon.BP.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-restructuring::before {
  background-image: url("../images/icon.white.Restructuring.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-restructuring:hover::before, .oderis-megamenu__secondary-link.oderis-icon-restructuring:focus::before, .oderis-megamenu__secondary-link.oderis-icon-restructuring.is-active::before {
  background-image: url("../images/icon.Restructuring.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-esg::before {
  background-image: url("../images/icon.white.ESG.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-esg:hover::before, .oderis-megamenu__secondary-link.oderis-icon-esg:focus::before, .oderis-megamenu__secondary-link.oderis-icon-esg.is-active::before {
  background-image: url("../images/icon.ESG.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-tl::before {
  background-image: url("../images/icon.white.tax-and-legal.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-tl:hover::before, .oderis-megamenu__secondary-link.oderis-icon-tl:focus::before, .oderis-megamenu__secondary-link.oderis-icon-tl.is-active::before {
  background-image: url("../images/icon.tax-and-legal.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-evaluation::before {
  background-image: url("../images/icon.white.Evaluation.svg");
}
.oderis-megamenu__secondary-link.oderis-icon-evaluation:hover::before, .oderis-megamenu__secondary-link.oderis-icon-evaluation:focus::before, .oderis-megamenu__secondary-link.oderis-icon-evaluation.is-active::before {
  background-image: url("../images/icon.Evaluation.svg");
}
.oderis-megamenu__secondary-link[class*=oderis-icon-]::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  flex: 0 0 34px;
  height: 34px;
  transition: opacity 160ms ease;
  width: 34px;
}
.oderis-megamenu__secondary-link:hover, .oderis-megamenu__secondary-link:focus, .oderis-megamenu__secondary-link.is-active {
  background: var(--oderis-menu-blue);
  color: #fff;
  outline: 0;
}
.oderis-megamenu__top-link.is-disabled, .oderis-megamenu__secondary-link.is-disabled {
  cursor: default;
}
.oderis-megamenu__detail {
  background: var(--oderis-menu-blue);
  color: #fff;
  grid-column: span 2;
  min-width: 0;
}
.oderis-megamenu__branch {
  display: none;
  height: 100%;
}
.oderis-megamenu__branch.is-active {
  display: flex;
  flex-direction: column;
}
.oderis-megamenu__lead {
  align-items: stretch;
  box-sizing: border-box;
  display: flex;
  flex: 1 1 auto;
  gap: 24px;
  min-height: 0;
  padding: 44px 36px;
}
.oderis-megamenu__lead-image {
  aspect-ratio: 1;
  flex: 0 0 auto;
  margin: 0;
  overflow: hidden;
}
.oderis-megamenu__lead-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.oderis-megamenu__lead-text {
  align-self: flex-start;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  flex: 1 1 auto;
  line-height: 1.6;
  margin: 0;
  min-width: 0;
  padding-bottom: 28px;
}
.oderis-megamenu__tertiary {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(280px, 1fr);
  height: 100%;
}
@media (min-width: 1360px) {
  .oderis-megamenu__tertiary {
    grid-template-columns: minmax(220px, 1fr) 392px;
  }
}
.oderis-megamenu__tertiary-list {
  display: flex;
  flex-direction: column;
  padding: 30px 0;
}
.oderis-megamenu__tertiary-link {
  align-items: center;
  color: rgba(255, 255, 255, 0.72);
  display: grid;
  font-size: 16px;
  font-weight: var(--wp--custom--font-weight--light);
  gap: 16px;
  grid-template-columns: 1fr 18px;
  letter-spacing: 0;
  line-height: 1.25;
  padding: 15px 28px;
  position: relative;
  text-transform: uppercase;
  transition: color 180ms ease;
}
.oderis-megamenu__tertiary-link img {
  filter: brightness(0) invert(1);
  height: 14px;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 180ms ease, transform 180ms ease;
  width: 18px;
}
.oderis-megamenu__tertiary-link:hover, .oderis-megamenu__tertiary-link:focus, .oderis-megamenu__tertiary-link.is-active {
  color: #fff;
  outline: 0;
}
.oderis-megamenu__tertiary-link:hover img, .oderis-megamenu__tertiary-link:focus img, .oderis-megamenu__tertiary-link.is-active img {
  opacity: 1;
  transform: translateX(0);
}
.oderis-megamenu__tertiary-panel {
  display: none;
  height: 100%;
}
.oderis-megamenu__tertiary-panel.is-active {
  display: block;
  animation: oderis-tertiary-panel-in 260ms ease both;
}
.oderis-megamenu__tertiary-content {
  padding: 36px;
}
@media (min-width: 1360px) {
  .oderis-megamenu__tertiary-content {
    padding-left: 0;
  }
}
.oderis-megamenu__description {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 12px;
  line-height: 1.6;
  margin: 0 0 28px;
  padding-bottom: 28px;
}
.oderis-megamenu__feature {
  height: 100%;
  padding: 36px;
}
.oderis-megamenu__card {
  display: grid;
  gap: 26px;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: start;
  height: 100%;
}
.oderis-megamenu__card h3 {
  font-size: 16px;
  line-height: 1.35;
  margin: 0 0 14px;
}
.oderis-megamenu__card h3 a {
  color: #fff;
}
.oderis-megamenu__card-image {
  align-self: start;
  width: 150px;
  height: 150px;
  background: rgba(255, 255, 255, 0.14);
  display: block;
  overflow: hidden;
}
.oderis-megamenu__card-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.oderis-megamenu__card-copy {
  align-self: start;
  min-height: 100%;
  min-width: 0;
}
.oderis-megamenu__card-copy > p:not(.oderis-megamenu__eyebrow) {
  font-size: 12px;
  line-height: 1.6;
  margin: 0 0 18px;
}
.oderis-megamenu__eyebrow {
  font-size: 12px;
  font-weight: var(--wp--custom--font-weight--bold);
  margin: 0 0 18px;
  text-transform: uppercase;
}
.oderis-megamenu__read-more {
  display: inline-flex;
  font-size: 12px;
  font-weight: var(--wp--custom--font-weight--bold);
  letter-spacing: 0;
  text-transform: uppercase;
}
.oderis-megamenu__implantation {
  display: flex;
  flex-direction: column;
  gap: 26px;
  height: 100%;
  max-width: 100%;
  overflow: hidden;
}
.oderis-megamenu__implantation-image {
  aspect-ratio: 4/3;
  background: rgba(255, 255, 255, 0.14);
  display: block;
  max-height: 100%;
  overflow: hidden;
  width: 100%;
}
.oderis-megamenu__implantation-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.oderis-megamenu__implantation .oderis-megamenu__card {
  grid-template-columns: 1fr;
}
.oderis-megamenu__implantation .oderis-megamenu__card-copy {
  padding-left: 0;
}

.oderis-language {
  position: relative;
}
.oderis-language__current {
  font-size: var(--wp--custom--oderis-megamenu--font-md);
  font-weight: var(--wp--custom--font-weight--bold);
  min-width: 32px;
  text-align: center;
}
.oderis-language__list {
  background: #fff;
  border: 1px solid #e5e8f1;
  box-shadow: 0 18px 38px rgba(0, 23, 116, 0.12);
  display: none;
  list-style: none;
  margin: 10px 0 0;
  min-width: 70px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: 100%;
}
.oderis-language__list a {
  display: block;
  font-size: var(--wp--custom--oderis-megamenu--font-sm);
  font-weight: var(--wp--custom--font-weight--bold);
  padding: 8px 10px;
}
.oderis-language.is-open .oderis-language__list {
  display: block;
}

.oderis-search-overlay {
  display: contents;
}
.oderis-search-overlay[hidden] {
  display: none;
}
.oderis-search-overlay__backdrop {
  background: rgba(0, 0, 0, 0.45);
  inset: 0;
  position: fixed;
  z-index: 40;
}
.oderis-search-overlay__panel {
  align-items: center;
  background: #fff;
  display: flex;
  height: 120px;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: var(--wp--custom--oderis-megamenu--header-height, 92px);
  z-index: 60;
}
.oderis-search-overlay__close {
  line-height: 0;
  position: absolute;
  right: 20px;
  top: 20px;
}
.oderis-search-overlay__close img {
  display: block;
  height: 20px;
  width: 20px;
}
.oderis-search-overlay__form {
  width: min(600px, 90vw);
}
.oderis-search-overlay__field {
  position: relative;
  width: 100%;
}
.oderis-search-overlay__input {
  background: #f5f6f9;
  border: 1px solid #001774;
  border-radius: 40px;
  box-sizing: border-box;
  color: #001774;
  font-family: var(--wp--preset--font-family--gotham, sans-serif);
  font-size: 16px;
  height: 56px;
  padding: 0 64px 0 28px;
  width: 100%;
}
.oderis-search-overlay__input::placeholder {
  color: rgba(0, 23, 116, 0.6);
}
.oderis-search-overlay__input:focus {
  box-shadow: 0 0 0 3px rgba(0, 23, 116, 0.12);
  outline: none;
}
.oderis-search-overlay__submit {
  align-items: center;
  cursor: pointer;
  display: flex;
  height: 40px;
  justify-content: center;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
}
.oderis-search-overlay__submit img {
  display: block;
  height: 20px;
  width: 20px;
}

.has-oderis-menu-open,
.has-oderis-search-open {
  overflow: hidden;
}

@media (max-width: 960px) {
  .oderis-megamenu__bar {
    grid-template-columns: auto 1fr auto;
    min-height: 76px;
    padding: 0 20px;
  }
  .oderis-megamenu__brand {
    width: 150px;
  }
}
@media (max-width: 960px) and (max-width: 380px) {
  .oderis-megamenu__bar {
    gap: 12px;
    padding: 0 16px;
  }
  .oderis-megamenu__brand {
    width: 130px;
  }
}
@media (max-width: 960px) {
  .oderis-megamenu__toggle {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    grid-column: 3;
    height: 34px;
    justify-content: center;
    position: relative;
    width: 34px;
    z-index: 3;
  }
  .oderis-megamenu__toggle span:not(.screen-reader-text) {
    background: var(--oderis-menu-blue);
    display: block;
    height: 2px;
    width: 26px;
  }
  .oderis-megamenu__actions {
    display: none;
  }
  .oderis-megamenu__panel {
    align-items: flex-start;
    background: #fff;
    bottom: 0;
    display: none;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) auto;
    left: 0;
    overflow: auto;
    padding: 104px 22px 40px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1;
  }
  .oderis-megamenu.is-open .oderis-megamenu__panel {
    display: grid;
  }
  .oderis-megamenu__top-list {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .oderis-megamenu__top-item {
    align-items: stretch;
    display: block;
    min-height: 0;
  }
  .oderis-megamenu__top-item:hover .oderis-megamenu__dropdown,
  .oderis-megamenu__top-item:hover .oderis-megamenu__grid, .oderis-megamenu__top-item:focus-within .oderis-megamenu__dropdown,
  .oderis-megamenu__top-item:focus-within .oderis-megamenu__grid, .oderis-megamenu__top-item.is-active .oderis-megamenu__dropdown,
  .oderis-megamenu__top-item.is-active .oderis-megamenu__grid {
    transform: none;
  }
  .oderis-megamenu__top-item:hover .oderis-megamenu__dropdown, .oderis-megamenu__top-item:focus-within .oderis-megamenu__dropdown {
    display: none;
  }
  .oderis-megamenu__top-item.is-open .oderis-megamenu__dropdown {
    display: block;
  }
  .oderis-megamenu__top-item.is-open:hover .oderis-megamenu__dropdown, .oderis-megamenu__top-item.is-open:focus-within .oderis-megamenu__dropdown {
    display: block;
  }
  .oderis-megamenu__top-link {
    font-size: 30px;
    min-height: 0;
    padding: 14px 0;
  }
  .oderis-megamenu__top-link::after {
    display: none;
  }
  .oderis-megamenu__dropdown {
    box-shadow: none;
    display: none;
    left: auto;
    max-width: none;
    opacity: 1;
    pointer-events: auto;
    position: static;
    transform: none;
    transition: none;
    visibility: visible;
    width: 100%;
  }
  .oderis-megamenu__tertiary, .oderis-megamenu__card {
    display: block;
  }
  .oderis-megamenu__grid {
    display: flex;
    flex-direction: column;
  }
  .oderis-megamenu__intro {
    order: -1;
  }
  .oderis-megamenu__secondary, .oderis-megamenu__detail {
    display: contents;
  }
  .oderis-megamenu__secondary-link, .oderis-megamenu__branch {
    order: var(--oderis-menu-order, 0);
  }
  .oderis-megamenu__branch {
    background: var(--oderis-menu-blue);
    color: #fff;
  }
  .oderis-megamenu__grid {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .oderis-megamenu__intro, .oderis-megamenu__secondary, .oderis-megamenu__tertiary-list {
    min-height: 0;
  }
  .oderis-megamenu__intro {
    padding: 8px 0 18px;
  }
  .oderis-megamenu__intro p {
    font-size: 16px;
    max-width: none;
  }
  .oderis-megamenu__secondary {
    padding: 0 0 14px;
  }
  .oderis-megamenu__secondary-link {
    font-size: 16px;
    padding: 0.8125rem 1rem;
  }
  .oderis-megamenu__detail {
    grid-column: auto;
  }
  .oderis-megamenu__tertiary-list, .oderis-megamenu__tertiary-content, .oderis-megamenu__feature {
    padding: 20px;
  }
  .oderis-megamenu__card-image {
    margin-bottom: 18px;
  }
  .oderis-megamenu__card-copy {
    padding-left: 0;
  }
  .oderis-megamenu__mobile-tools {
    align-items: center;
    display: flex;
    gap: 16px;
    grid-column: 2;
    justify-self: end;
    position: relative;
    z-index: 3;
  }
}
@keyframes oderis-tertiary-panel-in {
  from {
    opacity: 0;
    transform: translateX(10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.wp-block-template-part:has(> .oderis-megamenu.is-sticky) {
  position: sticky;
  top: 0;
  z-index: 50;
}

.wp-block-oderis-megafooter {
  background-color: #001774;
  color: #fff;
  width: 100%;
}

.oderis-megafooter__inner {
  position: relative;
  z-index: 1;
  padding-top: 4rem;
  padding-bottom: 2rem;
  /* Gouttière latérale, mobile first. Surcharge le o-p-2 du markup. */
  padding-left: 20px;
  padding-right: 20px;
}

.oderis-megafooter__inner::before,
.oderis-megafooter__inner::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  opacity: 0.65;
  pointer-events: none;
}

/* Trame de points, coin haut gauche.
   Elle etait ancree en haut a droite et reduite a 320px de large par un
   background-size: contain. Or le fichier ne porte ses points que sur sa moitie
   gauche, et les reduire au cinquieme moyennait chaque point de 8px avec le vide
   autour : il ne restait rien a l'ecran. On la pose donc a sa taille reelle -
   les points gardent leur pas de 24px - cadree sur l'etendue occupee par la
   trame, 726 x 432. max-width evite tout debordement horizontal sur petit ecran,
   la boite recadre l'image au lieu de la mettre a l'echelle. */
.oderis-megafooter__inner::before {
  top: 0;
  left: 0;
  width: 726px;
  max-width: 100%;
  height: 432px;
  background-image: url("../images/footer-bg-st.png");
  background-position: top left;
  background-size: auto;
  /* Le fichier ne depasse pas 18% d'alpha : il porte deja sa propre
     discretion, inutile de l'attenuer une seconde fois. */
  opacity: 1;
}

.oderis-megafooter__inner::after {
  bottom: 130px;
  right: 0;
  width: 280px;
  height: 280px;
  background-image: url("../images/footer-bg-eb.svg");
  background-position: bottom right;
  background-size: contain;
}

.oderis-megafooter__logo {
  margin-bottom: 3rem;
}
.oderis-megafooter__logo a {
  display: inline-block;
}
.oderis-megafooter__logo img {
  display: block;
  height: 40px;
  width: auto;
}

.oderis-megafooter__columns {
  margin-bottom: 3rem;
}

/* Colonnes empilées : on les sépare tant qu'elles ne sont pas côte à côte.
   Au-delà de 576px la gouttière de la grille suffit. */
.oderis-megafooter__col:not(:last-child) {
  margin-bottom: 2.5rem;
}

@media (min-width: 576px) {
  .oderis-megafooter__col:not(:last-child) {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .oderis-megafooter__inner {
    padding-left: 60px;
    padding-right: 60px;
  }
}
.oderis-megafooter__col-title {
  font-family: var(--wp--preset--font-family--gotham);
  font-weight: 400;
  color: #fff;
  margin: 0 0 1.5rem 0;
  pointer-events: none;
  cursor: default;
}

.oderis-megafooter__newsletter-title {
  pointer-events: auto;
  cursor: text;
  font-weight: 400;
}

.oderis-megafooter__menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.oderis-megafooter__menu-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.oderis-megafooter__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.oderis-megafooter__expertise-link {
  font-family: var(--wp--preset--font-family--gotham);
  font-weight: 700;
  color: #fff;
  text-decoration: none;
}
.oderis-megafooter__expertise-link:hover {
  text-decoration: underline;
}

.oderis-megafooter__simple-link {
  font-family: var(--wp--preset--font-family--gotham);
  font-weight: 300;
  color: #fff;
  text-decoration: none;
}
.oderis-megafooter__simple-link:hover {
  text-decoration: underline;
}

.oderis-megafooter__newsletter-form {
  margin-bottom: 2rem;
}

.oderis-megafooter__newsletter-field {
  display: flex;
  align-items: stretch;
}

.oderis-megafooter__newsletter-input {
  flex: 1;
  background-color: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-right: none;
  border-radius: 0;
  color: #fff;
  padding: 0.75rem 1rem;
  font-family: var(--wp--preset--font-family--gotham);
  font-size: 14px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.oderis-megafooter__newsletter-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.oderis-megafooter__newsletter-input:focus {
  border-color: rgba(255, 255, 255, 0.7);
}

.oderis-megafooter__newsletter-submit {
  background: transparent;
  border: 1px solid rgb(255, 255, 255);
  border-radius: 0;
  padding: 0.75rem 1.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.oderis-megafooter__newsletter-submit img {
  display: block;
  width: 15px;
  height: auto;
}
.oderis-megafooter__newsletter-submit:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.oderis-megafooter__social {
  margin-top: 2rem;
}

.oderis-megafooter__social-title {
  font-family: var(--wp--preset--font-family--gotham);
  font-weight: 400;
  color: #fff;
  margin: 0 0 0.75rem 0;
}

.oderis-megafooter__social-links {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.oderis-megafooter__social-links a {
  display: block;
  line-height: 0;
}
.oderis-megafooter__social-links img {
  display: block;
}

.oderis-megafooter__cities {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem 3rem;
  margin-top: 70px;
}

.oderis-megafooter__city {
  font-family: var(--wp--preset--font-family--gotham);
  font-weight: 500;
  color: #007EFF;
  text-transform: uppercase;
  white-space: nowrap;
  text-decoration: none;
}
.oderis-megafooter__city.is-disabled {
  cursor: default;
}

.oderis-megafooter__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.25rem 0.75rem;
  padding-bottom: 2rem;
  font-family: var(--wp--preset--font-family--gotham);
  font-weight: 400;
  color: #fff;
}
.oderis-megafooter__bottom a {
  color: #fff;
  text-decoration: none;
}
.oderis-megafooter__bottom a:hover {
  text-decoration: underline;
}

.oderis-megafooter__separator {
  opacity: 0.4;
}

@media (max-width: 575px) {
  .oderis-megafooter__inner {
    padding-top: 2.5rem;
  }
}
html mark {
  background: none;
  color: none;
}

select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #001774 !important;
  border-radius: 4px !important;
  background-color: #ffffff !important;
  color: #001774 !important;
  font-family: var(--wp--preset--font-family--gotham, sans-serif) !important;
  font-size: 10px !important;
  height: 22px !important;
  line-height: 22px !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
  min-width: 240px !important;
  background-image: url(../images/icon-down.svg) !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 1rem) center !important;
  background-size: 12px 12px !important;
}

select:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 23, 116, 0.16);
}

.with-blue-bg {
  background-color: var(--wp--preset--color--blue-light);
}

.with-white-bg {
  background-color: var(--wp--preset--color--white);
}

.is-layout-constrained {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

.site-main.with-breadcrumb .without-image {
  padding-top: 56px;
}

/* Si le contenu s'ouvre sur une image-banner, pas de bande haute : la banner
   monte tout en haut et le fil d'ariane se superpose dessus. */
.site-main.with-breadcrumb .without-image:has(> .wp-block-oderis-image-banner:first-child) {
  padding-top: 0;
}
