* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
    --header-bg: #ff8b94 url('images/header.png');
    --accent-color: #ff8b94;
    --link-color: #1b0e33;
    --bg-color: #ff8b94;
    --bg-color2: #a8e6cf;
    --text-color: #1b0e33;
    --favorite-color: #FFE5E3;
    /* you can change the stripe colors easily from here */
    --stripe-color: #fb6376;
    --stripe-color2: #dd2d4a;
    --toggle-bg: #94a3b8;
    --toggle-circle: #ffffff;
}

.darkmode{
    --header-bg: #069acf url('images/header.png');
    --accent-color: #005b96;
    --link-color: #ff8291;
    --bg-color: #069acf;
    --bg-color2: #4e6b9e;
    --text-color: #FFFFFF;
    --favorite-color: #0d1c26;
    /* you can change the stripe colors easily from here */
    --stripe-color: #83b6e6;
    --stripe-color2: #dd2d4a;
    --toggle-bg: #94a3b8;
    --toggle-circle: #ffffff;
}

* {
    color: var(--text-color);
/* change the font here, it's set up to all use the same one */
    font-family: monospace;
    border-radius: 1em;
}
/* this is for when you select text on the page */
::selection {
    background: var(--bg-color2);
    color: var(--text-color);
}

body {
    background-color: var(--bg-color2);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 28' width='56' height='28'%3E%3Cpath fill='%23ffffff' fill-opacity='0.4' d='M56 26v2h-7.75c2.3-1.27 4.94-2 7.75-2zm-26 2a2 2 0 1 0-4 0h-4.09A25.98 25.98 0 0 0 0 16v-2c.67 0 1.34.02 2 .07V14a2 2 0 0 0-2-2v-2a4 4 0 0 1 3.98 3.6 28.09 28.09 0 0 1 2.8-3.86A8 8 0 0 0 0 6V4a9.99 9.99 0 0 1 8.17 4.23c.94-.95 1.96-1.83 3.03-2.63A13.98 13.98 0 0 0 0 0h7.75c2 1.1 3.73 2.63 5.1 4.45 1.12-.72 2.3-1.37 3.53-1.93A20.1 20.1 0 0 0 14.28 0h2.7c.45.56.88 1.14 1.29 1.74 1.3-.48 2.63-.87 4-1.15-.11-.2-.23-.4-.36-.59H26v.07a28.4 28.4 0 0 1 4 0V0h4.09l-.37.59c1.38.28 2.72.67 4.01 1.15.4-.6.84-1.18 1.3-1.74h2.69a20.1 20.1 0 0 0-2.1 2.52c1.23.56 2.41 1.2 3.54 1.93A16.08 16.08 0 0 1 48.25 0H56c-4.58 0-8.65 2.2-11.2 5.6 1.07.8 2.09 1.68 3.03 2.63A9.99 9.99 0 0 1 56 4v2a8 8 0 0 0-6.77 3.74c1.03 1.2 1.97 2.5 2.79 3.86A4 4 0 0 1 56 10v2a2 2 0 0 0-2 2.07 28.4 28.4 0 0 1 2-.07v2c-9.2 0-17.3 4.78-21.91 12H30zM7.75 28H0v-2c2.81 0 5.46.73 7.75 2zM56 20v2c-5.6 0-10.65 2.3-14.28 6h-2.7c4.04-4.89 10.15-8 16.98-8zm-39.03 8h-2.69C10.65 24.3 5.6 22 0 22v-2c6.83 0 12.94 3.11 16.97 8zm15.01-.4a28.09 28.09 0 0 1 2.8-3.86 8 8 0 0 0-13.55 0c1.03 1.2 1.97 2.5 2.79 3.86a4 4 0 0 1 7.96 0zm14.29-11.86c1.3-.48 2.63-.87 4-1.15a25.99 25.99 0 0 0-44.55 0c1.38.28 2.72.67 4.01 1.15a21.98 21.98 0 0 1 36.54 0zm-5.43 2.71c1.13-.72 2.3-1.37 3.54-1.93a19.98 19.98 0 0 0-32.76 0c1.23.56 2.41 1.2 3.54 1.93a15.98 15.98 0 0 1 25.68 0zm-4.67 3.78c.94-.95 1.96-1.83 3.03-2.63a13.98 13.98 0 0 0-22.4 0c1.07.8 2.09 1.68 3.03 2.63a9.99 9.99 0 0 1 16.34 0z'%3E%3C/path%3E%3C/svg%3E");    
    margin: 0;
}
/* i think having better line spacing helps text to be more readable, but you can remove it if you want */
p {line-height: 1.5em; font-size: 14px;}
li {font-size: 14px;}
h4 {font-size: 14px;}

header {
    background-color: var(--accent-color);
/* you can add the image url in :root (at the top) if you want */
    background: var(--header-bg);
    background-size: 100%;
    background-position: center;
/* change the minimum height if you want it to take up more/less space */
    min-height: 150px;
/* can also limit the size of the header if you don't want to fill up the top. i recommend at least 800px tho! */
    /*max-width: 980px;*/
    margin: 0 auto;
    border-top: 4px solid var(--text-color);
    border-bottom: 4px solid var(--text-color);
/* i have a default border-radius set, but i didn't want rounded corners on this element */
    border-radius: 0;
}

