@charset "UTF-8";
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
@font-face {
    font-family: copfont;
    src: url(../fonts/COPRGTL.TTF);
  }
  @font-face {
    font-family: prisfont;
    src: url(../fonts/PRISTINA.TTF);
  }
  @font-face {
    font-family: perfont;
    src: url(../fonts/PER_____.TTF);
  }
  @font-face {
    font-family: papfont;
    src: url(../fonts/PAPYRUS.TTF);
  }
  @font-face {
    font-family: timefont;
    src: url(../fonts/times.ttf);
  }
  
  @media only screen and (orientation: portrait) {
    html {
      font-family:timefont;
    }
  }
html {
    font-size: 16px;
    color: black;
    font-family: copperplate;
    line-height: 1.1;
    font-weight: 400;
    letter-spacing: 1px;
    text-align: left;
    scroll-behavior: smooth;
}
img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.container {
    width: 100%;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
p {
    text-align: justify;
}
a {
    text-decoration: none;
}

/* -- Index Page -- */

    @media only screen and (orientation: landscape) {
    body.index{
        background-image: url(../images/train.jpg);
        height: 100vh;
        background-size: cover;
        background-position: bottom;
        position: relative;
        z-index: 1;
        flex-direction: column;
        }
        body.index::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #000000;
        opacity: 0.3;
        z-index: -1;
        }
    a.main_title{
        color:white;
        font-size: 15vh;
        font-family:"Cinzel Decorative",cursive;
        font-variant: small-caps;
        position:fixed;
        left:10vw;
        top:18vh;
        text-shadow: 10px 8px 8px black;
        font-weight:500;
        animation: left 2s 1;
        transition: color 0.5s;
    }
    a.main_title:hover{
    color: rgb(215, 183, 155);
	transition: color 0.5s;
    }

    a.menu {
        font-weight: 300;
        font-family: prisfont;
        color:rgb(154, 198, 217);
        font-size:9vh;
        top:0vh;
        line-height: 13vh;
        text-shadow: 0px 0px 10px black;
        transition:color 1s;
    }
    a.menu:hover {
        transition:color 0.2s;
        color:rgb(71, 137, 165);
        letter-spacing: 0.1vw;
    }
    #menu1 {
        animation: leftlinks1 2.5s 1;
        left:21vw;
        position:relative;
    }
    #menu2 {
        animation: leftlinks2 3s 1;
        left:16vw;
        position:relative;
    }
    #menu3 {
        animation: leftlinks3 3.5s 1;
        left:16vw;
        position:relative;

    }#menu4 {
        animation: leftlinks4 3.8s 1;
        left:22vw;
        font-size:7vh;
        position:relative;
        color:rgb(119, 156, 171);

    }
    #menu5 {
        left:21vw;
        display:none;
        font-size:7vh;
        position:relative;
        color:rgb(119, 156, 171);

    }
    #menu6 {
        left:22vw;
        display:none;
        font-size:7vh;
        position:relative;
        color:rgb(119, 156, 171);

    }
    #menu4:hover, #menu5:hover, #menu6:hover{
        transition:color 0.2s;
        color:rgb(71, 137, 165);
        letter-spacing: 0.1vw;
    }


    #main_title_box{
        width:60vw;
        height:35vh;
        position:relative;
        left:0px;
        top:0px;
    }
    #plus {
        width:25vw;
        height:100vh;
        position:fixed;
        right:0px;
        display:none;
        top:40vh;
    }
    #base {
        width:60vw;
        height:60vh;
        position:fixed;
        left:0px;
        bottom:0px;
    }
    a.menu-r {
        font-weight: 300;
        font-family: prisfont;
        color:rgb(154, 198, 217);
        font-size:9vh;
        position:relative;
        top:0px;
        line-height: 13vh;
        text-shadow: 0px 0px 10px black;
        transition:color 1s;
    }
    a.menu-r:hover {
        transition:color 0.2s;
        color:rgb(71, 137, 165);
        letter-spacing: 0.1vw;
    }
}
@keyframes left {
    from {left: -20vw;}
    to {left: 10vw;}
  }
  @keyframes leftlinks1 {
    from {left: -50vw;}
    to {left: 21vw;}
  }
  @keyframes leftlinks2 {
    from {left: -100vw;}
    to {left: 16vw;}
  }
  @keyframes leftlinks3 {
    from {left: -150vw;}
    to {left: 16vw;}
  }
  @keyframes leftlinks4 {
    from {left: -200vw;}
    to {left: 22vw;}
  }
  @keyframes leftportrait {
    from {left: -20vw;}
    to {left: 15vw;}
  }
  @keyframes leftlinks1p {
    from {left: -50vw;}
    to {left: 35vw;}
  }
  @keyframes leftlinks2p {
    from {left: -100vw;}
    to {left: 22vw;}
  }
  @keyframes leftlinks3p {
    from {left: -150vw;}
    to {left: 22vw;}
  }
  @keyframes leftlinks4p {
    from {left: -200vw;}
    to {left: 37vw;}
  }


