* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  scroll-behavior:smooth;
}

header {
  background: linear-gradient(to right, #8a8bb9, #3D9BE9);
  color: #BEFFC5;
  padding: .5em 0;
}

body {
  background-size: 100% 100%;
 /* background-image: linear-gradient(180deg, rgb(48, 5, 5) 0%, rgb(214, 200, 117) 100%  rgb(88, 41, 41) 100% ); */
   background-image: linear-gradient(180deg, #4b3f33 0%,#ccb591 100% );
}

.layout{
    display:grid;
    grid-template-columns:280px 1fr;
    width:100%;
    margin:0 auto;
}

.content{
    width:100%;
}

/* ===========================
   SECTION INTRODUCTION
=========================== */

.roma-intro{
    max-width:1600px;
    margin:0 auto;
    padding:90px 70px;

    display:grid;
    grid-template-columns:1.25fr .9fr;
    gap:80px;

    align-items:start;
}

.section-label{
    display:block;
    margin-bottom:20px;
    font-family:josefin-sans,sans-serif;
    letter-spacing:.25em;
    font-size:.9rem;
    text-transform:uppercase;
    color:#d2b58f;
}

.roma-intro h1{
    font-family:tt-modernoir,sans-serif;
    font-size:4.3rem;
    line-height:1.05;
    margin-bottom:45px;

    color:#ead7b8;
}

.roma-intro h1 em{
    font-style:italic;
    color:#d5b894;
}

.intro-text{
    max-width:760px;
}

.intro-text p{
    margin-bottom:25px;
    font-family:josefin-sans,sans-serif;
    font-size:1.15rem;
    line-height:1.9;
    color:#ebe2d2;
}

.intro-text .lead{
    font-size:1.4rem;
    color:white;
}

/* ===========================
   IMAGE
=========================== */

.roma-right figure{
    margin:0;
}

.roma-right img{
    width:100%;
    display:block;

    border:1px solid rgba(255,255,255,.15);
}

.roma-right figcaption{
    margin-top:15px;

    font-family:josefin-sans,sans-serif;
    font-size:.95rem;
    line-height:1.6;

    color:#ccbfae;
}

/* ===========================
   THEMES
=========================== */

.themes{
    margin-top:60px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
}

.theme-card{
    padding:24px;
    background:rgba(255,255,255,.04);
    border-top:2px solid rgba(255,255,255,.12);
    transition:.3s;
}

.theme-card:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.06);
}

.theme-card h3{
    font-family:josefin-sans,sans-serif;
    font-size:1.1rem;
    text-transform:uppercase;
    margin-bottom:16px;
}

.theme-card p{
    font-family:josefin-sans,sans-serif;
    font-size:1rem;
    line-height:1.8;
    color:#ddd;
}

/* ===========================
   COULEURS
=========================== */

.blue{
    color:#72b4ff;
}

.yellow{
    color:#e7bf4d;
}

.red{
    color:#d25d53;
}

.black{
    color:#cfcfcf;
}

.sidebar{
    position:sticky;
    top:0;
    height:100vh;
    overflow-y:auto;
    width:280px;
    border-right:1px solid #ddd;
}

.thumb{
    font-family: tt-modernoir, sans-serif;
    background:#080327;
    display:block;
    padding:30px;
    color:#b5dde9;
    text-decoration:none;
    border-bottom:1px solid #eee;
    transition:
        background .35s,
        border-color .35s,
        color .35s;
}

.thumb p {
  font-family: josefin-sans, sans-serif;
  font-size: 0.6em;
  color:#c7b7e0;
}

.thumb h3 {
  font-size: 0.9em;
  letter-spacing: 0.04em;
  color:#c9d1ee;
}

.thumb:hover{
    background:#484392;
}

.thumb.active{
    background:#925643;
    color:#c77d1b;
}

