/* Composant « Global Code » du live (identique sur toutes les pages), dans son ordre. Régénérer par scripts/split-webflow-css.mjs. */
/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
  	border-radius: var(--_borders---border-radius--s);
    outline-color: var(--background-light--primary-bg-light);
    outline-offset: 0px;
    outline-width: 2px;
    outline-style: solid;
}

/* Set color style to inherit */
.inherit-color * {
    color: inherit;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}

.w-richtext figcaption {
	font-size: var(--_typography---paragraph--s);
}

article a {
  	color: var(--text-dark--primary-dark);
}

.text-rich-text strong {
	font-family: "Poppins 600", Arial, sans-serif;
  font-weight: 600;
}

/* Make sure containers never lose their center alignment */
.container-medium,.container-small, .container-large {
	margin-right: auto !important;
  margin-left: auto !important;
}

/* Apply "..." after 3 lines of text */
.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}


/* These classes are never overwritten */
.hide {
  display: none !important;
}

@media screen and (min-width: 992px) {
    .hide-desktop {
        display: none;
    }
}

@media screen and (max-width: 1194px) {
    .desktop-only {
        display: none;
    }
}

@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}
  @media screen and (max-width: 767px) {
    .hide-mobile-landscape{
      display: none !important;
    }
}
  @media screen and (max-width: 479px) {
    .hide-mobile{
      display: none !important;
    }
}

@media screen and (991px < width < 1194px) {
	.w-nav[data-collapse=medium] .w-nav-menu {
  	display: none;
  }

	/* Ajoute une transition fluide à l'icône pour l'animation*/
  .nav_toggle-icon {
  	transition: transform 0.3s ease;
  }
 
	.w-nav[data-collapse=medium] .w-nav-button {
  	display: block;
  }

	.navbar_menu-button {
  	margin-left: -.5rem;
    padding: 0;
  }

	.menu-icon {
  	flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    margin-right: -.5rem;
    padding-bottom: 0;
    padding-right: 0;
    display: flex;
    position: relative;
  }

	.menu-icon_line-top {
  	background-color: #fafafa;
    width: 24px;
    height: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }
  
  .menu-icon_line-middle {
        background-color: #fafafa;
        justify-content: center;
        align-items: center;
        width: 24px;
        height: 2px;
        margin-top: 6px;
        margin-bottom: 6px;
        padding-bottom: 0;
        padding-right: 0;
        display: flex;
        position: static
  }
  
  .menu-icon_line-middle-inner {
        background-color: #fafafa;
        justify-content: center;
        align-items: center;
        width: 24px;
        height: 2px;
        padding-bottom: 0;
        padding-right: 0;
        display: flex;
        position: absolute
  }
  
  .menu-icon_line-bottom {
        background-color: #000;
        border: 1px solid #fafafa;
        width: 24px;
        height: 2px;
        padding-bottom: 0;
        padding-right: 0
  }
  
  .nav_menu {
        padding-top: var(--_spacings---spacers--l);
        padding-right: var(--_spacings---padding-section--global);
        padding-left: var(--_spacings---padding-section--global);
        grid-column-gap: 0rem;
        grid-row-gap: 0rem;
        background-color: var(--background-dark--primary-bg-dark);
        scrollbar-width: none;
        flex-flow: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        height: 100vh;
        display: flex;
        position: absolute;
        left: 0;
        overflow-y: auto
  }
  
  .nav_menu-main {
  	grid-column-gap: var(--_spacings---spacers--l);
    grid-row-gap: var(--_spacings---spacers--l);
    flex-flow: column
  }
  
  .nav_dropdown {
        grid-column-gap: var(--_spacings---spacers--m);
        grid-row-gap: var(--_spacings---spacers--m);
        flex-flow: column;
        justify-content: flex-start;
        align-items: stretch;
        width: 100%;
        display: flex
  }
  
  .nav_dropdown_toggle {
  	padding: 0rem 0rem var(--_spacings---spacers--xs);
    margin-left: 0;
    margin-right: 0
  }
  .nav_dropdown_toggle:hover {
  	background-color: #0000;
  }
  
  .nav_dropdown_container {
    position: static;
  }
  
  .nav_toggle-icon {
    transition: transform .3s;
  }
  
  .nav_dropdown_wrapper.is-services {
        border-top-style: none;
        grid-template-columns: 1fr 1fr;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0
  }
  
  .nav_dropdown_right.is-services {
  	height: 100%;
  }
  
  #w-node-_165ea438-67b2-d34a-f983-8df96763f48b-6763f47c {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
  
  .nav_dropdown-preheader {
  	padding-bottom: 0;
  }
  
  .nav_dropdown_item {
        color: var(--text-light--primary-light);
        border-right-style: none;
        padding-top: 0;
        padding-bottom: 0;
        font-size: .9375rem
  }
  
  .nav_dropdown_item_header {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
  }
  
  .nav_menu_link {
        padding: 0rem 0rem var(--_spacings---spacers--xs);
        border-bottom: 0 solid #3e4040;
        margin-left: 0;
        margin-right: 0;
        display: block
  }
  
  .nav_menu_link.hide-desktop {
    display: block;
  }
  
  .button-group_navbar {
        margin-top: var(--_spacings---spacers--l);
        flex-flow: column;
        flex: 1;
        justify-content: flex-start;
        align-items: stretch;
        display: flex
  }
  
  .nav_dropdown_container.w--open {
    padding: 0 0 0;
    position: static;
  }
  
  .nav_dropdown_wrapper.is-secteurs,.nav_dropdown_wrapper.is-ressources {
        grid-column-gap: var(--_spacings---spacers--m);
        grid-row-gap: var(--_spacings---spacers--m);
        border-top-style: none;
        grid-template-rows: auto auto;
        grid-template-columns: 1fr;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0
  }
  
  .nav_dropdown_left {
        padding: var(--_spacings---spacers--s);
        grid-column-gap: var(--_spacings---spacers--m);
        grid-row-gap: var(--_spacings---spacers--m);
        border-radius: var(--_borders---border-radius--s);
        background-color: var(--background-dark--secondary-bg-dark)
  }
  
  .nav_dropdown_right.is-resources {
    height: auto;
  }
  
  .article-card {
    height: 25rem;
    align-items: stretch;
  }
  
  .article-image.nav, .project-image-mobile.on-nav {
    z-index: 0;
  }
  
  .nav_item-project .project-card-link {
  	z-index: 1;
  }
  
  .nav_item-project .project-content {
  	z-index: 2;
  }

	/* Survol du bouton : fait tourner l'icône de 180°*/
	.nav_dropdown_toggle:hover .nav_toggle-icon {
		transform: rotate(180deg);
  }
}

