/*! JJ CSS */ body { width: 100%; height: 100%; margin: 0; color: #000000; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-weight: 300; font-size: 24px; line-height: 1.5em; } * { box-sizing: border-box; } a { background-color: transparent; text-decoration: none; border-bottom: 1px dashed transparent; transition: border-color 0.15s linear; } body#home { display: table-cell; vertical-align: middle; width: 100%; height: 100%; margin: 0 auto; padding: 6% 8%; } body#home img#me { float: right; margin: 0 0 20px 20px; padding: 4px; border: 1px solid #dddddd; width: 160px; height: 160px; } body#home h1 { margin: 0 0 20px 0; font-size: 1.5em; font-weight: 500; line-height: 1em; } body#home h2 { margin: 20px 0; font-size: 1.2em; font-weight: 400; line-height: 1.4em; } body#home p { margin: 20px 0; font-size: 1em; } body#home sup { top: -0.5em; font-size: 0.5em; line-height: 0; position: relative; vertical-align: baseline; vertical-align: middle; } /* Responsive Awesomeness */ @media screen and (max-width: 800px) { body { font-size: 16px; } body#home img#me { width: 70px; height: 70px; padding: 2px; margin: 0 0 10px 10px; } body#home h1 { margin: 0 0 12px 0; } body#home h2 { margin: 12px 0; } body#home p { font-size: 1.1em; line-height: 1.5em; margin: 12px 0; } body#home div#footer div#panda { display: none; } body#home div#footer div#blog, body#home div#footer div#info { width: 50% !important; line-height: 20px !important; } body#home div#footer div#info { font-size: 0.7em !important; } body#home div#footer div#blog { font-size: 0.9em !important; } body#home div#footer div#info span#copyright::after { content: "\A"; white-space: pre; } } /* Colo[u]rful Links */ body#home a#boston { color: #fb4d42; } body#home a#boston:hover { border-color: #fb4d42; } body#home a#javascript { color: #f48024; } body#home a#javascript:hover { border-color: #f48024; } body#home a#node { color: #6fbc4e; } body#home a#node:hover { border-color: #6fbc4e; } body#home a#express { color: #259dff; } body#home a#express:hover { border-color: #259dff; } body#home a#mongo { color: #13aa52; } body#home a#mongo:hover { border-color: #13aa52; } body#home a#react { color: #61dafb; } body#home a#react:hover { border-color: #61dafb; } body#home a#angular { color: #c3002f; } body#home a#angular:hover { border-color: #c3002f; } body#home a#vue { color: #486491; } body#home a#vue:hover { border-color: #486491; } body#home a#java { color: #ab6311; } body#home a#java:hover { border-color: #ab6311; } body#home a#cpp { color: #865fc5; } body#home a#cpp:hover { border-color: #865fc5; } body#home a#python { color: #f3bb12; } body#home a#python:hover { border-color: #f3bb12; } body#home a#php { color: #8892bf; } body#home a#php:hover { border-color: #8892bf; } body#home a#ruby { color: #d34135; } body#home a#ruby:hover { border-color: #d34135; } body#home a#infosec { color: #00b81a; } body#home a#infosec:hover { border-color: #00b81a; } body#home a#server { color: #0098ec; } body#home a#server:hover { border-color: #0098ec; } body#home a#server span#serverless { color: #87cef7; } body#home a#devops { color: #ff6200; } body#home a#devops:hover { border-color: #ff6200; } body#home a#containerization { color: #c48f49; } body#home a#containerization:hover { border-color: #c48f49; } body#home a#y2k { color: #ffa900; } body#home a#y2k:hover { border-color: #ffa900; } body#home a#y2k span#shh { color: #aaaaaa; } body#home span#fairy { color: #fd5da8; } body#home span#fairy:hover { cursor: url(data:image/svg+xml;utf8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMiIgc3R5bGU9ImZvbnQtc2l6ZToxNnB4Ij48dGV4dCB5PSIxOCI+8J+nmjwvdGV4dD48L3N2Zz4=), default !important; } body#home a#github { color: #8d4eff; } body#home a#github:hover { border-color: #8d4eff; } body#home a#linkedin { color: #0073b1; } body#home a#linkedin:hover { border-color: #0073b1; } body#home a#facebook { color: #4267b2; } body#home a#facebook:hover { border-color: #4267b2; } body#home a.twitter { color: #00acee; } body#home a.twitter:hover { border-color: #00acee; } body#home a#instagram { color: #a37754; } body#home a#instagram:hover { border-color: #a37754; } body#home a#mastodon { color: #6d8ca7; } body#home a#mastodon:hover { border-color: #6d8ca7; } body#home a#news-1 { color: #ff1b1b; } body#home a#news-1:hover { border-color: #ff1b1b; } body#home a#news-2 { color: #f78200; } body#home a#news-2:hover { border-color: #f78200; } body#home a#news-3 { color: #ffc30c; } body#home a#news-3:hover { border-color: #ffc30c; } body#home a#news-4 { color: #5ebd3e; } body#home a#news-4:hover { border-color: #5ebd3e; } body#home a#news-5 { color: #009cdf; } body#home a#news-5:hover { border-color: #009cdf; } body#home a#news-6 { color: #3e49bb; } body#home a#news-6:hover { border-color: #3e49bb; } body#home a#news-7 { color: #973999; } body#home a#news-7:hover { border-color: #973999; } body#home a#resume { color: #d54b3d; } body#home a#resume:hover { border-color: #d54b3d; } body#home a#email { color: #de0c0c; } body#home a#email:hover { border-color: #de0c0c; } body#home a#pgp { color: #777777; margin-left: -2px; } body#home a#pgp:hover { border-color: #777777; } body#home a#sms { color: #6fcc01; } body#home a#sms:hover { border-color: #6fcc01; } /* Footer */ body#home div#footer { margin: 0; height: 40px; } body#home div#footer div { float: left; vertical-align: middle; line-height: 40px; height: 100%; } body#home div#footer div#blog { width: 40%; text-align: left; font-size: 0.75em; } body#home div#footer div#blog a { color: #0077a7; } body#home div#footer div#blog a:hover { border-color: #0077a7; } body#home div#footer div#panda { width: 20%; text-align: center; font-size: 1em; } body#home div#footer div#panda span { text-align: center; width: 12px; } body#home div#footer div#info { width: 40%; font-size: 0.5em; color: #666666; text-align: right; } body#home div#footer div#info a { color: #666666; } body#home div#footer div#info a#source { border-bottom: 1px solid #dddddd; } /* Fancy Waving Hand Emoji (TM) */ @keyframes wave { 0% { transform: rotate( 0.0deg); } 10% { transform: rotate(-10.0deg); } 20% { transform: rotate( 12.0deg); } 30% { transform: rotate(-10.0deg); } 40% { transform: rotate( 9.0deg); } 50% { transform: rotate( 0.0deg); } 100% { transform: rotate( 0.0deg); } } body#home h1 span#wave { display: inline-block; animation-name: wave; animation-duration: 2.5s; animation-iteration-count: infinite; transform-origin: 70% 70%; } /*! Blog Styles */ body#notes { font-size: 18px; font-weight: 400; margin: 0 auto; padding: 20px 10%; max-width: 1150px; } body#notes a { color: #0077a7; background-color: transparent; text-decoration: none; border-bottom: 1px dashed transparent; transition: border-color 0.15s linear; } body#notes a:hover { border-color: #0077a7; } /* Responsiveness */ @media screen and (max-width: 800px) { body#notes { padding: 20px !important; } body#notes, body#notes div#single { width: 100%; max-width: 100%; box-sizing: border-box; } body#notes div#header { margin-top: 0px !important; margin-bottom: 20px !important; } body#notes div#header a#logo img, body#notes div#header a#logo svg { height: 75px !important; width: 50px !important; } body#notes div#footer { margin-bottom: 30px !important; } body#notes div#footer div#panda { display: none; } body#notes div#footer div#copyright, body#notes div#footer div#poweredby { width: 50% !important; line-height: 20px !important; font-size: 14px !important; line-height: 1.8em !important; } body#notes div#footer div#poweredby a#hugo::after { content: "\A"; white-space: pre; } body#notes div#single div.meta { font-size: 15px !important; } body#notes div#content code { white-space: normal; } } /* Header */ body#notes div#header { font-size: 16px; margin-top: 20px; margin-bottom: 40px; } body#notes div#header a#more { border: none; font-size: 18px; font-weight: 400; } body#notes div#header a#logo { border: none; margin: 20px auto; display: block; } body#notes div#header a#logo img, body#notes div#header a#logo svg { height: 150px; width: 100px; margin: 0 auto; display: block; border: none; } /* Footer */ body#notes div#footer { border-top: 1px solid #cccccc; height: 40px; font-size: 24px; padding-top: 16px; margin-top: 30px; margin-bottom: 20px; } body#notes div#footer a { color: #666666; border: none; } body#notes div#footer div { float: left; vertical-align: middle; line-height: 40px; height: 100%; } body#notes div#footer div#copyright, body#notes div#footer div#poweredby { width: 40%; font-size: 0.5em; color: #666666; } body#notes div#footer div#copyright { text-align: left; } body#notes div#footer div#poweredby { text-align: right; } body#notes div#footer div#poweredby a#source { border-bottom: 1px solid #dddddd; } body#notes div#footer div#panda { width: 20%; text-align: center; font-size: 1em; } body#notes div#footer div#panda span { text-align: center; width: 12px; } /* Single Post */ body#notes div#single div#content, body#notes div#single div#content p { line-height: 1.7; object-fit: contain; } body#notes div#single div#info { text-align: center; } body#notes div#single h1 { margin-top: 0; margin-bottom: 20px; color: #222; font-size: 32px; line-height: 1.4em; } body#notes div#single h1 a { color: #222; border: none; } body#notes div#single h2 { margin-top: 20px; margin-bottom: 10px; font-weight: normal; font-size: 24px; line-height: 1.5em; color: #111; } body#notes div#single div.meta { margin: -5px 0 0 0; color: #666666; font-size: 13px; line-height: 1.5em; letter-spacing: 1px; } body#notes div#single div.meta a { color: #666666; border: none; } body#notes div#single div.meta div.tags { text-transform: uppercase; line-height: 1.5em; letter-spacing: 2px; margin-top: 5px; } body#notes div#single div.meta div.tags span.tag { color: #666666; border: none; margin: 0 7px; } body#notes div#single div.meta div.tags span.tag a { color: #666666; border: none; } body#notes div#single div#content img { max-width: 100%; margin: 0 auto; display: block; object-fit: scale-down; } body#notes div#single div#content img + em { display: block; text-align: center; font-size: 15px; color: #555555; margin-top: 5px; } body#notes div#single div#content blockquote { border-left: 6px solid #0087be; margin-left: 6px; padding-left: 15px; } body#notes div#single div#content code { font-family: monospace; background: #f4f4f4; padding: 0.2em; border: 1px solid #cccccc; font-size: 16px; } body#notes div#single div#content pre code { padding: 1em 1.5em; line-height: 1.6; page-break-inside: avoid; border: 1px solid #ddd; border-left: 3px solid #0087be; overflow-x: scroll; display: block; max-width: 100%; object-fit: scale-down; } body#notes div#single div#content hr { width: 60%; margin: 10px auto; border: 1px solid #ccc; } body#notes div#single div#content div.embed.video-player { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; } body#notes div#single div#content div.embed.video-player iframe.youtube-player { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; margin-bottom: 10px; display: inline-block; } body#notes div#single div#commento { border-top: 1px solid #cccccc; padding-top: 20px; margin-top: 20px; } body#notes div#single div#commento a.commento-name { max-width: none !important; border: none; } body#notes div#single div#commento div.commento-logged-container { display: block !important; } body#notes div#single div#commento div#commento-footer { display: none; } /* Archive List */ body#notes div#archive div.year ul { list-style-type: none; padding-left: 0; display: block; } body#notes div#archive div.year ul li::after { content: ''; display: block; clear: both; } body#notes div#archive div.year ul li:last-child { margin-bottom: 20px; } body#notes div#archive div.year ul li+li { padding-top: 20px; } body#notes div#archive div.year div.date { float: left; color: #666666; width: 100px; font-weight: 400; } body#notes div#archive div.year div.title { float: left; width: calc(100% - 100px); } /*! Error Styles */ body#error { background: #efefef; color: #5f5f5f; font-family: Helvetica, Arial, sans-serif; margin: 0; padding: 0; } body#error div#message { background: #ffffff; max-width: 400px; margin: 100px auto 16px; padding: 16px 32px; border-radius: 4px; box-shadow: 0 1px 3px #e0e0e0, 0 1px 2px #888888; } body#error div#message h1 { margin: 16px 0; font-size: 22px; font-weight: 300; } body#error div#message p { margin: 16px 0; font-size: 14px; line-height: 140%; } body#error div#message a { color: #039be5; } @media (max-width: 600px) { body#error, body#error div#message { background: #ffffff; margin-top: 16px; box-shadow: none; } }