.theme {
  background:#080327;}


.analysis-roma, .analysis-key, .analysis {
    display: flex;
    align-items: flex-start;
    gap: 50px;
    padding: 30px;
    /* background:var(--theme); */
    background: linear-gradient(
    135deg,
    var(--theme),
    var(--theme2)
    );
    color:var(--text);
}

.analysis-roma {
  /*background-color: #ccb591; */
  padding: 5rem;
}


.analysis-key {
  /*background-color: #695c50; #626950;     #745617 */
  padding: 5rem;
}

#carlotta {
  --theme: #2d315c;
}
#picasso{
  --theme: #1e1e44; 
  --theme2: #7394c7;
}
#aloisio {
  --theme: #19414d;
  --theme2: #206c97;
}
#demarchelier {
  --theme: #6f7f81;
  --theme2: #85b3b9;
}
#prince {
  --theme: #611f18;
  --theme2: #ac483b;
}
#yogi {
  --theme: #3a2749;
  --theme2: #7b6db9;
}
#crypt {
  --theme: #2f3a3f;
  --theme2: #472e39;
}
#massimiliano {
  --theme: #411414;
  --theme2: #75371b;
}
#doriana {
  --theme: #1d1133;
  --theme2: #475992;
}
#birds {
  --theme: #2b2130;
  --theme2: #4e4258;
}
#falco {
  --theme: #4f5a3e;
  --theme2: #bbac6c;
}
#orphee {
  --theme: #6e5033;
  --theme2: #ac9569;
}
#tete {
  --theme: #140e25;
  --theme2: #885762;
}
#olimpia {
  --theme: #250e24;
  --theme2: #2e2969;
}
#horus {
  --theme: #585149;
  --theme2: #ac8961;
}
#favino {
  --theme: #424426;
  --theme2: #615e37;
}
#shiva {
  --theme: #424d4b;
  --theme2: #7288a1;
}
#bianca2 {
  --theme: #161538;
  --theme2: #492c3f;
}
#bianca {
  --theme: #2d2c50;
  --theme2: #684360;
}
#carlotta {
  --theme: #1f2842;
  --theme2: #23757a;
}
#chrono {
  --theme: #2a332f;
  --theme2: #436848;
}
#cuirassiers {
  --theme: #192720;
  --theme2: #70805b;
}
#horse {
  --theme: #271010;
  --theme2: #683c37;
}