/* this is your site title displayed at the top of the page */
header > h1 {
    margin: 20px auto;
    border-radius: .3em;
    max-width: 900px;
    padding: 12px;
    font-size: 4em;
/* you can change the text-align to center or right if you want it placed differently */
    text-align: center;
    background-color: var(--bg-color);
    border: 2px solid var(--text-color);
    text-shadow: var(--bg-color2) 1px 1px 3px;
}

#theme-switch{
  height: 50px;
  width: 50px;
  padding: 0;
  border-radius: 50%;
  background-color: var(--bg-color);
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 20px;
  right: 20px;
}
#theme-switch svg{
  fill: var(--text-color);
}
#theme-switch svg:last-child{
  display: none;
}
.darkmode #theme-switch svg:first-child{
  display: none;
}
.darkmode #theme-switch svg:last-child{
  display: block;
}

.container {
  position: relative;
  max-width: 600px;
  height: 200px;
  padding: 50px;
  color: #555;
}

.container .content {
  margin-top: 2rem;
}

.container .contentEng {
  display: block;
}
.container .contentGer {
  display: none;
}

.check {
  position: relative;
  width: 50px;
}

.check::before {
  content: "";
  position: absolute;
  width: 50px;
  height: 25px;
  background: #333;
  border-radius: 25px;
}

.check:checked::before {
  background: #00a1ff;
}

.check::after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  background: #fff;
  border-radius: 25px;
  transition: 0.25s;
  border: 2px solid #333;
  box-sizing: border-box;
}

.check:checked::after {
  left: 25px;
  border: 2px solid #00a1ff;
}

.check:checked ~ .content.contentEng {
  display: none;
}

.check:checked ~ .content.contentGer {
  display: block;
}

.en {
  color: #333;
}

.hn {
  color: red;
}

nav {
    padding: 1em;
    margin: 1em;
    font-weight: bold;
}

nav > ul {
    max-width: 960px;
    margin: auto;
    line-height: 3rem;
/* this line takes away the dot in front of the list items */
    list-style-type: none;
/* list items have default padding but we don't need it for these */
    padding-left: 0;
/* and this spaces out the buttons so they're not touching */
    justify-content: space-evenly;
}
nav li {
    text-align: center;
}
nav li > a {
    background-color: var(--favorite-color);
    box-shadow: var(--accent-color) 4px 4px;
    padding: .5em 3em;
/* this takes away the link underline */
    text-decoration: none;
}
nav li > a:hover {
    box-shadow: var(--text-color) 4px 4px;
}

a {
    color: var(--link-color);
    border-radius: .3em;
    text-shadow: var(--bg-color) 1px 1px 2px;
    font-weight: bold;
    transition: background-color 400ms ease-out;
}
a:visited {
    color: var(--text-color);
}
a:hover {
    background-color: var(--bg-color2);
    color: var(--text-color);
}

/* you can change this to anything you want :) */
ul { list-style-type: "❤︎ "; }

#sidebar {
    /* made the stripe bg with a generator:
    https://stripesgenerator.com/
     */
    background: var(--stripe-color);
    background-size: 65.05px 65.05px;
    min-width: 220px;
    margin: 1em;
    padding: 1em;
    border: 2px solid var(--text-color);
    box-shadow: var(--accent-color) 4px 4px;
}

#avatar {
    margin: .5em auto;
    box-shadow: var(--accent-color) 4px 4px;
/* image size is 160px so i made its container a little bigger to fit the borders */
    max-width: 164px;
    max-height: 164px;
    border-radius: 1.5em;
}
#avatar img {
    background: var(--lighter-color);
    max-width: 160px;
    border: 2px solid var(--text-color);
    border-radius: 1.5em;
}

#bio {
    margin: 1em;
    background: var(--favorite-color);
    border: 2px solid var(--text-color);
    box-shadow: var(--accent-color) 4px 4px;
    text-shadow: var(--bg-color2) 0 0 2px;
}
#bio p { margin: 1em; }

#content {
    display: flex;
    max-width: 960px;
    margin: auto;
}

main {
    background-color: var(--favorite-color);
    padding: 1em 2em;
    margin: 1em;
    border: 2px solid var(--text-color);
    box-shadow: var(--accent-color) 4px 4px;
    text-shadow: var(--bg-color2) 1px 1px 3px;
}

main > h1,
main > h2,
main > h3 {
    background-color: var(--bg-color);
    border-radius: .4em;
    padding: .2em .5em;
    text-shadow: var(--bg-color2) 1px 1px 3px;
}

/* a class for centering text and images */
.center { text-align: center; }

footer {
    background-color: var(--bg-color);
    text-shadow: var(--bg-color2) 1px 1px 3px;
    text-align: center;
    font-size: small;
    padding: 1em;
    margin: 1em auto;
    max-width: 960px;
}

/* these are the mobile styles! */
@media only screen and (max-width: 800px) {
    #content {
        flex-wrap: wrap;
    }
    #sidebar {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        border: none;
    }
    header {min-height: 160px;}
    header > h1 { 
        font-size: 3em;
        margin: .4em;
    }
    nav > ul {
    /* this stuff makes it wrap around on mobile */
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
    }
    #avatar {margin: 0 1em;}
    #bio {width: 50%;}
    main {margin: 0 1em;}
    #sidebar ul {   
        margin: 0 1em;
        display: flex;
        flex-wrap: wrap;
        line-height: 2em;
    }
    #sidebar li {
        padding-left: 0;
        margin: .3em 1em;
    }
    footer {
        margin: 1em;
    }
}