/* 
Theme Name: SFE
Description: SFE thème
Author: Oz-média
Author URI: https://www.oz-media.com
Template: hello-elementor
Version: 2.0.0
Text Domain: sfe
*/

/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/

*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

#root, #__next {
  isolation: isolate;
}

.elementor-widget-text-editor ul {
  list-style-type: none;
  padding: 0;
}

/**
  Elementor buttons
*/
.elementor-widget-button.elementor-button-success .elementor-button-icon svg,
.elementor-widget-button.elementor-button-info .elementor-button-icon svg {
  width: 35px;
  height: 35px;
  transition: all .4s ease;
}
.elementor-widget-button.elementor-button-success .elementor-button-content-wrapper,
.elementor-widget-button.elementor-button-info .elementor-button-content-wrapper {
  align-items: center;
}
.elementor-widget-button.elementor-button-success .elementor-button-link:hover .elementor-button-icon svg,
.elementor-widget-button.elementor-button-success .elementor-button-link:focus .elementor-button-icon svg,
.elementor-widget-button.elementor-button-success .elementor-button-link:active .elementor-button-icon svg,
.elementor-widget-button.elementor-button-info .elementor-button-link:hover .elementor-button-icon svg,
.elementor-widget-button.elementor-button-info .elementor-button-link:focus .elementor-button-icon svg,
.elementor-widget-button.elementor-button-info .elementor-button-link:active .elementor-button-icon svg {
  transform: rotate(90deg);
}
.elementor-widget-button.elementor-button-info .elementor-button-link:hover .elementor-button-icon svg path,
.elementor-widget-button.elementor-button-info .elementor-button-link:focus .elementor-button-icon svg path,
.elementor-widget-button.elementor-button-info .elementor-button-link:active .elementor-button-icon svg path {
  fill: #FFF;
}

/**
  Widget carousel
*/
.elementor-widget-media-carousel {
  height: 100%;
}
.elementor-widget-media-carousel .elementor-main-swiper {
  height: 100%;
  border-radius: 18px;
}
.elementor-swiper-button {
  top: auto!important;
  left: auto!important;
  border: 1px solid #FFF;
  border-radius: 99px;
  padding: 6px;
  backdrop-filter: blur(4px);
  transition: all .4s ease;
}
.elementor-swiper-button:hover,
.elementor-swiper-button:focus,
.elementor-swiper-button:active {
  background-color: #FFF;
}
.elementor-swiper-button svg {
  fill: #FFF;
  width: 14px;
  height: 14px;
}
.elementor-swiper-button:hover svg,
.elementor-swiper-button:focus svg,
.elementor-swiper-button:active svg {
  fill: #131435!important;
}
.elementor-swiper-button.elementor-swiper-button-prev {
  bottom: 20px!important;
  right: 75px!important;
}
.elementor-swiper-button.elementor-swiper-button-next {
  bottom: 20px!important;
  right: 30px!important;
}

