:root { --clr-body-bg: #08031A; --img-body-bg: url('/assets/starsforever.gif'); --clr-body-txt: #fceaff; --clr-content-bg: #3d2163; --clr-main-heading: #ED64F5; --clr-sub-heading: #e8b86f; --clr-title-border: #d3aad5; --clr-bold-txt: #ff9933; --clr-link: #ED64F5; --clr-link-hover: #c355c9; --clr-quote-bg: #13092D; --clr-quote-border: #999999; --clr-code-bg: #241445; --clr-code-border: #82668f; --clr-dates: rgb(158, 203, 255); --clr-link-btn-bg: #873eb5; --clr-link-btn-txt: white; --clr-link-btn-hover: #241445; --clr-header-bg: black; --clr-nav-bg: #222; --clr-nav-link: white; --clr-footer-bg: #13092D; } @font-face { font-family: 'Nunito'; src: url('/assets/fonts/Nunito-VariableFont_wght.ttf') format("truetype"); font-weight: 125 950; font-stretch: 75% 125%; font-style: normal; } @font-face { font-family: 'Nunito'; src: url('/assets/fonts/Nunito-Italic-VariableFont_wght.ttf') format("truetype"); font-weight: 125 950; font-stretch: 75% 125%; font-style: italic; } /* CSS RESET */ /* Box sizing rules */ *, *::before, *::after { box-sizing: border-box; } /* Remove default margin */ body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; } /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */ ul[role='list'], ol[role='list'] { list-style: none; } /* Set core root defaults */ html:focus-within { scroll-behavior: smooth; } /* Set core body defaults */ body { min-height: 100vh; text-rendering: optimizeSpeed; line-height: 1.5; } /* A elements that don't have a class get default styles */ a:not([class]) { text-decoration-skip-ink: auto; } /* Make images easier to work with */ img, picture { max-width: 100%; display: block; } /* Inherit fonts for inputs and buttons */ input, button, textarea, select { font: inherit; } /* Remove all animations, transitions and smooth scroll for people that prefer not to see them */ @media (prefers-reduced-motion: reduce) { html:focus-within { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } /* STYLING BEGINS */ body { display: flex; align-items: center; flex-direction: column; font-family: 'Nunito'; color: var(--clr-body-txt); background-color: var(--clr-body-bg); background-image: var(--img-body-bg); background-attachment: fixed; } h1 { color: var(--clr-main-heading); } h1 { margin-bottom: 1.2rem; } h2, h3 { color: var(--clr-sub-heading); } h1 { font-size: 2.2rem; border-bottom: 0.18rem solid var(--clr-title-border); } h2 { font-size: 1.7rem; } article:not(.divided-article) h2, article h3, .content-section h3 { margin-top: 1.5rem; } p { padding: 0.5rem 0;; } strong { color: var(--clr-bold-txt); } a { font-weight: 700; color: var(--clr-link); } a:hover { color: var(--clr-link-hover); } blockquote { margin: 1.5rem 0; padding: 0.5rem 1rem; border-inline-start: 0.1rem solid var(--clr-main-heading); background-color: var(--clr-quote-bg); } button:hover { cursor: pointer; } pre { white-space: pre-wrap; overflow-x: auto; } summary { cursor: pointer; } .bold-text { font-weight: 700; } /* ELEMENT STYLES WITH CUSTOM CLASSES */ .center-el { margin: 0 auto; } .center-text { text-align: center; } .date-style { font-weight: 700; color: var(--clr-dates); } /* HEADER COMPONENT */ header { width: 100%; max-height: 20rem; background-color: var(--clr-header-bg); display: flex; flex-direction: column; justify-content: center; } header img { object-fit: contain; height: 100%; } /* NAVIGATION BAR COMPONENT */ nav { background: var(--clr-nav-bg); padding: 0 0.6rem; width: 100%; z-index: 999; } nav a { color: var(--clr-nav-link); text-decoration: none; cursor: pointer; } .nav__menu { list-style: none; padding: 0; display: flex; justify-content: space-evenly; flex-wrap: wrap; gap: 0.5rem; } /* Added to the navbar with JS when it reaches its scroll position */ .sticky-nav { position: fixed; width: 100%; top: 0; } /* Add some top padding to the page content to prevent sudden quick movement as the navigation bar gets a new position at the top of the page (position:fixed and top:0) */ .sticky-nav + main { padding-top: 3.75rem; } /* MAIN CONTENT */ main, .content-container, .divided-article { gap: 0.8rem; display: flex; flex-direction: column; width: 100%; } main { font-size: 1.2rem; } article:not(.divided-article), .content-section, .qna-section { background-color: var(--clr-content-bg); padding: 1.35rem; } .article-section { padding: 1.25rem 0; } aside { padding: 1rem; font-size: 0.9rem; background-color: var(--clr-content-bg); } article, .content-container { order: 1; } .sidebar--sticky { position: sticky; top: 5rem; } .left-sidebar { order: 2; } .right-sidebar { order: 3; } /* Tablet main content layout */ @media only screen and (min-width: 43.75rem) { main { flex-direction: row; } aside { width: 10rem; } article, .content-container { flex: 1; order: 2; } .left-sidebar { order: 1; } .right-sidebar { order: 3; } } /* Desktop main content layout */ @media only screen and (min-width: 60rem) { main { width: 60rem; display: flex; flex-direction: row; justify-content: center; } aside { width: 12rem; } } @media only screen and (min-width: 65rem) { main { width: 65rem; } } /* CUSTOM CLASSES FOR SPECIAL ELEMENTS */ .inline-code { font-family: monospace; border: 0.06rem solid var(--clr-code-border); padding: 0.125rem 0.3rem; margin-left: 0.125rem; margin-right: 0.125rem; background-color: var(--clr-code-bg); } .code-snippet { background-color: var(--clr-code-bg); border: 0.08rem solid var(--clr-code-border); display: block; padding: 0.5em 0.8rem; overflow-x: auto; word-break: keep-all; } .text-box { background-color: var(--clr-quote-bg); border: 0.06rem solid var(--clr-main-heading); padding: 0.625rem; margin-bottom: 0.8rem; } /* Link button */ .link-btn { font: 1.3rem 'Source Sans Pro', Arial, sans-serif; display: inline-block; border: 0.15rem solid var(--clr-link-btn-bg); border-radius: 0.6rem; padding: 0.75rem 1rem; margin: 0.3rem; background-color: var(--clr-link-btn-bg); color: var(--clr-link-btn-txt); cursor: pointer; font-weight: 700; text-transform: uppercase; } .link-btn, .link-btn:hover, .link-btn:visited { text-decoration: none; } .link-btn:hover { cursor: pointer; background-color: var(--clr-link-btn-hover); transition: 0.5s; } /* Q & A accordion */ .qna-accordion { margin: 1.5rem 0; } .qna-accordion__question { font-weight: 700; } .qna-accordion__answer { padding: 0.75rem 1.5rem; margin-top: 0.5rem; background: hsla(0, 0%, 100%, 0.15); } /* Embedded YouTube video */ .full-width-youtube-video { position: relative; padding-bottom: 56.25%; height: 0; } .full-width-youtube-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Website link button */ .site-btn__container { display: flex; gap: 1rem; align-items: center; margin: 0.5rem 0; } .site-btn__textarea { width: 10rem; height: 2.5rem; font-size: 0.75rem; background-color:black; color: var(--clr-body-txt); } .copy-txt-btn { border: none; background: var(--clr-link-btn-bg); color: var(--clr-body-txt); padding: 0.3rem 0.8rem; border-radius: 0.5rem; font-size: 0.9rem; font-weight: bold; } .copy-txt-btn:hover { background: var(--clr-link-hover); } /* Web button lists */ .web-btn-wrapper { display: flex; flex-wrap: wrap; gap: 0.5rem; } /* TABLE OF CONTENTS */ .sidebar__toc { position: sticky; top: 5rem; } .sidebar__toc-title { font-size: 1.3rem; font-weight: bold; } .sidebar__toc-list { list-style: none; margin-left: 0; padding-left: 0; font-size: 1rem; } .sidebar__toc-list li { margin-bottom: 0.5em; } .sidebar__toc-list ul { padding-left: 1.25rem; } /* FOOTER COMPONENT */ footer { background-color: var(--clr-footer-bg); width: 100%; padding: 0.5rem; text-align: center; } footer p { padding: 0; }