.section_realisations {
  padding: 30px;
}
.section_realisations #rea_internes {
  display: grid;
  grid-gap: 30px;
}
.section_realisations #rea_internes .item {
  width: initial;
  position: relative;
}
.section_realisations #rea_internes .item .nom_entreprise {
  opacity: 0;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50px, -50%);
  z-index: 1;
  background: #fff;
  font-weight: 700;
  padding: 15px 20px 15px 35px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 20px 100%);
  font-size: 1.25em;
  transition: all 0.25s;
}
.section_realisations #rea_internes .item.pub {
  position: relative;
}
.section_realisations #rea_internes .item.pub video {
  max-width: 100%;
}
.section_realisations #rea_internes .item.pub > div {
  background-color: #FFE780;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #000;
  min-height: 300px;
}
.section_realisations #rea_internes .item.pub.degrade {
  box-sizing: content-box;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section_realisations #rea_internes .item.pub.degrade p {
  position: relative;
  z-index: 2;
  font-size: 2em;
  padding: 0 30px;
  font-style: italic;
  font-weight: 100;
  line-height: 1;
}
.section_realisations #rea_internes .item.pub.degrade p strong {
  font-weight: 900;
}
.section_realisations #rea_internes .item.pub.degrade #canvaspub {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.section_realisations #rea_internes .item:hover .tags li {
  color: #000;
}
.section_realisations #rea_internes .item:hover .titre_nom_ent {
  color: #000;
}
.section_realisations #rea_internes .item.wording {
  background: #FFE780;
  min-height: 300px;
  padding: 0 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.section_realisations #rea_internes .item.wording a {
  font-size: 1em;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  color: #000;
}
.section_realisations #rea_internes .item.wording .ml15 {
  font-size: 1.25em;
}
.section_realisations #rea_internes .item.wording .ml15 .word {
  display: inline-block;
  line-height: 1em;
}
.section_realisations #rea_internes .item.wording .ml15 .word.big {
  font-size: 4em;
  font-weight: 900;
}
.section_realisations #rea_internes .item.wording .ml15 .word.medium {
  font-size: 1.6em;
  font-weight: 900;
}
.section_realisations #rea_internes .item > a {
  position: static;
}
.section_realisations #rea_internes .item > a:after {
  content: none;
}
.section_realisations #rea_internes .tags {
  position: absolute;
  top: 0;
  left: 0;
  padding: 20px;
  font-size: 0;
}
.section_realisations #rea_internes .tags li {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  border: 2px solid;
  color: #fff;
  padding: 8px 8px 6px 8px;
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 8px;
  transition: color 0.5s ease;
}
.section_realisations #rea_internes .resume {
  margin-top: 30px;
  color: #000;
  text-align: left;
}
.section_realisations #rea_internes .img {
  position: relative;
  overflow: hidden;
  background-color: #000;
}
.section_realisations #rea_internes .img .logo {
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 15px;
  z-index: 1;
  transition: all 0.5s;
}
.section_realisations #rea_internes .img .logo img {
  filter: grayscale(1);
}
.section_realisations #rea_internes .img .bg {
  opacity: 0.8;
  position: relative;
  top: 50%;
}
.section_realisations #rea_internes .img .bulle {
  content: '';
  position: absolute;
  width: 0px;
  height: 0px;
  background-color: #FFE780;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
}
.section_realisations #rea_internes .img .go,
.section_realisations #rea_internes .img .go2 {
  position: absolute;
  width: 100px;
  height: 100px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  border-radius: 50%;
  color: #FFE780;
  font-size: 30px;
  font-weight: 900;
  transform: translate(-50%, -50%) scale(0.5);
  text-transform: uppercase;
  opacity: 0;
  z-index: 2;
  transition: opacity 0.2s ease, transform 0.4s ease;
}
.section_realisations #rea_internes .img .go2 {
  color: #000;
  background: transparent;
  z-index: 1;
  overflow: visible;
}
.section_realisations #rea_internes .img:hover .bulle {
  width: 1160px;
  height: 1160px;
}
.section_realisations #rea_internes .img:hover .go,
.section_realisations #rea_internes .img:hover .go2 {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) rotate(-20deg);
}
.section_realisations #rea_internes .titre_nom_ent {
  position: absolute;
  color: #fff;
  bottom: 94px;
  left: 15px;
  font-weight: 700;
  transition: all 0.25s;
}
.section_realisations #rea_internes .titre_nom_ent .t1 {
  text-transform: uppercase;
  display: block;
  font-weight: 900;
  font-size: 1.15em;
}
.section_realisations #rea_internes .titre_nom_ent .t2 {
  display: block;
  margin-top: 5px;
}
#bandeau_rea {
  padding: 30px 30px 0 30px;
}
#bandeau_rea .titre1 {
  font-size: 1.5em;
  text-transform: uppercase;
}
#bandeau_rea .titre2 {
  font-size: 2em;
  font-style: italic;
  font-weight: 900;
}
#bandeau_rea .nom {
  margin-top: 50px;
  line-height: 1.2;
  display: block;
  margin-bottom: 15px;
  font-weight: 900;
  font-size: 1.875em;
  color: #D1E8F5;
}
#section_infos .bloc {
  padding: 30px;
  background-size: calc(460px / 4);
  background-position: top right -10px;
  background-repeat: no-repeat;
}
#section_infos .bloc.technos {
  background-color: #D1E8F5;
  background-image: url(../images/dev-cybercope.webp);
}
#section_infos .bloc.expertises {
  background-color: #FFE780;
  background-image: url(../images/visuel-3d-clic.webp);
}
#section_infos .bloc.types {
  background-color: #DCE7ED;
  background-image: url(../images/visuel-3d-puzzle.webp);
}
#section_infos .bloc .titre {
  font-size: 0.8em;
  letter-spacing: 1px;
  font-weight: 900;
  margin-bottom: 20px;
  text-transform: uppercase;
  border-bottom: 3px solid;
  display: inline-block;
}
#section_infos .bloc ul li {
  font-size: 2em;
  font-weight: 900;
}
#section_image_texte {
  padding: 30px;
}
#section_image_texte .img {
  margin-top: 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