/**
  Secteurs d'activité
*/
.secteurs-wrapper {
	display: flex;
	gap: 20%;
	justify-content: space-between;
	font-family: "Roc Grotesk", sans-serif;
}
.secteurs-wrapper .secteurs-list {
	display: flex;
  flex-direction: column;
	justify-content: space-between;
  gap: 20px;
  width: 42%;
}
.secteurs-wrapper .secteurs-list ul {
	display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
}
.secteurs-wrapper .secteurs-list ul li {
	padding: 0 0 2px 0;
  cursor: pointer;
	transition: color 300ms ease-in-out;
  background-color: #ABACC1;
}
.secteurs-wrapper .secteurs-list ul li > span.overlay-title {
  display: flex;
  background-color: #FFF;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  background-color: #FFF;
  color: #ABACC1;
  font-size: 20px;
  font-weight: 400;
}
.secteurs-wrapper .secteurs-list li.active,
.secteurs-wrapper .secteurs-list li:hover,
.secteurs-wrapper .secteurs-list li:active,
.secteurs-wrapper .secteurs-list li:focus {
	background-image: linear-gradient(62deg, #cf368c 2%, #f4953f 90%);
  background-color: transparent;
}
.secteurs-wrapper .secteurs-list ul li:hover > span.overlay-title,
.secteurs-wrapper .secteurs-list ul li:focus > span.overlay-title,
.secteurs-wrapper .secteurs-list ul li:active > span.overlay-title,
.secteurs-wrapper .secteurs-list ul li.active > span.overlay-title {
  color: #22245C;
}
.secteurs-wrapper .images-list {
	width: 38%;
}
.secteurs-wrapper .images-list img {
	object-fit: cover;
  aspect-ratio: 16 / 9;
	height: 100%;
}
.secteurs-wrapper .images-list img:not(.active) {
	display: none;
}
@media( max-width: 991px ) {
	.secteurs-wrapper {
    gap: 10%;
  }
  .secteurs-wrapper .secteurs-list {
    width: 47%;
  }
  .secteurs-wrapper .images-list {
    width: 43%;
  }
}
@media( max-width: 767px ) {
	.secteurs-wrapper {
    flex-direction: column;
    gap: 40px;
  }
  .secteurs-wrapper .secteurs-list,
  .secteurs-wrapper .images-list {
    width: 100%;
  }
}

#sfe-expertise-carousel .splide__slide {
  background-color: rgba(255, 255, 255, .18);
  backdrop-filter: blur(12px);
  border-radius: 18px;
  padding: 24px 18px;
  border: 3px solid transparent;
  transition: all .4s ease;
}
#sfe-expertise-carousel .splide__slide:hover,
#sfe-expertise-carousel .splide__slide:focus,
#sfe-expertise-carousel .splide__slide:active {
  border: 3px solid #FFF;
}
#sfe-expertise-carousel .splide__slide > a {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
#sfe-expertise-carousel .splide__slide h3,
#sfe-expertise-carousel .splide__slide p {
  color: #FFF;
}
#sfe-expertise-carousel .splide__slide h3 {
  font-size: 20px;
  font-weight: 500;
}
#sfe-expertise-carousel .splide__slide p {
  font-size: 14px;
  font-weight: 400;
}
#sfe-expertise-carousel .splide__slide svg {
  margin-top: 20px;
}

