@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

@font-face {
    font-family: DreamLife;
    src: url(../fonts/DreamLife-V1.0.0_by_MaxiGamer.otf);
}

/* For scrolling background */
@keyframes animatedDiagScroll {
    0% {
        background-position: 0 0;
    }
    50% {
        background-position: 50% 50%;
    }
    100% {
        background-position: 100% 100%;
    }
}

/* Liquid animation that is similar to the one in Tomodachi UI */
@keyframes liquidAnim {
    0% { 
        border-radius: 60% 90% 50% 80% / 60% 90% 80% 80%; 
    }
    50% { 
        border-radius: 30% 50% 30% 50% / 30% 50% 30% 50%
    }
    100% { 
        border-radius: 60% 90% 50% 80% / 60% 90% 80% 80%; 
    }
}

/* Bubble wobble animation effect for main sidebar */
@keyframes wobbleSidebar {
    0% { 
        border-radius: 20% 40% 25% 40% / 15% 35% 15% 30%; 
    }
    50% { 
        border-radius: 30% 30% 35% 30% / 40% 20% 35% 15% 
    }
    100% { 
        border-radius: 20% 40% 25% 40% / 15% 35% 15% 30%; 
    }
}

@keyframes wobbleNav {
    0% { 
        border-radius: 40% 60% 30% 60% / 60% 35% 30% 55%; 
    }
    50% { 
        border-radius: 60% 45% 40% 45% / 60% 60% 45% 35% 
    }
    100% { 
        border-radius: 40% 60% 30% 60% / 60% 35% 30% 55%; 
    }
}

@keyframes wobbleNav2 {
    0% { 
        border-radius: 60% 60% 60% 60% / 60% 60% 60% 60%; 
    }
    50% { 
        border-radius: 70% 55% 50% 65% / 65% 50% 55% 70% 
    }
    100% { 
        border-radius: 60% 60% 60% 60% / 60% 60% 60% 60%; 
    }
}

:root {
    --colourA: rgb(255, 161, 99);
    --colourB: rgb(255, 170, 59);
    --colourC: rgb(255, 225, 126);
    --colourD: rgba(141, 74, 12, 0.4);
    --colourE: rgb(255, 217, 134);
    --colourF: rgb(255, 174, 52);
    --colourG: rgb(250, 120, 13);
    --textColourA: rgb(49, 42, 42);
}

body {
    background: linear-gradient(rgb(245, 122, 40) 1%, rgb(241, 215, 159, 0.7), rgba(245, 176, 87, 0.8) 95%), url(../images/tomodachi-ltd/ltd-background.png);
    height: 100%;
    background-repeat: no-repeat, repeat;
    background-attachment: fixed;
    background-blend-mode: multiply;
}

/* Grid layout for the whole site */
.gridMain {
    display: grid;
    max-width: 1350px;
    margin: auto;
    grid-template-areas:
    "head head head"
    "nav main subMain"
    "nav main subMain"
    ". main .";
    grid-template-columns: 250px 850px 250px;
}

/* Use this class for whatever element that needs the liquid animation */
.liquid {
    background: var(--colourF);
    position: absolute;
    width: 95%;
    height: 80%;
    left: 30%;
    margin-bottom: 15%;
    animation: liquidAnim 20s -3s ease-in-out infinite;
    z-index: 2;
}

.liquid:nth-of-type(2) {
    left: -40%;
    animation: liquidAnim 20s -3s reverse infinite;
    z-index: 2;
}

.liquid:nth-of-type(3) {
    left: 30%;
    bottom: -32%;
    background: var(--colourG);
    animation: liquidAnim 20s -3s ease-in-out infinite;
    z-index: 1;
}

.liquid:nth-of-type(4) {
    left: -40%;
    bottom: -32%;
    background: var(--colourG);
    animation: liquidAnim 20s -3s reverse infinite;
    z-index: 1;
}

.mainContentContainer {
    margin: 25px;
    border-radius: 40px;
    font-family: Nunito;
}

.mainContentContainer > div {
    position: relative;
    background: var(--colourB);
    border-radius: 40px;
    padding: 10px;
}

.entryTitle {
    position: absolute;
    left: -1%;
    top: -12px;
    background: var(--colourA);
    box-shadow: -5px 5px var(--colourD);
    width: fit-content;
    margin: 25px;
    border-radius: 30px;
    padding: 10px 20px;
}

.entryTitle > span {
    display: block;
}

.btn-active {
    background: rgb(255, 186, 96);
    border-radius: 10px;
    border: 5px solid var(--colourB);
}

