/* these are the main colors and header image
   replace them with anything you want! */
:root {
    --site-bg: url("/images/linebigtile.png");
    --header-bg: url('/images/banner.png');
    --border-image: url('/images/borderimg.png');
    --header-bg-color: rgb(173, 42, 179);
    --accent-color: #912a93;
    --link-color: #984d87;
    --bg-color: #fdb7e0;
    --bg-color2: #cf722f;
    --bg-color3: #7c2377;
    --text-color: #271227;
    --stripe-color: #743274;
    --stripe-color2: #db90dc;
/* cool buttons */
    --button-color1:#ffdd67;
    --button-color2:#ff718f;
    --button-color3:#40ff90;
    --button-color4:#ff56d3;
    --button-color5:#40baff;
}

@font-face {
    font-family: "Momo Trust Sans";
    src: url('/resources/fonts/MomoTrustSans.ttf') format("truetype");
}

@font-face {
    font-family: "Lora";
    src: url('/resources/fonts/Lora.ttf') format("truetype");
}

/* this is for when you select text on the page */
::selection {
    background: var(--accent-color);
    color: var(--bg-color);
}

body {
    background: var(--site-bg);
    margin:0;
    background-color: var(--header-bg-color);
    color: var(--text-color);
    font-family: "Momo Trust Sans";
}
/* 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;}

header {
    background-color: var(--header-bg-color);
/* you can add the image url in :root (at the top) if you want */
    background-image: var(--header-bg);
    background-position: 80%;
    background-repeat: no-repeat;
/* change the minimum height if you want it to take up more/less space */
    min-height: 150px;
    margin: 0 auto;
    padding-top: 50px;
/* you can change the text-align to center or right if you want it placed differently */
    text-align: center;
}

/* this is your site title displayed at the top of the page */
header > h1 {
    margin: 20px auto;
    max-width: 1080px;
    width: fit-content;
    padding: 12px;
}

.white-bg {
    margin: auto;
    width: fit-content;
    background: white;
    border-radius: 1em;
    padding: 0 20px;
}

/*copied this from here: https://unused-css.com/blog/css-rainbow-text/*/
.rainbow-text {
  background-image: linear-gradient(to left, violet, indigo, blue, green, yellow, orange, red);
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
}

#headbuttons nav {
    font-weight: bold;
}


#headbuttons nav > ul {
    max-width: 1080px;
    margin: auto;
    line-height: 2.6rem;
/* this stuff makes it wrap around on mobile */
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
/* 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;
}


/* i stole this code from nomnomnami's site lol thank you nomnomnami */
.rainbow li:nth-child(5n+1) a {background-color: var(--button-color1);}
.rainbow li:nth-child(5n+2) a {background-color: var(--button-color2);}
.rainbow li:nth-child(5n+3) a {background-color: var(--button-color3);}
.rainbow li:nth-child(5n+4) a {background-color: var(--button-color4);}
.rainbow li:nth-child(5n+5) a {background-color: var(--button-color5);}

.rainbow li a {
  color: var(--text-color);
  transition: .3s all;
  border: .1em solid var(--accent-color)
}
.rainbow li a:hover {
  background-color: var(--accent-color);
  color: var(--text-color);
  transition: .1s all;
  border: .15em solid var(--accent-color);
}

nav li {
    text-align: center;
}
nav li > a {
    background-color: var(--accent-color);
    color: var(--bg-color);
    padding: .2em 1em;
/* this takes away the link underline */
    text-decoration: none;
    border-radius: .5em;
}


nav li > a:hover {
    background-color: var(--bg-color);
}

a {
    color: var(--link-color);
    font-weight: bold;
}
a:visited {
    color: var(--text-color);
}
a:hover {
    color: var(--accent-color);
}

/* you can change this to anything you want :) */
ul { 
    list-style-type: circle;
}

.no-bullets {
    list-style-type: none;
    padding: 0; 
    margin: 0;
}

.wider-bullets li {
  margin: .7em
}

main > marquee {
    display: block;
    margin: 0;
    background-color: var(--stripe-color2);
}

#sidebar {
    background-color: var(--bg-color);
    width: 100%;
    padding: 1em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 0 0 1em;
    max-height: auto;
    max-width: 120px;
    border: 6px solid var(--bg-color3);
    border-radius: 16px;
    box-shadow: var(--accent-color) 0px 0px;
}


#sidebar ul {
    padding-left: 0;
    margin: 1em;
}

#avatar {
    margin: 0 1em;
    text-align: center;
}
#avatar img {
    background: var(--stripe-color);
    width: 100%;
    border: 2px solid var(--text-color);
}

