/*
Theme Name: Eric
Theme URI: https://raphaelbergere.art
Author: Raphaël Bergère
Author URI: https://www.raphaelbergere.art
Description: Vive Doublette
Version: 1
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
License: No
License URI:
*/

:root {
  --background-color: #f5f5f5;
  --text-color: #393837;
}

body {
  position: relative;
  min-height: 93vh;
  /* max-height: 100vh; */
  margin: 0;
  color: var(--text-color);
  overflow-x: hidden;
  font-family: "Hind", Tahoma, Verdana, sans-serif;
}

p {
  margin: 0 0 15px 0;
  line-height: 1.2;
}

.pagecontent {
  padding: 50px 100px 50px 450px;
  font-size: 1rem;
}

.pagecontent p {
  max-width: 1000px;
}

#header {
  display: none !important;
}

#page hr {
  display: none !important;
}

h1 {
  font-size: 2rem;
  line-height: 1;
  margin-top: 0;
  font-family: "Merriweather", Tahoma, Verdana, sans-serif;
}

h2 {
  font-size: 1.2rem;
  line-height: 1;
  margin: 0 0 5px 0;
  font-family: "Hind", Tahoma, Verdana, sans-serif;
}

a {
  font-family: "Hind", Tahoma, Verdana, sans-serif;
}

button {
  cursor: pointer;
  background: #393837;
  color: white;
  min-width: 70px;
  min-height: 30px;
  border: 1px solid black;
  border-radius: 5px;
}

.ghost {
  display: none;
}

pre {
  position: fixed;
  top: 0;
  right: 0;
  width: 70%;
  background-color: #35353510;
  margin: 0;
}

/* --- MENU ----*/

header {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: left;
  z-index: 998;
}

.home {
  position: absolute !important;
  justify-content: center !important;
  z-index: 3;
  width: 100%;
}

.logohome {
  font-family: "Merriweather", Tahoma, Verdana, sans-serif;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  color: white;
  text-decoration: none;
  margin-bottom: 10px;
  margin-top: 30px;
  cursor: default;
}

.logo {
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  color: var(--text-color);
  text-decoration: none;
  margin: 50px 50px 0 50px;
}

.headerarticle {
  position: relative;
}

.headerarticle .filtermenu {
  display: none;
}

.headerhome {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 70vh;
}

.headercontent {
  width: 320px;
  display: flex;
  flex-direction: column;
}

.menu {
  min-width: 300px;
  max-width: 300px;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  margin: 50px auto 50px 50px;
  line-height: 1;
  background-color: white;
}

.menu a {
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  font-size: 1.1rem;
  font-weight: 300;
  text-decoration: none;
  letter-spacing: 1.5px;
}

.menuhome {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  line-height: 1;
  margin: 0 30px;
}

.menuhome ul {
  display: flex;
  flex-direction: row;
  gap: 15px;
  list-style-type: none;
  text-transform: uppercase;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 30px;
}

.menuhome ul a {
  display: inline;
  border: solid 2px white;
  color: white;
  text-decoration: none;
  padding: 5px 5px 5px 5px;
  transition: all 0.5s;
  font-weight: 400;
}

.menuhome ul a:hover {
  /* font-size: 1.1rem; */
  padding: 5px 12px 10px 12px;
  transition: all 0.5s;
  font-weight: 800;
}

.filtermenu {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 300px;
  max-width: 300px;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  margin: 50px auto 10px 50px;
  font-weight: 300;
}

.btn-clicked {
  font-weight: 800;
}

.filtermenu div {
  display: flex;
  cursor: pointer;
  opacity: 1;
}

.filtermenu div.active {
  position: relative;
}

.filtermenu div::before {
  content: "";
  position: absolute;
  left: -15px; /* Ajustez la position du triangle par rapport au texte */
  top: 50%;
  transform: translateY(-50%) scaleX(0); /* Initialise l'échelle X à 0 pour le rendre invisible au début */
  transform-origin: 50% 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px; /* Ajustez la taille du triangle */
  border-color: transparent transparent transparent black; /* Couleur du triangle */
  opacity: 0; /* Rendre le triangle invisible au début */
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; /* Ajouter une transition pour l'effet de glissement et d'opacité */
}

.filtermenu div.active::before {
  transform: translateY(-50%) scaleX(1); /* Échelle X à 1 pour le rendre visible avec un effet de glissement */
  opacity: 1; /* Rendre le triangle visible */
}

