.space-top {
    padding-top: 15px;
}
.space-bottom {
    padding-bottom: 15px;
}
.menu-breakpoint .menu-level-0 li.space-top {
    padding-top: 0;
}
.menu-breakpoint .menu-level-0 li.space-bottom {
    padding-bottom: 0;
}
#main-menu.menu-breakpoint {
    padding: 10px 20px;
}
section.entete {
    border-top-left-radius: 125px;
}
.page-header .subtitle strong,
h1 span.highlight {
    border-radius: 47px;
    background   : #D0DEF4;
    padding      : 0 11px 2px;
}
.objectif h1 {
    font-size: 42px;
}
.espace {
    position: absolute;
    top     : 30px;
    right   : 20px;
    z-index : 100;
}
.page-header #contactmedia img {
    height    : auto;
    min-height: unset;
    position  : relative;
    display   : block;
}
#contactmedia .card-title {
    text-transform: unset;
    color         : var(--dark);
    font-size     : 27px;
    line-height   : 1.2;
}
#contactmedia .card-text a {
    text-transform : unset;
    text-decoration: underline;
    color          : var(--color-1-alt);
    font-size      : 20px;
    transition     : 0.2s all;
}
#contactmedia .card-text a:hover {
    text-decoration: none;
}
#contactmedia .btn {
    font-size: 15px;
}
.btn.btn-whatap {
    border    : 1px solid #42835c;
    background: white;
}
.btn.btn-service {
    border    : 1px solid var(--color-1-alt);
    color     : var(--color-1-alt);
    background: white;
}
.btn.btn-service:hover,
.btn.btn-whatap:hover {
    background: var(--bg-light);
}
form {
    background   : var(--bg-light);
    padding      : 1rem;
    border-radius: 25px;
}
.radius-2 {
    border-radius: 15px;
}
.radius-3 {
    border-radius: 10px;
}
.cadre h3 {
    font-weight: 400;
    font-size  : 24px;
}
.cadre .bloc-img {
    flex: 0 0 290px;
}
.cadre .btn {
    color    : white;
    border   : 1px solid white;
    font-size: 20px;
}
.cadre {
    background   : var(--dark2);
    border-radius: 25px;
    color        : white;
    overflow     : hidden;
}
.cadre .btn:hover {
    background: rgba(255,255,255,0.25);
}
.page-header .subtitle strong {
    padding: 0 8px 2px;
}
h1 {
    color        : var(--dark);
    font-size    : 45px;
    margin-bottom: 1rem;
}
h2 {
    font-size    : 44px;
    margin-bottom: 1rem;
    line-height  : 1.1;
}
.objectif h2 {
    font-size  : 40px;
    line-height: 1;
}
h3 {
    font-size    : 30px;
    margin-bottom: 1rem;
    font-weight  : 600;
}
h4 {
    font-size  : 21px;
    color      : var(--dark);
    font-weight: 700;
}
.card h4 {
    font-size    : 20px;
    color        : black;
    font-weight  : 400;
    margin-bottom: 1rem;
}
p {
    line-height: 1.2;
}
.widget-header p,
h5 {
    font-size     : 18px;
    color         : var(--color-1);
    font-weight   : 700;
    text-transform: uppercase;
}
.widget-header h2 {
    margin-bottom: 0;
}
.widget-header {
    margin-bottom: 2rem;
}
strong {
    font-weight: 600;
}
ul li::marker {
    color    : var(--color-1);
    font-size: 1.2em;
}
ul.orange li::marker {
    color: var(--color-2);
}
ul li {
    line-height  : 1.2;
    margin-bottom: 6px;
}
.page-header h1 {
    margin-bottom: 1rem;
}
.accueil .page-header {
    min-height: 655px;
}
.page-header .subtitle,
h1 span.page-sub-title {
    font-size: 25px;
    display  : block;
}
.features-stacked-md h3 {
    font-size: 25px;
}
.features-stacked-md .feature {
    background   : white;
    border-radius: 25px;
    padding      : 1rem;
    border-radius: 16px;
}
.features-stacked-md.quatre .feature {
    height: 100%;
}
.page-header {
    background: var(--bg-light);
    position  : relative;
}
.modules-detail h1,
h1 span.page-title {
    font-size    : 45px;
    margin-bottom: 1rem;
}
.accueil h1 span.page-title {
    font-weight: 500;
}
h1 span[style*="#ec7b2d"] {
    font-weight: 700;
}
h1 span.page-sub-title {
    font-size: 25px;
}
.page-header .container {
    padding-top: 5rem;
}
.page-header img {
    width     : auto;
    height    : auto;
    object-fit: unset;
    right     : 0;
    left      : unset;
    position  : absolute;
    bottom    : 0;
    top       : unset;
    max-width : 100%;
    min-height: unset;
}
.overflow {
    overflow-x: hidden;
}
.split-1-3 .split-container {
    width: calc(var(--container-width) * 0.75);
}
.split-1-3 .split-container-fluid {
    width: calc(var(--container-out-margin) + (var(--container-width) / 4) - (var(--bs-gutter-x, .75rem) * 2));
}
.border-left,
.border-left-black,
.border-left-blue {
    position: relative;
}
.border-left:before {
    content : url("../../img/border-left.svg");
    position: absolute;
    top     : 0;
    left    : 0;
    width   : auto;
    height  : auto;
    z-index : 2;
}
.liste-gauche h3 {
    font-size  : 25px;
    color      : var(--color-1);
    font-weight: 500;
}
.border-left-black:before {
    content : url("../../img/border-black.svg");
    position: absolute;
    top     : 0;
    left    : 0;
    width   : auto;
    height  : auto;
    z-index : 2;
}
.border-left-blue:before {
    content : url("../../img/border-left-blue.svg");
    position: absolute;
    top     : 0;
    left    : 0;
    width   : auto;
    height  : auto;
    z-index : 2;
}
.bg-dark2 {
    background: var(--dark2);
}
.atouts {
    position: relative;
}
.atouts h3 {
    color: var(--color-1);
}
.atouts:before {
    content : url("../../img/border-right.svg");
    position: absolute;
    bottom  : -8px;
    right   : -8px;
    width   : auto;
    height  : auto;
    z-index : 2;
}
.radius {
    border-radius: 25px;
}
.section-top {
    padding-bottom: 0 !important;
}
.card-title .data-item__title {
    font-size  : 30px;
    color      : var(--dark);
    line-height: 1.2;
}
.emplois-widgets .card-title .data-item__title {
    color      : var(--color-1);
    font-weight: 500;
}
.modules-list-content .data-item__categories {
    text-transform : uppercase;
    color          : var(--color-2);
    font-weight    : 600;
    list-style-type: none;
    display        : flex;
    align-items    : center;
    flex-wrap      : wrap;
    gap            : 7px 10px;
    margin-bottom  : 0;
}
.modules-list-content .data-item__content_short {
    color: var(--dark2);
}
.sticky-top {
    position   : sticky;
    top        : 150px;
    will-change: top;
    z-index    : 2;
}
.entete .container-fluid {
    margin-top: calc(var(--main-menu-height) + 2rem);
    padding   : 3rem 0 3rem 5rem;
    overflow-x: hidden;
}
.card {
    height       : 100%;
    border-radius: 24px;
    overflow     : hidden;
    background   : var(--bg-light);
}
.card .data-item__content_short {
    line-height: 1.1;
}
.bar {
    display        : flex;
    gap            : 12px;
    align-items    : center;
    justify-content: center;
}
.bar .fake-select {
    position : relative;
    min-width: 260px;
}
.bar .fake-select .label {
    padding        : 10px 16px;
    border-radius  : 24px;
    border         : 1px solid var(--color-1);
    background     : #fff;
    cursor         : pointer;
    user-select    : none;
    display        : flex;
    justify-content: space-between;
    align-items    : center;
    width          : 300px;
    background     : var(--bg-light);
}
.bar .dropdown {
    position             : absolute;
    left                 : 0;
    min-width            : 550px;
    border-radius        : 12px;
    box-shadow           : 0 8px 30px rgba(0,0,0,0.12);
    background           : #fff;
    padding              : 18px;
    display              : none;
    filter:var(--drop-shadow-3);
    z-index              : 100;
    gap                  : 0 10px;
    grid-template-columns: repeat(2, 1fr);
}
/* we'll use grid when visible */
.bar .dropdown.grid {
    display: grid;
}
.bar .item {
    padding      : 8px 10px;
    border-radius: 8px;
    cursor       : pointer;
}
.bar .item:hover,
.item:focus {
    background: #f4f6ff;
    outline   : none;
}
.bar .item h4 {
    margin: 0 0 6px;
}
.bar .item p {
    margin     : 0;
    font-style : italic;
    line-height: 1.2;
}
.bar .cta {
    background   : var(--color-2);
    color        : #fff;
    border       : none;
    border-radius: 24px;
    padding      : 10px 16px;
    cursor       : pointer;
}
.bar .cta:hover {
    background: var(--color-2-alt);
}
/* small helper text */
.bar .hint {
    font-size  : 13px;
    color      : #666;
    margin-left: 6px;
}
.partner-list img {
    height: 93px;
}
.split-container {
    display        : flex;
    flex-direction : column;
    justify-content: center;
}
.temoignages-widgets .data-item__content_short {
    font-style   : italic;
    color        : var(--dark2);
    line-height  : 1.1;
    margin-bottom: 0.5rem;
}
.temoignages-widgets .data-item__title {
    font-weight: 700;
    color      : var(--dark2);
    font-size  : 16px;
}
.temoignages-widgets .fonction {
    color      : var(--dark2);
    font-size  : 14px;
    line-height: 1.2;
}
.m-bottom {
    margin-bottom: -1rem;
}
.temoignages-widgets img {
    height       : 93px;
    margin       : 0 auto;
    display      : block;
    border-radius: 50%;
}
swiper-container::part(button-next) {
    right: -34px;
    color: black;
    width: 17px;
}
swiper-container::part(button-prev) {
    left : -34px;
    color: black;
    width: 17px;
}
swiper-container::part(container) {
    position: unset;
}
swiper-container::part(button-prev) {
    left : -34px;
    color: black;
    width: 17px;
}
swiper-container::part(button-next) {
    right: -34px;
    color: black;
    width: 17px;
}
@media(max-width:1699px) {
    .accueil .page-header img {
        width: 600px;
    }
}
@media(max-width:1399px) {
    .features-stacked-md h3 {
        font-size: 20px;
    }
    .atouts svg {
        width : 70px;
        height: 70px;
    }
    .partner-list img {
        height: 65px;
    }
    h3 {
        font-size: 25px;
    }
    h1 span.page-title {
        font-size: 40px;
    }
    .objectif h2,
    h2 {
        font-size: 35px;
    }
    .card h4 {
        font-size    : 18px;
        margin-bottom: 0.5rem;
    }
    .page-header .subtitle,
    h1 span.page-sub-title {
        font-size: 22px;
    }
}
@media(max-width:1199px) {
    #main-menu.menu-breakpoint {
        width : calc(100% - 2rem);
        margin: 1rem;
    }
    .page-header img {
        display: none;
    }
    .entete .container-fluid {
        padding: 0;
    }
    .accueil .page-header {
        min-height: 530px;
    }
}
.feature h3 {
    margin-bottom: 0;
}
@media(max-width:991px) {
    .accueil .page-header {
        min-height: 455px;
    }
    h1 {
        font-size: 35px;
    }
}
@media(max-width:767px) {
    swiper-container::part(button-next),
    swiper-container::part(button-prev) {
        top   : unset;
        bottom: -40px;
    }
    .modules-detail h1,
    h1 span.page-title {
        font-size: 32px;
    }
    swiper-container::part(button-next) {
        right: 40%;
    }
    .page-header .subtitle,
    h1 span.page-sub-title {
        font-size: 18px;
    }
    swiper-container::part(button-prev) {
        left: 40%;
    }
    .entete .container-fluid {
        padding: 3rem 1.5rem 0;
    }
    .menu-breakpoint .menu-level-0.upper-menu > li > a {
        height: auto;
    }
    .mySwiper {
        margin-bottom: 2rem;
    }
    .partner-list img {
        height: 50px;
    }
    .atouts svg {
        width : 50px;
        height: 50px;
    }
    .feature .feature-img {
        margin-bottom: 0;
    }
    .feature {
        align-items: center;
    }
    .menu-breakpoint .sub-menu ul,
    .menu-breakpoint > #slide-menu {
        left: 0;
    }
    .menu-breakpoint .menu-level-1 li {
        margin-bottom: 0;
    }
    .menu-level-0.upper-menu .sub-menu.expertise ul li {
        padding: 0 16px;
    }
    .menu-level-0.upper-menu .sub-menu.expertise ul li a {
        padding: 10px 12px;
    }
    .menu-level-0.upper-menu .sub-menu.expertise ul li.link-image a {
        padding: 0;
    }
}
@media(max-width:575px) {
    h2 {
        font-size : 25px;
        text-align: center;
    }
    .objectif h2 {
        font-size : 27px;
        text-align: center;
    }
    .liste-num svg {
        width : 50px;
        height: 50px;
    }
    .widget-header p,
    h5 {
        text-align: center;
    }
    h1 {
        font-size: 30px;
    }
    .citation svg {
        width: 55px;
    }
}
#main-menu.menu-breakpoint .logo > img {
    height: 40px;
}
#main-menu.menu-breakpoint .space-top {
    padding-top: 0;
}
#main-menu.menu-breakpoint {
    height: 70px;
}
#main-menu.menu-breakpoint .assurance {
    margin-top: 1rem;
}
#main-menu.menu-breakpoint .sub-menu.expertise ul li.return {
    margin: 0.5rem 0;
}
#main-menu.menu-breakpoint .sub-menu.expertise ul {
    padding: 0;
}
#slide-menu.menu-open ul ul li.link-image {
    background: var(--bg-light);
}
#main-menu.menu-breakpoint #slide-menu.menu-open ul ul li.link-image {
    margin: 16px 0 0;
}
#main-menu.menu-breakpoint #slide-menu.menu-open ul ul li.link-image .menu-title {
    padding: 16px 16px 0;
}
.link-image img {
    width  : 100%;
    padding: 0 20px;
}
.sub-menu li.link-image a {
    padding: 0 1rem;
}
blockquote {
    color      : var(--dark2);
    font-size  : 25px;
    font-style : italic;
    font-weight: 700;
    text-align : center;
    line-height: 1.2;
}
.widget-header h2 {
    color: var(--dark);
}
.quote p {
    font-size: 18px;
    color    : var(--dark2);
}
.equipes-widgets .card {
    background   : var(--bg-light);
    border-radius: 16px;
    overflow     : hidden;
}
.equipes-widgets .card .data-item__title {
    color      : var(--color-1-alt);
    font-weight: 500;
    font-size  : 30px;
}
.equipes-widgets .card-body {
    text-align: center;
}
.centered {
    display        : flex;
    flex-direction : column;
    justify-content: center;
}
.features-5 {
    gap        : 20px;
    align-items: stretch;
    margin-top : 2rem;
}
.features-5 h3 {
    font-size    : 22px;
    margin-bottom: 1rem;
}
.features-5 .feature {
    flex: 0 0 18%;
}
.modules-detail {
    margin-top: calc(var(--main-menu-height) + 4rem);
}
.equipes-widgets .data-item__content_short {
    line-height: 1.2;
}
.modules-detail .data-item__category {
    text-transform: uppercase;
    color         : var(--color-2);
    font-weight   : 600;
}
.modules-detail .data-item__title {
    margin-bottom: 1rem;
}
.modules-detail .content .data-item__content_short {
    font-size    : 25px;
    line-height  : 1.2;
    margin-bottom: 1rem;
}
.data-item__share.btn {
    padding: 2px 10px;
}
.data-item__share .dropdown-menu {
    border    : none;
    box-shadow: var(--shadow-1);
}
.list-mini-title a {
    line-height: 1.1;
}
.list-mini-title .data-item__title {
    font-size: 16px;
}
.data-item__share .dropdown-menu a:hover {
    color: var(--color-2);
}
.modules-detail.emplois-detail .data-item__content_short {
    font-size: 20px;
}
.data-item__attributes_display_grid a,
span.critere {
    background   : white;
    border-radius: 12px;
    padding      : 2px 10px;
    font-size    : 14px;
}
.data-item__attributes_display_detail span.title,
.emplois-detail span.critere {
    background   : var(--bg-light);
    border-radius: 12px;
    padding      : 2px 10px;
    font-size    : 14px;
}
#content .data-item__description ul li::marker {
    color: var(--color-2);
}
#content .data-item__description ul li {
    margin-bottom: 3px;
}
#content .data-item__description h3 {
    font-size: 25px;
}
.location .btn {
    color : var(--dark);
    border: 1px solid var(--dark);
}
.faqs-widgets .card-title {
    line-height: 1;
}
.faqs-widgets .data-item__title {
    font-size  : 22px;
    font-weight: 700;
}
.border-gauche {
    border-left : 2px solid var(--color-1-alt);
    padding-left: 1rem;
}
@media(max-width:1199px) {
    .features-5 .feature {
        flex: 0 0 30%;
    }
}
@media(max-width:991px) {
    .modules-detail {
        margin-top: calc(70px + 4rem);
    }
}
@media(max-width:767px) {
    .features-5 .feature {
        flex-direction: column;
        text-align    : center;
    }
    .faqs-widgets .data-item__title {
        font-size  : 18px;
        line-height: 1;
    }
    .features-stacked-md .feature-img {
        padding-right: 0;
        margin-bottom: 1rem;
    }
}
@media(max-width:575px) {
    .features-5 .feature {
        flex-direction: row;
        text-align    : left;
    }
    .features-stacked-md .feature-img {
        padding-right: 1.5rem;
        margin-bottom: 0;
    }
    .features-5 .feature {
        flex: 0 0 100%;
    }
    .features-stacked-sm .feature-img {
        padding-right: 1rem;
    }
    .emplois-detail .features-stacked-sm .feature {
        align-items: flex-start;
    }
    h3 {
        font-size: 22px;
    }
}
.table > :not(caption) > * > * {
    border-bottom: none;
}
thead tr {
    border-bottom: 1px solid var(--dark);
}
thead th {
    --bs-table-bg-type: var(--bg-light);
}
.table-striped > tbody > tr:nth-of-type(even) > * {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type   : var(--bg-light);
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type   : white;
}
.table th.first-td {
    border       : 1px solid var(--color-2);
    border-bottom: none;
}
.table td,
.table th {
    line-height: 1.1;
}
.table td.trait {
    border       : 1px solid var(--color-2);
    border-bottom: none;
    border-top   : none;
}
.table td.last-td {
    border    : 1px solid var(--color-2);
    border-top: none;
}
.table td:nth-child(1),
.table th:nth-child(1) {
    width: 25%;
}
.table td:nth-child(2),
.table th:nth-child(2) {
    width: 25%;
}
.table td:nth-child(3),
.table th:nth-child(3) {
    width: 25%;
}
.table td:nth-child(4),
.table th:nth-child(4) {
    width: 25%;
}
.service .faqs-widgets h2 .color-1 {
    color: var(--color-2) !important;
}
.temoignages-widgets .card {
    background: white;
}
.liste-gauche p {
    margin-bottom: 0;
}
.split.split-1-2 .split-container {
    width    : 60%;
    max-width: unset;
}
.split.split-1-2 .split-container-fluid {
    width: 40%;
}
@media(max-width:1499px) {
    .objectif h1 {
        font-size: 34px;
    }
}
@media(max-width:1399px) {
    .page-header img {
        height: 495px;
    }
}
@media(max-width:1199px) {
    .espace {
        top: 100px;
    }
    .liste-gauche h3 {
        font-size: 22px;
    }
    #contactmedia .card-title {
        font-size: 20px;
    }
    #contactmedia .modal-dialog {
        max-width: 90%;
    }
    #contactmedia .card-text a {
        font-size: 18px;
    }
    #contactmedia .btn {
        font-size: 14px;
    }
    .liste-num svg {
        width : 60px;
        height: 60px;
    }
}
.features-5 p {
    margin-bottom: 0;
}
ul.data-item__categories {
    list-style-type: none;
    color          : var(--color-2);
    display        : flex;
    gap            : 5px 10px;
}
ul.data-item__categories li {
    font-weight   : 600;
    text-transform: uppercase;
}
.liste-gauche svg {
    width: 70px;
}
@media(max-width:991px) {
    .modules-detail .data-item__content_short {
        font-size: 16px;
    }
    .cadre .btn {
        font-size: 16px;
    }
    .cadre h3 {
        font-size: 16px;
    }
    .split.split-1-2 .split-container-fluid {
        width: 100%;
    }
    .split.split-1-2 .split-container {
        width: 100%;
    }
    .liste-gauche svg {
        width: 65px;
    }
    .liste-gauche p {
        margin-top: 5px;
    }
    .split-1-3 .split-container-fluid img {
        width  : 70%;
        display: block;
        margin : 0 auto;
    }
    .atouts svg,
    .liste-num svg {
        width : 55px;
        height: 55px;
    }
    .cadre h2 {
        font-size: 28px;
    }
    .modules-detail h1,
    h1 span.page-title {
        font-size: 30px;
    }
    .border-left:before {
        content: url("../../img/border-left-mobile.svg");
    }
    .border-left-blue:before {
        content: url("../../img/border-left-blue-mobile.svg");
    }
    .border-left-black:before {
        content: url("../../img/border-black-mobile.svg");
    }
    .page-header {
        min-height: 400px;
    }
    .cadre .bloc-img {
        flex: 0 0 205px;
    }
    .page-header {
        min-height: 450px;
    }
}
@media(max-width:767px) {
    .modules-detail h1,
    h1 span.page-title {
        font-size: 27px;
    }
    .cadre {
        flex-direction: column;
    }
    .cadre img {
        margin-top: 1rem;
    }
    .split-1-3 .split-container-fluid img {
        width: 100%;
    }
    .features-5 .feature {
        flex: 0 0 48%;
    }
    .objectif h2,
    h2 {
        font-size: 32px;
    }
}
@media(max-width:575px) {
    .table {
        width: 500px;
    }
    .liste-gauche h3 {
        font-size: 20px;
    }
    .logos svg {
        width: 155px;
    }
    .modules .page-header .content {
        padding: 0;
    }
    .features-5 .feature {
        flex: 0 0 100%;
    }
    .modules .page-header {
        min-height: 350px;
    }
    .card-title .data-item__title {
        font-size  : 22px;
        line-height: 1;
    }
    .liste-gauche p {
        margin-top: 0;
    }
    .list-mini .card-title .data-item__title {
        font-size  : 16px;
        line-height: 1;
    }
    .modules-list-content {
        padding: 15px 0;
    }
    #content .pages ul {
        padding-left: 20px;
    }
    #contactmedia h2 {
        font-size: 25px;
    }
    #contactmedia .modal-dialog {
        max-width: 100%;
    }
    .card img {
        width: 100%;
    }
    .menu-breakpoint .sub-menu.active > ul {
        top: 80px;
    }
    .features-5 h3 {
        margin-bottom: 5px;
    }
    .liste-gauche svg {
        width: 50px;
    }
    .menu-breakpoint .sub-menu ul {
        height: calc(100vh - 105px);
    }
    .atouts:before {
        content: none;
    }
    .border-left,
    .border-left-blue {
        padding: 0 12px;
    }
    .page-header .container {
        padding: 7rem 1rem 1rem;
    }
    blockquote {
        font-size: 22px;
    }
}