@charset "UTF-8";
* {
  font-display: swap;
}

body,
html {
  margin: 0;
  padding: 0;
  font-family: roc-grotesk, sans-serif;
  font-weight: 400;
  color: #272727;
  background-color: #F2F3F1;
  font-size: 19px;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

html.prevent-scroll {
  overflow: hidden;
}

/* Used for the animation */
.scroll-animate {
  opacity: 0;
}

/* General */
.header-page {
  height: calc(100vh - 114px);
  margin-top: 114px;
  transition: all 0.25s;
}

header {
  background-color: #ececea;
  transition: all 0.25s;
}
header .menu a {
  text-decoration: none;
  position: relative;
}
header .menu a:before {
  transition: all 0.25s;
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #E1F183;
  z-index: -1;
  padding: 5px 0;
}
header .menu a:hover:before {
  width: 100%;
}
header .menu li.active a {
  background-color: #E1F183;
}
header.is-hidden {
  opacity: 0;
  margin-top: -160px;
}

footer {
  background-color: #FFF;
}
footer a, footer div a {
  text-decoration: none !important;
}

footer a,
div a:not(.header-logo) {
  position: relative;
  transition: all 0.25s;
  display: inline-block;
  z-index: 0;
}
footer a:before,
div a:not(.header-logo):before {
  transition: all 0.25s;
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #E1F183;
  z-index: -1;
  padding: 5px 0;
}
footer a:hover:before,
div a:not(.header-logo):hover:before {
  width: 100%;
}

/* Forms */
/* Custom select (See the JS) */
.select-hidden {
  display: none;
  visibility: hidden;
  padding-right: 10px;
}

.select {
  cursor: pointer;
  display: inline-block;
  position: relative;
}

.select-styled {
  position: relative;
  padding: 12px 55px 12px 25px;
  min-width: 350px;
  color: #F2F3F1;
  background-color: #5F79AF;
  font-weight: 400;
}

.select-styled:after {
  content: "";
  right: 12px;
  top: 12px;
  position: absolute;
  z-index: 8;
  background-image: url("../images/activite-fleche-filtres.svg");
  background-repeat: no-repeat;
  height: 25px;
  width: 25px;
  pointer-events: none;
}

.select-styled:active,
.select-styled:hover,
.select-styled.active {
  cursor: pointer;
  color: #F2F3F1;
  background-color: #5F79AF;
}

.select-options {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 9999;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #F2F3F1;
  background-color: #5F79AF;
  max-height: 50vh;
  font-weight: 400;
  overflow-y: auto;
}

.select-options li {
  margin: 0;
  padding: 12px 12px 12px 62px;
  vertical-align: middle;
  position: relative;
  background-repeat: no-repeat;
  background-position-y: center;
  background-size: 40px 40px;
  margin-left: 20px;
}

.select-options li:hover {
  cursor: pointer;
  opacity: 0.8;
}

.text-4xl {
  font-size: 2.5rem;
  line-height: 2.5rem;
}

header .text-4xl {
  font-size: inherit;
  line-height: inherit;
}

ul, ol {
  list-style-type: "–";
}
ul li, ol li {
  padding-left: 10px;
  margin-left: 10px;
}

.content a {
  text-decoration: underline;
}

/* Home */
#home .circular-point {
  position: absolute;
  z-index: 8;
  background-color: #2E5100;
  color: #F2F3F1;
  border-radius: 100%;
  height: 180px;
  width: 180px;
  text-align: center;
  padding: 20px;
  -webkit-animation: moveXAxis 17s linear 0s infinite alternate, moveYAxis 13s linear 0s infinite alternate;
  animation: moveXAxis 17s linear 0s infinite alternate, moveYAxis 13s linear 0s infinite alternate;
}
#home .circular-point .circular-point__content {
  position: relative;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
#home .circular-point.circular-point--variant {
  background-color: transparent;
  background-image: url("../images/home-news.svg");
  color: #272727;
  -webkit-animation: moveXAxis2 17s linear 0s infinite alternate, moveYAxis2 13s linear 0s infinite alternate;
  animation: moveXAxis2 17s linear 0s infinite alternate, moveYAxis2 13s linear 0s infinite alternate;
}
#home .circular-point a {
  text-decoration: none;
}
#home .circular-point a:hover:before {
  display: none;
}
#home .content {
  position: relative;
  color: #E1F183;
  top: 50%;
  transform: translateY(-50%);
}
#home .content h1 {
  font-size: 6rem;
  line-height: 6rem;
}

