@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translatey(-10px);
    transform: translatey(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translatey(-10px);
    transform: translatey(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translatey(0);
    transform: translatey(0);
  }
}
.animate-in-down {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  -o-animation-delay: 1s;
}

/** fadeInLeft **/
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translatex(-10px);
    transform: translatex(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translatex(-100px);
    transform: translatex(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translatex(0);
    transform: translatex(0);
  }
}
.animate-in-left {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  -o-animation-duration: 1s;
  animation-delay: 1s;
}

.shake-trigger:hover .shake {
  /* Start the shake animation and make the animation last for 0.5 seconds */
  -webkit-animation: shake 0.5s;
          animation: shake 0.5s;
  /* When the animation is finished, start again */
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@-webkit-keyframes shake {
  0% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
            transform: translate(1px, 1px) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
            transform: translate(-1px, -2px) rotate(-1deg);
  }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
            transform: translate(-3px, 0px) rotate(1deg);
  }
  30% {
    -webkit-transform: translate(3px, 2px) rotate(0deg);
            transform: translate(3px, 2px) rotate(0deg);
  }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
            transform: translate(1px, -1px) rotate(1deg);
  }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
            transform: translate(-1px, 2px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
            transform: translate(-3px, 1px) rotate(0deg);
  }
  70% {
    -webkit-transform: translate(3px, 1px) rotate(-1deg);
            transform: translate(3px, 1px) rotate(-1deg);
  }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
            transform: translate(-1px, -1px) rotate(1deg);
  }
  90% {
    -webkit-transform: translate(1px, 2px) rotate(0deg);
            transform: translate(1px, 2px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
            transform: translate(1px, -2px) rotate(-1deg);
  }
}

@keyframes shake {
  0% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
            transform: translate(1px, 1px) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
            transform: translate(-1px, -2px) rotate(-1deg);
  }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
            transform: translate(-3px, 0px) rotate(1deg);
  }
  30% {
    -webkit-transform: translate(3px, 2px) rotate(0deg);
            transform: translate(3px, 2px) rotate(0deg);
  }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
            transform: translate(1px, -1px) rotate(1deg);
  }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
            transform: translate(-1px, 2px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
            transform: translate(-3px, 1px) rotate(0deg);
  }
  70% {
    -webkit-transform: translate(3px, 1px) rotate(-1deg);
            transform: translate(3px, 1px) rotate(-1deg);
  }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
            transform: translate(-1px, -1px) rotate(1deg);
  }
  90% {
    -webkit-transform: translate(1px, 2px) rotate(0deg);
            transform: translate(1px, 2px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
            transform: translate(1px, -2px) rotate(-1deg);
  }
}
.bounce-trigger:hover .bounce {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
          animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
}

@-webkit-keyframes bounce {
  0% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  10% {
    -webkit-transform: scale(1.1, 0.9) translateY(0);
            transform: scale(1.1, 0.9) translateY(0);
  }
  30% {
    -webkit-transform: scale(0.9, 1.1) translateY(-50px);
            transform: scale(0.9, 1.1) translateY(-50px);
  }
  50% {
    -webkit-transform: scale(1.05, 0.95) translateY(0);
            transform: scale(1.05, 0.95) translateY(0);
  }
  57% {
    -webkit-transform: scale(1, 1) translateY(-7px);
            transform: scale(1, 1) translateY(-7px);
  }
  64% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  100% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
}