#picasso {
    --border: rgb(92, 61, 15);
    --text: rgb(230, 209, 171);
    --text-a: rgb(92, 61, 15);
    --text-h3: rgb(201, 144, 60);
}
#aloisio {
    --border: rgb(223, 148, 148);
    --text: rgb(228, 209, 125);
    --text-a: rgb(223, 148, 148);
    --text-h3: rgb(146, 224, 146);
    --text-fig: rgb(224, 142, 87);
}
#demarchelier {
    --border: rgb(94, 52, 14);
    --text: rgb(77, 59, 11);
    --text-a: rgb(94, 52, 14);
    --text-h3: rgb(104, 63, 17);
    --text-fig: rgb(224, 169, 87);
}
#prince {
    --border: rgb(148, 223, 188);
    --text: rgb(210, 226, 141);
    --text-a: rgb(148, 223, 188);
    --text-h3: rgb(223, 224, 146);
    --text-fig: rgb(224, 169, 87);
}
#yogi {
    --border: rgb(148, 218, 223);
    --text: rgb(141, 175, 226);
    --text-a: rgb(148, 218, 223);
    --text-h3: rgb(146, 164, 224);
    --text-fig: rgb(163, 118, 223);
}
#crypt {
    --border: rgb(53, 164, 168);
    --text: rgb(141, 175, 226);
    --text-a: rgb(148, 218, 223);
    --text-h3: rgb(146, 164, 224);
    --text-fig: rgb(163, 118, 223);
}
#massimiliano {
    --border: rgb(223, 176, 148);
    --text: rgb(192, 212, 156);
    --text-a: rgb(223, 176, 148);
    --text-h3: rgb(219, 224, 146);
    --text-fig: rgb(172, 161, 231);
}
#doriana {
    --border: rgb(137, 224, 149);
    --text: rgb(212, 156, 196);
    --text-a: rgb(137, 224, 149);
    --text-h3: rgb(146, 180, 224);
    --text-fig: rgb(231, 161, 225);
}
#birds {
    --border: rgb(145, 194, 223);
    --text: rgb(212, 156, 196);
    --text-a: rgb(145, 194, 223);
    --text-h3: rgb(121, 104, 219);
}
#falco {
    --border: rgb(73, 11, 11);
    --text: rgb(65, 29, 9);
    --text-a: rgb(85, 59, 11);
    --text-h3: rgb(68, 11, 11);
}
#orphee {
    --text: rgb(36, 4, 30);
    --text-h3: rgb(218, 160, 137);
}
#tete {
    --text: rgb(163, 219, 173);
    --text-h3: rgb(177, 176, 233);
}
#olimpia {
    --border: rgb(219, 131, 219);
    --text: rgb(171, 228, 118);
    --text-a: rgb(219, 131, 219);
    --text-h3: rgb(226, 154, 145);
}
#horus {
    --text: rgb(36, 20, 6);
    --text-h3: rgb(7, 20, 56);
    --text-fig: rgb(238, 191, 191);
}
#favino {
    --border: rgb(231, 195, 161);
    --text: rgb(233, 211, 185);
    --text-a: rgb(231, 195, 161);
    --text-h3: rgb(226, 154, 145);
    --text-fig: rgb(231, 224, 161);
}
#shiva {
    --border: rgb(139, 107, 17);
    --text: rgb(235, 211, 160);
    --text-h3: rgb(226, 154, 145);
    --text-fig: rgb(223, 173, 169);
}
#bianca {
    --border: rgb(161, 172, 231);
    --text: rgb(171, 224, 166);
    --text-a: rgb(161, 172, 231);
    --text-h3: rgb(226, 154, 145);
    --text-fig: rgb(214, 139, 224);
}
#bianca2 {
    --border: rgb(161, 172, 231);
    --text: rgb(171, 224, 166);
    --text-a: rgb(161, 172, 231);
    --text-h3: rgb(226, 154, 145);
    --text-fig: rgb(214, 139, 224);
}
#carlotta {
    --border: rgb(201, 231, 161);
    --text: rgb(228, 184, 118);
    --text-a: rgb(201, 231, 161);
    --text-h3: rgb(226, 154, 145);
    --text-fig: rgb(214, 139, 224);
}
#cuirassiers {
    --border: rgb(201, 231, 161);
    --text: rgb(231, 203, 161);
    --text-a: rgb(201, 231, 161);
    --text-h3: rgb(136, 185, 199);
    --text-fig: rgb(139, 169, 224);
}
#horse {
    --border: rgb(231, 224, 127);
    --text: rgb(139, 194, 68);
    --text-a: rgb(231, 224, 127);
    --text-h3: rgb(219, 149, 127);
    --text-fig: rgb(177, 224, 139);
}

h2 {
  font-family: tt-modernoir, sans-serif;
  font-size: 3.2em;
  color: var(--text-h3);
  margin-bottom: 0.5em;
}

.analysis-image h3 {
  font-family: tt-modernoir, sans-serif;
  font-size: 2.6em;
  color: var(--text-h3);
  margin-bottom: 1em;
}

.pastille-dot {
    display: block;
    font-family:josefin-sans, sans-serif;
    font-size:1.4em;
    text-transform:uppercase;
    color: #e9dbb4;
    margin-top: 10px;
    margin-right: 8px;
    margin-bottom: 2em;
}

.analysis-image, .analysis-text, .analysis-text-key{
    flex:1;
}

.analysis-image img{
    display:block;
    max-width: 80%;
    max-height: 800px;
}

.analysis-image figcaption{
    width:80%;              /* même largeur que la photo */
    margin-top:12px;
    font-family:josefin-sans, sans-serif;
    font-size:1.1em;
    color: var(--text-fig);
    line-height:1.5;
}

.analysis-text h3, .analysis-text-key h3 {
    font-family: tt-modernoir, sans-serif;
    font-size: 2.2em;
    color: var(--text-h3);
    border-bottom: 3px solid var(--text-h3);
    padding: 0.5em;
    letter-spacing: 0.01em;
    margin-top:0;
    margin-bottom:25px;
}

.analysis-text h4, .analysis-text-key h4 {
    font-family: tt-modernoir, sans-serif;
    font-size: 1.8em;
    color: var(--text-h4);
    letter-spacing: 0.01em;
    margin-top:0;
    margin-bottom:25px;
}