@media only screen and (orientation: portrait) {
    html.index{
        background: url(../images/train4.jpg) no-repeat top fixed;
        height: 100vh;
        background-size: cover;
        position: relative;
        z-index: 1;
        flex-direction: column;
        }
        html.index::after {
        content: '';
        position: relative;
        background: #000000 no-repeat top fixed;
        background-size: cover;
        opacity: 0.2;
        z-index: -1;
        }
    .main_title{
        color:white;
        font-size: 8vh;
        font-family:"Cinzel Decorative",cursive;
        font-variant: small-caps;
        position:relative;
        top: 13vh;
        left:15vw;
        text-shadow: 10px 8px 8px black;
        font-weight:500;
        animation: leftportrait 2s 1;
    }
    .main_title:active{
        color: rgb(215, 183, 155);
        transition: color 0.5s;
        }
    a.menu, a.menu-r {
        font-weight: 300;
        font-family: prisfont;
        color:rgb(154, 198, 217);
        font-size:6vh;
        position:relative;
        top:15vh;
        line-height: 9vh;
        text-shadow: 0px 0px 10px black;
        transition:color 1s;
    }
    a.menu:active, a.menu-r:active {
        transition:color 0.2s;
        color:rgb(71, 137, 165);
        letter-spacing: 0.1vw;
    }
    a.menu-r{
        left:30vw;
    }

    #plus {
        display:none;
    }
    #menu1 {
        animation: leftlinks1p 2.5s 1;
        left:35vw;

    }
    #menu2 {
        animation: leftlinks2p 3s 1;
        left:22vw;
    }
    #menu3 {
        animation: leftlinks3p 3.5s 1;
        left:22vw;

    }#menu4 {
        animation: leftlinks4p 3.8s 1;
        left:37vw;
        color:rgb(119, 156, 171);
        font-size:5vh;
    }

    #menu5 {
        left:34vw;
        display:none;
        color:rgb(119, 156, 171);
        font-size:5vh;
    }#menu6 {
        left:37vw;
        display:none;
        color:rgb(119, 156, 171);
        font-size:5vh;
    }

}


/* -- Menu -- */