#section_image_texte .img:after {
  content: '';
  height: 10%;
  width: 70%;
  background-color: #FFE780;
  position: absolute;
  bottom: calc(-10% - 20px);
  right: 0;
  left: 0;
  margin: 0 auto;
}
#section_image_texte .img .rond {
  border-radius: 50%;
}
#section_image_texte .img .logo {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
  height: 115px;
  width: 115px;
  overflow: hidden;
}
#captures {
  margin-top: 50px;
  padding-bottom: 80px;
  margin-bottom: 0;
  background-color: #000;
  padding-top: 30px;
}
#captures .item {
  width: fit-content;
  padding: 0;
  margin: 30px;
}
#captures .carousel__dots {
  display: none;
}
#captures .carousel__nav .carousel__button {
  top: auto;
  bottom: 20px;
  transform: none;
  width: 60px;
  height: 60px;
}
#captures .carousel__nav .carousel__button.is-prev {
  right: 50%;
  left: initial;
}
#captures .carousel__nav .carousel__button.is-next {
  left: 50%;
}
#captures .carousel__nav .carousel__button svg {
  transition: all 0.25s;
}
#captures .carousel__nav .carousel__button svg path {
  stroke: #fff;
}
#captures .pub {
  background-color: #FFE780;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  padding: 30px;
}
#section_seo_complet,
#section_seo_complet_plus {
  padding: 30px;
}
#section_seo_complet .img,
#section_seo_complet_plus .img {
  margin-top: 30px;
  display: block;
}
#section_seo_complet .row,
#section_seo_complet_plus .row {
  margin-bottom: 30px;
}
#section_seo_complet_plus {
  background-color: #DCE7ED;
}
#section_seo_complet_plus .poursuivre {
  text-align: center;
  cursor: pointer;
}
#section_seo_complet_plus .poursuivre .plus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 1px solid;
  border-radius: 50px;
  margin: 0 auto;
}
#section_seo_complet_plus .poursuivre .plus span {
  width: 30px;
  height: 1px;
  display: block;
  background-color: #000;
}
#section_seo_complet_plus .poursuivre .plus span:nth-of-type(2) {
  transform: rotate(90deg);
  position: absolute;
}
#section_seo_complet_plus .conteneur {
  padding-top: 30px;
  display: none;
}
#grand_visuel {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#grand_visuel img {
  opacity: 0;
}
form {
  text-align: center;
  position: relative;
  z-index: 10;
}
form .stitre {
  font-size: 1em;
  letter-spacing: 1px;
  font-style: italic;
  margin-bottom: 5px;
}
form .titre {
  font-weight: 900;
  font-size: 1.5em;
  line-height: 1.2;
}
form .nice-select {
  font-size: 1em;
  line-height: 1.2;
  font-weight: 100;
  height: auto;
  border: 0;
  padding-left: 0;
}
form .nice-select .current {
  max-width: calc(100vw - 90px);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
  text-transform: lowercase;
}
form .nice-select ul.list {
  border-radius: 5px;
  padding: 15px;
  background-color: #fff;
  text-align: left;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.2s;
  z-index: 10;
}
form .nice-select ul.list li.option {
  display: block;
  padding: 15px;
  border-radius: 5px;
  color: #000;
  font-size: 14px;
  line-height: initial;
  text-transform: lowercase;
  position: relative;
  margin: 2px 0;
}
form .nice-select ul.list li.option.selected,
form .nice-select ul.list li.option:hover {
  background-color: #ffe780;
}
form .nice-select ul.list li.option input:checked + label:before {
  background-color: #ffe780;
}
form .nice-select ul.list li.option label::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: -1;
}
form .nice-select ul.list li.option label::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  cursor: pointer;
}
form .texte,
form .nice-select {
  position: relative;
  display: inline-block;
  z-index: 10;
  font-weight: 100;
  padding-right: 30px;
}
form .texte:before,
form .nice-select:before {
  content: "";
  display: inline;
  width: 100%;
  height: 40%;
  background: #DCE7ED;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0.7;
  transition: 0.2s;
}
form .texte:after,
form .nice-select:after {
  content: '';
  display: block;
  margin-top: -4px;
  pointer-events: none;
  position: absolute;
  right: 4px;
  width: 8px;
  height: 8px;
  border-color: #000;
  border-bottom: 2px solid #444;
  border-right: 2px solid #444;
  right: 12px;
  top: 50%;
  transform-origin: 66% 66%;
  transform: rotate(45deg);
}
form .texte:hover:before,
form .nice-select:hover:before {
  background: #FFE780;
}
form #filtre1 {
  z-index: 11;
}
form #filtre2,
form #filtre1 {
  display: inline-block;
  vertical-align: bottom;
  position: relative;
}
form #filtre2 select,
form #filtre1 select {
  display: none;
}
form .bouton {
  margin: 20px 0;
  display: inline-block;
  padding: 13px 12px 10px 12px;
}
form .bouton:after {
  content: none;
}
form input[type="submit"] {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 0;
}
#sticky_rea {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background-color: aliceblue;
  background: linear-gradient(to right, #FFE780, #D1E8F5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 3px solid;
  transition: all 0.2s;
}
#sticky_rea a {
  padding: 20px;
  font-weight: bold;
  color: #000;
  width: 50%;
  position: relative;
  transition: all 0.2s;
}
#sticky_rea a span {
  font-size: 0.8em;
  margin-bottom: 0.2em;
  font-weight: 300;
  display: block;
}
#sticky_rea a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 0;
  z-index: -1;
  transition: all 0.2s;
}
#sticky_rea a:first-of-type:before {
  background: linear-gradient(to right, #ff8580, transparent);
}
#sticky_rea a:last-of-type {
  text-align: right;
}
#sticky_rea a:last-of-type:before {
  background: linear-gradient(to left, #ff8580, transparent);
}
#sticky_rea a:hover:before {
  opacity: 1;
}
/* Version 768 */
@media (min-width: 768px) {
  .section_realisations #rea_internes {
    grid-template-columns: repeat(2, 1fr);
  }
  #captures .item {
    width: calc(50% - 60px);
  }
}
/* Version 1024 */
@media (min-width: 1024px) {
  #section_infos .conteneur {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  #section_image_texte .conteneur {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 30px;
    align-items: center;
  }
  #section_image_texte .img {
    margin-top: 0;
  }
  #section_image_texte .img .logo {
    height: 230px;
    width: 230px;
  }
  #section_seo_complet .img,
  #section_seo_complet_plus .img {
    margin-top: 0;
  }
  #section_seo_complet .texte_image_droite,
  #section_seo_complet_plus .texte_image_droite,
  #section_seo_complet .texte_image_gauche,
  #section_seo_complet_plus .texte_image_gauche {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 30px;
    align-items: center;
  }
  #section_seo_complet .texte_image_gauche,
  #section_seo_complet_plus .texte_image_gauche {
    grid-auto-flow: column;
  }
  #section_seo_complet .texte_image_gauche .texte,
  #section_seo_complet_plus .texte_image_gauche .texte {
    grid-column: 2;
  }
  #section_seo_complet .texte li,
  #section_seo_complet_plus .texte li {
    padding-left: 30px;
    margin-bottom: 1em;
    line-height: 1.2;
    position: relative;
  }
  #section_seo_complet .texte li::before,
  #section_seo_complet_plus .texte li::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    background-color: #FFE780;
    width: 10px;
    height: 10px;
    border-radius: 50%;
  }
}
/* Version 1200 */
@media (min-width: 1200px) {
  .post-type-archive-realisation #bandeau_simple {
    padding: 20px 0;
  }
  .post-type-archive-realisation #bandeau_simple .titre {
    font-size: 4em;
  }
  form #filtre2,
  form #filtre1 {
    margin: 0 5px;
  }
  .section_realisations {
    margin: 20px auto 50px auto;
    padding: 0 20px;
    background-color: #fff;
  }
  .section_realisations .conteneur {
    max-width: 1290px;
  }
  .section_realisations .titre_filter {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
  }
  .section_realisations .titre_filter .bouton {
    margin: 0 0 0 30px;
  }
  .section_realisations #rea_internes {
    grid-row-gap: 60px;
    grid-template-columns: repeat(3, 1fr);
  }
  .section_realisations #rea_internes .item {
    overflow: hidden;
  }
  .section_realisations #rea_internes .item.wording .ml6 {
    font-size: 2.5em;
  }
  .section_realisations #rea_internes .item.wording .ml15 {
    font-size: 2em;
  }
  .section_realisations #rea_internes .item.pub.degrade p {
    font-size: 3em;
  }
  .section_realisations #rea_internes .item:hover .nom_entreprise {
    opacity: 1;
    transform: translate(0%, -50%);
  }
  .section_realisations #rea_internes .tags {
    max-width: 67%;
    left: auto;
    right: 0;
    text-align: end;
    top: auto;
    bottom: 0px;
  }
  .section_realisations #rea_internes .titre_nom_ent {
    max-width: 90%;
    font-size: 1.35em;
    bottom: auto;
    top: 20px;
    left: 20px;
  }
  .section_realisations #rea_internes.first_page {
    grid-template-columns: repeat(12, 1fr);
    grid-row-gap: 30px;
  }
  .section_realisations #rea_internes.first_page .resume {
    display: none;
  }
  .section_realisations #rea_internes.first_page .img .bg {
    transform: translate(0%, -50%) scale(1);
    transition: all 0.7s;
  }
  .section_realisations #rea_internes.first_page .item {
    grid-column: span 4;
  }
  .section_realisations #rea_internes.first_page .item > a {
    display: block;
    height: 410px;
    width: 100%;
  }
  .section_realisations #rea_internes.first_page .item > a .img {
    height: 100%;
    width: 100%;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(2),
  .section_realisations #rea_internes.first_page .item:nth-of-type(6) {
    grid-column: span 8;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(3) {
    grid-column: span 6;
    grid-row-start: 2;
    grid-row-end: 4;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(3) > a {
    height: 630px;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(4),
  .section_realisations #rea_internes.first_page .item:nth-of-type(5),
  .section_realisations #rea_internes.first_page .item:nth-of-type(13),
  .section_realisations #rea_internes.first_page .item:nth-of-type(15) {
    grid-column: span 6;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(4) > a,
  .section_realisations #rea_internes.first_page .item:nth-of-type(5) > a,
  .section_realisations #rea_internes.first_page .item:nth-of-type(13) > a,
  .section_realisations #rea_internes.first_page .item:nth-of-type(15) > a {
    height: 300px;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(8),
  .section_realisations #rea_internes.first_page .item:nth-of-type(9) {
    grid-column: span 6;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(14) {
    grid-column: 7 / span 6;
    grid-row-start: 7;
    grid-row-end: 9;
  }
  .section_realisations #rea_internes.first_page .item:nth-of-type(14) > a {
    height: 630px;
  }
  .section_realisations #rea_internes.first_page .item:hover .img .bg {
    transform: translate(0%, -50%) scale(1.1);
  }
  #bandeau_rea {
    padding: 50px 20px;
  }
  #bandeau_rea .titre1 {
    font-size: 3.125em;
    font-size: min(6vh, 3.125em);
    line-height: 1.2;
  }
  #bandeau_rea .titre2 {
    font-size: 3.5em;
    font-size: min(7vh, 3.5em);
    line-height: 1.2;
  }
  #bandeau_rea .nom {
    line-height: 1;
    font-size: 3.75em;
    font-size: min(8vh, 3.75em);
  }
  #section_infos {
    margin-top: -100px;
  }
  #section_infos.novisuel {
    margin-top: 0;
  }
  #section_infos .bloc {
    padding: 80px 30px;
    background-size: calc(460px / 3);
    padding-top: 130px;
  }
  #section_infos .bloc ul li {
    font-size: 2em;
    font-size: min(2vw, 2em);
  }
  #section_image_texte {
    padding: 100px 20px;
  }
  #section_image_texte .conteneur {
    grid-column-gap: 60px;
  }
  #captures {
    padding: 100px 0 0 0;
    background: linear-gradient(to bottom, black 65%, #fff 65%);
  }
  #captures .carousel {
    max-width: 1320px;
    margin-right: auto;
    margin-left: auto;
  }
  #captures .item {
    width: 410px;
    margin: 15px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
  }
  #captures .carousel__viewport {
    z-index: 10;
  }
  #captures .carousel__nav {
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    top: calc(50% - 30px);
    left: -45px;
    right: -45px;
    align-items: center;
    justify-content: space-between;
  }
  #captures .carousel__nav .carousel__button {
    position: initial;
  }
  #section_seo_complet,
  #section_seo_complet_plus {
    padding-top: 80px;
    padding-bottom: 80px;
    max-width: 1820px;
    margin: 0 auto;
  }
  #section_seo_complet .titre,
  #section_seo_complet_plus .titre {
    margin-bottom: 30px;
  }
  #section_seo_complet .row,
  #section_seo_complet_plus .row {
    margin-bottom: 100px;
    grid-column-gap: 60px;
  }
  #section_seo_complet .row:last-of-type,
  #section_seo_complet_plus .row:last-of-type {
    margin-bottom: 0;
  }
  #section_seo_complet_plus .poursuivre .plus {
    width: 80px;
    height: 80px;
    margin-top: 20px;
    transition: all 0.2s;
  }
  #section_seo_complet_plus .poursuivre .plus span {
    width: 50px;
    transition: all 0.2s;
  }
  #section_seo_complet_plus .poursuivre.open .plus {
    transform: rotate(135deg);
  }
  #section_seo_complet_plus .poursuivre.open .plus span {
    width: 30px;
  }
  #section_seo_complet_plus .poursuivre:hover .plus {
    transform: rotate(135deg);
  }
  #section_seo_complet_plus .poursuivre:hover .plus span {
    width: 30px;
  }
  #sticky_rea {
    font-size: min(3vh, 24px);
  }
  #sticky_rea a {
    padding: min(3vh, 30px);
  }
}