#entryContent {
    position: flex;
    background: var(--colourE);
    border-radius: 20px;
    padding: 10px 20px;
    text-indent: 20px;
    margin: auto;
    margin-top: 80px;
    max-width: 90%;
    height: 62vh;
    max-height: 850px;
    font-size: 18px;
    font-weight: 500;
    overflow-y: scroll;
    scrollbar-width: thin;
    text-shadow: -1px 1px var(--colourD);

    img {
        width: 90%;
        border: 10px solid var(--colourG);
        border-radius: 10px;
        margin-left:20px;
    }

    video {
        display: block;
        margin: auto;
        border: 10px solid var(--colourG);
        border-radius: 10px;
    }
}

#title {
    font-size: 30px;
    font-weight: 700
}

#subtitle {
    font-size: 20px;
    font-weight: 500;
}

#diagonalScroll {
    animation: animatedDiagScroll 60s linear infinite;
}

/* For right side where entry/character selection will go */
.subMain {
    grid-area: subMain;
    position: relative;
    top: 25px;
    background: var(--colourB);
    box-shadow: -5px 5px var(--colourD);
    font-family: Nunito;
    border-radius: 20px;
    margin-left: 10px;
    animation: wobbleSidebar ease-in-out 20s infinite;
}

/* Inside of main subsection, clickable entries go here */
.subMainInner {
    position: relative;
    background: var(--colourE);
    max-height: 82%;
    margin: 20px;
    margin-top: 40px;
    padding-top: 5px;
    border-radius: 50px;
    overflow-y: scroll;
    scrollbar-width: none;

    ul {
        list-style-type: none;
        margin-right: 40px;

        li {
            padding-left: 5px;
        }

        li:hover {
            background: var(--colourD);
            border-radius: 10px;
        }
    }
}

.entrySelection {
    display: inline-block;
    width: 100%;
    height: 100%;
    line-height: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    text-decoration: none;
    color: var(--textColourA);
    font-size: 18px;
}

/* Header for main subsection, sticks out absolutely within the area */
#subMainHeader {
    position: absolute;
    top: -7%;
    text-align: center;
    border-radius: 60px;
    font-weight: 900;
    font-size: 38px;
    padding: 10px 20px;
    color: var(--textColourA);
    background: var(--colourA);
    box-shadow: -3px 3px var(--colourD);
    z-index: 2;
}

/* Top header design of the site */
header {
    grid-area: head;
    position: relative;
    background: linear-gradient(0deg, var(--colourE) 70%, var(--colourF) 30%);
    box-shadow: -5px 5px var(--colourD);
    max-width: 70%;
    margin-left: 15%;
    margin-bottom: 10px;
    align-items: center;
    height: 200px;
    display: flex;
    border-radius: 50px;
    overflow: hidden;
    z-index: 0;
}

/* Title in header */
header h1 {
    top: 1%;
    left: 15%;
    position: absolute;
    font-family: DreamLife;
    color: var(--textColourA);
    text-shadow: -3px 3px white;
    margin: 0 auto;
    margin-top: 15px;
    font-size: 90px;
    z-index: 3;
}

header h2 {
    top: 24%;
    left: 22%;
    position: absolute;
    font-family: Nunito;
    color: var(--textColourA);
    text-shadow: -3px 3px white;
    font-size: 70px;
    font-weight: 900;
    z-index: 3;
}

/* Navigation list on left side */
nav {
    grid-area: nav;
    text-align: center;
}

nav > ul {
    list-style-type: none;
}

nav > ul > li {
    margin-right: 15px;
    padding-top: 20px;
    padding-bottom: 15px;
}

.navSelect a {
    display: inline-block;
    font-family: DreamLife;
    background: radial-gradient(rgb(255, 182, 72) 40%, rgb(255, 153, 0) 70%);
    width: 100%;
    height: 100%;
    margin: auto;
    padding-top: 30px;
    padding-bottom: 25px;
    border-radius: 30px;
    font-size: 38px;
    text-decoration: none;
    color: var(--textColourA);
    text-shadow: -2px 2px var(--colourD);
    box-shadow: -5px 5px rgba(141, 74, 12, 0.4);
    animation: wobbleNav linear 5s infinite;
}

.navSelect a:hover {
    background: radial-gradient(rgb(255, 204, 128) 40%, rgb(255, 173, 21) 60%);
}

/* Main content for where entires/character data will go */
main {
    grid-area: main;
    max-height: 1000px;
    background: var(--colourG);
    border-radius: 40px; 
    box-shadow: -5px 5px var(--colourD);
}