@import url("https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap");

@font-face {
    font-family: Header;
    src: url(./fonts/Oxygen-Bold.ttf);
}

@font-face {
    font-family: Navigation;
    src: url(./fonts/Rubik-Italic-VariableFont_wght.ttf);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
    overflow-x: hidden;
}

/************* MAIN *************/
:root {
    --lightShadow: 3px 3px 10px #9da0a6,
    -3px -3px 10px #ffffff;
    --darkShadow: 3px 3px 10px #21252c,
    -3px -3px 10px #1e2127;

    --color: tomato;
    --grey1: #1d2533;
    --grey2: #283140;
    --grey3: #5f6876;
    --grey4: #cfd3da;
    --grey5: #f2f5fe;
}
body {
    background: linear-gradient(-45deg, var(--grey1), var(--grey2));
    background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	height: 100vh;
    color: var(--grey5);
    transition: all 0.2s ease;
}

i {
    overflow: hidden;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

/************* NAV *************/
nav {
    position: fixed;
    display: flex;
    overflow-y: hidden;

    width: 100vw;
    height: 9vh;
    background: linear-gradient(145deg, var(--grey1), var(--grey1));
    box-shadow: 2px 2px 4px var(--grey5);
    justify-content: center;
    align-items: center;
}
nav i, nav h3{
    color: var(--grey5);
    font-weight: bold;
    font-size: 1.5rem;
}

nav a div i , nav a div h3{
    text-align: center;
    margin-left: 1vw;
    margin-right: 1vw;
    padding: 0.5vw 0 0.5vw 0;
    transition: all 0.2s ease;
    overflow-y: hidden;
}
nav a div{
    width: fit-content; 
    height: inherit;
    display: flex;
    align-items: center;
}
nav a{
    height: inherit;
    text-decoration: none;
    color: var(--grey3);
    user-select: none;
}
nav a:nth-child(4){
    margin-right: 40vw; 
}
nav a:nth-child(2){
    margin-left: 32vw;
}
nav a:last-of-type{
    width: 5vw;
}
nav a div:hover i , nav a div:hover h3{
    border-bottom: 2px solid var(--grey4);
    cursor: pointer;
    transform:translateY(-0.2rem);
}
#switch{
    font-size: 2rem;
}
#switch:hover{
    cursor: pointer;
}
#active {
    color: var(--color);
    border-bottom: 2px solid var(--color);
    animation-name: idel;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
#header img{
    overflow-y: hidden;
    width: 12vw;
}
#header img:hover{
    cursor: pointer;
}

@keyframes idel {
    from{
        transform: translateY(.2rem);
    }
    to{
        transform: translateY(-.2rem);
    }
}

/************* CONTENT *************/
#content{
    margin-top: 10vh;
}

#previewField{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: 80vw;
    margin-top: 5vh;
    margin-left: 10vw;
}
.preview{
    margin: 1vw;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    box-shadow: var(--darkShadow);
    width: 20vw;
    height: 13vh;
    border-radius: 1vw;
    padding: 2vh 1.5vw 2vh 1.5vw;
    border: var(--grey2) 1px solid;
    transition: 0.2s all ease;
}
.preview h1{
    font-size: 1.8rem;
}
#previewAdd{
    overflow-y: hidden;
    font-size: 4rem;
    text-align: center;
}
.preview:hover{
    cursor: pointer;
    border: var(--color) 1px solid;
    color: var(--color)
}