.filtermenu div:hover {
  opacity: 0.5;
}

.filtermenu div.retour {
  position: relative;
  margin-bottom: 10px;
}

.filters div.retour::before {
  transform: translateY(-50%) scaleX(-1); /* Échelle X à 1 pour le rendre visible avec un effet de glissement */
  opacity: 1; /* Rendre le triangle visible */
}

.othermenu {
  margin: 0 auto auto 0;
  font-weight: 300;
}

.othermenu ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
  list-style-type: none;
  text-transform: uppercase;
  margin: 0;
  padding: 0;
}

.othermenu ul li a {
  color: #757575;
  cursor: pointer;
  transition: all 0.5s ease-in-out;
}

.othermenu ul li a:hover {
  color: black !important;
  transition: all 0.2s ease-in-out;
}

.othermenu ul li.current-menu-item a {
  color: #454545 !important;
  font-weight: 700;
  position: relative;
}

/* --- BURGERMENU ----*/

.nav-toggler {
  display: none;
  position: fixed;
  z-index: 999;
  top: 20px;
  right: 20px;
  height: 40px;
  width: 40px;
  border: none;
  outline: none;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  border-radius: 2px;
  background: white;
}

.burgerline {
  position: absolute;
  display: block;
  width: 70%;
  height: 3px;
  background: #494949;
  transition: transform 0.3s ease-out, opacity 0.1s ease-out;
}
.l1 {
  transform: translateY(-10px);
}
.l3 {
  transform: translateY(10px);
}

.nav-toggler.active .l1 {
  transform: translateY(0px) rotate(135deg);
}
.nav-toggler.active .l2 {
  opacity: 0;
}
.nav-toggler.active .l3 {
  transform: translateY(0px) rotate(-135deg);
}

.menubis {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  margin: 50px 0 50px 0;
  line-height: 1;
  background-color: white;
}

.menubis a {
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  font-size: 1rem;
  text-decoration: none;
}

.menubis img {
  max-width: 80%;
}

/* ----ACCUEIL---- */

.graybloc {
  position: absolute;
  width: 100vw;
  height: 100vh;
  background-color: #00000050;
  z-index: 2;
  border: solid 10px white;
}

.content {
  display: block;
  min-height: 100vh;
  width: auto;
  margin: 0;
  overflow: hidden;
  z-index: 1;
}

.socialhome {
  position: absolute;
  bottom: 25vh;
  width: 100%;
  z-index: 3;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
  margin-bottom: 7px;
}

.socialhome img {
  max-height: 40px;
  opacity: 0.8;
  scale: 1;
  transition: all 0.5s;
}

.socialhome img:hover {
  opacity: 1;
  scale: 1.2;
  transition: all 0.5s;
}

.mentionshome {
  position: absolute;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  bottom: 0;
  padding: 30px;
  width: 100%;
  color: white !important;
  z-index: 3;
}

.mentionshome a {
  color: white !important;
  text-decoration: none;
}

.credit {
  text-align: left;
  font-size: 0.7rem;
}

.credit a {
  text-decoration: underline;
}

.images {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}

.images div {
  position: relative;
  width: 30%;
  height: 15vw;
  min-width: 250px;
  max-width: 350px;
  border-radius: 0.2em;
  overflow: hidden;
  transition: all 1s; /* Ajout de la transition sur la propriété width */
}

.images > div.img-shrink {
  min-width: 0 !important;
  width: 0;
  margin: 0;
  margin: -0.5em;
  opacity: 0;
  transition: all 1s; /* Ajout de la transition sur la propriété width */
}

.images > div.img-expand {
  width: 30%;
  opacity: 1;
  margin: 0;
  transition: all 1s; /* Ajout de la transition sur la propriété width */
}

.images div img {
  width: 100%; /* Définissez la largeur de l'image sur 100% pour remplir le conteneur */
  height: 100%; /* Permettez à la hauteur de s'ajuster automatiquement en fonction de la largeur */
  display: block; /* Assurez-vous que l'image est affichée en tant que bloc pour respecter le flux des éléments */
  object-fit: cover;
}