@keyframes bounce {
  0% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  10% {
    -webkit-transform: scale(1.1, 0.9) translateY(0);
            transform: scale(1.1, 0.9) translateY(0);
  }
  30% {
    -webkit-transform: scale(0.9, 1.1) translateY(-50px);
            transform: scale(0.9, 1.1) translateY(-50px);
  }
  50% {
    -webkit-transform: scale(1.05, 0.95) translateY(0);
            transform: scale(1.05, 0.95) translateY(0);
  }
  57% {
    -webkit-transform: scale(1, 1) translateY(-7px);
            transform: scale(1, 1) translateY(-7px);
  }
  64% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
  100% {
    -webkit-transform: scale(1, 1) translateY(0);
            transform: scale(1, 1) translateY(0);
  }
}
@media (min-width: 768px) {
  .animate {
    animation-duration: 0.3s;
    -webkit-animation-duration: 0.3s;
    animation-fill-mode: both;
    -webkit-animation-fill-mode: both;
  }
}
@keyframes slideIn {
  0% {
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0rem);
            transform: translateY(0rem);
    opacity: 1;
  }
  0% {
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
    opacity: 0;
  }
}
@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: transform;
    -webkit-opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    -webkit-opacity: 1;
  }
  0% {
    -webkit-transform: translateY(1rem);
    -webkit-opacity: 0;
  }
}
.slideIn,
.dropdown-menu {
  -webkit-animation-name: slideIn;
  animation-name: slideIn;
  animation-duration: 0.3s;
  -webkit-animation-duration: 0.3s;
  animation-fill-mode: both;
  -webkit-animation-fill-mode: both;
}

@-webkit-keyframes animate-lights {
  0% {
    color: hsl(230, 40%, 80%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.2), 0 0 0.125em hsla(320, 100%, 60%, 0.3), -1em -0.125em 0.5em hsla(40, 100%, 60%, 0), 1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
  30% {
    color: hsl(230, 80%, 90%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.5), 0 0 0.125em hsla(320, 100%, 60%, 0.5), -0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2), 0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
  }
  40% {
    color: hsl(230, 100%, 95%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.5), 0 0 0.125em hsla(320, 100%, 90%, 0.5), -0.25em -0.125em 0.125em hsla(40, 100%, 60%, 0.2), 0.25em 0.125em 0.125em hsla(200, 100%, 60%, 0.4);
  }
  70% {
    color: hsl(230, 80%, 90%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.5), 0 0 0.125em hsla(320, 100%, 60%, 0.5), 0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2), -0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
  }
  100% {
    color: hsl(230, 40%, 80%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.2), 0 0 0.125em hsla(320, 100%, 60%, 0.3), 1em -0.125em 0.5em hsla(40, 100%, 60%, 0), -1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
}

@keyframes animate-lights {
  0% {
    color: hsl(230, 40%, 80%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.2), 0 0 0.125em hsla(320, 100%, 60%, 0.3), -1em -0.125em 0.5em hsla(40, 100%, 60%, 0), 1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
  30% {
    color: hsl(230, 80%, 90%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.5), 0 0 0.125em hsla(320, 100%, 60%, 0.5), -0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2), 0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
  }
  40% {
    color: hsl(230, 100%, 95%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.5), 0 0 0.125em hsla(320, 100%, 90%, 0.5), -0.25em -0.125em 0.125em hsla(40, 100%, 60%, 0.2), 0.25em 0.125em 0.125em hsla(200, 100%, 60%, 0.4);
  }
  70% {
    color: hsl(230, 80%, 90%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.5), 0 0 0.125em hsla(320, 100%, 60%, 0.5), 0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2), -0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
  }
  100% {
    color: hsl(230, 40%, 80%);
    text-shadow: 0 0 1em hsla(320, 100%, 50%, 0.2), 0 0 0.125em hsla(320, 100%, 60%, 0.3), 1em -0.125em 0.5em hsla(40, 100%, 60%, 0), -1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
}
@-webkit-keyframes glow {
  from {
    text-shadow: 0 0 20px #168495;
  }
  to {
    text-shadow: 0 0 30px #33b0c4, 0 0 10px #168495;
  }
}
@keyframes glow {
  from {
    text-shadow: 0 0 20px #168495;
  }
  to {
    text-shadow: 0 0 30px #33b0c4, 0 0 10px #168495;
  }
}
:root,
[data-bs-theme=light] {
  --bs-link-color: #603d85;
  --bs-link-hover-color: #603d85;
  --bs-pagination-active-bg: #603d85;
  --bs-pagination-active-border-color: #603d85;
  --bs-heading-color: #603d85;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Outfit", sans-serif !important;
  margin-top: 0px;
  font-size: 18px;
  color: #2c2c2c;
}

