/* ------------------ CSS RESET ---------------------- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  height: auto;
  max-width: 100%;
}

html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,#index-title,h2,h3,h4,h5,h6 {
  margin: 0;
  padding: 0;
}

#index-title,h2,h3,h4,h5,h6 {
  font-size: 100%;
  font-weight: normal;
  word-wrap: break-word;
}

input,button,textarea,select {
  font: inherit;
  margin: 0;
}

iframe {
  border: 0;
}

html {
  width: 100%; height: 100%;
  scroll-behavior: smooth;
  box-sizing: border-box;
  overflow: hidden;
}

::-moz-selection {
  color: var(--maincolor);
  background: var(--maincolor);
}
::selection {
  color: #ffffff;
  background: var(--maincolor);
}


/* styles utiles pour le filtrage */
.hidden {
  display: none;
}

@font-face {
  font-family: 'Terminal-Grotesque' ;
  src: url(../fonts/terminal-grotesque.ttf);
}

@font-face {
  font-family: 'Terminal-Grotesque' ;
  src: url(../fonts/terminal-grotesque_open.otf);
  font-style: italic;
}

/* ------------------ IFRAME ---------------------- */

* { margin: 0; }

:root {
    --spacing:2rem;
    --spacingsmall:1rem;
    --maincolor: #2600ff;
    --maincolorbright: #a797ff;
    --backgroundcolor: #f3f3f3;
    font-family: 'Terminal-Grotesque';
}
header {
    color: var(--maincolor);
    position: absolute;
    bottom: var(--spacing);
    right: var(--spacing);
    z-index: 1;
}
header a {
    color: currentColor;
    display: block;
    text-decoration: none;
}
header a:hover, header a:focus, header a.active { color: var(--maincolorbright); outline: none;}
#index-title {
    font-size: 1em;
    display: flex;
    justify-content: space-between;
    color: var(--backgroundcolor);
    background: var(--maincolor);
    padding: .5em .5em .5em 1em;
    gap: .5em;
    border-radius: .5em .5em 0 0;
    cursor: move;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#index-title strong { flex: 1;}
#index-title button { padding: 0 .5em; background: none; color: var(--backgroundcolor); border: none; border-radius: .25em;}


#index {
    padding: .5em 1em 1em;
    background: var(--backgroundcolor);
    border-radius: 0 0 .5em .5em;
    line-height: 1.4;
    max-height: 15em;
    box-shadow: rgba(30, 0, 255, 0.2) 0px 5px 15px;
    border: 2px solid var(--maincolor);
    overflow-y: scroll ;
    
}
#index hr { background: none; border:none; border-top: 1px solid var(--bright); opacity: .5; margin: .5em 0; display: none;}
#index hr ~ a { display: block; }
#index.hideall { overflow-y: hidden;}
#index.hideall hr { display: none; }
#index.hideall hr ~ a { display: none; }

#iframe{
    border: none;
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100vw;
    height: 100vh;
    background: white;  
}

/* ------------------ LAYOUT ---------------------- */
.box{
  background: rgba(255, 255, 255, 1);
  box-shadow: rgba(30, 0, 255, 0.2) 0px 5px 15px;
  border: 2px solid var(--maincolor);
  padding: var(--spacingsmall);
}

img{
  max-width: 100%;
}

#background{
  position: fixed;
  width: 140vw;
  height: 140vh;
  object-fit: cover;
  z-index: -1;
  transform: translateY(-20vh);
}

#main{
    margin: var(--spacing);
    width: fit-content;
}

p{
  max-width: 75ch;
  margin-bottom: 0.5rem;
}


hr{color:var(--maincolor)}

h2{
color: var(--maincolor);
margin-bottom: var(--spacingsmall);
font-size: 80px;
font-style: italic;
/* margin-bottom: var(--spacingsmall); */
}

h3{
font-size: 20px;
}

#index-list{
    list-style:none;
    margin-top: var(--spacing);
    margin-bottom: var(--spacing);
}

#index-list > ul {
    margin-bottom: var(--spacingsmall);
}

/* .category{
    margin-top: calc(var(--spacingsmall)/2);
    padding-top: calc(var(--spacingsmall)/2);
    border-top: 2px var(--maincolor) solid;
} */

.side{
    margin-left: var(--spacingsmall);
    /* margin-bottom: var(--spacingsmall); */
    border-left: 2px var(--maincolor) solid;
    padding-left: calc(var(--spacingsmall)/2);

}

/* ------------------ PROGRESS BAR ---------------------- */
#bar { 
  position:absolute; 
  bottom:0; 
  height:2px; 
  width:0;
  background-color:var(--maincolor); 
  z-index: 999;
}
#bar.animated { 
  animation:baranim var(--duration, 20s) linear 1 forwards; 
}
@keyframes baranim {
	100% {width:100%; }
}



@media screen and (max-width:1000px) {

header{
bottom: var(--spacingsmall);
right: var(--spacingsmall);
}

h2{
  font-size: 45px;
}

}