/********** addLektion ************/
#addLektion{
    width: 70vw;
    margin: 1vh 15vw 1vh 15vw;
}
#addLektion h1{
    padding: 1vw;
    text-align: center;
}
#addLektion .input{
    width: 65vw;
    height: 5vh;
    padding: 0 1vw 0 1vw;
    margin: 1vh 2.5vw 1vh 2.5vw;
    margin-bottom: 2vh;
    border-radius: 0.5rem;
    border: none;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey5);
    box-shadow: var(--darkShadow);
    border-color: var(--grey5);
}
#addLektion table{
    width: 60vw;
    margin: 10vh 0 10vh 0;
    margin-inline: auto;
    padding: 1vw;
    text-align: center;
    border-collapse: collapse;

    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    box-shadow: var(--darkShadow);
    border-radius: 1rem;
    overflow: hidden;
}
#addLektion th{
    width: 50%;
    padding: 1vh 0 1vh 0;
    border-bottom: var(--grey5) 0.1rem solid;
}
#addLektion #definition:hover{
    cursor: pointer;
}
#addLektion td:first-child, th:first-child{
    border-right: var(--grey5) solid 1px;
}
#addLektion td input{
    width: 100%;
    height: 100%;
    padding: 1vw 2vw 1vw 2vw;
    background: var(--darkShadow);
    color: var(--grey5);
    font-weight: bold;
    border: none;
    font-size: 1rem;
}
#addLektion td input:hover{
    cursor: pointer;
}
#addLektion td input:focus{
    border-color: var(--grey5);
}
#addLektion #lastRow{
    border-top: 1px solid var(--grey5);
    padding: 1vh;
}
#addLektion #lastRow:hover{
    cursor: pointer;
}
#addLektion table i:hover{
    cursor: pointer;
}   
#addLektion #confirm{
    margin-inline: auto;
    width: 20vw;
    padding: 1vh 1vw 1vh 1vw;
    font-size: 1.2rem;
    user-select: none;
    border-radius: 0.5rem;
    color: var(--grey2);
    background-color: var(--color);
    border: var(--grey2) 1.5px solid;
    box-shadow: var(--darkShadow);
    text-align: center;
    transition: all 0.2s ease; 
}
#addLektion #confirm:hover{
    color: var(--color);
    background-color: var(--grey2);
    border: var(--color) 1.5px solid;
    cursor: pointer;
}
#addLektion #autoGenerate{
    user-select: none;
    width: 65vw;
    height: 5vh;
    margin: 1vh 2.5vw 1vh 2.5vw;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey4);
    box-shadow: var(--darkShadow);
    border: 1px solid var(--grey2);
    padding: 1vh 0 0 1vw;
    transition: all 0.2s ease;
}
#addLektion #autoGenerate:hover{
    border: var(--grey5) 1px solid;
    cursor: pointer;
}
#addLektion i{
    font-size: 1.7rem;
    padding: 0.1rem;
}
#addLektion table tr{
    position: relative;
    overflow-x: visible;
}
.fa-trash{
    position: absolute;
    top: 30%;
    left: 95%;
    opacity: 0.1;
    transition: 0.2s ease all;
}
.fa-trash:hover{
    cursor: pointer;
    opacity: 1;
}
#addMenu{
    display: flex;
}
summary:hover{
    cursor: pointer;
}
details div{
    font-size: 80%;
    text-align: left;
    padding-left: 15vw;
}
details div input:hover{
    cursor: pointer;
}

/*********Auto Generate Table *********/
#loadAutoGenerate{
    width: 70vw;
    margin: 5vh 15vw 0 15vw;
}
#loadAutoGenerate #confirm{
    user-select: none;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey4);
    box-shadow: var(--darkShadow);
    border: var(--grey5) 1px solid;
    width: 20vw;
    height: 5vh;
    text-align: center;
    padding-top: 1vh;
    border-radius: 1rem;
    margin: 0 25vw 0 25vw;
    transition: all 0.2s ease;
}
#loadAutoGenerate #confirm:hover{
    border: var(--grey2) 1px solid;
    cursor: pointer;
}
#loadAutoGenerate textarea{
    width: 70vw;
    height: 20vh;
    padding: 1vh 1vw 1vh 1vw;
    margin-bottom: 2vh;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey4);
    box-shadow: var(--darkShadow);
    border-color: var(--grey1);
}

#tableLektion{
    border-collapse: collapse;
}
#tableLektion th{
    padding: 0.5rem;
    border-bottom: var(--grey5) solid 1px;
}
#tableLektion td{
    text-align: center;
    width: 10vw;
    padding: 0.5rem;
}
#tableLektion .begriff{
    border-right: var(--grey5) solid 1px;
}

/*********Lektion Overview*********/
#lektionOverview{
    margin: 5vh 20vw 0 20vw;
    text-align: center;
}
#lektionOverview h2{
    font-size: 3rem;
    border-bottom: var(--grey4) 1px solid;
    margin: 0 10vw 3vh 10vw;
}
#lektionOverview div{
    display: flex;
    justify-content: center;
    margin: 2vh 0 10vh 0;
}
#lektionOverview div p{
    margin: 1vw;
    width: 20vw;
    padding: 1vh 1vw 1vh 1vw;
    font-size: 1.2rem;
    user-select: none;
    border-radius: 0.5rem;
    color: var(--grey2);
    background-color: var(--color);
    border: var(--grey2) 1.5px solid;
    box-shadow: var(--darkShadow);
    transition: all 0.2s ease;
}
#lektionOverview div p:hover{
    background-color: var(--grey2);
    color: var(--color);
    border: var(--color) 1.5px solid;
    cursor: pointer;
}
#lektionOverview section{
    display: flex;
    justify-content: center;
    margin: 2vh 0 10vh 0;
}
#lektionOverview section p{
    margin: 1vw;
    width: 20vw;
    padding: 1vh 1vw 1vh 1vw;
    font-size: 1.2rem;
    user-select: none;
    border-radius: 0.5rem;
    color: var(--color);
    background-color: var(--grey2);
    border: var(--color) 1.5px solid;
    box-shadow: var(--darkShadow);
    transition: all 0.2s ease;
}
#lektionOverview section p:hover{
    background-color: var(--color);
    color: var(--grey2);
    border: var(--grey2) 1.5px solid;
    cursor: pointer;
}
#lektionOverview table{
    width: 40vw;
    margin: 0 10vw 0 10vw;
}

