@charset "UTF-8";

/* ---------- Polices (fidèles à l'original : Aleo) ---------- */
@font-face {
    font-family: 'aleobold';
    src: url('fonts/Aleo-Bold.woff') format('woff'),
         url('fonts/Aleo-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'aleoregular';
    src: url('fonts/Aleo-Regular.woff') format('woff'),
         url('fonts/Aleo-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: #2b2b2b;
    overflow: hidden;
}

/* ---------- Fond de page : diaporama ---------- */
#BG {
    position: fixed;
    z-index: 0;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
    background-color: #2b2b2b;
}

.slider {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
    display: flex;
    /* la largeur et l'animation sont pilotées par app.js */
    will-change: transform;
}

.slider .slide {
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    flex: 0 0 100vw;
    width: 100vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* ---------- Carte de visite ---------- */
.container {
    position: relative;
    z-index: 100;
    top: 50%;
    transform: translateY(-50%);
    margin-left: auto;
    margin-right: auto;

    width: 25em;
    height: 14em;

    perspective: 800px;
    -webkit-perspective: 800px;
}

#card {
    position: relative;
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;

    background-color: #FBFBFB;
    border: #EEE solid 7px;

    box-shadow: 0px 7px 5px #2b2b2b;

    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transition: transform 0.5s, background-color 0.5s;
}

#card:hover {
    background-color: #FFF;
    transform: rotateX(6deg);
}

#logo {
    height: 155px;
    width: auto;
    padding: 20px 30px 20px 45px;
    flex: 0 0 auto;
}

#text {
    flex: 1 1 auto;
    padding-right: 50px;
}

#td-text {
    font-family: "aleobold", serif;
    font-size: 1.5em;
    line-height: 1em;
    margin: 0 0 0.15em 0;
    color: #000;
}

#graph-text {
    font-family: "aleoregular", serif;
    font-size: 1em;
    line-height: 1em;
    margin: 0;
    color: #000;
}

#links {
    display: flex;
    gap: 0.85em;
    margin-top: 1.3em;
}

#links a { text-decoration: none; }

.link-text {
    width: 46px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: solid 4px #000;
    border-bottom: solid 4px #000;
    font-family: "aleobold", serif;
    font-size: 1.2em;
    line-height: 1;
    color: #000;
    transition: background-color 0.2s, color 0.2s;
}

a:hover .link-text {
    background-color: #000;
    color: #FFF;
}

/* ---------- Responsive ---------- */
@media screen and (max-width: 560px) {
    .container {
        width: 90vw;
        height: auto;
    }
    #card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding-bottom: 30px;
    }
    #logo {
        height: 110px;
        padding: 30px 30px 10px 30px;
    }
    #text {
        padding: 0 30px;
    }
    #links {
        justify-content: center;
    }
    /* pas d'effet 3D sur mobile */
    #card:hover { transform: none; }
}
