@import url('https://api.fontshare.com/v2/css?f[]=zodiak@100,101,300,301,400,401,700,701&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=switzer@100,101,200,201,300,301,400,401,500,501,600,601&display=swap');

/************************** GÉNÉRAL **************************/
* {
  cursor: none;
}

body {
  margin: 0;
  background-color: white;
  -webkit-font-smoothing: antialiased;
  overflow: auto;
  scrollbar-width: none;  /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

::-webkit-scrollbar,
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;  /* Chrome/Safari */
}

/*******************************HEADER et FOOTER*******************************/
header,
footer {
  mix-blend-mode: difference;
  display: flex;
  justify-content: space-between;
  position: fixed;
  left: 2.2vw;
  right: 2.2vw;
  z-index: 999;
}

header {
  top: 3.2vh;
}

footer {
  bottom: 3vh;
}

.menu {
  display: flex;
}

.page{
    margin-left: 3vw;
}

.logo a, .menu .page a, .menu div a, footer a {
  font-family: 'Switzer', sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 0.89em;
  text-transform: uppercase;
  color: white;
  text-decoration: none;
  padding: 0.4em 0.25em 0.4em 0.25em;
  letter-spacing: 0.04rem;
}

.activepage {
  border-bottom: 0.25vh solid white !important;
}


/***************************CURSOR***************************/
#cursor {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    width: 1.9em;
    height: 1.9em;
    pointer-events: none;
    border-radius: 50%;
    border: 2.39px solid white;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%); /* Centrage parfait */
    transition: all 120ms ease-out;
    mix-blend-mode: difference;
  }


/***************************LOADER***************************/
.wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: black;
  z-index: 20000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.appearlogo {
  color: white;
  overflow: hidden;
}

.loader {
  display: flex;
  gap: 1.5rem;
  font-family: 'Switzer', sans-serif;
  font-weight: 400;
  font-style: italic;
  color: #f2f2f2;
  font-size: 1.2em;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
  text-align: center;
  align-items: center;
}

.loader p, .loader img {
  visibility: hidden;
  transform: translateY(80px);
  opacity: 0;
  margin: 0;
}

.loader img {
  height: 22px;
}


/*///////////////////////////////////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////////////////////////////////*/


/*******************************MOBILE**************************************/
@media (max-width: 770px) {
  
#cursor {
    display: none !important;
}  

header,
footer {
  left: 2.6vw;
  right: 3.1vw;
}

header {
  top: 2vh;
}

footer {
  bottom: 1.9vh;
}

.logo a, .menu .page a, .menu div a, footer a {
    font-size: 0.98em;
    padding: 0;
} 

.loader {
  font-size: 1.15em;
}
  
  
.loader p {
 display: none;
}

.loader img {
  height: 40px;
}
  
}