/** Reset some basic elements */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }

/** Basic styling */
body { 
  font: 400 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 
  color: #111; background-color: #fdfdfd; 
  -webkit-text-size-adjust: 100%; 
  -webkit-font-feature-settings: "kern" 1; 
  -moz-font-feature-settings: "kern" 1; 
  -o-font-feature-settings: "kern" 1; 
  font-feature-settings: "kern" 1; 
  font-kerning: normal; 
  display: flex; 
  min-height: 100vh; 
  flex-direction: column; 
}

/** Set `margin-bottom` to maintain vertical rhythm */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, .highlight { margin-bottom: 15px; }

/** `main` element */
main { display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ }

/** Images */
img { max-width: 100%; vertical-align: middle; }
img.zoomable {
  transition: transform 0.25s ease; /* Smooth transition */
  cursor: zoom-in; /* Changes cursor to a zoom icon */
}

img.zoomable:hover {
  transform: scale(1.5); /* Zooms the image by 50% */
}

/** Figures */
figure > img { display: block; }

figcaption { font-size: 14px; }

/** Lists */
ul, ol { margin-left: 30px; }

li > ul, li > ol { margin-bottom: 0; }

/** Headings */
h1, h2, h3, h4, h5, h6 { font-weight: 400; }

/** Links */
a { color: #2a7ae2; text-decoration: none; }
a:visited { color: #1756a9; }
a:hover { color: #111; text-decoration: underline; }
.social-media-list a:hover { text-decoration: none; }
.social-media-list a:hover .username { text-decoration: underline; }

/** Blockquotes */
blockquote { color: #828282; border-left: 4px solid #e8e8e8; padding-left: 15px; font-size: 18px; letter-spacing: -1px; font-style: italic; }
blockquote > :last-child { margin-bottom: 0; }

/** Code formatting */
pre, code { font-size: 15px; border: 1px solid #e8e8e8; border-radius: 3px; background-color: #eef; }

code { padding: 1px 5px; }

pre { padding: 8px 12px; overflow-x: auto; }
pre > code { border: 0; padding-right: 0; padding-left: 0; }

/** Wrapper */
.layout {display: flex; align-items: flex-start; min-height: 80vh;}
.wrapper {max-width: -webkit-calc(1600px - (30px * 2)); max-width: calc(1600px - (30px * 2)); 
          margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }
@media screen and (max-width: 600px) { .wrapper { max-width: -webkit-calc(600px - (30px)); 
  max-width: calc(600px - (30px)); padding-right: 15px; padding-left: 15px; } }

/** Clearfix */
.wrapper:after, .footer-col-wrapper:after { content: ""; display: table; clear: both; }

/** Icons */
.svg-icon { width: 16px; height: 16px; display: inline-block; fill: #828282; padding-right: 5px; vertical-align: text-top; }

.social-media-list li + li { padding-top: 5px; }

/** Tables */
table { margin-bottom: 30px; width: 100%; text-align: left; color: #3f3f3f; border-collapse: collapse; border: 1px solid #e8e8e8; }
table tr:nth-child(even) { background-color: #f7f7f7; }
table th, table td { padding: 10px 15px; }
table th { background-color: #f0f0f0; border: 1px solid #dedede; border-bottom-color: #c9c9c9; }
table td { border: 1px solid #e8e8e8; }

/** Sidebar */
.sidebar {
      width: 220px; background: #2c3e50; color: #fff;
      padding: 2em 1em 1em 1em; box-sizing: border-box;
      position: sticky; top: 0; min-height: 100vh;
    }
.sidebar h2 { font-size: 1.2em; margin-bottom: 1em; }
.sidebar nav a {
  display: block; color: #fff; text-decoration: none;
  margin-bottom: 0.7em; padding: 0.3em 0.7em; border-radius: 4px;
  transition: background 0.2s;
}
.sidebar nav a:hover { background: #34495e; }

/* Responsive adjustments for small screens */
@media (max-width: 600px) {
  .site-logo {
    width: 40px;
    height: 40px;
    left: 8px;
  }
  .site-header .site-title {
    margin-left: 64px;    /* 8 + 40 + 16 */
    font-size: 22px;
    line-height: 40px;
  }
}
/** Site header */
.site-header { border-top: 5px solid #424242; border-bottom: 1px solid #e8e8e8; min-height: 56px; position: relative; }

.site-title { 
  font-size: 26px; font-weight: 300; line-height: 56px; letter-spacing: -1px; 
  margin-bottom: 0; margin-left:276px; float: left; }

.site-title, .site-title:visited { color: #424242; }

/* Logo layout for the header: place logo to the left of the site title */
.site-logo {
  position: absolute; left: 232px; top: 50%; transform: translateY(-50%);
  width: 56px; height: 56px; display: block; z-index: 2;
}

.site-logo img {width: 100%; height: 100%; object-fit: contain; display: block;}

.site-nav { float: right; line-height: 54px; }
.site-nav .nav-trigger { display: none; }
.site-nav .menu-icon { display: none; }
.site-nav .page-link { color: #111; line-height: 1.5; }
.site-nav .page-link:not(:last-child) { margin-right: 20px; }
@media screen and (max-width: 600px) { .site-nav { position: absolute; top: 9px; right: 15px; background-color: #fdfdfd; border: 1px solid #e8e8e8; border-radius: 5px; text-align: right; }
  .site-nav label[for="nav-trigger"] { display: block; float: right; width: 36px; height: 36px; z-index: 2; cursor: pointer; }
  .site-nav .menu-icon { display: block; float: right; width: 36px; height: 26px; line-height: 0; padding-top: 10px; text-align: center; }
  .site-nav .menu-icon > svg { fill: #424242; }
  .site-nav input ~ .trigger { clear: both; display: none; }
  .site-nav input:checked ~ .trigger { display: block; padding-bottom: 5px; }
  .site-nav .page-link { display: block; padding: 5px 10px; margin-left: 20px; }
  .site-nav .page-link:not(:last-child) { margin-right: 0; } }

/** Site footer */
.footer-wrapper {max-width: -webkit-calc(1200px - (30px * 2)); max-width: calc(1200px - (30px * 2)); 
                 margin-left: 220px; padding-right: 30px; padding-left: 30px; }
.site-footer { border-top: 1px solid #e8e8e8; padding: 30px 0; }
.footer-heading { font-size: 18px; margin-bottom: 15px; }
.contact-list, .social-media-list { list-style: none; margin-left: 0; }
.footer-col-wrapper { font-size: 15px; color: #828282; margin-left: -15px; }
.footer-col { float: left; margin-bottom: 15px; padding-left: 15px; }
.footer-col-1 { width: -webkit-calc(33% - (30px / 2)); width: calc(33% - (30px / 2)); }
.footer-col-2 { width: -webkit-calc(22% - (30px / 2)); width: calc(22% - (30px / 2)); }
.footer-col-3 { width: -webkit-calc(45% - (30px / 2)); width: calc(45% - (30px / 2)); }

@media screen and (max-width: 800px) { .footer-col-1, .footer-col-2 { width: -webkit-calc(50% - (30px / 2)); width: calc(50% - (30px / 2)); }
  .footer-col-3 { width: -webkit-calc(100% - (30px / 2)); width: calc(100% - (30px / 2)); } }
@media screen and (max-width: 600px) { .footer-col { float: none; width: -webkit-calc(100% - (30px / 2)); width: calc(100% - (30px / 2)); } }


/** Page content */
.header-wrapper {max-width: -webkit-calc(1200px - (30px * 2)); max-width: calc(1200px - (30px * 2)); 
                 margin-right: auto; padding-right: 30px; padding-left: 30px; }
.page-content { padding: 30px 0; flex: 0 1 900px; margin-left: 40px;}

.page-heading { font-size: 32px; }

.post-list-heading { font-size: 28px; }

.post-list { margin-left: 0; list-style: none; }
.post-list > li { margin-bottom: 30px; }

.post-meta { font-size: 14px; color: #828282; }

.post-link { display: block; font-size: 24px; }

/** Posts */
.post-header { margin-bottom: 30px; }

.post-title { font-size: 42px; letter-spacing: -1px; line-height: 1; }
@media screen and (max-width: 800px) { .post-title { font-size: 36px; } }

.post-content { margin-bottom: 30px; }
.post-content h2 { font-size: 32px; }
@media screen and (max-width: 800px) { .post-content h2 { font-size: 28px; } }
.post-content h3 { font-size: 26px; }
@media screen and (max-width: 800px) { .post-content h3 { font-size: 22px; } }
.post-content h4 { font-size: 20px; }
@media screen and (max-width: 800px) { .post-content h4 { font-size: 18px; } }

