/* * Globals */ :root { --tokyonight-bg: #1a1b26; --tokyonight-fg: #c0caf5; --tokyonight-blue: #7aa2f7; --tokyonight-green: #9ece6a; --tokyonight-red: #f7768e; --tokyonight-yellow: #e0af68; --tokyonight-comment: #565f89; --cyan: #565f89; --bg: #1a1b26; /* colors[0] */ --fg: #a9b1d6; /* colors[1] */ --blk: #32344a; /* colors[2] */ --red: #f7768e; /* colors[3] */ --grn: #9ece6a; /* colors[4] */ --ylw: #e0af68; /* colors[5] */ --blu: #7aa2f7; /* colors[6] */ --mag: #ad8ee6; /* colors[7] */ --cyn: #0db9d7; /* colors[8] */ --brblk: #444b6a; /* colors[9] */ } @font-face { font-family: "JetBrainsMono Nerd Font"; src: url('/fonts/JetBrainsMonoNerdFont-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: "Jost"; src: url('/fonts/Jost-500-Medium.ttf') format('truetype'); font-weight: normal; font-style: normal; } ::root { box-sizing: border-box; } html { font-size: 16px; /* font-weight: bold; */ } .container { margin-right: auto; margin-left: auto; padding-right: 0.75rem; padding-left: 0.75rem; max-width: 80rem; } @media screen and (max-width: 767px) { html { font-size: 16px; } .logo { max-width: 200px; } .row .column:not(:last-child) { margin-bottom: 1rem; } .video { width: 100%; } .list-form { width: 90%; } .newsletter-text { font-size: 0.42em; } blockquote { margin: 1rem 0rem; } aside.content-panel { display: none; } .container { margin-right: auto; margin-left: auto; padding-right: 1rem; padding-left: 1rem; max-width: 100%; } } /* sm */ @media screen and (min-width: 768px) { html { font-size: 16px; } .logo { max-width: 200px; } .row { display: flex; flex-direction: row; padding: 0; width: 100%; } .row .column { display: block; flex: 1 1 auto; max-width: 100%; width: 100%; } .row .column:not(:last-child) { margin-right: 10px; } .align-right { text-align: right; } .video { width: 70%; } .list-form { width: 60%; } .newsletter-text { font-size: 0.9em; } blockquote { margin: 1rem 2rem; } } /* md */ @media screen and (min-width: 992px) { html { font-size: 18px; } .logo { max-width: 300px; } blockquote { margin: 1rem 4rem; } } /* lg */ @media screen and (min-width: 2560px) { html { font-size: 18px; } } body { background-color: var(--tokyonight-bg); color: var(--tokyonight-fg); /* font-family: 'JetBrainsMono Nerd Font'; */ font-family: 'Jost', sans-serif; margin: 0; line-height: 1.5; } p { margin-top: 0; margin-bottom: 1rem; } b { font-weight: 700; } blockquote { background-color: #232635; font-style: italic; border: 1px solid; border-radius: 4px; border-image: linear-gradient(45deg, #f78c6c, rgb(250,224,66)) 1; padding: 1.4rem 1.4rem 0.4rem 1.4rem; } blockquote p { margin-bottom: 0.6rem; } dt { font-weight: bold; } dd { border-left: 3px solid #89aaeb; margin: 10px 40px; padding-left: 10px; } .nav { display: flex; flex-wrap: wrap; justify-content: center; } .subnav { background-color: #232635; display: flex; flex-wrap: wrap; justify-content: center; margin-top: 2rem; margin-bottom: 2rem; font-weight: bold; padding-top: 0.75rem; padding-bottom: 0.75rem; border-top: 0.05rem solid #c3e88d; border-bottom: 0.05rem solid #c3e88d; } .subnav a { /* margin-top: 2rem; */ /* margin-bottom: 2rem; */ margin-left: 0.5rem; margin-right: 0.5rem; } h1, h2, h3, h4, h5, h6 { color: var(--tokyonight-blue); font-weight: 600; line-height: 1.3; margin-top: 1.3rem; margin-bottom: 0.5rem; } h1 { color: var(--tokyonight-blue); font-size: 1.3rem; font-family: 'Jost', sans-serif; } h2 { color: var(--cyn); line-height: 1.2; font-family: 'Jost', sans-serif; } h3 { color: var(--tokyonight-blue); line-height: 1.1; } h4 { line-height: 1.0; color: #c3e88d; } a { color: var(--tokyonight-blue); } a:hover, a:focus { text-decoration: underline; color: #82aaff; } .anchor { color: #292d3e; float: left; padding-right: 4px; margin-left: -23px; } .anchor:hover { text-decoration: none; } h2:hover .anchor, h3:hover .anchor, h4:hover .anchor { color: inherit; } kbd { font-family: "JetBrainsMono Nerd Font"; font-weight: 200; } pre { border: 1px solid var(--tokyonight-blue); background-color: #232635; padding: 1em; overflow-x: scroll; max-width: 100%; box-sizing: border-box; } code { color: var(--mag); word-break: break-word; white-space: pre-wrap; } pre, code { /* font-size: 0.75em; */ font-family: "JetBrainsMono Nerd Font"; } strong { font-weight: 700; } .content { margin-top: } .logo { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; margin-left: auto; margin-right: auto; text-align: center; } /* Nav links */ .nav-link { position: relative; padding: 0rem; font-size: 1.1rem; margin: 0.4rem 0.8rem 0.4rem 0rem; font-weight: bold; color: #cdddeb; } .nav-link:hover, .nav-link:focus { color: #fff; background-color: transparent; } /* Active state gets a caret at the bottom */ .nav-link.active { color: #fff; font-weight: bolder; } .nav-icon { float: right; } .nav-icons { width: auto; } .site-header { display: flex; flex-direction: column; justify-content: flex-end; font-weight: bold; /* background-image: url("/img/header_bg.png"); */ /* background-image: url("/img/samarkand-bg.png"); */ /* background-image: url("/img/castle-bg.png"); */ background-image: url("/img/forrest-1-bg.png"); /* background-image: url("/img/forrest-2-bg.png"); */ /* background-image: url("/img/mountain-3-bg.png"); */ /* background-image: url("/img/mountain-as-is-bg.png"); */ /* background-image: url("/img/mountain-bg.png"); */ background-size: cover; background-position: center; color: #1a1b26; border-bottom: 1px solid #292d3e; min-height: 160px; padding: 0; } .site-masthead { font-family: sans-serif; font-weight: bold; margin-bottom: 0; background-color: rgba(28, 31, 38, 0.5); border-bottom: 0.05rem solid var(--cyn); -webkit-box-shadow: inset 0 -0.1rem 0.25rem rgba(0, 0, 0, 0.1); box-shadow: inset 0 -0.1rem 0.25rem rgba(0, 0, 0, 0.1); } .site-title { margin-bottom: 0rem; font-size: 2rem; font-weight: bold; color: #82aaff; } .site-description { font-size: 1.5rem; color: #999; } @media (max-width: 40em) { .site-description { margin-bottom: 1rem; } } /* * Site pages */ .site-post { margin-bottom: 2rem; } .site-post-title { font-size: 2.2rem; } .site-post-meta { color: #AAA; } .site-post-tags { margin-top: 3rem; margin-bottom: 1.25rem; font-size: 1.1rem; color: #999; } /* * Footer */ .site-footer { padding: 1.3rem 0; margin-top: 1rem; color: #cdddeb; font-size: 0.8rem; background-color: #232635; border-top: 0.05rem solid #c3e88d; } .site-footer p:last-child { margin-bottom: 0; } .site-footer-right { text-align: right; } .site-footer-line { margin-bottom: 0.4rem; } .video { position: relative; overflow: hidden; margin-left: auto; margin-right: auto; text-align: center; } .center { display: block; margin-left: auto; margin-right: auto; text-align: center; } .bold { font-weight: bold; } hr { border-bottom: 0.05rem solid #c3e88d; } .video::after { display: block; content: ""; padding-top: 56.25%; } .video iframe { position: absolute; top: 0; left: 0; border: 0; width: 100%; height: 100%; } .cta { width: 80%; padding: 1rem; margin-top: 1rem; margin-bottom: 1rem; border: 1px solid #f78c6c; border-radius: 4px; background-color: #232635; } .cta p { margin: 5px; } .stream-time { width: 80%; padding: 1rem; margin-top: 1rem; margin-bottom: 1rem; border: 1px solid #c792ea; border-radius: 4px; background-color: #232635; } .list-form { font-size: 0.8rem; padding: 1rem; margin-bottom: 1rem; border: 1px solid #c3e88d; border-radius: 4px; background-color: #232635; } .list-form-title { font-weight: 600; font-size: 1.1rem; margin-bottom: 0.5rem; color: #c3e88d; } .list-form-label { margin-top: 0.8rem; font-weight: bold; } .list-form input[type="text"] { width: 100%; padding: 7px 7px; margin: 8px 0; box-sizing: border-box; border: 1px solid #c3e88d; border-radius: 4px; background-color: #232635; color: #eeffff; } .list-form input[type="submit"] { width: 50%; padding: 10px 10px; margin: 8px 0; box-sizing: border-box; border: 1px solid #89aaeb; border-radius: 4px; background-color: #89aaeb; color: #232635; } .newsletter-text { } .register-button { width: 60%; padding: 10px 10px; border: 1px solid #89aaeb; border-radius: 4px; background-color: #89aaeb; color: #232635; } a:hover.register-button, a:focus.register-button { color: #232635; } aside.content-panel { margin-top: 0.75rem; background-color: #232635; border: 1px solid #565f89; border-radius: 6px; padding: 1rem; font-size: 0.9rem; } #tableOfContentContainer nav { padding-left: 0; } #tableOfContentContainer nav ul, #tableOfContentContainer nav ol { list-style: none; padding-left: 0; } #tableOfContentContainer nav ol li > ol, #tableOfContentContainer nav ul li > ul { margin-left: 1rem; padding-left: 0.5rem; border-left: 1px solid #444b6a; } #tableOfContentContainer nav li { margin-bottom: 0.5rem; } #tableOfContentContainer nav a { color: var(--tokyonight-blue); text-decoration: none; } #tableOfContentContainer nav a:hover { text-decoration: underline; } .row { flex-wrap: wrap; } .row .column { min-width: 0; box-sizing: border-box; } .post-hero { margin: 1.5rem 0; text-align: center; } .post-hero img { width: 100%; max-width: 100%; height: auto; border-radius: 8px; border: 1px solid #3b4261; /* optional tokyonight border */ } .tutorial-grid { display: grid; grid-template-columns: repeat(3, 1fr); /* max of 3 */ gap: 2rem; max-width: 1280px; margin: 0 auto; padding: 0 1rem; } @media (max-width: 1024px) { .tutorial-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 600px) { .tutorial-grid { grid-template-columns: 1fr; overflow-x: auto; scroll-snap-type: x mandatory; display: grid; } .tutorial-card { scroll-snap-align: start; } } /* .tutorial-grid { */ /* display: grid; */ /* grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); */ /* gap: 2rem; */ /* max-width: 1280px; */ /* margin: 0 auto; */ /* padding: 0 1rem; */ /* } */ .tutorial-card-title { font-size: 1.2rem; color: #7aa2f7; margin-bottom: 0.5rem; } .tutorial-card-title a { text-decoration: none; color: inherit; } .tutorial-card-title a:hover { text-decoration: underline; } .tutorial-card-date { font-size: 0.875rem; color: #565f89; margin-bottom: 0.5rem; } .tutorial-card-description { font-size: 0.95rem; color: #c0caf5; } .tutorial-card { width: 426px; /* max-width: 480px; */ background-color: var(--blk); border: 1px solid var(--blu); border-radius: 8px; padding: 1rem; color: #c0caf5; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); box-sizing: border-box; } @media (max-width: 768px) { .tutorial-card { width: 100%; } } .tutorial-card-image { width: 100%; aspect-ratio: 16 / 9; border: 1px solid var(--blu); border-radius: 4px; margin-bottom: 1rem; background-color: #16161e; box-sizing: border-box; } .btn-primary { display: inline-block; padding: 0.5rem 1.25rem; border: 2px solid var(--blu); color: var(--blu); text-decoration: none; border-radius: 0.25rem; font-weight: 600; } .btn-primary:hover { background-color: var(--blu); color: #000; } .btn-outline { display: inline-block; padding: 0.5rem 1.25rem; border: 2px solid var(--cyn); color: var(--cyn); text-decoration: none; border-radius: 0.25rem; font-weight: 600; } .btn-outline-secondary { display: inline-block; padding: 0.5rem 1.25rem; border: 2px solid var(--mag); color: var(--mag); text-decoration: none; border-radius: 0.25rem; font-weight: 600; } .btn-outline-secondary:hover { background-color: var(--mag); color: #000; } .btn-outline:hover { background-color: var(--cyn); color: #000; } .recent-tutorials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; max-width: 1280px; margin: 0 auto; padding: 0 1rem; } table { border-collapse: collapse; width: 100%; margin: 1.5rem 0; font-size: 0.95rem; } th, td { border: 1px solid #444; padding: 0.5rem 0.75rem; text-align: left; } th { background-color: #1a1b26; /* or your Tokyonight bg */ color: #c0caf5; /* Tokyonight fg */ } td { background-color: #24283b; /* Slightly lighter bg */ color: #a9b1d6; } @media screen and (max-width: 768px) { table, thead, tbody, th, td, tr { display: block; } tr { margin-bottom: 1rem; } th { display: none; } td { border: none; position: relative; padding-left: 1.5rem; } td::before { content: attr(data-label); position: absolute; left: 0; top: 0; font-weight: bold; color: #7aa2f7; } }