@media only screen and (orientation: landscape) {
    img.imlink {
        object-fit:contain;
    }
.boximlink{
    position:relative;
    padding-right:0.8vw;
    padding-left:0.8vw;
    padding-top:2.3vh;
    padding-bottom:2.3vh;
}
.boximlink:hover {
    padding-right:0.4vw;
    padding-left:0.4vw;
    padding-top:0.7vh;
    padding-bottom:0.7vh;
}
.boximlink-page{
    position:relative;
    padding-right:0.4vw;
    padding-left:0.4vw;
    padding-top:0.7vh;
    padding-bottom:0.7vh;
}
/*.boximlinkafter{
    display:none;
    position:relative;
    padding-right:0.8vw;
    padding-left:0.8vw;
    padding-top:1.8vh;
    padding-bottom:1.8vh;
}
@keyframes turn {
    from {transform:rotate(0)}
    to {transform:rotate(90deg)}
}
.boximlinkplus:hover{
    animation: turn 0.5s infinite;
}*/
.barre {
    position:sticky;
    left:0;
    width:5vw;
    background-color:rgb(47, 47, 65);
    border-right: 0.3vw solid;
    z-index:4000;
    height:100vh;
    overflow-y:auto;
    min-width:40px;
}

.dropdown-content {
    text-decoration:none;
    color:black;
    display: none;
    font-family: presfont;
    font-variant: small-caps;
    position: fixed;
    left:5vw;
    background-color: #f9f9f9;
    width: fit-content;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    padding: 12px 16px;
    z-index: 1;
  }
  
  .boximlink:hover .dropdown-content {
    display: block;
  }
  .boximlink:active .dropdown-content {
    display: block;
  }
}
@media only screen and (orientation: portrait) {
    .barre {
        position:sticky;
        top:0px;
        height:13vw;
        background-color:rgb(47, 47, 65);
        border-bottom: 0.3vw solid;
        z-index:4000;
        width:100vw;
        overflow-y:auto;
        min-height:40px;
    }
    
    .dropdown-content {
        text-decoration:none;
        color:black;
        display: none;
        font-family: presfont;
        font-variant: small-caps;
        position: fixed;
        top:12vw;
        background-color: #f9f9f9;
        width: fit-content;
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        padding: 12px 16px;
        z-index: 1;
      }
      
      .boximlink:hover .dropdown-content {
        display: block;
      }
      .boximlink:active .dropdown-content {
        display: block;
      }
      .boximlink{
        position:relative;
        padding-right:1.2vw;
        padding-left:1.2vw;
        padding-top:1vh;
        padding-bottom:1vh;
        height:4vw;
        float:left;
    }
    .boximlink:hover {
        padding-right:0.8vw;
        padding-left:0.8vw;
        padding-top:0.3vh;
        padding-bottom:0.3vh;  
        height:4.4vw;
  
    }
    .boximlink-page{
        position:relative;
        padding-right:0.4vw;
        padding-left:0.4vw;
        padding-top:0.7vh;
        padding-bottom:0.7vh;
    }
    img.imlink {
        object-fit:contain;
        height:10vw;
        width:10vw;
    }
}


  /* -- Cartes -- */

  body.cartes{
      background-color: #1b1c23;
      }
  .gallery {
    margin-bottom:1.5vw;
  }
  .gallery img{
    display:block;
  }
  
  
  


  @media only screen and (orientation: landscape) {
    .gallery .desc {
        visibility: hidden;
        width: 100%;
        height:100%;
        background-color: rgba(0, 0, 0, 0.200);
        color: rgb(255, 255, 255);
        font-size:x-large;
        font-variant:small-caps;
        text-align: center;
        position: absolute;
        z-index: 1;
        bottom: 0%;
        left: 0%;
      }
      
      .gallery:hover .desc {
        visibility: visible;
        background-color: rgba(0, 0, 0, 0.500);
        transition: background-color 0.3s;
      }
    .content-left{
      height:100vh;
      width:47vw;
      position:fixed;
      top:0;
      left:5.3vw;
      padding:1%;
      overflow-y:scroll;  
    }

  .content-right{
    height:100vh;
    width:47vw;
    position:fixed;
    top:0;
    right:0.3vw;
    padding:1%;
    overflow-y:scroll;  
}
    .gallery {
    position: relative;
    font-family: 'Segoe UI';
    border: 1px solid #ccc;
    background-color: ivory;
    margin-right:1.5%;
    margin-left:1.5%;
  }
  div.gallery:hover {
    border: 1px solid #777;
  }

  #full{
    width:97%;
  }


  #portrait, #small{
    width:47%;
    float:left;
}
#ville{
    width:47%;
    height:30%;
    float:left;
}
#ville .desc{
    padding-top:25%;
}
#small .desc{
    padding-top:30%;
}
#full .desc{
    padding-top:20%;
}
#portrait .desc{
    padding-top:70%;
}
}

@media only screen and (orientation: portrait) {
    body.cartes{
        display:flex;
        flex-direction: column;
    }
    .gallery .desc {
        visibility: visible;
        width: 100%;
        height:100%;
        background-color: rgba(0, 0, 0, 0.300);
        color: rgb(255, 255, 255);
        font-size:large;
        font-variant:small-caps;
        text-align: center;
        position:absolute;
        z-index: 1;
        bottom: 0%;
        left: 0%;
      }
    .content-left{
        width:100vw;
        padding:1%;

      }
  
    .content-right{
      width:100vw;
      padding:1%;

  }
      .gallery {
      font-family: 'Segoe UI';
      border: 1px solid #ccc;
      background-color: ivory;
      margin-right:1.5%;
      margin-left:1.5%;
      position:relative;
    }
    div.gallery:hover {
      border: 1px solid #777;
    }
  
    #full{
      width:97%;
    }
  
  
    #portrait, #small{
      width:47%;
      float:left;
  }
  #ville{
    width:47%;
    height:30vw;
    float:left;
  }
  #ville .desc{
      padding-top:25%;
  }
  #small .desc{
      padding-top:30%;
  }
  #full .desc{
      padding-top:20%;
  }
  #portrait .desc{
      padding-top:70%;
  }
}


  /* -- Personnages -- */

  body.personnages{
    background-color: #303030;
    }
  
