@font-face 
{
    font-family: 'Louis George Café';
    font-style: normal;
    font-weight: normal;
    src: local('Louis George Café Regular'), url('font/Louis George Cafe.woff') format('woff');
}
@font-face 
{
    font-family: 'Louis George Café';
    font-style: italic;
    font-weight: normal;
    src: local('Louis George Café Italic'), url('font/Louis George Cafe Italic.woff') format('woff');
}
@font-face 
{
    font-family: 'Louis George Café';
    font-style: normal;
    font-weight: bold;
    src: local('Louis George Café Bold'), url('font/Louis George Cafe Bold.woff') format('woff');
}
@font-face 
{
    font-family: 'Louis George Café';
    font-style: italic;
    font-weight: bold;
    src: local('Louis George Café Bold Italic'), url('font/Louis George Cafe Bold Italic.woff') format('woff');
}
@font-face 
{
    font-family: 'Louis George Café';
    font-style: normal;
    font-weight: 100;
    src: local('Louis George Café Light Regular'), url('font/Louis George Cafe Light.woff') format('woff');
}
@font-face 
{
    font-family: 'Louis George Café';
    font-style: italic;
    font-weight: 100;
    src: local('Louis George Café Light Italic'), url('font/Louis George Cafe Light Italic.woff') format('woff');
}
@font-face 
{
    font-family: 'Conthrax';
    font-style: normal;
    font-weight: normal;
    src: local('Conthrax SemiBold'), url('font/conthrax-sb.woff') format('woff');
}
:root 
{
    --borderMargin: 4vw, 50px;
    --borderMarginDouble: 8vw, 100px;
    --purple: #DC99FE;
    --purpleSecond: #8E5BE6;
    --grey: #3F3A47;
    --grey50: #3F3A4780;
    --greySecond: #1F1927;
    --black: #000;
    --white: #fff;
    --fontTitle: "Conthrax";
    --fontBody: "Louis George Café";
    --shadow: 0px 0px 5px 0px #000;
    --dropShadow: drop-shadow(0px 0px 5px #000);
}
@media (min-width: 1201px) 
{
    :root 
    {
        --borderMargin: 8vw, 100px;
        --borderMarginDouble: 16vw, 200px;
    }
}
*
{
    scroll-behavior: smooth;
}
body
{
    margin: 0;
    padding: 0 max(var(--borderMargin));
    min-height: 100vh;
    font-family: var(--fontBody);
}
#headerBackground
{
    z-index: 8;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: max(8vh, 50px);
    background-color: var(--grey50);
    backdrop-filter: blur(5px) contrast(60%);
    -webkit-backdrop-filter: blur(5px) contrast(60%);
    -webkit-box-shadow: var(--shadow); 
    box-shadow: var(--shadow);
}
header
{
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    padding: 0 max(var(--borderMargin));
    width: calc(100% - max(var(--borderMarginDouble)));
    height: max(8vh, 50px);
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
header *
{
    z-index: 10;
    color: var(--white);
    font-family: var(--fontTitle);
}
header a
{
    height: 90%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    text-decoration: none;
}
header a img
{
    height: 100%;
    cursor: pointer;
}
header a span
{
    height: fit-content;
    font-size: 2em;
    padding-left: 10px;
    cursor: pointer;
    text-decoration: none;
}
header nav
{
    margin-left: auto;
}
header nav ul
{
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 2em;
}
header nav ul li
{
    cursor: pointer;
    position: relative;
}
header nav ul li a
{
    text-decoration: none;
}
header nav ul li::after
{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    background-color: var(--white);
    transition: all 0.5s;
}
header nav ul li:hover::after
{
    width: 100%;
}
section:nth-child(odd)
{
    margin-top: 10vh;
    scroll-margin-top: calc(10vh + max(8vh, 50px));
}
section:nth-child(even)
{
    margin: 0;
    scroll-margin: max(8vh, 50px);
}
h1, h2
{
    font-family: var(--fontTitle);
    font-size: 2.5em;
    margin: 0;
}
h3
{
    font-family: var(--fontTitle);
    font-size: 1.5em;
    margin: 0.5em 0 0 0;
}
.separtext
{
    margin-top: 1em;
    font-size: 2em;
}
p
{
    font-size: 1.5em;
    margin: 0.5em 0;
}
.text-right 
{
    text-align: right;
}
.italic 
{
    font-style: italic;
}
section ul
{
    margin: 0 0 0.5em 0;
    font-size: 1.5em;
}
#indexTop
{
    margin: 0;
    z-index: 9;
    position: relative;
    top: 0;
    left: min(-8vw, -100px);
    width: calc(100% + max(var(--borderMarginDouble)));
    height: calc(100vh + 10px);
    overflow: hidden;
    background-image: url(img/indexTop.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom
}
#about
{
    display: grid;
    grid-template-columns: 3fr 1fr 6fr;
    grid-column-gap: 2em;
}
#aboutText
{
    grid-area: 1 / 3 / 2 / 4;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
}
#dust
{
    position: relative;
    left: min(-8vw, -100px);
    width: calc(100% - 18vw);
    min-height: calc(18vw + max(var(--borderMargin)));
    background-image: url(img/galaxy.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    padding: 10vh max(var(--borderMargin)) 10vh calc(18vw + max(var(--borderMargin)));
    color: var(--white);
    -webkit-box-shadow: var(--shadow); 
    box-shadow: var(--shadow);
}
#dust img
{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-10%, -50%);
    width: calc(18vw + max(var(--borderMargin)));
    -webkit-filter: var(--dropShadow);
    filter: var(--dropShadow);
    aspect-ratio: 1 / 1;
}
#ranks
{
    display: grid;
    grid-template-columns: 6fr 1fr 3fr;
    grid-column-gap: 2em;
}
#ranksText
{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
}
#ranks img
{
    grid-area: 1 / 3 / 2 / 4;
}
#download
{
    position: relative;
    left: min(-8vw, -100px);
    width: calc(100% + max(var(--borderMarginDouble)));
    height: 71vh;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    gap: 2em;
    scroll-margin-top: -1vh;
    color: var(--white);
    background-image: url(img/Store_ataata.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-box-shadow: var(--shadow); 
    box-shadow: var(--shadow);
}
#download *
{
    z-index: 1;
}
#download h2
{
    text-align: center;
}
#downloadBack
{
    z-index: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(151, 71, 255, 0.00) 0%, rgba(142, 91, 230, 0.75) 81.25%);
    backdrop-filter: blur(12px) contrast(60%);
    -webkit-backdrop-filter: blur(12px) contrast(60%);
}
#downloadButton
{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    gap: 4em;
}
#downloadButton img
{
    height: 10vh;
    transition: all 0.15s;
}
#downloadButton img:hover
{
    transform: scale(1.1);
}
footer
{
    position: relative;
    left: min(-8vw, -100px);
    width: calc(100% + max(var(--borderMarginDouble)));
    height: 30vh;
    background-color: var(--grey);
    color: var(--white);
    -webkit-box-shadow: var(--shadow); 
    box-shadow: var(--shadow);
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    gap: 1em;
}
footer > img
{
    height: 40%;
}
footer h2
{
    margin: 0;
    font-size: 4vh;
    font-family: var(--fontTitle);
}
footer #social
{
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
    border-top: solid 2px var(--white);
    width: fit-content;
    padding-top: 5px;
}
footer #social img
{
    height: 2.5vh;
    transition: all 0.15s;
}
footer #social img:hover
{
    transform: scale(1.2);
}
footer span
{
    position: absolute;
    bottom: 5px;
}
footer span a
{
    text-decoration: none;
    color: var(--white);
}
footer span a:hover
{
    text-decoration: underline;
}
#rules, #cgu
{
    margin-bottom: 10vh;
}
@media (max-width: 1200px) 
{
    #menuBurger
    {
        display: flex;
        flex-flow: column nowrap;
        justify-content: space-between;
        align-items: center;
        gap: 5px;
        width: 35px;
        cursor: pointer;
        margin-left: auto;
        position: relative;
    }
    #menuBurger span
    {
        width: 100%;
        height: 5px;
        border-radius: 5px;
        background-color: var(--white);
        padding: 0;
        top: 50%;
        left: 0;
        transition: all 0.25s;
    }
    #navBackground
    {
        z-index: 8;
        position: fixed;
        left: -120%;
        top: max(8vh, 50px);
        width: 100%;
        height: calc(100vh - max(8vh, 50px));
        background-color: var(--grey50);
        backdrop-filter: blur(5px) contrast(60%);
        -webkit-backdrop-filter: blur(5px) contrast(60%);
        transition: all 0.25s;
    }
    header nav
    {
        position: absolute;
        top: max(8vh, 50px);
        left: -120%;
        height: calc(100vh - max(16vh, 100px));
        width: 100vw;
        transition: all 0.25s;
    }
    header nav ul
    {
        height: 100%;
        margin: 0;
        padding-left: 5vw;
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: flex-start;
        font-size: min(5vw, 5vh);
        gap: 5vh;
    }
    #indexTop, #dust, #download, footer
    {
        left: min(-4vw, -50px);
    }
    #about
    {
        display: flex;
        flex-flow: column-reverse nowrap;
        gap: 2em;
    }
    #ranks
    {
        display: flex;
        flex-flow: column nowrap;
        gap: 2em;
    }
    #about img, #ranks img
    {
        width: 50%;
        margin-left: 50%;
        transform: translate(-50%, 0);
    }
    #dust
    {
        width: 100%;
        padding: 10vh max(var(--borderMargin));
    }
    #dust img
    {
        position: initial;
        width: 50vw;
        margin-left: 50%;
        transform: translate(-50%, 0);
    }
    #download
    {
        width: 100%;
        padding: 0 max(var(--borderMargin));
    }
}
@media (max-width: 800px) 
{
    body
    {
        font-size: 0.8em;
    }
    header
    {
        padding: 0 10px;
        width: calc(100% - 25px);
    }
    #about img, #ranks img, #dust img
    {
        width: 75vw;
    }
    #downloadButton
    {
        flex-direction: column;
        gap: 1.5em;
    }
}