#bio {
    background: var(--stripe-color2);
    border: 2px solid var(--text-color);
    margin: 1em auto .5em auto;
}
#bio p { 
  margin: .8em; 
  
}

#bio ul, #bio li {
    list-style-type: none;
    padding-left: 0;
    line-height: 2em;
}

#content {
    display: flex;
    max-width: 1180px;
    margin: auto;
    margin-top: 30px;
    align-items: center;
}

#buttons { 
  text-align: center;
  }

#buttons img {
  max-width: 88px;
  max-height: 31px;
}

#songplayer { 
  text-align: center;
  }

main {
    background-color: var(--bg-color);
    box-shadow: var(--accent-color) 4px 4px;
    margin: 1em;
    padding-bottom: .5em;
    border: 16px solid var(--bg-color3);
    border-radius: 26px;
    overflow-y: scroll;
    height:540px;
    margin-right: 120px;
}

main h1 {
    text-align: center;
}

main > h1,
main > h2,
main > h3 {
    background-color: var(--accent-color);
    padding: .2em .5em;
    margin: 0;
}

h3 {
  background-color: var(--stripe-color2);
  border-radius: 16px;
  padding:0.5em;
}

.mews, .interest, .link {
    padding: 0 1em;
}

.interest p {
  padding:0.5em;
  line-height: 1.8em;
}

.link p, .link h4 {
  padding:0 0.5em;
}

.portioned {  
    display: flex;
    justify-content: center;
    align-items: center;
}

.portioned section {
  flex: 33.33%;
  box-sizing: border-box;
  padding: 10px;
  flex-wrap: wrap;
  display:block;
}

section {
  display: none;
}

section:target {
  display: block;
}

/* stolen from nomnomnami bc i couldnt find a stack exchange post for this */
body:not(body:has(section:target)) section#about{
  display: block;
}

body:not(body:has(section:target)) .return{
  display: none;
}

img {
  width:100%;
  image-rendering: optimizeQuality;
}


/* media embeds */
.playlist {
  max-width: 480px;
  min-width: 50%;
  display: flex;
  align-self: center;
  text-align: center;
  margin: 1em
}

/* a class for centering text and images */
.center { text-align: center; }

footer {
    text-align: center;
    font-size: small;
    margin: 1em auto;
    max-width: 960px;
}

footer a {
  font-weight: normal;
}



/* playlist player! */ 

.pl-container { 
  position: fixed; bottom: 1vh; right: -180px; width: 180px; background: #22102d; border: 3px ridge #777;; border-right: none; padding: 10px; transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); color: #fff; font-family: monospace; display: inline-block; flex-direction: column; align-items: center; z-index: 9999; box-sizing: border-box 
}
.pl-container.is-open { right: 0px; }
.pl-toggle { position: absolute; left: -34px; top: -2px; width: 30px; height: 34px; background: #b700df; color: #000; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; border-radius: 5px 0 0 5px; transition: background 0.2s; }
.pl-toggle:hover { background: #fff; }

.pl-screen { 
  background: #000; border: 2px inset #555; padding: 8px; color: #0f0; font-family: monospace; font-size: 12px; margin-bottom: 10px; text-align: center;
}
#pl-title {
  color: #0f0; font-family: monospace; font-size: 12px;
}
.pl-controls { display: flex; justify-content: space-between; }
.pl-btn { background: #535; border: 2px outset #666; color: #fff; cursor: pointer; padding: 5px 10px; font-weight: bold; flex: 1; margin: 0 2px; font-size: 0.8em;}
.pl-btn:active { border: 2px inset #666; }


/* 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;
        margin: 0;
    }
    header {
        min-height: 300px;
        background-position: bottom;
    }
    header > h1 { 
        margin: .4em;
    }
    nav > ul {
    /* this stuff makes it wrap around on mobile */
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
    }
    #avatar {
        margin: 0 1em;
        max-width: 100%;
    }
    #bio {
      width: 100%;
    }
    main {
        height: auto;
        overflow-y: auto;
        margin:1em 0;
        max-height: fit-content;
    }
    #sidebar {
        max-width: 100%;
        margin: 0;
    }
    #sidebar ul {   
        margin: 0 1em;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        line-height: 1.4em;
    }
    #sidebar li {
        padding-left: 0;
        margin: .3em 1em;
        
    } 
    .portioned {  
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        column-gap: 8%;
    }
    .column {
    width: 100%;
    }
    .character img {
      width: 120px;
    }
    footer {
        margin: 1em;
    }
}