.images div p {
  position: absolute;
  box-sizing: border-box;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 20px 0 20px;
  font-size: 1.5rem;
  font-family: "Hind", Tahoma, Verdana, sans-serif;
  text-align: center;
  color: rgba(250, 250, 250, 0);
  background-color: rgba(0, 0, 0, 0);
  margin: 0;
  transition: all 1s;
}

.images div p:hover {
  color: rgba(250, 250, 250, 1);
  background-color: rgba(0, 0, 0, 0.8);
  transition: all 1s;
}

.images div a div {
  width: 100% !important;
}

.articles-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  justify-content: center;
}

.gallery-item {
  flex: 0 1 calc(50% - 6px); /* 2 colonnes avec gap */
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  position: relative;
  display: flex;
  flex-direction: column;
}

.gallery-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1.6 / 1; /* Rectangle plus large que haut */
  overflow: hidden;
}

.gallery-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}

.gallery-title-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  background: rgba(0, 0, 0, 0.5);
  transition: all 0.7s;
}

.gallery-title-overlay span {
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  padding: 10px 20px;
}

.gallery-item:hover .gallery-title-overlay {
  opacity: 1;
  transition: all 0.7s;
}

.gallery-title-mobile {
  display: none;
  text-align: center;
  color: #222;
  font-size: 1rem;
  margin-top: 10px;
}

@media only screen and (min-width: 480px) {
  .bwg-standard-thumbnails .bwg-zoom-effect .bwg-zoom-effect-overlay {
    background-color: rgba(0, 0, 0, 0.6) !important;
  }
}

/* ----OEUVRE---- */

.headerarticle nav {
  display: none;
}

.oeuvrecontent {
  margin: 0;
  padding: 20px 50px 20px 50px;
  width: 30%;
  max-width: 500px;
  /* max-height: 580px; */
  overflow-y: hidden;
  overflow-x: hidden;
  color: var(--text-color) !important;
  text-align: left;
}

.infos h1 {
  margin: 0 auto 10px auto;
}

.infos p {
  display: block !important;
  font-size: 0.9rem;
  font-weight: 400;
}

.infos img {
  max-width: 70%;
  /* margin-bottom: 50px; */
}

.infos::-webkit-scrollbar {
  transform: rotate(180deg); /* Rotation de la barre de défilement */
}

.retour {
  position: relative;
  color: var(--text-color);
  opacity: 1;
  padding: 0 !important;
  margin: 0 !important;
  justify-content: flex-start !important;
}

.back:hover {
  color: #959595;
  opacity: 0.5;
}

.back {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 10px;
  margin: 30px 0 0 50px;
  line-height: 1;
  text-decoration: none;
}

.back svg {
  fill: var(--text-color);
}

.slider {
  position: fixed;
  top: 0;
  right: 0;
  width: 70%;
  background-color: #35353510;
}

.n2-ss-slide-background-image img {
  height: 100vh !important;
}

.n2-ss-slider {
  height: 100vh !important;
}

.Title_module_title__da7f0d22 {
  display: none !important;
  opacity: 0 !important;
}

.player .vp-title {
  display: none !important;
  opacity: 0 !important;
}

.vp-sidedock {
  display: none !important;
  opacity: 0 !important;
  margin-left: 100px;
}

.player .vp-player-ui-overlays .vp-sidedock {
  display: none !important;
  opacity: 0 !important;
}

.player .vp-player-ui-overlays .SideDock_module_root__07ab40b6 {
  display: none !important;
  opacity: 0 !important;
}

.player .vp-player-ui-overlays .LabeledButton_module_box__e0f241d2 {
  display: none !important;
  opacity: 0 !important;
}

.player button {
  display: none !important;
  opacity: 0 !important;
}
.player label {
  display: none !important;
  opacity: 0 !important;
}

.nextend-bar {
  white-space: wrap !important;
}

/* ----BIOGRAPHIE---- */

/* .bio {
  max-width: 1000px;
  line-height: 1.5;
  font-size: 1rem;
  padding-bottom: 50px;
} */

.paragraphe-fr,
.paragraphe-en {
  transition: opacity 0.5s;
  opacity: 1;
  display: block;
}

.lang-switcher {
  margin-bottom: 20px;
}

.lang-fr .paragraphe-en,
.lang-en .paragraphe-fr {
  opacity: 0;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
  transition: opacity 0.5s, height 0s, margin 0s, padding 0s;
}

/* ----ACTUALITES---- */

