/*
 *  __                  __
 * /\ \                /\ \
 * \ \ \___   __  __   \_\ \     __
 *  \ \  _ `\/\ \/\ \  /'_` \  /'__`\
 *   \ \ \ \ \ \ \_\ \/\ \_\ \/\  __/
 *    \ \_\ \_\/`____ \ \___,_\ \____\
 *     \/_/\/_/`/___/> \/__,_ /\/____/
 *                /\___/
 *                \/__/
 *
 * Designed, built, and released under MIT license by @mdo. Learn more at
 * https://github.com/poole/hyde.
 */


/*
 * Contents
 *
 * Global resets
 * Sidebar
 * Container
 * Reverse layout
 * Themes
 */


/*
 * Global resets
 *
 * Update the foundational and global aspects of the page.
 */

html {
  font-family: ui-rounded, Helvetica, Arial, sans-serif;
}
@media (min-width: 48em) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 64em) {
  html {
    font-size: 20px;
  }
}


/*
 * Sidebar
 *
 * Flexible banner for housing site name, intro, and "footer" content. Starts
 * out above content in mobile and later moves to the side with wider viewports.
 */

.sidebar {
  padding: 2rem 1rem;
  overflow: auto;
}
@media print {
  .sidebar {
    padding: 0rem;
  }
}
@media only screen and (min-width: 48em) {
  .sidebar {
    position: fixed;
    margin: 2rem;
    padding: 0 0;
    top: 0;
    left: 0;
    bottom: 0;
    width: 19rem;
    text-align: left;
    border-radius: 1rem;
  }
}

/* Main sidebar content (stuff that's always meant to be displayed) */
.sidebar-main {
  display: flex;
  flex-direction: row;
}

.sidebar-about {
  flex-grow: 1;
}

.sidebar-nav-toggle {
  flex-basis: 20px;
}

@media only screen and (min-width: 48em) {
  .sidebar-nav-toggle {
    display: none;
  }

  .sidebar-nav-label {
    display: none;
  }
}
@media print {
  .sidebar-nav-toggle {
    display: none;
  }

  .sidebar-nav-label {
    display: none;
  }
}

/* Nav toggle icon */
.sidebar-nav-label {
  cursor: pointer;
  display: inline-block;
  float: right;
  margin-right: calc(-10px + 1rem);
  padding: 20px 0 20px 0;
  position: relative;
  user-select: none;
}

@media only screen and (min-width: 23.2em) {
  .sidebar-nav-toggle {
    flex-basis: 40px;
  }

  .sidebar-nav-label {
    margin-right: 1rem;
    padding: 20px 10px 20px 10px;
  }
}

.sidebar-nav-icon {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-radius: 1rem;
  background: #000;
  display: block;
  height: 3px;
  position: relative;
  transition: background .2s ease-out;
  width: 20px;
}

.sidebar-nav-icon:before,
.sidebar-nav-icon:after {
  border-radius: 1rem;
  background: #000;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

@media (prefers-color-scheme: dark) {
  .sidebar-nav-icon:before,
  .sidebar-nav-icon:after,
  .sidebar-nav-icon {
    background: #FFF;
  }
}

.sidebar-nav-icon:before {
  top: 7px;
}

.sidebar-nav-icon:after {
  top: -7px;
}

/*
+ .sidebar-nav-icon:before {
  top: 7px;
}
*/

.sidebar-nav-btn:checked + .sidebar-main .sidebar-nav-icon {
  background: transparent;
}

.sidebar-nav-btn:checked + .sidebar-main .sidebar-nav-icon:before {
  transform: rotate(-45deg);
}
.sidebar-nav-btn:checked + .sidebar-main .sidebar-nav-icon:after {
  transform: rotate(45deg);
}

.sidebar-nav-btn:checked + .sidebar-main .sidebar-nav-icon:before,
.sidebar-nav-btn:checked + .sidebar-main .sidebar-nav-icon:after {
  top: 0;
}

/* Sidebar links */
.sidebar-about a {
  display: inline-block;
  margin-left: 1rem; /*make sure to connect with class lead */
}

/* About section */
.sidebar-about h1 {
  color: #000;
  margin-top: 0;
  font-size: 2rem;
}

/* Sidebar nav */
.sidebar-nav-item {
  display: block;
}
a.sidebar-nav-item:hover,
a.sidebar-nav-item:focus {
  text-decoration: underline;
}
.sidebar-nav-item .active {
  font-weight: bold;
}

.sidebar-nav-btn {
  position: absolute;
  right: 0.8rem;
  top: 2rem;
  width: 2.2rem;
  height: 2.2rem;
  border: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

@media only screen and (min-width: 23em) {
  .sidebar-nav-btn {
    right: 2rem;
  }
}

@media only screen and (min-width: 38em) {
  .sidebar-nav-btn {
    width: 1.8rem;
    height: 1.8rem;
  }
}

@media only screen and (min-width: 48em) {
  .sidebar-nav-btn {
    display: none;
  }
}

.sidebar-nav-btn ~ .sidebar-nav {
  display: none;
}

.sidebar-nav-btn:checked ~ .sidebar-nav {
  display: block;
}

@media only screen and (min-width: 48em) {
  .sidebar-nav-btn ~ .sidebar-nav {
    display: block;
  }
}

/* Sticky sidebar
 *
 * Add the `sidebar-sticky` class to the sidebar's container to affix it the
 * contents to the bottom of the sidebar in tablets and up.
 */

@media only screen and (min-width: 48em) {
  .sidebar-sticky {
    position: absolute;
    right:  1rem;
    top:    2rem;
    left:   1rem;
  }
}


/* Container
 *
 * Align the contents of the site above the proper threshold with some margin-fu
 * with a 25%-wide `.sidebar`.
 */

.content {
  padding-top:    1rem;
  padding-bottom: 1rem;
}

@media only screen and (min-width: 48em) {
  .content {
    padding-top: 2rem;
    padding-bottom: 2rem;
    max-width: 38rem;
    margin-left: 22rem;
    margin-right: 1rem;
  }
}

@media only screen and (min-width: 64em) {
  .content {
    margin-left: 22rem;
    margin-right: 1rem;
  }
}


/*
 * Reverse layout
 *
 * Flip the orientation of the page by placing the `.sidebar` on the right.
 */

@media only screen and (min-width: 48em) {
  .layout-reverse .sidebar {
    left: auto;
    right: 0;
  }
  .layout-reverse .content {
    margin-left: 2rem;
    margin-right: 20rem;
  }
}

@media only screen and (min-width: 64em) {
  .layout-reverse .content {
    margin-left: 4rem;
    margin-right: 22rem;
  }
}



/*
 * Themes
 *
 * As of v1.1, Hyde includes optional themes to color the sidebar and links
 * within blog posts. To use, add the class of your choosing to the `body`.
 */

/* Base16 (http://chriskempson.github.io/base16/#default) */

.theme-base .sidebar {
  background-color: #f8f8f8;
  color: #000000;
}
.theme-base .sidebar a {
  color: #000000;
}
.theme-base .content a,
.theme-base .related-posts li a:hover {
  color: rgb(65,110,210);
}

@media print {
  .theme-base .sidebar {
    background-color: transparent;
  }
}

@media (prefers-color-scheme: dark) {
  .theme-base .sidebar {
    background-color: #212121;
    color: #ffffff;
  }
  .theme-base .sidebar-about h1 {
    color: #ffffff;
  }
  .theme-base .sidebar a {
    color: #ffffff;
  }
  .theme-base .content a,
  .theme-base .related-posts li a:hover {
    color: rgb(90,200,250);
  }
}
