/* these are the main colors and bg images replace them with anything you want! */ :root { --header-bg: url('images/header.png'); --site-bg: url("images/flowertile.png"); --accent-color: #f55cc0; --select-color: #ffc1e9; --link-color: #5083C1; --bg-color: #CEEAFF; --bg-color2: white; --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("images/flower.png"); } 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 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; } }