.analysis-text p, .analysis-text-key p {
    font-family: josefin-sans, sans-serif;
    font-size: 1.1em;
    color: var(--text);
    letter-spacing: 0.01em;
    line-height:1.8;
    margin-top:25px;
    margin-bottom:25px;
}

.analysis-text a, .analysis-text-key a{
    display: flex;
    justify-content: space-between;
    align-items: center;

    align-self: stretch;
    padding: 12px 18px;

    border: 3px solid var(--border);
    color: var(--text-a);

    text-decoration: none;

    transition: 0.3s ease;
}



.texte {
  text-align: center;
  margin: 0 auto;
  max-width: 100%;
  font-family: josefin-sans, sans-serif;
  color: #dacc91;
}

.sous_titre {
    font-size: 1.3rem;
    color: #dacc91;
    margin-bottom: 2rem;
}

.texte-intro {
  font-family: josefin-sans, sans-serif;
  font-size: 1.1rem;

}

.titre-concept-art {
    color: #df9739;
    font-family: tt-modernoir, sans-serif;
    font-size: 30px;
    border-bottom: 3px solid #df9739;
    padding-bottom: 2em;
    width: 80%;;
    margin-bottom: 4rem;
    text-align: center;

}

ul {
  list-style: none;
}

a, .logo {
  text-decoration: none;
  font-family: tt-modernoir, sans-serif;
  font-size: 2em;
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto;
}

.nav-container .logo {
  font-size: 2rem; 
  font-weight: bold;  
}


.nav--ul__one {
  margin: 0 auto;
  display: flex;
  gap: 6rem;
  font-size: 1.2rem;
}

.logo {
  font-size: 1em;
}


[lang] {
  display: none;
}

[lang].active {
  display: block;
}

.lang-switch {
  position: fixed;
  top: 1rem;
  right: 5%;
  margin-bottom: 2%;
  z-index: 1000;
}

.lang-button {
  background-color:  rgb(82, 11, 11);
  border: none;
  padding: 0.5rem 1rem;
  margin: 0 0.5rem;
  cursor: pointer;
  font-family: josefin-sans, sans-serif;
  color: #89ebf1;
  border-radius: 6px;
  transition: background-color 0.3s;
}

.lang-button:hover {
  background-color: #bbb;
}

.close {
    visibility: hidden;
}

.footer-links i {
    margin-right: 0.4rem;
}

.site-footer {
    background-color: #350923;
    border: 5px solid #89ebf1;
    margin: 20px;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    color: #e78e8b;
    text-align: center;
    padding: 2rem 1rem;
    font-family: copperplate, serif;
    font-size: 0.95rem;
}

.footer-content {
    margin: 0 auto;
    max-width: 1200px;
}

.footer-links {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 1rem;
}


.footer-links a {
    color: #e78e8b;
    text-decoration: none;
    font-family: copperplate, serif;
    font-size: 0.95rem;
    transition: color 0.3s;
}

.footer-links a:hover {
    color: #f371e8;
}

.footer-links i {
    margin-right: 0.4rem;
}

.social-icon {
  width: 20px;   /* Réduit la largeur */
  height: auto;  /* Laisse le ratio intact */
  transition: transform 0.3s, opacity 0.3s;
}


/* =========================
   VERSION MOBILE
========================= */

