@charset "UTF-8";
/*ICI POUR CHANGER SIMULTANÉMENT LA COULEUR D'UNE GRANDE MAJORITÉ DES TEXTES*/
/* background-color / font-variation-settings / color / letter-spacing */
/**/
/* modèle de boutons avec label */
/* modèle de boutons classic */
.container {
  display: flex;
  margin: auto;
  box-sizing: border-box;
  width: 80vw;
  margin: 0px 10vw;
}

/* PAGE INDEX */
.intro {
  justify-content: flex-start;
  flex-direction: column;
  padding: 6vw 4vw 0vw 4vw;
  background-color: #FDF3E4;
  margin-top: 150px;
}

.keywords {
  width: 100%;
  display: flex;
  align-content: center;
  box-sizing: border-box;
  justify-content: space-around;
  padding: 5px;
  margin: 7px 0px 15px 0px;
  background: linear-gradient(to right, transparent, #FFD4B2, transparent);
}

.presentation {
  display: flex;
  justify-content: space-between;
  padding: 50px 0px;
}

.texte-colone:first-of-type {
  width: 40%;
  font-weight: 100;
}

.texte-colone:nth-of-type(2) {
  width: 56%;
  font-weight: 500;
  padding-top: 50px;
}

.onglets {
  flex-direction: row;
  align-items: flex-end;
  margin-top: 50px;
  justify-content: space-evenly !important;
  padding: 0vw;
}
@media (max-width: 800px) {
  .onglets {
    flex-direction: column;
    margin-bottom: 60px;
    height: auto;
    align-items: center;
  }
}

@media (max-width: 800px) {
  .intro {
    margin-top: 23vw;
  }
  .container {
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
  }
  .keywords {
    flex-wrap: wrap;
  }
  .presentation {
    padding: 50px 0px;
    flex-direction: column;
  }
  .texte-colone:first-of-type {
    width: 85%;
  }
  .texte-colone:nth-of-type(2) {
    width: 80%;
    align-self: flex-end;
    padding-top: 20px;
  }
}
a {
  text-decoration: none;
}

button {
  border: none;
  background-color: unset;
  cursor: pointer;
}

/* DS ONLY */
.ds_boutons {
  background-color: #FDF3E4;
}

/* Pour les modèles avec label et boite et padding invisible */
.p_btn {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Réglage de la taille des typos */
.p_btn_voirplus, .p_label_btn, .p_btn_next_project, .p_btn_nav, .p_btn_footer, .p_btn_home {
  font-size: 1rem;
}

.p_btn_call_to_action, .p_btn_contact {
  font-size: 1.235rem;
}

/* Bordures, background, taille, transition */
.btn_home {
  display: flex;
  flex-direction: column;
  width: 30vw;
}
.btn_home p {
  margin-top: 0px;
  line-height: 1.5;
  padding: 10px;
}
.btn_home .p_label_btn {
  width: 100%;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 400;
  color: #3C1317;
  font-style: italic;
}
.btn_home .p_btn_home {
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  width: 100%;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 400;
  background-color: #FFD4B2;
  color: #8F5D4C;
  letter-spacing: normal;
}
.btn_home:hover .p_label_btn, .btn_home.hover .p_label_btn {
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 300;
  color: #8F5D4C;
}
.btn_home:hover .p_btn_home, .btn_home.hover .p_btn_home {
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  background-color: #fcc57d;
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
}

.btn_tag {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  height: 40px;
  padding: 0px 15px;
  margin-right: 7px;
  cursor: pointer;
  width: max-content;
  background-color: #FFD4B2;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_tag span.icon {
  display: none;
  width: 30px;
  height: 30px;
  margin-left: 0px;
}
.btn_tag .p_tag {
  margin-bottom: unset;
  font-variation-settings: "wght" 400;
  color: #8F5D4C;
  letter-spacing: normal;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_tag:hover, .btn_tag.hover {
  cursor: pointer;
  background-color: #fcc57d;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_tag:hover .p_tag, .btn_tag.hover .p_tag {
  margin-bottom: unset;
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}

.active_keyword.btn_tag {
  cursor: auto;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  background-color: #FDF3E4;
  padding-right: 7px;
}
.active_keyword.btn_tag .p_tag {
  text-decoration-line: underline;
  text-decoration-color: #3C1317;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 300;
  color: #3C1317;
  letter-spacing: 0.02rem;
}
.active_keyword.btn_tag:hover, .active_keyword.btn_tag.hover {
  cursor: pointer;
  background-color: #fcc57d;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.active_keyword.btn_tag:hover .p_tag, .active_keyword.btn_tag.hover .p_tag {
  margin-bottom: unset;
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}

.call_to_action {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex !important;
  margin-bottom: 100px !important;
}

.btn_call_to_action {
  display: flex;
  flex-direction: column;
  width: 30vw;
  cursor: pointer;
}
.btn_call_to_action p {
  line-height: 1.5;
}
.btn_call_to_action .p_label_btn {
  width: 100%;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 400;
  color: #3C1317;
  font-style: italic;
}
.btn_call_to_action .p_btn_call_to_action {
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 50px;
  width: 100%;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 400;
  background-color: #FFD4B2;
  color: #8F5D4C;
  letter-spacing: normal;
}
.btn_call_to_action:hover .p_label_btn, .btn_call_to_action.hover .p_label_btn {
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 300;
  color: #8F5D4C;
}
.btn_call_to_action:hover .p_btn_call_to_action, .btn_call_to_action.hover .p_btn_call_to_action {
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  background-color: #fcc57d;
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
}

.btn_contact {
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  background-color: #FFD4B2;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_contact .p_btn_contact {
  font-variation-settings: "wght" 400;
  color: #8F5D4C;
  letter-spacing: normal;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_contact:hover, .btn_contact.hover {
  background-color: #fcc57d;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_contact:hover .p_btn_contact, .btn_contact.hover .p_btn_contact {
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}

.prev {
  left: 0px;
}

.next {
  right: 0px;
}

.btn_navigation- {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 0px;
  width: 45px;
  position: absolute;
  cursor: pointer;
  z-index: 2;
  height: 100%;
  background: linear-gradient(to top, transparent, #FFD4B2, transparent);
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_navigation- .p_btn_navigation- {
  font-variation-settings: "wght" 400;
  color: #8F5D4C;
  letter-spacing: normal;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_navigation- span.icon {
  transition: background-color 0.3s ease, width 0.3s ease;
  background-color: #8F5D4C;
  width: 25px;
}
.btn_navigation-:hover, .btn_navigation-.hover {
  background: linear-gradient(to top, transparent, #fcc57d, transparent);
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_navigation-:hover .p_btn_navigation-, .btn_navigation-.hover .p_btn_navigation- {
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_navigation-:hover span.icon, .btn_navigation-.hover span.icon {
  transition: background-color 0.3s ease, width 0.3s ease;
  background-color: #3C1317;
  width: 35px;
}

.btn_voirplus {
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  width: calc(100% - 40px);
  margin: 0px 20px 20px;
  background-color: #FFD4B2;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_voirplus .p_btn_voirplus {
  font-variation-settings: "wght" 400;
  color: #8F5D4C;
  letter-spacing: normal;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_voirplus span.icon {
  transition: background-color 0.3s ease, width 0.3s ease;
  background-color: #8F5D4C;
  width: 25px;
  margin-right: 7px;
}
.btn_voirplus:hover, .btn_voirplus.hover {
  background-color: #fcc57d;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_voirplus:hover .p_btn_voirplus, .btn_voirplus.hover .p_btn_voirplus {
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_voirplus:hover span.icon, .btn_voirplus.hover span.icon {
  transition: background-color 0.3s ease, width 0.3s ease;
  background-color: #3C1317;
  width: 35px;
}
@media (max-width: 800px) {
  .btn_voirplus {
    width: calc(100% - 16px);
  }
}

.btn_next_project {
  width: 30vw;
  height: 100px;
  margin: 60px 20px 100px 20px;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  justify-self: flex-end;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.btn_next_project .btn_next_project_image {
  width: 65%;
  height: 100%;
  overflow: hidden;
}
.btn_next_project img.apercu {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.btn_next_project .btn_next_project_texte {
  width: 35%;
  padding-left: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.btn_next_project .p_btn_next_project {
  transition: letter-spacing 0.4s ease;
  letter-spacing: normal;
}
.btn_next_project .icon {
  transform: translateX(0px);
  transition: transform 0.3s ease;
}
.btn_next_project:hover, .btn_next_project.hover {
  overflow: hidden;
  background-color: #FFD4B2;
  transition: background-color 0.3s ease;
}
.btn_next_project:hover img.apercu, .btn_next_project.hover img.apercu {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}
.btn_next_project:hover .p_btn_next_project, .btn_next_project.hover .p_btn_next_project {
  transition: letter-spacing 0.4s ease;
  letter-spacing: 0.05rem;
  font-variation-settings: "wght" 500;
}
.btn_next_project:hover .icon, .btn_next_project.hover .icon {
  transform: translateX(5px);
  transition: transform 0.3s ease;
}
@media (max-width: 800px) {
  .btn_next_project {
    width: calc(100% - 16px);
    margin: 60px 8px 60px 8px;
  }
}

.btn_prev_project {
  width: 30vw;
  height: 100px;
  margin: 60px 20px 100px 20px;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  justify-self: flex-end;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.btn_prev_project .btn_prev_project_image {
  width: 65%;
  height: 100%;
  overflow: hidden;
}
.btn_prev_project img.apercu {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.btn_prev_project .btn_prev_project_texte {
  width: 35%;
  padding-left: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.btn_prev_project .p_btn_prev_project {
  transition: letter-spacing 0.4s ease;
  letter-spacing: normal;
}
.btn_prev_project .icon {
  transform: translateX(0px);
  transition: transform 0.3s ease;
}
.btn_prev_project:hover, .btn_prev_project.hover {
  overflow: hidden;
  background-color: #FFD4B2;
  transition: background-color 0.3s ease;
}
.btn_prev_project:hover img.apercu, .btn_prev_project.hover img.apercu {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}
.btn_prev_project:hover .p_btn_prev_project, .btn_prev_project.hover .p_btn_prev_project {
  transition: letter-spacing 0.4s ease;
  letter-spacing: 0.05rem;
  font-variation-settings: "wght" 500;
}
.btn_prev_project:hover .icon, .btn_prev_project.hover .icon {
  transform: translateX(5px);
  transition: transform 0.3s ease;
}
@media (max-width: 800px) {
  .btn_prev_project {
    width: calc(100% - 16px);
    margin: 60px 8px 60px 8px;
  }
}

.btn_nav {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 73px;
  padding: 0px 4vw;
  width: max-content;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_nav .p_btn_nav {
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
  font-variation-settings: "wght" 400;
  color: #8F5D4C;
  letter-spacing: normal;
}
.btn_nav:hover, .btn_nav.hover {
  background-color: #fcc57d;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.btn_nav:hover .p_btn_nav, .btn_nav.hover .p_btn_nav {
  font-variation-settings: "wght" 500;
  color: #3C1317;
  letter-spacing: 0.02rem;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}

.active.btn_nav {
  cursor: default;
  transition: width 0.3s ease, background-color 0.3s ease, font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.active.btn_nav .p_btn_nav {
  text-decoration-line: underline;
  text-decoration-color: #8F5D4C;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  font-variation-settings: "wght" 400;
  color: #8F5D4C;
  letter-spacing: normal;
  transition: font-variation-settings 0.3s ease, color 0.3s ease, letter-spacing 0.3s ease;
}
.active.btn_nav:hover {
  background-color: #FFD4B2;
}

.btn_logo img {
  transform: scale(1);
  transition: transform 2s ease-in-out;
}
.btn_logo {
  overflow: hidden;
}
.btn_logo:hover, .btn_logo.hover {
  overflow: hidden;
}
.btn_logo:hover img, .btn_logo.hover img {
  transition: transform 2s ease-in-out;
  transform: scale(1.3);
}

.btn_footer {
  justify-content: flex-start;
  padding: 7px 15px;
  margin: 7px;
  width: max-content;
}
.btn_footer .p_btn_footer {
  font-variation-settings: "wght" 300;
  transition: font-variation-settings 0.3s ease, width 0.3s ease;
}
.btn_footer:hover, .btn_footer.hover {
  width: max-content;
}
.btn_footer:hover .p_btn_footer, .btn_footer.hover .p_btn_footer {
  font-variation-settings: "wght" 500;
  transition: font-variation-settings 0.3s ease, width 0.3s ease;
}

.btn_close {
  width: 45px;
  height: 45px;
  position: absolute;
  right: 0px;
  z-index: 10;
}
.btn_close span.icon {
  transform: scale(1);
  transition: transform 0.3s ease;
}
.btn_close:hover span.icon, .btn_close.hover span.icon {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}

@media (max-width: 800px) {
  .btn_call_to_action {
    width: 100%;
  }
  .icon-contact {
    width: 36px !important;
  }
  .btn_nav {
    height: 53px;
  }
  .btn_home {
    width: 100%;
  }
  .btn_home p {
    width: 80vw;
    padding: 10px;
  }
  .btn_home h5 {
    width: 80vw;
    padding: 4px 4vw;
  }
  .project-button {
    margin-bottom: 0px !important;
  }
}
.navbar {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 73px;
  background-color: #FFD4B2;
  display: flex;
  margin-top: 0px;
  z-index: 15;
}
.navbar .nav_container {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 2;
  padding: 0vw;
  width: calc(100vw - 73px);
}
.navbar img {
  height: 73px;
}

footer {
  width: 100%;
  height: 20vh;
  background-color: #FFD4B2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0px 10vw;
  margin-top: 50px;
}
footer p {
  color: #5D3136;
}
footer .footer-info {
  height: 50px;
  display: flex;
  align-items: center;
  margin-left: 22px;
}
footer div {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .navbar {
    height: 53px;
    width: 100vw;
  }
  .navbar .nav_container {
    height: 53px;
  }
  .navbar img {
    height: 53px;
  }
  footer {
    height: 50vh;
    padding: 0px 10vw;
    margin-top: 50px;
  }
}
.contact-container {
  padding: 4vw 4vw 4vw 4vw;
  background-color: #FDF3E4;
  margin-top: 110px;
  flex-direction: row;
  position: relative;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-gauche {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.form-droite {
  width: 50%;
}

.form-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.form-group input, .form-group textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-group textarea {
  min-height: 150px;
  resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

.field-error {
  display: block;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.field-error.show {
  opacity: 1;
}

.form-group input.input-error,
.form-group textarea.input-error {
  border-color: #e74c3c !important;
  background-color: #ffeae4;
}

.form-message {
  padding: 16px;
  display: none;
  margin-top: 0px;
  position: absolute;
  top: 0px;
  width: 80vw;
  margin-left: -4vw;
  height: 100%;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease;
  opacity: 0.9;
}
@media (max-width: 768px) {
  .form-message {
    top: 30%;
    width: 100%;
    height: 50%;
  }
}

.form-message.fade-out {
  opacity: 0;
}

.form-message.success {
  display: flex;
  background-color: #c8dbc4;
}

.form-message.error {
  display: flex;
  background-color: #ffeae4;
  border: 1px solid #e74c3c;
}

#submit-button:active:not(:disabled) {
  transform: translateY(0);
}

#submit-button:disabled {
  background-color: #999;
  cursor: not-allowed;
  opacity: 0.6;
}

@keyframes pulse {
  0%, 100% {
    background-color: #FFD4B2;
  }
  50% {
    background-color: #FFA259;
  }
}
@keyframes pulse_font {
  0%, 100% {
    color: #3C1317;
  }
  50% {
    color: #3C1317;
  }
}
/* Styles responsives */
@media (max-width: 768px) {
  .contact-container {
    padding: 20px 15px;
    flex-direction: column;
    margin-bottom: 50px;
  }
  .form-gauche, .form-droite {
    width: 100%;
  }
  .form-droite {
    margin-top: 20px;
  }
  .form-group input,
  .form-group textarea {
    width: 100%;
    padding: 10px 14px;
  }
  .submit-button {
    padding: 12px 24px;
  }
}
.cv {
  flex-direction: column;
  padding: 6vw 4vw 4vw 4vw;
  margin-bottom: 100px;
  background-color: #FDF3E4;
}

.icon-point {
  mask-image: url("/images/cv/elipse.svg");
  -webkit-mask-image: url("/images/cv/elipse.svg");
  background-color: #FFA259;
  height: 10px;
  width: 30px;
  display: inline-block;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.cv h2.section_graphisme {
  display: flex;
}
.cv h2.section_graphisme::after {
  content: "";
  flex: 1;
  height: 25px;
  margin-top: 5px;
  margin-left: 15px;
  background: linear-gradient(to right, transparent, #FFD4B2);
}

h2.section_graphisme {
  position: relative;
  display: inline-block;
}

.cv h2 {
  margin: 0px;
}

h2.legend {
  font-size: 14px;
  font-weight: 200;
  font-style: italic;
  margin-top: 7px;
}

.details {
  width: 100%;
  height: auto;
  display: flex;
  align-items: flex-start;
  padding: 3vw 0px;
  padding-top: 0px;
  justify-content: space-between;
  box-sizing: border-box;
  position: relative;
  flex-wrap: wrap;
}

.methodologies, .formation {
  flex-direction: row;
}

.extra {
  flex-direction: column;
}

.ligne_outils {
  display: flex;
}

.methodologies .details-colone:first-of-type {
  width: 74%;
  flex-direction: column;
}

.methodologies .details-colone:first-of-type h3 {
  margin-left: 5px;
  flex-direction: row;
}

.methodologies .details-colone {
  width: 24%;
  display: flex;
  flex-wrap: wrap;
}

.methodologies .details-colone h2 {
  margin-bottom: 6px;
}

.cv_ligne {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0px 0px 8px 0px;
}

.formation .details-colone {
  width: 48%;
  flex-direction: column;
  position: relative;
  display: flex;
}

.projets .details-colone {
  width: 48%;
  flex-direction: column;
  position: relative;
  display: flex;
}

@media (max-width: 800px) {
  .cv {
    margin-top: 30vw;
    gap: 15px;
  }
  .cv h2.section_graphisme::after {
    position: absolute;
    top: 0px;
    left: -10px;
    width: 100%;
    height: 100%;
    margin-top: 0px;
    background: linear-gradient(to right, transparent, transparent, #FFD4B2);
  }
  .methodologies, .projets, .formation {
    flex-direction: column;
  }
  .methodologies .details-colone, .methodologies .details-colone:first-of-type, .projets .details-colone, .projets .details-colone:first-of-type, .formation .details-colone, .formation .details-colone:first-of-type {
    width: 100%;
  }
  .methodologies .details-colone h3, .methodologies .details-colone:first-of-type h3, .projets .details-colone h3, .projets .details-colone:first-of-type h3, .formation .details-colone h3, .formation .details-colone:first-of-type h3 {
    margin-left: 0px;
  }
  .methodologies .details-colone p, .methodologies .details-colone:first-of-type p, .projets .details-colone p, .projets .details-colone:first-of-type p, .formation .details-colone p, .formation .details-colone:first-of-type p {
    margin-left: 7px;
  }
  .projets {
    gap: 15px;
  }
  .cv_ligne {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  .icon-point {
    display: none;
  }
}
.portfolio {
  flex-direction: column;
  padding: 3vw 4vw 4vw 4vw;
  margin-bottom: 100px;
  background-color: #FDF3E4;
}

.filtres {
  display: flex;
  width: 76vw;
  margin-left: -4vw;
  padding-left: 4vw;
  padding-bottom: 30px;
  padding-top: 30px;
  position: sticky;
  top: 73px;
  height: max-content;
  background: linear-gradient(to top, transparent, #FDF3E4, #FDF3E4);
  z-index: 10;
}

button#filter_mobile_btn {
  display: none;
  margin-top: 7px;
  margin-right: 8px;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
}
button#filter_mobile_btn span.icon {
  display: flex;
}

.filtre {
  padding: 0px 15px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 7px;
  transition: all 0.2s ease;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  height: 40px;
  background-color: #FFD4B2;
  color: #3C1317;
  cursor: pointer;
}

.filtre:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background-color: #FFA259;
}

.filtre.active_keyword {
  background-color: #FDF3E4;
  color: #5D3136;
  cursor: auto;
}
.filtre.active_keyword:hover {
  box-shadow: unset;
  cursor: auto;
}
.filtre.active_keyword h5 {
  text-decoration-line: underline;
  text-decoration-color: #3C1317;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.project-button {
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  transition: border-width 0.3 ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  height: 25vw;
  margin-top: 20px;
  margin-bottom: 30px;
  padding: 0px;
  background-color: #FFD4B2;
  color: #3C1317;
  cursor: pointer;
  text-align: center;
  box-sizing: border-box;
  position: relative;
}
.project-button img.apercu {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.project-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFA259;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.project-button:hover::after {
  opacity: 0.7;
}
.project-button:hover {
  transition: border-width 0.3 ease;
}

.cartouche {
  position: absolute;
  bottom: 0px;
  left: 0px;
  display: flex;
  align-items: flex-end;
  height: 25vw;
  padding-top: 15px;
  z-index: 1;
  width: 100%;
  padding-left: 10px;
  background: linear-gradient(to bottom, transparent, #FDF3E4);
}
.cartouche .keywords {
  background-color: #FDF3E4;
  justify-content: flex-start;
  padding: 3px;
  margin: unset;
  width: 100%;
  margin-bottom: 5px;
}
@media (max-width: 800px) {
  .cartouche {
    height: 90vw;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-left: 0px;
    padding-right: 0px;
    background: linear-gradient(to bottom, transparent, #FDF3E4);
  }
  .cartouche .keywords {
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 3px 0px;
  }
}

.mosaique {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
  min-height: 100vh;
  padding-top: 30px;
}

/* Animation pour la liste des projets */
#projectList {
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform-origin: center top;
  scroll-snap-type: y mandatory;
}

/* Animation pour les éléments individuels (optionnel - effet plus avancé) */
#projectList li {
  transition: all 0.2s ease;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (max-width: 800px) {
  .portfolio {
    padding: 3vw 0vw 4vw 0vw;
  }
  button#filter_mobile_btn {
    display: flex;
  }
  .filtres {
    top: 53px;
    width: 100vw;
    max-height: 58px;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-left: -5vw;
    padding-left: 5vw;
    height: 50px;
    flex-wrap: wrap;
    overflow: hidden;
  }
  .filtres .btn_tag {
    display: none;
    margin-top: 7px;
  }
  .filtres .active_keyword {
    display: flex !important;
  }
  /* Fond à opacité réduite */
  .filtres_fond_mobile {
    display: none;
    position: fixed;
    background-color: black;
    opacity: 0.3;
    top: 53px;
    left: 0px;
    width: 100vw;
    height: calc(100vh - 53px);
    z-index: 10;
  }
  /* Version mobile, panneau ouvert */
  .filter_open {
    position: relative;
  }
  .filter_open .filtres {
    background-color: #fcc57d;
    height: max-content;
    max-height: unset;
    transition: max-height 0.3s ease;
    overflow-x: visible;
    visibility: visible;
    padding-bottom: 8px;
    display: flex;
    width: 100vw;
  }
  .filter_open .filtres .btn_tag {
    z-index: 10;
    display: flex;
  }
  .filter_open .filtres_fond_mobile {
    display: flex;
  }
  .inactive_filter {
    display: none;
  }
  .project-button {
    height: 90vw;
  }
  .project-button::after {
    display: none;
  }
  .project-button:hover::after {
    display: none;
  }
}
.carousel-slide img.desktop {
  object-fit: cover;
  max-height: 100%;
}

.mobile {
  display: none !important;
}

.desktop {
  visibility: visible;
}

.carousel {
  position: relative;
  margin: 0px 0px 0px 0px;
  height: calc(95vh - 115px);
}

.carousel-container {
  position: relative;
  overflow: hidden;
  height: calc(95vh - 115px);
  display: flex;
}

.carousel-track {
  display: flex;
  transition: transform 0.3s ease;
  width: 100%;
  height: 100%;
}

.carousel-slide {
  min-width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  display: block;
}

/* Indicateurs */
.carousel-indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
}

.indicator {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(60, 19, 23, 0.2196078431);
  cursor: pointer;
  transition: background 0.3s;
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
}

.indicator.active {
  background: #5D3136;
}

@media (max-width: 800px) {
  .carousel-slide img.mobile {
    max-height: 100%;
  }
  .mobile {
    display: flex !important;
  }
  .desktop {
    visibility: hidden;
    display: none !important;
  }
}
.scroll-content-wrapper {
  border-bottom: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  overflow-x: hidden;
}
.scroll-content-wrapper .modale_intro, .scroll-content-wrapper .carousel, .scroll-content-wrapper .modale_details {
  margin-left: 20px;
  margin-right: 20px;
  box-sizing: border-box;
}
@media (max-width: 800px) {
  .scroll-content-wrapper .modale_intro, .scroll-content-wrapper .carousel, .scroll-content-wrapper .modale_details {
    margin: 0px;
  }
}
@media (max-width: 800px) {
  .scroll-content-wrapper .modale_intro {
    padding: 15px 10px;
  }
}

/* effete à l'ouverture */
.modal {
  background-color: rgba(0, 0, 0, 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease, background-color 0.4s ease;
}
.modal.show {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.4);
  transition: opacity 0.4s ease, background-color 0.4s ease;
  pointer-events: auto;
}

.modal {
  display: none;
  position: fixed;
  z-index: 15;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.modal-content {
  padding: 0px 0px 0px 0px;
  width: 85vw;
  height: 95vh;
  position: relative;
  display: flex;
  overflow: hidden;
  background-color: #FDF3E4;
}
.modal-content .icon-close {
  background-color: #F9ECDF;
  width: 45px;
  height: 45px;
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 10;
}

.close {
  width: 45px;
}

#modalContent {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  width: 100%;
}

.modal_bar {
  height: 45px;
  width: 85vw;
  padding-right: 45px;
  padding-left: 15px;
  position: fixed;
  background-color: #5D3136;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.modal_scroll_area {
  display: flex;
  flex-direction: column;
  margin-top: 45px;
  height: calc(95vh - 45px);
  width: 100%;
}

.modale_intro {
  display: flex;
  flex-direction: column;
  width: calc(100% - 40px);
  padding: 30px 20px;
}
.modale_intro h2 {
  margin-top: 0px;
}
@media (max-width: 800px) {
  .modale_intro {
    padding-bottom: 0px;
  }
}

.modale_details {
  display: flex;
  flex-direction: column;
  max-height: 0;
  overflow: hidden;
  padding: 0 15px;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
@media (max-width: 800px) {
  .modale_details {
    padding-bottom: 0px;
  }
}

.visible .modale_details {
  max-height: 3000px;
  overflow: visible;
  padding: 15px 15px 30px 15px;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

.modale_projects_navigation {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 800px) {
  #modalContent {
    width: inherit;
  }
  .modal_bar {
    width: 95vw;
    overflow: hidden;
  }
  .modal_scroll_area {
    width: inherit;
  }
  .scroll-content-wrapper .carousel {
    margin-left: 0px;
    margin-right: 0px;
  }
  .modal-content {
    width: 95vw;
    height: 85vh;
  }
  .modal-content h2 {
    font-size: 12px;
  }
  .modal-content .tag_competence {
    margin-left: 0px;
    margin-right: 0px;
  }
  .modale_intro, .carousel, .modale_details, button.btn_voirplus {
    margin: 0 8px;
    box-sizing: border-box;
  }
  button.btn_voirplus {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
/* STYLE POUR LA PAGE DS.HTML */
.page_designsystem .ds_nav, .page_designsystem .ds_footer {
  background-color: #FFD4B2;
}
.page_designsystem .ds_utilitary {
  font-size: 13px;
  margin-bottom: 15px;
  font-variation-settings: "wght" 100;
}
.page_designsystem .ds_page_home, .page_designsystem .ds_page_portfolio, .page_designsystem .ds_page_cv, .page_designsystem .ds_page_contact, .page_designsystem .ds_modale, .page_designsystem .ds_footer, .page_designsystem .ds_nav {
  padding: 20px;
  margin: 20px 0px;
  flex-direction: column;
}
.page_designsystem .ds_page_home, .page_designsystem .ds_page_portfolio, .page_designsystem .ds_page_cv, .page_designsystem .ds_page_contact, .page_designsystem .ds_modale {
  background-color: #FDF3E4;
}
.page_designsystem .cv_ligne {
  flex-direction: row !important;
}
.page_designsystem .btn_call_to_action, .page_designsystem .btn_home {
  margin-left: -20px !important;
}
.page_designsystem .ds_modale .h1_titre {
  background-color: #5D3136;
}
.page_designsystem .ds_modale .btn_next_project {
  margin: 60px -20px !important;
}
.page_designsystem h1.ds, .page_designsystem h2.ds, .page_designsystem h3.ds, .page_designsystem h4.ds, .page_designsystem h5.ds, .page_designsystem h6.ds {
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 1em;
}
.page_designsystem {
  /* cacher la ligne description des couleurs pour l'instant */
}
.page_designsystem .color-description {
  display: none;
}
@media (max-width: 800px) {
  .page_designsystem {
    display: flex;
    flex-direction: column;
  }
  .page_designsystem .btn_call_to_action, .page_designsystem .btn_home {
    margin-left: 0px !important;
  }
  .page_designsystem .container {
    gap: 20vw;
    background-color: unset;
  }
  .page_designsystem .color-group {
    flex-wrap: wrap;
  }
  .page_designsystem .ds_couleurs {
    padding: 0px;
  }
  .page_designsystem .ds_couleurs h3 {
    width: 100%;
  }
  .page_designsystem .ds_couleurs p {
    font-size: 0.8rem;
  }
  .page_designsystem .ds_typos {
    flex-direction: column;
    overflow: hidden;
  }
  .page_designsystem .ds_typos div {
    width: 100%;
  }
  .page_designsystem .ds_boutons {
    width: 100%;
    margin: 0px;
    padding: 0px;
  }
  .page_designsystem .ds_btn_display {
    margin-bottom: 10vw;
  }
}

/* STYLE PAGE DS.HTML FIN */
h1, h2, h3, h4, h5 {
  font-family: "IBM Plex Sans", sans-serif;
  color: #3C1317;
}

/* p start */
p {
  line-height: 160%;
  font-family: "IBM Plex Sans", sans-serif;
  color: #3C1317;
  font-size: 1rem;
}

p.ds {
  font-family: "IBM Plex Sans", sans-serif;
  margin-top: 0;
}

.p_normal {
  font-size: 0.89rem;
  font-variation-settings: "wght" 200;
  margin-bottom: 1em;
}

.p_high {
  font-size: 1rem;
  font-variation-settings: "wght" 500;
  margin-bottom: 1em;
}

.p_tag {
  font-size: 1rem;
  text-transform: uppercase;
}

.p_legend {
  font-size: 0.8rem;
  font-variation-settings: "wght" 500;
  font-style: italic;
  margin-bottom: 1em;
}

.p_form {
  border: 1px rgba(60, 19, 23, 0.2196078431) solid !important;
  background-color: #fffbf6;
  padding: 6px;
  display: flex;
  color: rgba(60, 19, 23, 0.2196078431);
}

.p_tag_gradient {
  background: linear-gradient(to right, transparent, #FFD4B2, transparent);
}

.p_label_btn {
  padding: 10px;
}

/* p end */
/* TEXTES DES FORMULAIRES */
label.p_label_form {
  font-size: 1rem;
  font-variation-settings: "wght" 400;
  color: #3C1317;
  font-style: italic;
  padding: 5px 0px 0px;
  margin-bottom: 0.2em;
  font-family: "IBM Plex Sans", sans-serif;
}

.field-error {
  font-size: 1rem;
  font-variation-settings: "wght" 400;
  font-family: "IBM Plex Sans", sans-serif;
  font-style: italic;
  color: #e74c3c;
  padding: 5px 0px 0px;
  margin-bottom: 0.2em;
}

/* texte écrit dans les inputs fields */
.form-group input, .form-group textarea {
  font-size: 1rem;
  color: #3C1317;
  font-family: "IBM Plex Sans", sans-serif;
}

/* textes des placeholders */
.form-group input::placeholder, .form-group textarea::placeholder {
  color: #8F5D4C;
  font-style: italic;
}

/* Messages suite à l'envoi */
.form-message {
  font-size: 0.95rem;
}

.form-message.success .h1_titre {
  color: #5d7f55;
}

.form-message.error .h1_titre {
  color: #e74c3c;
}

/* TEXTES DES FORMULAIRES */
/* RÉGLAGES PAR PAGE */
.ds_page_home .h1_titre, .page_home .h1_titre {
  margin-bottom: 20px;
  width: 100%;
  font-size: 4.375rem;
  font-variation-settings: "wght" 200;
}
@media (max-width: 768px) {
  .ds_page_home .h1_titre, .page_home .h1_titre {
    font-size: 3.548rem;
  }
}

.ds_page_portfolio .h1_titre-projet, .page_portfolio .h1_titre-projet {
  display: flex;
  align-items: center;
  width: max-content;
  height: 40px;
  min-width: fit-content;
  margin-right: 10px;
  margin-bottom: 5px;
  padding: 0px 15px 0px 7px;
  text-align: left;
  font-size: 1.883rem;
}
@media (max-width: 768px) {
  .ds_page_portfolio .h1_titre-projet, .page_portfolio .h1_titre-projet {
    font-size: 1.525rem;
  }
}
.ds_page_portfolio .h1_titre-projet, .page_portfolio .h1_titre-projet {
  font-variation-settings: "wght" 300, "wdth" 100;
  transition: font-variation-settings 0.3s ease;
}
.ds_page_portfolio .project-button:hover .cartouche h1, .page_portfolio .project-button:hover .cartouche h1 {
  font-variation-settings: "wght" 500, "wdth" 100;
  transition: font-variation-settings 0.3s ease;
}
.ds_page_portfolio .keywords p.p_tag, .page_portfolio .keywords p.p_tag {
  margin-left: 30px;
  margin-right: 10px;
}
@media (max-width: 768px) {
  .ds_page_portfolio .keywords p.p_tag, .page_portfolio .keywords p.p_tag {
    margin-left: 0px;
    margin-right: 0px;
  }
}

.ds_page_cv .h1_titre, .page_cv .h1_titre {
  font-size: 3.548rem;
  background-color: #FDF3E4;
  color: #FFA259;
  font-variation-settings: "wght" 200;
  font-style: italic;
  text-align: left;
}
.ds_page_cv .h2_section, .page_cv .h2_section {
  font-size: 1.883rem;
  font-variation-settings: "wght" 200;
  color: #FFA259;
  font-style: italic;
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}
.ds_page_cv .h3_competence, .page_cv .h3_competence {
  font-size: 1rem;
  text-transform: uppercase;
  font-variation-settings: "wght" 500;
  margin: 0px 0px 5px 0px;
}
.ds_page_cv .h4_client, .page_cv .h4_client {
  font-size: 0.89rem;
  text-decoration: underline;
  font-variation-settings: "wght" 200;
  margin-bottom: unset;
}
.ds_page_cv .h4_date, .page_cv .h4_date {
  font-size: 0.89rem;
  font-variation-settings: "wght" 100;
  margin-bottom: unset;
}
.ds_page_cv .h5_sous_section, .page_cv .h5_sous_section {
  text-transform: uppercase;
  font-size: 0.89rem;
  font-variation-settings: "wght" 200;
  margin: 0px 0px 5px 0px;
}
.ds_page_cv .methodologies h3, .ds_page_cv .methodologies p, .page_cv .methodologies h3, .page_cv .methodologies p {
  margin-bottom: unset;
  display: flex;
  align-items: center;
}
.ds_page_cv .methodologies .ligne_outils, .page_cv .methodologies .ligne_outils {
  margin-bottom: 5px;
  align-items: center;
}
.ds_page_cv .methodologies .ligne_outils p, .page_cv .methodologies .ligne_outils p {
  margin-left: 7px;
}
@media (max-width: 768px) {
  .ds_page_cv .methodologies .ligne_outils, .page_cv .methodologies .ligne_outils {
    flex-direction: column;
    align-items: flex-start;
  }
}
.ds_page_cv .p_high, .page_cv .p_high {
  margin-top: 1em;
  margin-bottom: 0.5em;
}
.ds_page_cv .p_normal, .page_cv .p_normal {
  font-variation-settings: "wght" 100;
}

.ds_page_contact .h1_titre, .page_contact .h1_titre {
  font-size: 2.326rem;
  font-variation-settings: "wght" 500;
}

.ds_modale .h1_titre, .modale .h1_titre {
  font-size: 1.883rem;
  color: #FDF3E4;
  font-variation-settings: "wght" 400;
}
@media (max-width: 800px) {
  .ds_modale .h1_titre, .modale .h1_titre {
    font-size: 1.235rem;
  }
}
.ds_modale .h2_section, .modale .h2_section {
  font-size: 1.525rem;
  font-variation-settings: "wght" 400;
  width: 100%;
  position: relative;
  margin-bottom: 10px;
}
.ds_modale .modale_intro:nth-of-type(1) .p_high, .modale .modale_intro:nth-of-type(1) .p_high {
  margin-bottom: 0px;
}
.ds_modale .modale_intro .p_normal, .modale .modale_intro .p_normal {
  margin-bottom: 0px;
}
.ds_modale .modale_details, .modale .modale_details {
  padding-top: 0px;
}
.ds_modale .modale_details .h2_section, .modale .modale_details .h2_section {
  margin: 20px 0px 0px;
}
.ds_modale .modale_details .h2_section:nth-of-type(1), .modale .modale_details .h2_section:nth-of-type(1) {
  margin-top: 0px;
}

@media (max-width: 800px) {
  .modal_bar h1.client_name {
    font-size: 5.8vw;
  }
}
.fugaz-one-regular {
  font-family: "Fugaz One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.edu-vic-wa-nt-hand {
  font-family: "Edu VIC WA NT Hand", cursive;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.contrail-one-regular {
  font-family: "Contrail One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/IBMPlexSans-VariableFont_wdth,wght.woff2") format("woff2-variations");
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/IBMPlexSans-Italic-VariableFont_wdth,wght.woff2") format("woff2-variations");
}
body {
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html, body {
  overscroll-behavior: contain;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}
@media (max-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  background-color: #F9ECDF;
}

body.modal-open {
  overflow: hidden;
}

/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #FDF3E4;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #3C1317;
  border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #5D3136;
}

.icon {
  display: inline-block;
  width: 65px;
  height: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  background-color: #3C1317;
}

span.icon {
  width: 48px;
  height: 48px;
}

.icon-close {
  mask-image: url("/images/pictos/bibl__close.svg");
  -webkit-mask-image: url("/images/pictos/bibl__close.svg");
}

.icon-cv {
  display: none !important;
  mask-image: url("/images/pictos/cv.svg");
  -webkit-mask-image: url("/images/pictos/cv.svg");
}

.icon-portfolio {
  display: none !important;
  mask-image: url("/images/pictos/portfolio.svg");
  -webkit-mask-image: url("/images/pictos/portfolio.svg");
}

.icon-contact {
  mask-image: url("/images/pictos/bibl__contact.svg");
  -webkit-mask-image: url("/images/pictos/bibl__contact.svg");
}

.icon-plus {
  mask-image: url("/images/pictos/bibl__plus.svg");
  -webkit-mask-image: url("/images/pictos/bibl__plus.svg");
}

.icon-moins {
  mask-image: url("/images/pictos/bibl__moins.svg");
  -webkit-mask-image: url("/images/pictos/bibl__moins.svg");
}

.icon-prev {
  mask-image: url("/images/pictos/bibl__precedent.svg");
  -webkit-mask-image: url("/images/pictos/bibl__precedent.svg");
}

.icon-next {
  mask-image: url("/images/pictos/bibl__suivant.svg");
  -webkit-mask-image: url("/images/pictos/bibl__suivant.svg");
}

.icon-filter {
  mask-image: url("/images/pictos/bibl__filter.svg");
  -webkit-mask-image: url("/images/pictos/bibl__filter.svg");
}

.icon-contact {
  mask-image: url("/images/pictos/bibl__contact.svg");
  -webkit-mask-image: url("/images/pictos/bibl__contact.svg");
}

body {
  opacity: 0;
  transition: opacity 0.3s ease;
}
body.page-loaded {
  opacity: 1;
}
body.page-exit {
  opacity: 0;
}

a, button {
  transition: transform 0.15s ease;
}
a.btn-clicked, button.btn-clicked {
  transform: scale(0.96);
}

@media (max-width: 768px) {
  .icon-cv {
    width: 43px;
  }
  .icon-portfolio {
    width: 60px;
  }
}

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