.sfe-expertise-content-wrapper {
  padding: 0 20px;
}
#sfe-expertise-carousel-widget {
  margin-bottom: 60px;
  padding: 0 0 0 20px;
}
#sfe-expertise-carousel-widget.expertise .splide__slide {
  background-image: linear-gradient(62deg, #cf368c 2%, #f4953f 90%);
  background-color: transparent;
  padding: 2px;
  backdrop-filter: none;
  cursor: pointer;
  border-radius: 18px;
  transition: all .4s ease;
}
#sfe-expertise-carousel-widget.expertise .splide__slide .slide-content {
  background-color: #FFF;
  padding: 30px 20px;
  border-radius: 16px;
  height: 100%;
}
#sfe-expertise-carousel-widget.expertise .splide__slide h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
}
#sfe-expertise-carousel-widget.expertise .splide__slide p {
  font-size: 14px;
  font-weight: 400;
}
#sfe-expertise-carousel-widget.expertise .splide__slide .slide-content h3,
#sfe-expertise-carousel-widget.expertise .splide__slide .slide-content p {
  color: #22245C;
  transition: all .2s ease;
}
#sfe-expertise-carousel-widget.expertise .splide__slide,
#sfe-expertise-carousel-widget.expertise .splide__slide:hover,
#sfe-expertise-carousel-widget.expertise .splide__slide:focus,
#sfe-expertise-carousel-widget.expertise .splide__slide:active
#sfe-expertise-carousel-widget.expertise .splide__slide.active {
  border: none;
}
#sfe-expertise-carousel-widget.expertise .splide__slide:hover .slide-content,
#sfe-expertise-carousel-widget.expertise .splide__slide:focus .slide-content,
#sfe-expertise-carousel-widget.expertise .splide__slide:active .slide-content,
#sfe-expertise-carousel-widget.expertise .splide__slide.active .slide-content {
  background-color: transparent;
}
#sfe-expertise-carousel-widget.expertise .splide__slide .slide-content svg {
  margin-top: 40px;
  fill: #22245C;
  transition: all .2s ease;
}
#sfe-expertise-carousel-widget.expertise .splide__slide:hover .slide-content svg,
#sfe-expertise-carousel-widget.expertise .splide__slide:focus .slide-content svg,
#sfe-expertise-carousel-widget.expertise .splide__slide:active .slide-content svg,
#sfe-expertise-carousel-widget.expertise .splide__slide.active .slide-content svg {
  fill: #FFF;
}
#sfe-expertise-carousel-widget.expertise .splide__slide:hover .slide-content h3,
#sfe-expertise-carousel-widget.expertise .splide__slide:focus .slide-content h3,
#sfe-expertise-carousel-widget.expertise .splide__slide:active .slide-content h3,
#sfe-expertise-carousel-widget.expertise .splide__slide:hover .slide-content p,
#sfe-expertise-carousel-widget.expertise .splide__slide:focus .slide-content p,
#sfe-expertise-carousel-widget.expertise .splide__slide:active .slide-content p,
#sfe-expertise-carousel-widget.expertise .splide__slide.active .slide-content p,
#sfe-expertise-carousel-widget.expertise .splide__slide.active .slide-content h3 {
  color: #FFF;
}
.sfe-expertise-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
  border-radius: 28px;
}
.sfe-expertise-track {
  display: flex;
  width: 100%;
  transition: transform 0.8s ease;
  border-radius: 28px;
}
.sfe-expertise-single {
  background-color: #F6F7FE;
  padding: 40px 30px;
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0;
}
.sfe-expertise-single h2 {
  font-size: 38px;
  line-height: 1;
}
.expertise-galerie {
  width: 100%;
}
.expertise-galerie .grid-img {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-flow: row;
  gap: 20px;
}
.expertise-galerie .grid-img img {
  border-radius: 0;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
}
.sfe-expertise-single .expertise-content ul {
  padding: 0;
  list-style-position: inside;
}
.sfe-expertise-single .expertise-content h2,
.sfe-expertise-single .expertise-content h3,
.sfe-expertise-single .expertise-content h4,
.sfe-expertise-single .expertise-content h5,
.sfe-expertise-single .expertise-content h6 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
}
#sfe-expertise-carousel .splide__pagination,
#sfe-expertise-carousel-widget .splide__pagination {
  bottom: -40px;
}
#sfe-expertise-carousel .splide__pagination button.splide__pagination__page,
#sfe-expertise-carousel-widget .splide__pagination button.splide__pagination__page {
  border-radius: 100% !important;
  padding: 0 !important;
  width: 14px;
  height: 14px;
  opacity: 1;
}
#sfe-expertise-carousel .splide__pagination button.splide__pagination__page.is-active,
#sfe-expertise-carousel-widget .splide__pagination button.splide__pagination__page.is-active {
  transform: none;
}
#sfe-expertise-carousel-widget .splide__pagination button.splide__pagination__page.is-active {
  background-color: #919191;
}
@media (max-width: 767px) {
  .expertise-galerie .grid-img {
    grid-template-columns: repeat(2, 1fr);
  }
  .sfe-expertise-single h2 {
    font-size: 32px;
  }
}
@media (max-width: 575px) {
  .sfe-expertise-single h2 {
    font-size: 28px;
  }
}
@media (max-width: 390px) {
  .expertise-galerie .grid-img {
    grid-template-columns: repeat(1, 1fr);
  }
  #sfe-expertise-carousel-widget {
    padding: 0 20px 0 20px;
  }
}
.elementor-form input[type=file] {
  padding: 5px;
  border-radius: 4px;
}

#sfe-expertise-carousel-widget .splide__arrow,
#sfe-expertise-carousel .splide__arrow {
  padding: 0;
  opacity: 1;
}
#sfe-expertise-carousel-widget .splide__arrow svg,
#sfe-expertise-carousel .splide__arrow svg {
  fill: #22245C;
  width: 12px;
  height: 12px;
}

.wrap-html-sitemap.sp-html-sitemap {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.wrap-html-sitemap.sp-html-sitemap > .sp-wrap-cpt {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wrap-html-sitemap.sp-html-sitemap > .sp-wrap-cpt ul {
  list-style: square;
  padding: 0;
  list-style-position: inside;
}