@media only screen and (orientation: landscape) {
  
  div.personnages{
    width:95vw;
    height:100vh;
    position:fixed;
    top:0;
    right:0;
    overflow-y: auto;
  }

  div.mainch {
    width:49%;
    margin:0.5%;
    padding:0.5vw;
    height:14vw;
    position:relative;
    float:left;
    /*border: 1px solid rgb(100, 100, 100);
    background-color: #303240;*/
    overflow-x:auto;
    overflow-y:hidden;
    text-align: center;
    font-size:1vw;
    line-height: 3vw;;
    font-family:Georgia, 'Times New Roman', Times, serif;
  }
  div.otherchline {
    display:flex;
    flex-direction: row;
  }


  h2.mainch {
    width:43.9vw;
    height:3vw;
    z-index: 1;
    background-color: #1c1c1ce8;
    padding-top:0.6vw;
    text-align:center;
    font-variant:small-caps;
    position:relative;
    top:0;
    left:0;
    margin-left:0.5vw;
    margin-right:0.5vw;
    font-size: 1.4em;
    line-height: normal;
    color:white;
    font-weight: bold;
    border: 1px solid rgb(85, 85, 85);
    transition:background-color 0.2s, font-size 0.1s;
  }
  h2.mainch:hover {
    background-color: #00000096;
    transition:background-color 0.2s, font-size 0.1s;
    font-size: 1.5em;

  }

  .otherch {
    background-size: cover;
    background-position: center;
    margin:0.5vw;
    padding:0;
    height:9vw;
    border: 1px solid rgb(85, 85, 85);
    width:12vw;
  }
  #imp1 {
    flex-shrink:1;
    flex-grow:8;
  }
  #imp2 {
    flex-shrink:4;
    flex-grow:4;
  }
  #imp1b {
    flex-shrink:2;
    flex-grow:2;
  }
  #imp3 {
    flex-shrink:8;
    flex-grow:1;
  }

  p.nom {
    width:100%;
    height:100%;
    z-index: 1;
    background-color: #3d3c3cca;
    padding-top:2.8vw;
    text-align:center;
    font-variant:small-caps;
    position:relative;
    top:0;
    left:0;
    font-size: 1.2em;
    line-height: normal;
    color:white;
    font-weight: bold;
    transition:background-color 0.2s, font-size 0.1s;
  }
  p.nom:hover {
    background-color: #000000cc;
    transition:background-color 0.2s, font-size 0.1s;
    font-size: 1.3em;

  }

}

@media only screen and (orientation: portrait) {

  div.personnages{
    width:100vw;
    height:100vh;
    position:fixed;
    top:13vw;
    right:0;
    overflow-y: auto;
    background-color: #202023;
  }

  div.mainch {
    width:96%;
    margin:2%;
    padding:0.5vw;
    height:50vw;
    position:relative;
    float:left;
    /*border: 1px solid rgb(100, 100, 100);
    background-color: #303240;*/
    overflow-x:auto;
    overflow-y:hidden;
    text-align: center;
    font-size:1vw;
    line-height: 3vw;;
    font-family:Georgia, 'Times New Roman', Times, serif;
  }
  div.otherchline {
    display:flex;
    flex-direction: row;
  }


  h2.mainch {
    width:99%;
    height:10vw;
    z-index: 1;
    background-color: #000000e8;
    padding-top:2vw;
    text-align:center;
    font-variant:small-caps;
    position:relative;
    top:0;
    left:0;
    margin-left:0.5vw;
    margin-right:0.5vw;
    font-size: 5em;
    line-height: normal;
    color:white;
    font-weight: bold;
    border: 1px solid rgb(85, 85, 85);
    transition:background-color 0.2s, font-size 0.1s;
  }
  h2.mainch:hover {
    background-color: #00000096;
    transition:background-color 0.2s, font-size 0.1s;
    font-size: 5.5em;

  }

  .otherch {
    background-size: cover;
    background-position: center;
    margin:0.5vw;
    padding:0;
    height:36vw;
    border: 1px solid rgb(85, 85, 85);
    width:20vw;
  }
  #imp1 {
    flex-shrink:1;
    flex-grow:8;
  }
  #imp2 {
    flex-shrink:4;
    flex-grow:4;
  }
  #imp1b {
    flex-shrink:2;
    flex-grow:2;
  }
  #imp3 {
    flex-shrink:8;
    flex-grow:1;
  }

  p.nom {
    width:100%;
    height:100%;
    z-index: 1;
    background-color: #000000e8;
    padding-top:10vw;
    text-align:center;
    font-variant:small-caps;
    position:relative;
    top:0;
    left:0;
    font-size: 3em;
    line-height: normal;
    color:white;
    font-weight: bold;
    transition:background-color 0.2s, font-size 0.1s;
  }
  p.nom:hover {
    background-color: #000000cc;
    transition:background-color 0.2s, font-size 0.1s;
    font-size: 3.5em;

  }

}

