/* these are the main colors and bg images
   replace them with anything you want! */
:root {
    --header-bg: url('images/header.png');
    --site-bg: url("IMG_0205.png");
    --accent-color: #f55cc0;
    --select-color: #ffc1e9;
    --link-color: #5083C1;
    --bg-color: black;
    --bg-color2: black;
    --text-color: #191919;
    --border-color: #215697;
    /*--gradient-bg: linear-gradient(0deg, #CADCFF00 0%, #fff 100%);*/
    --post-header-color: white;
    --post-shadow-color: #21569760;
    --outline-color: #6EAAD6;
    --outline-color2: #CEEAFF;
}
/* you can get hex codes from sites like this:
   https://palettes.shecodes.io/
   i just looked up "css color templates" to find that link! */

/* this applies to all the content */
* {
    box-sizing: border-box;
/* change the font here, it's set up to all use the same one */
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}
/* this is for when you select text on the page */
::selection {
    background: var(--select-color);
    color: var(--border-color);
}

body {
    background-color: var(--bg-color);
    background-image: var(--site-bg);
    margin: 0;
/*this is the default font size! headings and stuff are adjusted based on this number.*/
    font-size: 14px;
/*and the default text color! it's dark grey here.*/
    color: var(--text-color);
}
/* 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;}

h1 {
    font-size: 1.5em;
    color: var(--post-header-color);
    filter: drop-shadow(2px 0 0 var(--outline-color)) drop-shadow(0 2px 0 var(--outline-color)) drop-shadow(-2px 0 0 var(--outline-color)) drop-shadow(0 -2px 0 var(--outline-color))drop-shadow(0 1px 1px var(--outline-color2)) drop-shadow(1px 0 1px var(--outline-color2));
}
h4,
h5,
h6 {color: var(--border-color);}

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: 200px;
/* 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;*/
/*this centers it*/
    margin: 0 auto;
/*i gave it some borders, you can change the colors or remove them, but having the borders there keeps it glued to the top of the page all nice, so i recommend keeping them!*/
    border-top: 12px solid var(--bg-color2);
    border-bottom: 12px solid var(--bg-color2);
/*to align the header block to the bottom, uncomment the line below*/
    /*align-content: flex-end;*/
}

/* this is your site title displayed at the top of the page */
header > h1 {
    background-color: var(--bg-color2);
    color: var(--border-color);
    margin: 1em auto;
    font-size: 2em;
/*uncomment this line if you want the header text to not take up the full length of the div*/
    /*width: fit-content;*/
    max-width: 600px;
    padding: 6px 12px;
    border-radius: 1em;
    border: 4px double var(--outline-color);
/*normal headers have a filter, so we gotta turn it off for this special heading*/
    filter: none;
/* you can change the text-align to center or right if you want it placed differently */
    text-align: center;
}

/*this is for lists*/
li {
/*you can change the normal dot to anything you want :)*/
    /*list-style-type: "💙 ";*/
/*i used a flower since i already drew it for another page haha*/
    list-style-image: url("IMG_0207.gif");
}

nav {margin: 1em;}

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;
    list-style-image: none;
}
nav li > a {
    font-weight: bold;
    background-color: var(--bg-color);
    border: 4px double var(--outline-color);
    padding: .5em 3em;
/* this takes away the link underline */
    text-decoration: none;
}
nav li > a:visited {color: var(--link-color);}
nav li > a:hover {
    color: var(--accent-color);
    background-color: var(--select-color);
}
    
a {
    color: var(--link-color);
    border-radius: .3em;
    transition: .2s ease-out;
}
a:visited {
    color: var(--text-color);
}
a:hover {
    color: var(--accent-color);
    border-color: var(--accent-color);
    transition: .2s ease;
}

#sidebar {
    background-color: var(--bg-color2);
    color: var(--border-color);
    height: fit-content;
    min-width: 320px;
    margin-top: 1em;
    margin-right: 2em;
    border-radius: .5em;
}
.small-box {
    max-width: 240px;
    margin: auto;
    border: 2px solid var(--bg-color);
/*i gave this one small text cuz i think it looks cute, but you can remove this line to make it normal*/
    font-size: 11px;
/*making sure the list items are spaced correctly cuz it's hard to read when they're squished together*/
    line-height: 1.5rem;
}

#avatar {
    margin: .5em;