/*********Lektion Übungen *********/
#playground{
    display: flex;
    margin-left: 20vw;
    margin-top: 10vh;
    width: 80vw;
}
#playground i{
    font-size: 4rem;
    margin-top: 10vw;
    padding: 2vw;
}
#playground i:hover{
    cursor: pointer;
}
#card{
    display: flex;
    width: 50vw;
    height: 50vh;
    padding: 1vh 1vw 1vh 1vw;
    margin: 1vh 0 1vh 0;
    user-select: none;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey5);
    border: var(--grey2) 1px solid;
    box-shadow: var(--darkShadow);
    transition: all 0.2s ease;
    font-size: 5rem;

    justify-content: center;
    align-items: center;
    
}
#card:hover{
    font-size: 5.5rem;
    cursor: pointer;
}

#card a{
    transition: transform 0.5s;
}

#achievmentA{
    position: absolute;
    top: 73vh;
    left: 35vw;
    overflow-y: hidden;
}
#achievment{
    position: absolute;
    top: 74vh;
    left: 44vw;
    overflow-y: hidden;
}
#achievment a, #achievmentA a{
    font-size: 1.3rem;
    padding: 2vw;
    user-select: none;
}

#answer{
    display: flex;
    flex-direction: column;

    width: 50vw;
    height: 50vh;
    padding: 1vh 1vw 1vh 1vw;
    margin: 1vh 0 1vh 0;
    margin-left: 5vw;
    user-select: none;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey5);
    border: var(--grey2) 1px solid;
    box-shadow: var(--darkShadow);
    transition: all 0.2s ease;
    font-size: 2rem;
}
#answer a{
    padding: 1vw;
    border-bottom: 1px solid var(--grey5);
    margin-bottom: 5vh;
}
#answer input{
    padding: 1vh 1vw 1vh 1vw;
    user-select: none;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey5);
    border: var(--grey5) 1px solid;
    box-shadow: var(--darkShadow);
    transition: all 0.2s ease;
    font-size: 3rem;
}
#backToMenu{
    position: absolute;
    top: 80vh;
    left: 42.5vw;
    width: 15vw;
    text-align: center;
    padding: 1vh 1vw 1vh 1vw;
    user-select: none;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey5);
    box-shadow: var(--darkShadow);
    border: var(--grey2) 1px solid;
    transition: all 0.2s ease;
    font-size: 2rem;
}
#backToMenu:hover{
    border: var(--grey4) 1px solid;
    cursor: pointer;
}
#replay{
    position: absolute;
    top: 50vh;
    left: 42.5vw;
    width: 15vw;
    text-align: center;
    padding: 1vh 1vw 1vh 1vw;
    user-select: none;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, var(--grey2), var(--grey2));
    color: var(--grey5);
    border: var(--grey2) 1px solid;
    box-shadow: var(--darkShadow);
    transition: all 0.2s ease;
    font-size: 2rem;
}
#replay:hover{
    border: var(--grey4) 1px solid;
    cursor: pointer;
}

.fa-solid{
    user-select: none;
}

#word{
    display: flex;
}
#word div{
    margin: 1vw;
}
#playbutton-parent{
    aspect-ratio: 1 / 1;
    background-color: #515864;
    border-radius: 50%;
    width: 5rem;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    box-shadow: 0 0 .2rem .2rem var(--grey1);
}

#playbutton-child{
    aspect-ratio: 1 / 1;
    background-color: var(--grey3);
    border-radius: 50%;
    width: 80%;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    box-shadow: inset .2rem .25rem .2rem var(--grey2),
    inset 0rem 0rem .2rem .1rem var(--grey2);
    user-select: none;
    overflow-y: hidden;
    position: relative;
}
#playbutton-child i{
    font-size: 2rem;
    color: var(--grey5);
    margin: 0;
    padding: 0;
}
#playbutton-child:hover{
    cursor: pointer;
}
#playbutton-child:active{
    height: 90%;
    width: 90%;
}
#playbutton-child:active i{
    font-size: 2.2rem;

}
#sound{
    display: none;
}


/********* Responsive *********/

@media screen and (max-width: 600px) {
    #previewField{
        grid-template-columns: 1fr 1fr;
    }
    .preview{
        width: 35vw;
        border-radius: 2vw;
    }
}