/* these are the main colors and bg images
   replace them with anything you want! */
:root {
    --header-bg: url("images/header.jpg");
    --site-bg: url("images/battile.png");
    --accent-color: #9929ea;
    --select-color: #cc66da;
    --link-color: #faeb92;
    --bg-color: #000000;
    --bg-color2: #191919;
    --text-color: white;
    --border-color: #9929ea;
    /*--gradient-bg: linear-gradient(0deg, #CADCFF00 0%, #fff 100%);*/
    --post-header-color: white;
    --post-shadow-color: #9929ea;
    --outline-color: #cc66da;
    --outline-color2: #faeb92;
}
/* 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: "Pangolin", cursive;
    font-weight: 400;
    font-style: normal;
}
/* 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;
    letter-spacing: 0.1em;
}

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 {
    font-family: "Jolly Lodger", system-ui;
    font-weight: 400;
    font-style: normal;
    background-color: var(--bg-color2);
    color: var(--border-color);
    margin: 1em auto;
    font-size: 4em;
    /*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;
}

li {
    list-style-image: url("images/Heart.png");
}

ul {
    columns: 2 auto;
}

nav {
    margin: 1em;
}

nav > ul {
    columns: 1 auto;
    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 {
    list-style-image: none;
    justify-self: center;
}
nav li > a {
    font-weight: bold;
    background-color: var(--bg-color);
    border: 4px double var(--outline-color);
    padding: 0.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: 0.3em;
    transition: 0.2s ease-out;
}
a:visited {
    color: var(--text-color);
}
a:hover {
    color: var(--accent-color);
    border-color: var(--accent-color);
    transition: 0.2s ease;
}
#sidebar {
    background-color: var(--bg-color);
    color: var(--border-color);
    height: fit-content;
    min-width: 320px;
    margin-top: 1em;
    margin-right: 2em;
    border-radius: 0.5em;
}
.small-box {
    max-width: 240px;
    margin: auto;
    border: 2px solid var(--bg-color2);
    /*i gave this one small text cuz i think it looks cute, but you can remove this line to make it normal*/
    font-size: 15px;
    /*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: 1em auto auto;
    /*this line will limit the image size if you decide not to use the flower shape below*/
    max-width: 320px;
}

.blob {
    width: 320px; /* adjust to control the size */
    aspect-ratio: 1;
    clip-path: shape(
        from 65.36% 92.24%,
        curve to 56.97% 95.95% with 61.31% 94.07%,
        curve to 47.87% 98.1% with 52.63% 97.84%,
        curve to 39.29% 94.87% with 43.12% 98.37%,
        curve to 31.06% 90.42% with 35.47% 91.37%,
        curve to 22.38% 87.54% with 26.66% 89.47%,
        curve to 14.21% 82.7% with 18.11% 85.6%,
        curve to 10.42% 74.38% with 10.3% 79.81%,
        curve to 6.17% 65.66% with 10.55% 68.94%,
        curve to 2.5% 57.48% with 1.8% 62.38%,
        curve to 5.3% 48.26% with 3.2% 52.58%,
        curve to 7.77% 39.62% with 7.4% 43.94%,
        curve to 9.59% 31.13% with 8.13% 35.3%,
        curve to 12.97% 22.76% with 11.05% 26.97%,
        curve to 18.27% 15.4% with 14.88% 18.55%,
        curve to 26.17% 11.02% with 21.66% 12.25%,
        curve to 34.59% 7.49% with 30.69% 9.78%,
        curve to 42.9% 3.15% with 38.5% 5.2%,
        curve to 52.02% 1.93% with 47.31% 1.09%,
        curve to 60.86% 5.03% with 56.72% 2.76%,
        curve to 68.65% 9.79% with 64.99% 7.3%,
        curve to 75.39% 15.24% with 72.31% 12.27%,
        curve to 83.14% 19.91% with 78.47% 18.21%,
        curve to 91.35% 25.03% with 87.81% 21.61%,
        curve to 94.14% 33.65% with 94.88% 28.45%,
        curve to 95.91% 43.09% with 93.41% 38.85%,
        curve to 96.95% 51.91% with 98.4% 47.34%,
        curve to 93.71% 60.6% with 95.51% 56.48%,
        curve to 91.73% 69.64% with 91.92% 64.72%,
        curve to 87.38% 77.16% with 91.53% 74.56%,
        curve to 79.46% 81.99% with 83.22% 79.75%,
        curve to 72.55% 87.32% with 75.7% 84.23%,
        curve to 65.36% 92.24% with 69.41% 90.41%
    );
}
/*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: 0.2em;
    background: var(--bg-color2);
    border: 4px double var(--border-color);
    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;
    min-width: 550px;
}

/*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: 0.5em;
    margin-bottom: 10px;
    padding: 0.2em 1em;
    width: fit-content;
    height: fit-content;
}
/*these are the regular blog post styles!*/
article {
    background-color: var(--bg-color);
    padding: 1em;
    border: 2px solid var(--border-color);
    border-radius: 0.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: 0.6em;
    margin-bottom: 0.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: 0.5rem 0;
    border-bottom: 4px double var(--outline-color);
}
.timestamp {
    font-weight: normal;
    font-size: smaller;
    margin: 0.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;
}
#character{
    width: 250px;
    height: 410px;
}
/*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: 0.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: 0.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: 0.3em 1em;
    }
}