.actucontent {
  padding: 50px 100px 50px 500px;
  font-size: 1rem;
}
.actucontent h2 {
  font-size: 1.8rem;
  line-height: 1;
  padding-top: 50px;
  padding-bottom: 30px;
}

.actucontent h1 {
  margin-bottom: 0;
}

.actucontent p {
  max-width: 1000px;
}

.actucontent img {
  width: 700px;
  margin-bottom: 30px;
}

.actu-index {
  position: fixed;
  transform: translateX(-100px);
  z-index: 999;
}

.actu-index ul {
  margin: 0;
}
.actu-index li {
  margin-bottom: 8px;
}
.actu-index a {
  color: #393837;
  text-decoration: none;
  cursor: pointer;
}
.actu-index a:hover {
  color: #959595;
}

.actu-index a.active {
  font-weight: bold;
  color: #393837;
}

/* ----CONTACT---- */

.contact {
  display: flex;
  flex-direction: row-reverse;
  gap: 50px;
  justify-content: flex-end;
}

.contact p {
  margin-top: 0;
  margin-bottom: 0;
}

.contact img {
  max-width: 30vw;
}

.contactfollow {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 180px;
}

.mail {
  color: #454545;
  font-size: 1.2rem;
  text-decoration: none;
}

.mail img {
  max-height: 50px;
  scale: 1;
  opacity: 1;
  transition: all 0.5s;
}

.mail img:hover {
  scale: 1.2;
  opacity: 0.7;
  transition: all 0.5s;
}

.atelier {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 50px;
  justify-content: flex-start;
  margin-bottom: 30px;
}

.pagecontent .socialcontact img {
  max-height: 50px;
  opacity: 0.9;
  transition: all 0.5s;
}

/* ----FOOTER---- */

footer {
  position: fixed;
  margin: 0;
  bottom: 0;
  left: 0;
  width: auto;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 50px 50px 50px;
}

.footerbis footer {
  position: relative !important;
}

.legal {
  text-align: left;
  font-size: 0.7rem;
}

.socialcontact img:hover {
  opacity: 0.7;
  transition: all 0.5s;
}

.mentions {
  font-size: 0.7rem;
  margin-top: 10px;
}
.politique {
  font-size: 0.7rem;
}

.politique a {
  color: var(--text-color) !important;
}

.mentions a {
  color: var(--text-color) !important;
}

.footerbis footer .socialcontact {
  display: none;
}

.footerbis footer .mentions {
  display: none;
}
.footerbis footer .politique {
  display: none;
}

.socialcontact {
  display: flex;
  gap: 10px;
  margin-bottom: 7px;
}

.logocontact img {
  max-width: 40px !important;
}

.socialcontact img {
  max-height: 30px;
  opacity: 1;
  scale: 1;
  transition: all 0.5s;
}

.socialcontact img:hover {
  opacity: 0.5;
  scale: 1;
  transition: all 0.5s;
}

/* ----RESPONSIVE---- */

@media (max-width: 1500px) {
  .menu {
    min-width: 250px;
    max-width: 250px;
  }
  .pagecontent {
    padding: 50px 50px 50px 350px;
    font-size: 1rem;
  }
  .actucontent {
    padding: 50px 50px 50px 400px;
  }
  h1 {
    font-size: 2rem;
  }
  .infos p {
    font-size: 0.8rem;
  }
  .contactfollow {
    column-gap: 160px;
  }
}

@media (max-width: 1185px) {
  .images .img-expand,
  .images div {
    width: 45%;
    max-width: none !important;
  }
  .images div.img-shrink {
    min-width: 0 !important;
    width: 0;
  }
}

