/*==== FONTS ====*/
@font-face {
  font-family: "Zodiak";
  src: url(../fonts/zodiak-variable.woff2) format("woff2-variations");
  src: url(../fonts/zodiak-variable.woff2) format("woff2") tech("variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zodiak";
  src: url(../fonts/zodiak-variable-italic.woff2) format("woff2-variations");
  src: url(../fonts/zodiak-variable-italic.woff2) format("woff2")
    tech("variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Mountain";
  src: url(../fonts/made-mountain-regular.woff2) format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/*==== ROOT ====*/
:root {
  /* base colors */
  --color-purple: #807598;
  --color-purple-light: #e9caea;
  --color-purple-lighter: #fff2fc;

  --color-white: white;
  --color-salmon: #ee8473;

  /* incident colors */
  --color-text-primary: var(--color-white);
  --color-text-secondary: var(--color-purple-lighter);
  --color-accent: var(--color-salmon);

  /* font stacks */
  --fontstack-main: "Zodiak", "Georgia", serif;
  --fontstack-alt: "Mountain", "Georgia", serif;

  /* font sizes */
  --fontsize-lg: calc(19 / 16 * 1rem);
  --fontsize-base: calc(16 / 16 * 1rem);

  --fontsize-h1: clamp(28 / 16 * 1rem, 1.547rem + 1.017vi, 40/16 * 1rem);
  --fontsize-h2: calc(40 / 16 * 1rem);
  --fontsize-h3: ;
  --fontsize-h4: ;
}

/* ====================================================
=kill margins block start
==================================================== */

*,
*::before,
*::after {
  margin-block-start: 0;
}

/* ====================================================
=html
==================================================== */

html {
  scroll-behavior: smooth;
  font: 400 100%/1.5 var(--fontstack-main);
}

/* ====================================================
=body
==================================================== */

body {
  margin: 0;
  padding: 0;
  background-image: url(../img/fond-papier.png);
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;

  font-size: var(--fontsize-base);
  color: #fff;
}

body.has-menu {
  overflow-y: hidden;
}

a {
  text-decoration: none;
}

/* ====================================================
=siteheader
==================================================== */

.siteheader {
  --header-padding: 50px;
  padding: 23px;
  padding-bottom: var(--header-padding);
}

.siteheader-content {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;

  @media (width >= 750px) {
    flex-direction: column;
    justify-content: flex-end;
    gap: 20px;
  }

  @media (width >= 500px) {
    gap: 50px;
  }
}

.siteheader-title {
  margin-inline-end: auto;

  @media (min-width: 750px) {
    margin-inline-end: unset;
  }
}

.arrow {
  @media (min-width: 750px) {
    margin: 0;
    padding: 0;
    margin-inline-end: auto;
  }
}

.arrowimg {
  width: 30px;
  @media (min-width: 750px) {
    width: 100%;
  }
}
/* toggle visibility */

.siteheader-nav {
  display: none;

  @media (min-width: 750px) {
    display: block;
  }
}

.siteheader-hamburger {
  display: block;

  @media (min-width: 750px) {
    display: none;
  }
}

/* ====================================================
=mobilemenu
==================================================== */

.mobilemenu {
  box-sizing: border-box;

  padding: 32px;

  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;

  inline-size: 100%;
  block-size: 100%;

  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: stretch;
  gap: 18px;

  background-color: rgba(191, 179, 215, 0.72);
  backdrop-filter: blur(12px);
}

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: scale 0.2s ease-in-out;
}

button:hover {
  scale: 1.2;
}

.mobilemenu-actions {
  flex: 0 0 auto;

  text-align: end;
}

.mobilemenu-main {
  flex: 1 1 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.mobilemenu {
  display: none;
}

.mobilemenu.is-open {
  display: flex;
}

/* ====================================================
=mobilenav
==================================================== */

.mobilenav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobilenav-link {
  font-family: var(--fontstack-alt);
  font-size: 2rem;
  list-style: none;
  text-decoration: none;
  display: block;
  color: var(--color-purple);
  padding: 2rem;
}

.mobilenav-link:hover {
  color: var(--color-purple-lighter);
}

/* ====================================================
=pagetitle
==================================================== */

.pagetitle {
  margin-block-end: 0;
}

.pagetitle > span {
  display: block;
  text-align: center;

  font-weight: 400;
  font-family: var(--fontstack-alt);
  line-height: 1;
}

.pagetitle-small {
  color: var(--color-accent);
  font-size: calc(24 / 16 * 1rem);
  letter-spacing: 9%;
}

.pagetitle-big {
  color: var(--color-purple-lighter);
  font-size: clamp(33 / 16 * 1rem, 0.944rem + 5.593vi, 99 / 16 * 1rem);
  text-transform: uppercase;
}

.title2 {
  color: var(--color-purple-lighter);
  font-size: calc(40 / 16 * 1rem);
  text-transform: lowercase;
  margin: 0;
  padding-bottom: 24px;
}

h3 {
  font-size: calc(23 / 16 * 1rem);
  font-family: var(--fontstack-alt);
  font-weight: 400;
  color: var(--color-salmon);
  text-transform: uppercase;
}

h2 {
  font-size: calc(40 / 16 * 1rem);
  font-family: var(--fontstack-alt);
  font-weight: 400;
  color: var(--color-salmon);
}

.titleimgmovies {
  width: 200px;

  @media (width >= 750px) {
    width: 300px;
  }
}

.titleimgmoodboard {
  width: 250px;

  @media (width >= 750px) {
    width: 400px;
  }
}

/* ====================================================
=mainnav
==================================================== */

.mainnav {
  margin: 0;
  padding: 0;

  font-family: var(--fontstack-main);
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
}

.mainnav ul {
  list-style: none;

  margin: 0;
  padding: 0;

  @media (width >= 750px) {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
  }
}

.mainnav_link {
  list-style: none;
  text-decoration: none;
  display: block;
  color: #e9caea;
  padding: 2rem;
}

.mainnav_link:hover {
  color: #eee;
}

/* ====================================================
=container
==================================================== */

.container {
  --container-padding: 24px;
  --container-max-size: 1400px;

  margin: 0 auto;
  padding-inline: var(--container-padding);
  max-inline-size: var(--container-max-size);
}

/* ====================================================
=section
==================================================== */

.section {
  padding-block: clamp(24px, 0.89rem + 3.051vi, 60px);
}

.section-aboutme {
  background-image: url(../img/bannierepapier.png);
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;

  padding-block-end: clamp(48px, 1.78rem + 6.102vi, 120px);
}

.section-contact {
  padding-block-start: 100px;

  background: url(../img/chat2.png) 100% 68% / auto 20% no-repeat,
    url(../img/fanny-2.png) -40% 60% / auto 40% no-repeat,
    url(../img/papierfondFF.png) top center / cover no-repeat;

  @media (width >= 370px) {
    padding-block-start: 100px;
    background: url(../img/chat2.png) 100% 73% / auto 25% no-repeat,
      url(../img/fanny-2.png) -40% 65% / auto 45% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }

  @media (width >= 400px) {
    padding-block-start: 100px;
    background: url(../img/chat2.png) 100% 73% / auto 25% no-repeat,
      url(../img/fanny-2.png) -35% 65% / auto 45% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }

  @media (width >= 430px) {
    padding-block-start: 100px;
    background: url(../img/chat2.png) 100% 73% / auto 25% no-repeat,
      url(../img/fanny-2.png) -25% 65% / auto 45% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }

  @media (width >= 500px) {
    padding-block-start: 100px;
    background: url(../img/chat2.png) 100% 70% / auto 30% no-repeat,
      url(../img/fanny-2.png) -15% 60% / auto 50% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }

  @media (width >= 650px) {
    padding-block-start: 100px;
    background: url(../img/chat2.png) 100% 70% / auto 30% no-repeat,
      url(../img/fanny-2.png) 0% 60% / auto 50% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }

  @media (width >= 750px) {
    padding-block-start: 200px;
    background: url(../img/chat2.png) 100% 75% / auto 25% no-repeat,
      url(../img/fanny-2.png) -10% 65% / auto 50% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }

  @media (width >= 1024px) {
    padding-block-start: 200px;
    background: url(../img/chat2.png) 100% 85% / auto 35% no-repeat,
      url(../img/fanny-2.png) 0 70% / auto 65% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }

  @media (width >= 1500px) {
    padding-block-start: 300px;
    background: url(../img/chat2.png) 100% 85% / auto 45% no-repeat,
      url(../img/fanny-2.png) 0 70% / auto 75% no-repeat,
      url(../img/papierfondFF.png) top center / cover;
  }
}

/* ====================================================
=about me
==================================================== */

/* 
- on part d'une grille 1 colonne
- 750px: on fait 3 colonnes sans en passer
- 1024px: 4 colonnes mais on passe une colonne
*/

.aboutme {
  --aboutme-gap: 24px;

  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "img"
    "bio"
    "icons";
  gap: var(--aboutme-gap);

  @media (width >= 500px) {
    --aboutme-gap: 40px;

    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
    grid-template-areas:
      "img   img"
      "icons bio";
  }

  @media (width >= 750px) {
    --aboutme-gap: 24px;

    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr);
    grid-template-areas: "icons bio img";
  }

  @media (width >= 1024px) {
    gap: 10px;
    grid-template-columns:
      minmax(0, 3fr)
      minmax(0, 1fr)
      minmax(0, 3fr)
      minmax(0, 5fr);
    grid-template-areas: "icons .bio img";
  }
}

.aboutme-image {
  grid-area: img;
}

.aboutme-biography {
  grid-area: bio;
}

.aboutme-icons {
  grid-area: icons;

  @media (width < 400px) {
    padding-inline: 24px;
  }

  @media (width >= 400px) {
    padding-inline: 24px;
  }

  @media (width >= 500px) {
    padding-inline: 0px;
  }
}

.aboutme-interests {
  margin-block-end: 40px;
}

.schools {
  list-style: none;
  padding: 0;
}

/* ===============================
=icons grid
=============================== */

/*
- par defaut 2 colonnes
- passer à 3 colonnes à un certain brakpoint
- tout fluide dedans
*/

.iconsgrid {
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* ===============================
=Inspos
=============================== */

.life {
  --life-gap: 24px;

  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "music"
    "vie"
    "quote"
    "movies";
  gap: var(--life-gap);

  @media (width >= 500px) {
    --life-gap: 40px;

    grid-template-rows: auto auto;

    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    grid-template-areas:
      "music movies"
      "vie movies"
      "quote quote";
  }

  @media (width >= 1024px) {
    grid-template-columns:
      minmax(0, 4fr)
      minmax(0, 3fr)
      minmax(0, 1fr)
      minmax(0, 4fr);
    grid-template-rows: auto auto;
    gap: 10px;
    height: 820px;
    grid-template-areas:
      "music vie . movies"
      "quote quote quote movies";
  }
}

.life-music {
  grid-area: music;
  padding: 0;
  transition: scale 0.2s ease-in-out;

  @media (width >= 1024px) {
    padding-top: 70px;
  }
}

.life-music:hover {
  scale: 1.1;
}

.life-text {
  grid-area: vie;
  padding: 0;
}

.life-quote {
  grid-area: quote;
  padding: 0;
  margin: 0;
  color: var(--color-purple-lighter);
}

.life-movies {
  padding: 0;
  grid-area: movies;
  margin-block-end: 40px;
  margin-top: -10%;
}

.movies {
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 2fr));
  gap: 24px;
}

.bigquote {
  font-family: var(--fontstack-alt);
  font-size: calc(30 / 16 * 1rem);

  @media (width >= 1024px) {
    font-family: var(--fontstack-alt);
    font-size: calc(75 / 16 * 1rem);
    line-height: 95px;
  }
}

/* ===============================
=Moodboard
=============================== */

.moodboard {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.moodboard > li:nth-child(6) {
  grid-column: span 7;

  @media (width >= 750px) {
    grid-column: span 2;
  }
}

.moodboard-small {
  grid-column: span 5;

  @media (width >= 750px) {
    grid-column: span 2;
  }
}

.moodboard-big {
  grid-column: span 7;

  @media (width >= 750px) {
    grid-column: span 3;
  }
}

.moodboard img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  transition: 0.3s;
}

.moodboard img:hover {
  opacity: 70%;
}
/* ===============================
=fluid media
=============================== */

.fluidimg {
  padding: 0;
  margin: 0;
  width: 100%;
}

.fluidvideo {
  --video-ratio: 16 / 9;
  --video-background-color: #000000;

  display: block;
  width: 100%;
  aspect-ratio: var(--video-ratio);
  background-color: var(--video-background-color);
}

/* ===============================
=CONTACT
=============================== */

.contacts {
  list-style: none;
  text-decoration: none;
  margin: 0;
  padding: 0;
}

.contactme-link {
  display: flex;
  flex-direction: row;
  justify-content: baseline;
  align-items: center;
  color: var(--color-salmon);
  gap: 24px;
  padding-bottom: 40px;

  @media (width>=750px) {
    width: 90;
    height: 90;
  }
}

.contactme-link:hover {
  color: var(--color-purple);
}

.contactme {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.contactgrid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;

  @media (width>=750px) {
    padding-bottom: 100px;
  }
}

.contactgrid-content {
  display: grid;
  grid-column: 6 / span 4;
  padding-top: 24px;

  @media (width>=750px) {
    grid-row: 1 / 2;
    grid-column: 7 / span 4;
  }
}

.iconcontact {
  width: 50px;
  height: 50px;

  @media (width>=750px) {
    width: 90px;
    height: 90px;
  }
}

.contact1 {
  display: none;

  @media (width>=750px) {
    display: block;
  }
}

.iconcontact {
  transition: scale 0.2s ease-in-out;
}

.iconcontact:hover {
  scale: 1.1;
}

.copyright {
  font-family: var(--fontstack-alt);
  color: var(--color-salmon);
  padding-block: 24px;
  margin: 0;
}
/* ========================
========DEMOREEL=========
==========================*/

.animations {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.anim {
  grid-column: span 6;

  @media (width >= 750px) {
    grid-column: span 6;
  }
}

.animmedium {
  grid-column: span 12;

  @media (width >= 750px) {
    grid-column: span 12;
  }
}

/* ========================
========PORTFOLIO=========
==========================*/

/* GRID portfolio *//*

.categories-item {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: baseline;
  align-items: center;
  padding-bottom: 20px;

  @media (width >= 750px) {
    padding-bottom: none;
  }
}

.categories {
  margin: 0;
  padding: 0;
  --board-gap: 24px;
  @media (width >= 750px) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--board-gap);
  }
}

.portfolio-item {
  width: 100%;
  background-color: var(--color-purple-lighter);
  border-radius: 10px;
  transition: 0.3s;
}

.portfolio-item:hover {
  border-radius: 50px;
  opacity: 70%;
}

/* QUOTE AU MILIEU *//*
.quote {
  grid-column: span 3;
  font-family: var(--fontstack-alt);
  color: var(--color-purple-lighter);
  font-size: var(--fontsize-h3);
  color: #ddd;
  padding: 0;

  margin: 40px auto;
  text-align: center;
  max-width: 60%;
}

.quotee {
  padding: 0;
  margin: 0;
}

/* ILLUSTRATION */
/* ILLUSTRATION */
/*
.traditionnaldrawings {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.tradi1 {
  grid-column: span 6;

  @media (width >= 750px) {
    grid-column: span 4;
  }
}

.tradi1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

.digitaldrawings {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.digi1 {
  grid-column: span 6;

  @media (width >= 750px) {
    grid-column: span 4;
  }
}

.digi1big {
  grid-column: span 12;

  @media (width >= 750px) {
    grid-column: span 12;
  }
}

.digi1medium {
  grid-column: span 12;

  @media (width >= 750px) {
    grid-column: span 8;
  }
}

.digi1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

/* ANIMATION */
/* ANIMATION*/
/*
.assets {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.assetsitem {
  grid-column: span 6;

  @media (width >= 750px) {
    grid-column: span 4;
  }
}

.assetsitem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

.animations {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.anim {
  grid-column: span 6;

  @media (width >= 750px) {
    grid-column: span 6;
  }
}

.animmedium {
  grid-column: span 12;

  @media (width >= 750px) {
    grid-column: span 12;
  }
}

.anim img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

video {
  border-radius: 16px;
}

/* 3D */
/* 3D */
/*
.d3 {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.d3item {
  grid-column: span 6;

  @media (width >= 750px) {
    grid-column: span 6;
  }
}

.d3itemsmall {
  grid-column: span 4;

  @media (width >= 750px) {
    grid-column: span 4;
  }
}

.d3itembig {
  grid-column: span 8;

  @media (width >= 750px) {
    grid-column: span 8;
  }
}

.d3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

/* GAME */
/* game */
/*
.gameprojects {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.game1 {
  grid-column: span 12;

  @media (width >= 750px) {
    grid-column: span 6;
  }
}

/* INFOGRAPHY */
/* INFOGRAPHY */
/*
.infoworks {
  --board-gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--board-gap);
}

.infowork {
  grid-column: span 12;

  @media (width >= 750px) {
    grid-column: span 4;
  }
}

.infowork2 {
  grid-column: span 12;

  @media (width >= 750px) {
    grid-column: span 6;
  }
}

.infoworks img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