h1,
h2,
h3 {
  font-family: "Outfit", sans-serif;
  color: #603d85;
}
h1 a,
h2 a,
h3 a {
  color: #603d85;
}

h2,
h3,
h4 {
  color: #168495;
}

#header-nav.sticky-top {
  position: sticky;
  top: 0;
  z-index: 990;
}

.block-page-title-block h1 {
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: center;
}
.block-page-title-block h1 span.field--name-title {
  color: #168495;
  background-image: -webkit-gradient(linear, left top, right top, from(#168495), color-stop(50%, #168495), color-stop(50%, #603d85));
  background-image: linear-gradient(to right, #168495, #168495 50%, #603d85 50%);
  background-size: 200% 100%;
  background-position: -100%;
  display: inline-block;
  padding: 5px 0;
  position: relative;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.block-page-title-block h1 span.field--name-title:before {
  content: "";
  background: #168495;
  display: block;
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 3px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.block-page-title-block h1 span.field--name-title:hover {
  background-position: 0;
}
.block-page-title-block h1 span.field--name-title:hover::before {
  width: 100%;
}

div.region-content {
  padding-left: 0;
  padding-right: 0;
}

.glightbox-clean .gslide-description {
  background: rgba(255, 255, 255, 0.7);
}

a {
  color: #603d85;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
a:hover {
  color: #2e1d3f;
}

.animate-lights {
  -webkit-animation: glow 1s ease-in-out infinite alternate;
          animation: glow 1s ease-in-out infinite alternate;
}

body:not(.path-frontpage) div.main-wrapper {
  background-color: #f9f9f9;
}
body:not(.path-frontpage) div.main-container {
  -webkit-box-shadow: 0px 0px 5px #bbb;
          box-shadow: 0px 0px 5px #bbb;
  background-color: white;
}

div.main-container {
  padding-bottom: 20px;
  padding-top: 20px;
}

main.main {
  padding-top: 0px;
}

div.front-home {
  min-height: 100vh;
  position: relative;
  background-size: cover;
  background-position: right;
  color: white;
}
div.front-home .content-home {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 200px;
  padding-bottom: 200px;
  position: relative;
  z-index: 10;
}
div.front-home .content-home img.logo-front {
  width: 30%;
  max-width: 80%;
}
div.front-home .background-home {
  min-height: 100%;
  background-image: url("../img/bg-home-v2-mobile.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media (min-width: 500px) {
  div.front-home .background-home {
    background-image: url("../img/bg-home-v2-tablet.webp");
  }
}
@media (min-width: 1000px) {
  div.front-home .background-home {
    background-image: url("../img/bg-home-v2.webp");
  }
}
div.front-home .layer {
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  min-height: 100%;
  position: fixed;
  z-index: -1;
  bottom: 0px;
}
div.front-home div.parallax.layer-1 {
  background-image: url("../img/mountain-river-computer-layer-3.svg");
  background-position: bottom right;
}
div.front-home div.parallax.layer-2 {
  background-image: url("../img/mountain-river-computer-layer-2.svg");
  background-position: bottom right;
}
div.front-home div.parallax.layer-3 {
  background-image: url("../img/mountain-river-computer-layer-1.svg");
  background-position: bottom right;
}
div.front-home a {
  color: white;
}
div.front-home .logo-front {
  margin-bottom: 20px;
}
div.front-home h2 {
  color: white;
  background-color: rgba(96, 61, 133, 0.4);
  padding: 30px;
  border-radius: 5px;
}

div.sidebar {
  padding-top: 20px;
}

div.region-navigation {
  margin-top: 10px;
}

header#header-nav {
  -webkit-transition: opacity ease-in-out 0.3s;
  transition: opacity ease-in-out 0.3s;
}
header#header-nav:hover {
  opacity: 1 !important;
}

.page-header-right .btn {
  width: 100%;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.badge-infos-contact {
  color: #603d85;
  background-color: #e3e9ec;
  padding: 20px 10px;
  margin-top: 5px;
  margin-bottom: 5px;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.badge-infos-contact .field--name-field-titre- {
  font-weight: bold;
  color: #603d85;
}

.node--type-information-du-site .node__content {
  background-color: #e3e9ec;
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  margin-bottom: 20px;
  -webkit-box-shadow: 0px 0px 5px #bbb;
          box-shadow: 0px 0px 5px #bbb;
}
.node--type-information-du-site .node__content .field.field--name-field-image {
  max-width: 240px;
}

.node--type-webform .form-item {
  margin-top: 0px;
}

.pre-footer {
  background: #603d85;
  padding: 10px 0px;
  margin-top: 30px;
  color: white;
}

footer.footer,
.pre-footer {
  margin-top: 0px;
  padding: 20px 0px;
  border: none;
}

.footer-wrapper {
  text-align: center;
  background: #603d85;
  color: white;
}
.footer-wrapper a {
  color: white;
}
.footer-wrapper a:hover {
  color: #ccc;
}

.field--name-field-adresse-texte- {
  font-weight: bold;
}

h2.brand a {
  text-decoration: none;
  color: #603d85;
}

.banner-wrapper {
  border-bottom: 3px solid #603d85;
  padding-top: 70px;
  padding-bottom: 70px;
  background: url("../img/img-bg-top.jpg") no-repeat center center;
  background-size: cover;
}
.banner-wrapper > div {
  margin-top: -40px;
  margin-bottom: -40px;
}

article.node {
  margin-bottom: 20px;
}
article.node div.field {
  margin-bottom: 20px;
}

.btn {
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
.btn .fas {
  margin-left: 10px;
  margin-right: 10px;
}

.node-readmore .btn-primary i {
  -webkit-transition: padding 0.3s;
  transition: padding 0.3s;
  padding-left: 0px;
  padding-right: 10px;
}

.node-readmore .btn-primary:hover i {
  padding-left: 10px;
  padding-right: 0px;
}

.btn.btn-primary {
  padding: 0.75rem 1.25rem;
  border-radius: 10rem;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
}
.btn.btn-primary:hover, .btn.btn-primary:active, .btn.btn-primary:focus, .btn.btn-primary:active:hover {
  background-color: #533574;
  border-color: #472d62;
}

.btn-success {
  background-color: #168495;
  border-color: #13707f;
}
.btn-success i {
  color: white;
}
.btn-success:hover, .btn-success:active, .btn-success:focus, .btn-success:active:hover {
  background-color: #13707f;
  border-color: #0f5d69;
}

.form-control:focus {
  border-color: #168495;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 132, 149, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(22, 132, 149, 0.25);
}

.form-actions.webform-actions {
  position: relative;
  display: inline-block;
}

.form-actions.webform-actions input[type=submit],
a.btn.btn-primary {
  background: linear-gradient(120deg, #5e3372 0%, #5e3372 50%, #00a4af 50%, #00a4af 100%);
  background-size: 220% 100%; /* important pour l’animation */
  background-position: 0% 50%; /* position de départ = violet dominant */
  color: #fff;
  padding: 14px 28px;
  border: none;
  border-radius: 10rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.3px;
  position: relative;
  z-index: 2;
  -webkit-transition: background-position 0.4s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background-position 0.4s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background-position 0.4s ease, transform 0.3s ease, box-shadow 0.3s ease;
  transition: background-position 0.4s ease, transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}

.form-actions.webform-actions:hover input[type=submit],
a.btn.btn-primary:hover {
  background-position: 100% 50%; /* le turquoise “balaye” le bouton */
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  -webkit-box-shadow: 0 6px 20px rgba(0, 164, 175, 0.35);
          box-shadow: 0 6px 20px rgba(0, 164, 175, 0.35); /* halo bleu */
}

article.node-teaser {
  margin-bottom: 10px;
}
article.node-teaser ul.links {
  margin-top: 10px;
}
article.node-teaser h2 {
  margin-top: 0px;
}

.linkicon__text {
  display: none;
}

div.side-collapse-wrapper {
  top: 200px;
  position: fixed;
  z-index: 1000;
}
div.side-collapse-wrapper .collapse-btn-horizontal {
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
}

div.social-links ul.linkicon {
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  list-style: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0px;
  padding: 0px;
}
div.social-links ul.linkicon li {
  margin: 1rem;
  padding: 0;
}
div.social-links ul.linkicon li a {
  border-radius: 15px;
  font-size: 2.5rem;
  color: white;
  padding: 10px 10px 6px 10px;
  -webkit-transition: background-color 0.4s, color 0.3s;
  transition: background-color 0.4s, color 0.3s;
  background-color: #603d85;
  width: 100%;
  display: block;
  text-align: center;
}
div.social-links ul.linkicon li a:hover {
  background-color: white;
  color: #603d85;
}

.webform-submission-form {
  max-width: 800px;
}

.captcha-type-challenge--recaptcha {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.captcha-type-challenge--recaptcha .captcha__title {
  display: none;
}
.captcha-type-challenge--recaptcha .captcha__description {
  font-size: 0.9rem;
  margin-bottom: 0px;
  margin-left: 5px;
}

div#sliding-popup,
div#sliding-popup .eu-cookie-withdraw-banner,
.eu-cookie-withdraw-tab {
  background: #603d85;
}

.paragraph--type--accordeon {
  margin: 5px 0 5px 0;
}
.paragraph--type--accordeon .card-header {
  padding: 0px;
}
.paragraph--type--accordeon .card-header button {
  display: block;
  margin: 0;
}

.collapse-btn-horizontal[aria-expanded=true] i {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.collapse-btn-horizontal {
  -webkit-transition: padding linear 0.1s;
  transition: padding linear 0.1s;
}
.collapse-btn-horizontal:hover {
  padding-left: 15px;
}
.collapse-btn-horizontal i {
  -webkit-transition: -webkit-transform linear 0.3s;
  transition: -webkit-transform linear 0.3s;
  transition: transform linear 0.3s;
  transition: transform linear 0.3s, -webkit-transform linear 0.3s;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.collapse-btn[aria-expanded=true] i.fas {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.collapse-btn i.fas {
  -webkit-transition: -webkit-transform linear 0.3s;
  transition: -webkit-transform linear 0.3s;
  transition: transform linear 0.3s;
  transition: transform linear 0.3s, -webkit-transform linear 0.3s;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

#search-block-form input.form-control {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
#search-block-form input.form-submit {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

/*** MASONRY **/
.masonry-grid {
  margin: 0 auto;
}

.gutter-sizer {
  width: 0%;
}

.grid-item {
  width: 150px;
}
.grid-item.width-25 {
  width: 25%;
}
@media (max-width: 992px) {
  .grid-item.width-25 {
    width: 50%;
  }
}
@media (max-width: 768px) {
  .grid-item.width-25 {
    width: 100%;
  }
}

/** ARTICLE / ACTUS **/
.visuel-cover {
  width: 100%;
  text-align: center;
}
.visuel-cover img {
  width: 100%;
  height: auto;
  background-size: cover;
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 100px;
  max-height: 400px;
}
.visuel-cover .visuel-cover-text {
  text-shadow: 2px 2px 2px #2c2c2c;
  color: white;
  margin-top: -100px;
  padding-bottom: 100px;
}
.visuel-cover .visuel-cover-text h1 {
  color: white;
}

/***REALISATIONS ***/
article.node.node--type-realisation {
  margin-bottom: 0px;
}
article.node.node--type-realisation div.field {
  margin-bottom: 0px;
}

.rea-bg {
  cursor: url("../img/cursor-linova.png"), pointer;
  position: relative;
  overflow: hidden;
}
.rea-bg:hover .rea-hover {
  top: 50%;
}
.rea-bg .rea-mockup img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.rea-hover {
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
  top: 100%;
  position: absolute;
  z-index: 150;
  color: white;
  padding: 10px 5px;
  bottom: 0px;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.rea-hover h4 {
  color: white;
  border-left: 40px solid #603d85;
  padding-left: 5px;
}
.rea-hover a {
  color: white;
}

@-webkit-keyframes metier-icon-breath {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  50% {
    -webkit-transform: translateY(-3px) scale(1.03);
            transform: translateY(-3px) scale(1.03);
  }
  100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes metier-icon-breath {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  50% {
    -webkit-transform: translateY(-3px) scale(1.03);
            transform: translateY(-3px) scale(1.03);
  }
  100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}
.metier-teaser {
  font-size: 1.5rem;
  text-align: center;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.metier-teaser .field--name-field-svg svg {
  max-width: 500px;
  -webkit-transition: fill 0.35s ease, -webkit-transform 0.35s ease;
  transition: fill 0.35s ease, -webkit-transform 0.35s ease;
  transition: transform 0.35s ease, fill 0.35s ease;
  transition: transform 0.35s ease, fill 0.35s ease, -webkit-transform 0.35s ease;
  will-change: transform;
  -webkit-animation: metier-icon-breath 2s ease-in-out infinite;
          animation: metier-icon-breath 2s ease-in-out infinite;
}
.metier-teaser .field--name-field-svg svg g,
.metier-teaser .field--name-field-svg svg path {
  stroke: none !important;
  -webkit-transition: fill 0.25s ease;
  transition: fill 0.25s ease;
}
.metier-teaser .field--name-field-svg svg:hover g, .metier-teaser .field--name-field-svg svg:hover path {
  fill: #00a4af; /* touche de bleu Linova */
}

.metier-teaser,
.metier-full {
  color: white;
  padding: 1vh 4%;
}
.metier-teaser a,
.metier-full a {
  color: white;
}
.metier-teaser a:hover,
.metier-full a:hover {
  color: #603d85;
}
.metier-teaser a.btn:hover,
.metier-full a.btn:hover {
  color: white;
}
.metier-teaser h2,
.metier-teaser h3,
.metier-full h2,
.metier-full h3 {
  color: white;
  margin-top: 25px;
}
.metier-teaser .metier-middle,
.metier-full .metier-middle {
  height: 100%;
  padding: 30px;
  -webkit-box-shadow: rgba(51, 51, 51, 0.4) 0 0 25px;
  box-shadow: rgba(51, 51, 51, 0.4) 0 0 25px;
}
.metier-teaser.metier-id-14,
.metier-full.metier-id-14 {
  background-color: #0c343a;
}
.metier-teaser.metier-id-14 .metier-middle,
.metier-full.metier-id-14 .metier-middle {
  background: #0c343a;
}
.metier-teaser.metier-id-13,
.metier-full.metier-id-13 {
  background-color: #271c32;
}
.metier-teaser.metier-id-13 .metier-middle,
.metier-full.metier-id-13 .metier-middle {
  background: #271c32;
}
.metier-teaser.metier-id-12,
.metier-full.metier-id-12 {
  background: #0c343a;
}
.metier-teaser.metier-id-12 .metier-middle,
.metier-full.metier-id-12 .metier-middle {
  background-color: #0c343a;
}
.metier-teaser.metier-id-10,
.metier-full.metier-id-10 {
  background-color: #271c32;
}
.metier-teaser.metier-id-10 .metier-middle,
.metier-full.metier-id-10 .metier-middle {
  background: #271c32;
}

.metier-full {
  margin-bottom: 2vh;
}

.node__links a {
  border-radius: 0px;
  -webkit-box-shadow: inset 0 0 0 0 #603d85;
          box-shadow: inset 0 0 0 0 #603d85;
  -webkit-transition: color 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
  transition: color 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
  border: 1px solid white;
  padding: 5px 25px;
  background: rgba(255, 255, 255, 0.3);
  color: white;
  font-weight: bolder;
}
.node__links a:hover {
  color: white;
  -webkit-box-shadow: inset 300px 0 0 0 #603d85;
          box-shadow: inset 300px 0 0 0 #603d85;
}

a.effect-hover,
a.effect-hover > span {
  position: relative;
  color: #603d85;
  text-decoration: none;
  line-height: 24px;
  font-size: 1.2rem;
  -webkit-transition: background-color 0.4s ease, color 0.4s ease;
  transition: background-color 0.4s ease, color 0.4s ease;
}
a.effect-hover:before, a.effect-hover:after,
a.effect-hover > span:before,
a.effect-hover > span:after {
  content: "";
  position: absolute;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.effect-hover {
  display: inline-block;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.7);
}
.effect-hover:hover {
  background: rgba(96, 61, 133, 0.7);
}
.effect-hover:hover span {
  color: white;
}
.effect-hover:before, .effect-hover:after {
  right: 0;
  bottom: 0;
  background: #603d85;
}
.effect-hover:before {
  width: 100%;
  height: 2px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.effect-hover:after {
  width: 2px;
  height: 100%;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.effect-hover > span {
  display: block;
  padding: 10px;
}
.effect-hover > span:before, .effect-hover > span:after {
  left: 0;
  top: 0;
  background: #603d85;
}
.effect-hover > span:before {
  width: 100%;
  height: 2px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.effect-hover > span:after {
  width: 2px;
  height: 100%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.effect-hover:hover:before, .effect-hover:hover:after, .effect-hover:hover > span:before, .effect-hover:hover > span:after {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/***** SLIDE EFFECT ***/
a.slide-effect {
  background-image: -webkit-gradient(linear, left top, right top, from(#603d85), color-stop(50%, #603d85), color-stop(50%, #fff));
  background-image: linear-gradient(to right, #603d85, #603d85 50%, #fff 50%);
  background-size: 200% 100%;
  background-position: -100%;
  display: inline-block;
  padding: 5px 0;
  position: relative;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a.slide-effect:before {
  content: "";
  background: #603d85;
  display: block;
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 3px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a.slide-effect:hover {
  background-position: 0;
}
a.slide-effect:hover::before {
  width: 100%;
}

/****MENU***/
.nav-item {
  font-size: 1.5rem;
}

@media (min-width: 1200px) {
  .menu--footer ul.navbar-nav li {
    margin-right: 20px;
    font-size: 1.2rem;
  }
}
.view.view-references .views-field-field-logo {
  background: white;
  max-width: 200px;
  border-radius: 0 20px 0 20px;
  border: 1px solid #603d85;
  -webkit-box-shadow: 2px 2px 5px rgba(61, 61, 61, 0.5);
          box-shadow: 2px 2px 5px rgba(61, 61, 61, 0.5);
  padding: 10px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.view.view-references .views-field-field-logo img {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}
.view.view-references .views-field-field-logo:hover img {
  -webkit-filter: none;
          filter: none;
}

:root .custom-tooltip {
  --bs-tooltip-bg: #603d85;
  --bs-tooltip-color: var(--bs-white);
  --bs-tooltip-font-size: 1.2rem;
}

.block-views-blockreferences-block-1 {
  background-color: #603d85;
  padding-bottom: 50px;
}

.block-views-blockrealisations-block-1 {
  background-color: #603d85;
  background-size: 15%;
}

.block-views-blockreferences-block-1 h2,
.block-views-blockrealisations-block-1 h2 {
  background-color: #603d85;
  color: white;
  margin: 0;
  text-align: center;
  padding: 80px 0 40px 0;
}

/*** CONTACT FORM */
.contact-full-wrapper {
  border-top: 8px solid #603d85;
  position: relative;
}
.contact-full-wrapper .wave-top {
  z-index: 980;
  position: absolute;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}
.contact-full-wrapper .wave-top svg {
  display: block;
  width: 100%;
  height: 60px; /* ajuste ici la hauteur */
}
.contact-full-wrapper .wave-top path {
  fill: #603d85; /* couleur de la section du dessus ou du dessous */
}
.contact-full-wrapper .form-bg {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 50px;
  padding-top: 80px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 2px 2px 5px rgba(61, 61, 61, 0.5);
          box-shadow: 2px 2px 5px rgba(61, 61, 61, 0.5);
}
.contact-full-wrapper .form-bg .region-form-front {
  border-left: 6px solid #603d85;
  padding-left: 30px;
}
#google-maps {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

/***** MENU ****/
ul.navbar-nav .dropdown-menu {
  padding: 20px;
  border-radius: 0px;
  border: none;
  -webkit-box-shadow: 2px 2px 5px rgba(61, 61, 61, 0.5);
          box-shadow: 2px 2px 5px rgba(61, 61, 61, 0.5);
}
ul.navbar-nav li {
  position: relative;
}
ul.navbar-nav li a::before,
ul.navbar-nav li span::before {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #603d85;
  content: "";
  opacity: 0;
  -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  transition: height 0.3s, opacity 0.3s, transform 0.3s;
  transition: height 0.3s, opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}
ul.navbar-nav li a:hover::before,
ul.navbar-nav li a:focus::before,
ul.navbar-nav li a.active::before,
ul.navbar-nav li span:hover::before,
ul.navbar-nav li span:focus::before,
ul.navbar-nav li span.active::before {
  height: 5px;
  opacity: 1;
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
}
ul.navbar-nav li a:active {
  background-color: #603d85;
}

.display-hidden {
  visibility: hidden;
}

.background-home {
  position: absolute;
  width: 100%;
}

/***** TEXT EDITOR *****/
span.linova {
  background: url(../img/logo-linova-link.png) no-repeat center left;
  font-size: 1em;
  padding: 15px 0px 15px 25px;
  line-height: 45px;
  background-size: 20px 20px;
}

.toolbar-oriented .toolbar-bar {
  z-index: 1502;
}

/*** GOOGLE REVIEWS ***/
.block-googlereviews .reviews-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 760px) {
  .block-googlereviews .reviews-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .block-googlereviews .reviews-container .review-container {
    width: 80%;
    margin-left: 10%;
    margin-right: 10%;
  }
}
.block-googlereviews .review-container {
  border-radius: 0 10px 0 10px;
  margin: 0.5%;
  padding: 30px 20px;
  width: 19%;
  background: rgba(193, 193, 193, 0.2);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.block-googlereviews .review-container a {
  color: white;
}
.block-googlereviews .review-container .review-author-image {
  width: 50px;
}
.block-googlereviews .review-container .review-author-image img {
  width: 100%;
}
.block-googlereviews .review-container .review-rating {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.block-googlereviews .review-container svg.stars-background {
  visibility: hidden;
}
.block-googlereviews .review-container .review-date {
  margin: 0px;
}

.googlereviews-ratings-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.googlereviews-ratings-container a {
  color: white;
}

.paragraph--type--section-separator {
  text-align: center;
  padding: 32px 16px;
  margin: 40px 0;
}

.paragraph--type--separateur {
  background-color: #f4eff8;
  text-align: center;
  margin-bottom: 32px;
}
.paragraph--type--separateur .separator-icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 16px;
  background: #fff;
}
.paragraph--type--separateur .separator-icon i {
  background: #5e3372;
  color: #fff;
  border-radius: 999px;
  padding: 8px;
  font-size: 0.9rem;
}

.nid-1139 i[class^=fa-] {
  color: #168495;
}

.paragraph--type--separateur.section-separator--blue {
  background-color: #e7f7f8;
}

.paragraph--type--separateur h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}

/*editor*/
ul.compact {
  list-style: none;
}/*# sourceMappingURL=style.css.map */