@media (max-width: 986px) {
  .pagecontent {
    padding: 50px 50px 50px 300px;
    font-size: 0.9rem;
  }
  .actucontent {
    padding: 50px 50px 50px 350px;
  }
  .actu-index {
    transform: translateX(-70px);
  }

  .headerarticle .logo {
    display: none;
  }
  .headerarticle .back {
    padding-left: 10px;
  }

  .retour {
    display: none;
  }

  .back svg {
    height: 20px !important;
    width: 20px !important;
  }

  .articles-gallery {
    flex-direction: column;
    gap: 10px;
  }
  .gallery-item {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .gallery-title-overlay {
    display: none;
  }
  .gallery-title-mobile {
    display: block;
    margin-top: 0;
  }

  .bwg-item {
    padding-bottom: 40px !important;
  }

  .bwg-item1,
  .bwg-item0 {
    overflow: visible !important;
  }

  .bwg-zoom-effect-overlay {
    background-color: none !important;
    overflow: visible !important;
  }
  .bwg-title1 {
    justify-content: end !important;
  }

  .bwg-title2 {
    font-size: 20px !important;
    transform: translateY(35px) !important;
    color: black !important;
    z-index: 999 !important;
  }

  pre {
    position: relative;
  }
  .infos {
    width: 100%;
  }
  .infos h1 {
    margin-top: 30px;
  }

  pre {
    width: 100vw;
    transform: translateX(-30px);
  }
  .slider {
    position: relative;
    width: 100%;
  }
  .oeuvrecontent {
    width: 100%;
    max-width: none;
    padding: 70px 30px 0 30px;
  }
  .oeuvrecontent .n2-ss-slide-background-image img {
    height: 80vh !important;
  }
  .oeuvrecontent .n2-ss-slider {
    height: 80vh !important;
  }
  .headerarticle .headercontent img {
    display: none;
  }
  .headerarticle {
    position: fixed !important;
    margin: 20px 0 0 20px;
    top: 0px !important;
    z-index: 100 !important;
  }

  .headerarticle .back {
    padding-left: 30px;
    background: rgba(255, 255, 255, 0.8);
    width: min-content;
    margin: 0;
    padding: 10px;
    padding-left: 10px;
    border-radius: 5px;
  }
  .headerarticle .back:before {
    padding-left: 10px;
    transform: translateY(-45%);
  }
  .mail {
    font-size: 1rem;
  }
  .contact {
    flex-direction: column;
    gap: 30px;
    justify-content: flex-start;
    align-items: left;
  }
  .contact img {
    max-width: 100%;
  }

  .atelier {
    flex-direction: column;
    gap: 0;
    justify-content: flex-start;
    align-items: left;
  }
}

@media (max-width: 650px) {
  .nav-toggler {
    display: flex;
  }
  .logo {
    font-size: 1.5rem;
  }

  .logo {
    margin: 20px 50px 0 30px;
  }

  .headerarticle nav {
    display: block;
  }
  .headercontent img {
    max-width: 70%;
    margin: 40px auto 0 auto;
    display: flex;
    align-items: center;
  }
  .headerpage .headercontent img {
    display: none;
  }
  .pagecontent,
  .actucontent {
    padding: 130px 30px 30px 30px;
    font-size: 0.9rem;
  }
  .actu-index {
    display: none;
  }
  .menu {
    position: fixed;
    flex-direction: column;
    margin: 0;
    position: fixed;
    display: flex;
    top: 0;
    right: 0;
    min-width: 250px;
    height: 100vh;
    /* background: #fff; */
    background: white;
    border-left: 1px solid #353535;
    z-index: 10;
    transition: transform 1s ease-in-out;
    transform: translateX(100%);
    padding: 70px 0 20px 30px;
  }

  .menuhome ul {
    flex-direction: column;
    row-gap: 10px;
  }

  .menuhome ul a {
    display: block;
    width: 120px;
    text-align: center;
  }

  .socialhome {
    bottom: 20vh;
  }

  .contact {
    align-items: center;
  }

  .contact h1 {
    text-align: center;
  }

  .contact img {
    max-width: 100%;
    display: flex;
    justify-content: center;
  }

  .logocontact {
    justify-content: center !important;
  }

  .filtermenu {
    margin: 40px auto 0 0;
    flex-direction: row;
    column-gap: 20px;
    row-gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .filtermenu div {
    border: 1px solid #45454570;
    border-radius: 5px;
    padding: 5px;
    font-size: 0.8rem;
  }

  .btn-clicked {
    border: 1px solid #45454599 !important;
  }

  .menu.active {
    transform: translate(0);
  }
  .infos {
    padding: 0 30px 30px 30px;
  }
  .contact {
    align-items: center;
  }
  .contact h2 {
    width: 100%;
    text-align: center;
  }
  .contact p {
    text-align: center;
  }
  .contactfollow {
    align-items: center;
  }

  footer {
    position: relative;
    padding: 50px 50px 50px 50px;
    align-items: center !important;
    max-width: none;
  }

  footer .legal {
    font-size: 0.7rem;
    text-align: center;
  }
}