.is--shadow-xxsmall{
	box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
}
.is--shadow-xsmall{
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.10), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
}
.is--shadow-small{
	box-shadow: 0px 4px 8px -2px rgba(0, 0, 0, 0.10), 0px 2px 4px -2px rgba(0, 0, 0, 0.06);
}
.is--shadow-medium{
	box-shadow: 0px 12px 16px -4px rgba(0, 0, 0, 0.08), 0px 4px 6px -2px rgba(0, 0, 0, 0.03);
}
.is--shadow-large{
	box-shadow: 0px 20px 24px -4px rgba(0, 0, 0, 0.08), 0px 8px 8px -4px rgba(0, 0, 0, 0.03);
}
.is--shadow-xlarge{
	box-shadow: 0px 24px 48px -12px rgba(0, 0, 0, 0.18);
}
.is--shadow-xxlarge{
	box-shadow: 0px 32px 64px -12px rgba(0, 0, 0, 0.14);
}

@media screen and (max-width: 767px) {
    :root {
        --spacing-padding-sections--vertical: 1.5rem;
        --spacing-padding-sections--s: 2.25rem;
        --spacing-padding-sections--m: 3.75rem;
        --spacing-padding-sections--l: 4.5rem;
        
        --spacing-gap--xxs: 3px;
        --spacing-gap--xs: 0.375rem;
        --spacing-gap--s: 0.75rem;
        --spacing-gap--m: 1.5rem;
        --spacing-gap--l: 2.25rem;
        --spacing-gap--xl: 3rem;
        --spacing-gap--xxl: 3.75rem;
        
        --spacing-border-radius--s: 3px;
        --spacing-border-radius--m: 0.375rem;
        --spacing-border-radius--l: 0.75rem;
        
        --typography-heading--h1: 3rem;
        --typography-heading--h2: 2.25rem;
        --typography-heading--h3: 1.5rem;
        --typography-heading--h4: 1.25rem;
        --typography-heading--h5: 1.125rem;
        --typography-heading--h6: 0.75rem;
    }
}

.splide__pagination {
	position: static;
  display: flex;
  justify-content: center;
  gap: var(--_spacings---gap--xs);
  padding: 0;
}

.splide.is-2 .splide__pagination {
  display: flex;
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
}

.splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 0.5rem;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 0.5rem;
}

.splide__pagination__page.is-active {
    background: #fff;
    transform: scale(1.4);
    z-index: 1;
}

.splide.is-focus-in .splide__pagination__page:focus {
	border-radius: 99rem;
  outline-color: var(--background-light--primary-bg-light);
  outline-offset: 2px;
  outline-width: 2px;
  outline-style: solid;
}

.swiper-navigation .swiper-button-prev,
.swiper-navigation .swiper-button-next {
  padding: var(--_spacings---gap--xs);
  background-color: var(--background-dark--secondary-bg-dark);
  border: var(--_borders---border-width--s) solid var(--border--border);
  border-radius: 100vw;
  position: static;
  margin: 0;
}
.swiper-pagination {
  display: flex;
  align-items: center;
  gap: var(--_spacings---gap--xxs);
  position: static;
}
.swiper-pagination-bullet {
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--background-light--secondary-bg-light);
  opacity: 0.5;
  border-radius: 100vw;
  transition: width 0.25s cubic-bezier(0.22, 1, 0.36, 1) 0.05s;
  margin: 0 !important;
}
.swiper-pagination-bullet-active {
	background-color: var(--background-light--primary-bg-light);
  opacity: 1;
  width: 2.25rem;
}

.section_faq .faq_answer b,
.section_faq .faq_answer strong {
	font-family: "Poppins 700",Arial,sans-serif;
  font-weight: 700;
}