@media only screen and (orientation: landscape) {

  .nom_tome {
    padding-top:1vw;
    font-size:1.5vw;
    text-transform:uppercase ;
  }

  div.ebooks {
    width:100vw;
    height:100vh;
    position:fixed;
    top:0;
    right:0;
    overflow-y: auto;
    background-color: #000000;
    color:white;
    text-align: center;
    font-size:1vw;
    line-height: 3vw;;
    font-family:Georgia, 'Times New Roman', Times, serif;
  }

  .bouton {
    background-size: cover;
    background-position: center;
    margin:0.5vw;
    padding:0;
    height:8vw;
    border: 1px solid rgb(255, 255, 255);
    width:20vw;
    font-size:1vw;
    margin-bottom:2vw;

  }

  div.descr {
    display:flex;
    flex-direction: row;
    margin:2vw;
  }
  #grand {
    flex-shrink:1;
    flex-grow:8;
  }

  #petit {
    flex-shrink:8;
    flex-grow:1;
  }

  div.boutons {
    display:flex;
    flex-direction: row;
    margin:2vw;
  }

  .couv {
    width: 15vw;
    height: auto;
    float:left;
    margin-left:4vw;
    border-style:none;
    background-color:rgb(0, 0, 0);
  }

  p.descr {
    line-height:2vw;
    margin:3vw;
    margin-left:6vw;
    text-align: center;
    display:flex;
  }

  .tome {
    margin:1vw;
    margin-left:6vw;
  }

  #t1 {
    background-color: #4a496d;
  }

  #t2 {
    background-color: #3d3f3a;
  }

  #t3 {
    background-color: #5c3244;
  }

  #t4 {
    background-color: #094663;
  }

  #t5 {
    background-color: #564239;
  }

  #t6 {
    background-color: #665328;
  }

  #t7 {
    background-color: #662828;
  }
}


@media only screen and (orientation: portrait) {

  .nom_tome {
    padding-top:1vw;
    font-size:5vw;
    text-transform:uppercase ;
    padding-left:4vw;
    padding-right:4vw;
  }

  div.ebooks {
    width:100vw;
    height:100vh;
    position:fixed;
    top:0;
    right:0;
    overflow-y: auto;
    background-color: #000000;
    color:white;
    text-align: center;
    font-size:4vw;
    line-height: 10vw;;
    font-family:Georgia, 'Times New Roman', Times, serif;
    margin-top:10vw;
  }

  .bouton {
    background-size: cover;
    background-position: center;
    margin:0.2vw;
    padding:0;
    height:27vw;
    border: 1px solid rgb(255, 255, 255);
    width:40vw;
    font-size:1vw;
    margin-bottom:2vw;

  }
  #grand {
    flex-shrink:1;
    flex-grow:3;
  }

  #petit {
    flex-shrink:3;
    flex-grow:1;
  }

  div.boutons {
    display:flex;
    flex-direction: row;
    margin:2vw;
  }

  .couv {
    width: auto;
    height: 100vw;
    margin-left:10vw;
    margin-bottom:10vw;
    border-style:none;
    float:left;
    background-color:rgb(0, 0, 0);
  }

  div.descr {
    margin:5vw;
  }
  p.descr {
    line-height:5vw;
    margin:3vw;
    top:10vw;
    text-align: center;
    clear:left;
  }

  .tome {
    margin:1vw;
    margin-top:5vw;
  }

  #t1 {
    background-color: #4a496d;
  }

  #t2 {
    background-color: #3d3f3a;
  }

  #t3 {
    background-color: #5c3244;
  }

  #t4 {
    background-color: #094663;
  }

  #t5 {
    background-color: #564239;
  }

  #t6 {
    background-color: #665328;
  }

  #t7 {
    background-color: #662828;
  }
}