@media screen and (max-width:900px){

html{font-size:15px;}
body{overflow-x:hidden;}

.roma-intro{
display:flex;
flex-direction:column;
gap:40px;
padding:40px 20px;
}

.roma-left,
.roma-right{
width:100%;
}

.roma-intro h1{
font-size:2.4rem;
line-height:1.15;
margin-bottom:25px;
}

.intro-text{
max-width:100%;
}

.intro-text p{
font-size:1rem;
line-height:1.8;
}

.intro-text .lead{
font-size:1.2rem;
}

.roma-right img{
width:100%;
}

.roma-right figcaption{
font-size:.9rem;
}

.themes{
grid-template-columns:1fr;
gap:18px;
}

.theme-card{
padding:20px;
}

.layout{
display:block;
}

.sidebar{
position:relative;
width:100%;
height:auto;
display:flex;
overflow-x:auto;
overflow-y:hidden;
white-space:nowrap;
border-right:none;
border-bottom:1px solid rgba(255,255,255,.2);
background:#06041f;
scrollbar-width:thin;
}

.thumb{
flex:0 0 180px;
padding:18px;
border-right:1px solid rgba(255,255,255,.15);
border-bottom:none;
}

.thumb h3{
font-size:.8rem;
line-height:1.25;
}

.thumb p{
font-size:.65rem;
}

.analysis,
.analysis-key,
.analysis-roma{
display:flex;
flex-direction:column;
gap:35px;
padding:30px 20px;
}

.analysis-image,
.analysis-text,
.analysis-text-key{
width:100%;
}

.analysis-image img{
width:100%;
max-width:100%;
height:auto;
max-height:none;
margin:auto;
}

.analysis-image iframe{
width:100%;
max-width:100%;
height:600px;
}

.analysis-image figcaption{
width:100%;
}

h2{
font-size:2rem;
line-height:1.15;
}

.analysis-image h3{
font-size:1.5rem;
}

.analysis-text h3,
.analysis-text-key h3{
font-size:1.6rem;
padding-bottom:.6rem;
}

.analysis-text h4,
.analysis-text-key h4{
font-size:1.3rem;
}

.pastille-dot{
font-size:1rem;
margin-bottom:1.5rem;
}

.analysis-text p,
.analysis-text-key p{
font-size:1rem;
line-height:1.8;
}

.analysis-text a,
.analysis-text-key a{
font-size:.95rem;
}

.nav-container{
flex-direction:column;
gap:20px;
width:95%;
}

.nav--ul__one{
gap:1.5rem;
flex-wrap:wrap;
justify-content:center;
}

.logo{
font-size:1.5rem;
}

.lang-switch{
top:10px;
right:10px;
}

.lang-button{
padding:.45rem .7rem;
font-size:.85rem;
}

.footer-links{
flex-direction:column;
gap:.8rem;
}

.site-footer{
padding:2rem 1rem;
}

}

/* ==========================================================
   TABLETTE PAYSAGE
========================================================== */

@media screen and (min-width:901px) and (max-width:1280px){

.layout{
display:grid;
grid-template-columns:220px 1fr;
}

.sidebar{
width:220px;
}

.thumb{
padding:20px;
}

.thumb h3{
font-size:.85rem;
}

.thumb p{
font-size:.65rem;
}

.roma-intro{
grid-template-columns:1fr .8fr;
gap:40px;
padding:60px 40px;
}

.roma-intro h1{
font-size:3rem;
}

.intro-text p{
font-size:1.05rem;
line-height:1.75;
}

.themes{
gap:20px;
}

.theme-card{
padding:20px;
}

.analysis,
.analysis-key,
.analysis-roma{
gap:35px;
padding:50px 40px;
}

.analysis-image,
.analysis-text,
.analysis-text-key{
flex:1;
}

.analysis-image img{
max-width:100%;
height:auto;
}

.analysis-image iframe{
width:100%;
max-width:100%;
height:700px;
}

h2{
font-size:2.4rem;
}

.analysis-image h3{
font-size:2rem;
}

.analysis-text h3,
.analysis-text-key h3{
font-size:1.8rem;
}

.analysis-text h4,
.analysis-text-key h4{
font-size:1.4rem;
}

.analysis-text p,
.analysis-text-key p{
font-size:1.05rem;
line-height:1.75;
}

.pastille-dot{
font-size:1.1rem;
}

.analysis-text a,
.analysis-text-key a{
padding:14px 18px;
font-size:1rem;
}

.nav--ul__one{
gap:3rem;
}

.lang-switch{
right:2%;
}

}




.text-pop-up-top {
  -webkit-animation: text-pop-up-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
          animation: text-pop-up-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-7-5 11:21:18
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation text-pop-up-top
 * ----------------------------------------
 */
 @-webkit-keyframes text-pop-up-top {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform-origin: 30% 30%;
            transform-origin: 30% 30%;
    text-shadow: none;
  }
  100% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    -webkit-transform-origin: 30% 30%;
            transform-origin: 30% 30%;
  }
}

@keyframes text-pop-up-top {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform-origin: 30% 30%;
            transform-origin: 30% 30%;
    text-shadow: none;
  }
  100% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    -webkit-transform-origin: 30% 30%;
            transform-origin: 30% 30%;
  }
}