/*this line will limit the image size if you decide not to use the flower shape below*/
    max-width: 320px;
}
/*flower shape generated from here: https://css-generators.com/flower-shapes/ */
.flower {
    width: 320px; /* adjust to control the size */
    aspect-ratio: 1;
    --g:/37.02% 37.02% radial-gradient(#000 calc(71% - 1px),#0000 71%) no-repeat;
    mask: 90.078% 79.895% var(--g),33.953% 97.355% var(--g),0.004% 49.372% var(--g),35.148% 2.257% var(--g),90.817% 21.121% var(--g),radial-gradient(100% 100%,#000 25.476%,#0000 calc(25.476% + 1px));
}

#bio {
    margin: 20px;
    padding: .2em;
    background: var(--bg-color);
    border: 4px double var(--bg-color2);
    border-radius: 2em;
/*made the text slightly smaller again here since periwinkle's bio was a little lengthy*/
    font-size: small;
}
#bio p { margin: 1em; }

#content {
    display: flex;
    max-width: 960px;
    margin: auto;
}

main {
    padding: 1em;
}

/*this is the top post on the blog. you can treat it like a pinned post if you want!*/
#top {
    background-color: var(--bg-color);
}
/*this bit gives it a white background*/
#top section {
    background-color: var(--bg-color2);
    border-radius: .5em;
    margin-bottom: 10px;
    padding: .2em 1em;
    width: fit-content;
}

/*these are the regular blog post styles!*/
article {
    background-color: var(--bg-color2);
    padding: 1em;
    border: 2px solid var(--border-color);
    border-radius: .3em;
    margin-bottom: 1em;
    box-shadow: var(--post-shadow-color) 5px 5px;
}
article img {
/*make sure large images get resized to fit in the post*/
    max-width: 100%;
}

/*you should always use this line if you have details/summary blocks cuz it makes it more obviously clickable*/
details > summary {cursor:pointer;}

.readmore summary {
    font-weight: bold;
    color: var(--border-color);
    list-style: none;
}
.readmore summary::-webkit-details-marker {
  display: none;
}
.readmore[open] > summary {
    border-bottom: 2px dashed var(--bg-color);
    padding-bottom: .6em;
    margin-bottom: .6em;
}

/*this is the top line for each post, with the name on the left and date/time on the right*/
/*you can put a post title instead of a name/handle, i just set it up that way as an example haha*/
.post-header {
    color: var(--border-color);
    font-weight: bold;
    padding: .5rem 0;
    border-bottom: 4px double var(--outline-color);
}
.timestamp {
    font-weight: normal;
    font-size: smaller;
    margin: .2em;
/*this keeps it to the right edge*/
    float: right;
}

/*these set up tumblr-style photoset grids*/
.photosetx2,
.photosetx3 {
    display: grid;
    gap: 4px;
    align-items: center;
}
.photosetx2 {grid-template-columns: 1fr 1fr;}
.photosetx3 {grid-template-columns: 1fr 1fr 1fr;}
/*adjust this to your liking! it crops images that are too tall*/
.cropped {
    width: 156px;
    height: 156px;
    overflow: hidden;
    object-position: 25% 25%;
}
/*this makes sure the image doesn't get distorted when cropped*/
.photosetx2 img,
.photosetx3 img {object-fit: cover;}

/* a class for centering text and images */
.center { text-align: center; }
.img-right { float: right; }

/*this stops the float image from overflowing out of its container*/
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
/*you can use the <small> tag in html, or make a class like this. up to you!*/
.small-text {
    font-size: 11px;
/*i gave it a shadow cuz i think it looks nice... yayyy*/
    text-shadow: var(--bg-color) 1px 1px;
}

footer {
    text-align: center;
    font-size: small;
    margin: auto;
    padding: .5em;
    background: var(--bg-color2);
}

/* these are the mobile styles! */
@media only screen and (max-width: 800px) {
    #content {
        flex-wrap: wrap;
    }
    #sidebar {
        margin: 0;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        border: none;
        border-radius: 0;
    }
    header {min-height: 160px;}
    header > h1 { 
        width: fit-content;
        padding: .3em 1em;
    }
    nav > ul {
    /* this stuff makes it wrap around on mobile */
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
    }
    #bio {width: 50%;}
    
    #sidebar ul {
        line-height: 2em;
        display: flex;
        flex-wrap: wrap;
        gap: 1em;
    }
    #sidebar li {
        margin: .3em 1em;
    }
}