@keyframes moveXAxis {
  0% {
    left: 0;
  }
  100% {
    left: calc(100% - 180px);
  }
}
@keyframes moveYAxis {
  0% {
    top: 0;
  }
  100% {
    top: calc(100% - 180px);
  }
}
@keyframes moveXAxis2 {
  0% {
    right: 0;
  }
  100% {
    right: calc(100% - 180px);
  }
}
@keyframes moveYAxis2 {
  0% {
    bottom: 0;
  }
  100% {
    bottom: calc(100% - 180px);
  }
}
#info .info-part-1 {
  background-color: #5F79AF;
  color: #F2F3F1;
}
#info .info-part-2 {
  background-color: #E1F183;
}
#info .info-part-3 {
  background-color: #2E5100;
  color: #F2F3F1;
}
#info a {
  text-decoration: none;
}
#info a:before {
  display: none !important;
}

/* Activites */
#activites svg {
  transform: scale(0.2);
  animation: scale 7s linear;
  transform-origin: bottom left;
}

@keyframes scale {
  33%, 70%, 80% {
    transform: scale(1);
  }
  100%, 1% {
    transform: scale(0.2);
  }
}
#activites-slogan {
  background-color: #5F79AF;
  color: #F2F3F1;
}

#activites-domaines .grid-masonry:after {
  content: "";
  display: block;
  clear: both;
}
#activites-domaines .grid-item {
  width: calc(50% - 20px);
  height: auto;
  float: left;
  margin-bottom: 20px;
}

/* Offre */
#offre .slide-container {
  height: calc(100vh - 114px);
  background-image: url("../images/forme_offre.svg");
  background-size: 180vh;
  background-repeat: repeat-x;
  background-position: bottom;
  animation: slide-form 24s linear infinite;
}

@keyframes slide-form {
  to {
    background-position: calc(100% + 180vh) 100%;
  }
}
#offre-slogan {
  background-color: #E1F183;
}

#offre-innovation {
  background-color: #5F79AF;
  color: #F2F3F1;
}

#espace-et-services a, #offre-innovation a, #offre-visite a {
  padding-left: 45px;
}
#espace-et-services a:before, #offre-innovation a:before, #offre-visite a:before {
  content: "";
  background-color: transparent;
  background-image: url("../images/offre-en savoir plus.svg");
  background-repeat: no-repeat;
  background-size: 30px;
  height: 30px;
  width: 30px;
  margin-top: -5px;
}

#offre-innovation .sample-projects a {
  padding-left: 0;
}
#offre-innovation .sample-projects a:before {
  display: none;
}

/* Historie */
#a-propos-histoire .grid {
  position: relative;
  overflow: hidden;
}
#a-propos-histoire .hidden-timeline {
  z-index: 10;
  width: 100%;
  height: 250px;
  background-image: linear-gradient(to bottom, rgba(242, 243, 241, 0), rgb(242, 243, 241));
}
#a-propos-histoire .timeline {
  max-height: 750px;
  overflow: hidden;
}
#a-propos-histoire .history-year {
  color: #F2F3F1;
  background-color: #5F79AF;
  text-align: center;
  border-radius: 50px;
  padding: 10px 10px 5px 10px;
  z-index: 9;
  min-width: fit-content;
}
#a-propos-histoire .history-last-line {
  border: 3px solid #F2F3F1;
  position: absolute;
  margin-top: 5px;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
}
#a-propos-histoire .history-year-line {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border: 2px solid #272727;
  height: 100%;
  z-index: 2;
}
#a-propos-histoire a {
  text-decoration: underline;
}

/* Engagement */
#nos-engagements-slogan {
  background-color: #2E5100;
  color: #F2F3F1;
}

#nos-engagements svg {
  transform: translateX(50%);
  animation: right-to-left 2.5s linear;
  animation-fill-mode: both;
}

@keyframes right-to-left {
  100% {
    transform: translateX(0%);
  }
}
#nos-engagements-societe {
  background-color: #E1F183;
}

/* A propos */
#a-propos-slogan {
  background-color: #5F79AF;
  color: #F2F3F1;
}

#a-propos svg {
  animation: right-to-left-loop 12s linear infinite;
}

@keyframes right-to-left-loop {
  0% {
    transform: translateX(130%);
  }
  30%, 70% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-60%);
  }
}
#a-propos-medias {
  background-color: #2E5100;
  color: #F2F3F1;
}

#a-propos-reconnaissance {
  background-color: #5F79AF;
  color: #F2F3F1;
}

#a-propos-medias a, #a-propos-reconnaissance a, #activites-slogan a, #nos-engagements-slogan a, #a-propos-slogan a {
  text-decoration: underline;
}
#a-propos-medias a:before, #a-propos-reconnaissance a:before, #activites-slogan a:before, #nos-engagements-slogan a:before, #a-propos-slogan a:before {
  display: none !important;
}

/* Slideshow */
.slideshow {
  margin-left: 250px;
  height: 250px;
}
.slideshow .slideshow__img {
  overflow: hidden;
  display: none;
}
.slideshow .slideshow__img.is-active {
  display: inline-block;
}

/*# sourceMappingURL=style-frontend.css.map */
