/* Test for Minimum Plus 1.4.3. */

/**
 * Uses Bootstrap as a base theme - the CSS below extends and in some cases overrides that base
 * More information: http://twitter.github.com/bootstrap/
 * 2025.01.03 - Hanna Goodbar - Updated for Minimum Plus 1.4.3 - incorporate my custom changes
 * from minimum_hg - add dark mode support - remove Google Prettify.
 **/

/* Color definitions
   ========================================================================== */

    :root {
        --primary-color: #302AE6;
        --secondary-color: #536390;
        --font-color: #424242;
        --bg-color: #fafafa;
        --code-bg-color: #c8c8c8;
        --heading-color: #292922;
        --inline-code-border-color: #e1e1e8;
        --text-border-color: #ccc;
        --link-hover-color: #333;
    }


@media (prefers-color-scheme: light) {
    :root {
        --primary-color: #302AE6;
        --secondary-color: #536390;
        --font-color: #424242;
        --bg-color: #fafafa;
        --code-bg-color: #c8c8c8;
        --heading-color: #292922;
        --inline-code-border-color: #e1e1e8;
        --text-border-color: #ccc;
        --link-hover-color: #333;
    }
}

@media (prefers-color-scheme: dark) {
    :root {
        --primary-color: #302AE6;
        --secondary-color: #536390;
        --font-color: #424242;
        --bg-color: #fafafa;
        --code-bg-color: #c8c8c8;
        --heading-color: #292922;
        --inline-code-border-color: #e1e1e8;
        --text-border-color: #ccc;
        --link-hover-color: #333;
    }
}

[data-theme="light"] {
    --primary-color: #302AE6;
    --secondary-color: #536390;
    --font-color: #424242;
    --bg-color: #fafafa;
    --code-bg-color: #c8c8c8;
    --heading-color: #292922;
    --inline-code-border-color: #e1e1e8;
    --text-border-color: #ccc;
    --link-hover-color: #333;
}

[data-theme="dark"] {
    --primary-color: #9A97F3;
    --secondary-color: #818cab;
    --font-color: #e1e1ff;
    --bg-color: #161625;
    --code-bg-color: #2d2d3a;
    --heading-color: #818cab;
    --inline-code-border-color: #444444;
    --text-border-color: #333;
    --link-hover-color: #ccc;
}

/* Layout
   ========================================================================== */

body {
    background-color: var(--bg-color);
    color: var(--font-color);
}

header {
    padding: 2em 0;
    width: 100%;
}

.span9 {
    margin: 0 auto;
    float: none;
}

article {
    padding: 2em 0 1em;
    border-top: 1px solid var(--text-border-color);
}

img {
    max-width: 100%;
    height: auto;
    margin: 1em auto 1em auto;
    display: block;
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .2);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, .2);
}

img.align-left {
    float: left;
    margin: 1em 1em 1em 0;
}

img.align-right {
    float: right;
    margin: 1em 0 1em 1em;
}

#paginator {
    padding: 1em 0;
    border-top: 1px solid var(--text-border-color);
}

#paginator-l {
    float: left;
}

#paginator-r {
    float: right;
}

footer {
    text-align: center;
    padding: 2em 0 1em;
    border-top: 1px solid var(--text-border-color);
}

/* Links
   ========================================================================== */

a {
    color: var(--secondary-color); 
    text-decoration: none;
    border-bottom: 1px dashed #999;
}

a:hover {
    color: var(--link-hover-color);
    text-decoration: none;
    border-bottom: 1px solid #999;
}

header a,
header a:hover {
    border: 0;
}

/* Typography
   ========================================================================== */

@font-face {
    font-family: 'MonaspaceNeon';
    src: url('/fonts/MonaspaceNeon-Regular.woff2') format(woff2);
    font-weight: normal;
}

@font-face {
    font-family: 'MonaspaceNeon';
    src: url('/fonts/MonaspaceNeon-Bold.woff2') format(woff2);
    font-weight: bold;
}

@font-face {
    font-family: 'MonaspaceNeon';
    src: url('/fonts/MonaspaceNeon-Italic.woff2') format(woff2);
    font-style: italic;
}

@font-face {
    font-family: 'MonaspaceNeon';
    src: url('/fonts/MonaspaceNeon-BoldItalic.woff2') format(woff2);
    font-weight: bold;
    font-style: italic;
}

body { 
    font-family: "hypatia-sans-pro", "richler-pro-pe", "Average", serif;
    font-size: 20px;
    line-height: 1.618; /* golden ratio */
    font-weight: 400;
}

@media (prefers-color-scheme: dark) {
    body {
        font-weight: 350;
    }
}

h1,
h2,
h3,
h4 {
    font-family: "hypatia-sans-pro", "Ovo", serif;
    text-align: center;
}

h1 {
    font-size: 1.927em; /* 35px (one and a half golden ratio) */
    line-height: 1.2;
    margin: 0 0 .514em 0;
}

h2 {
    font-size: 1.618em; /* 30px (one golden ratio) */
    line-height: 1.3;
    margin: 0 0 .6em 0;
}

h3 {
    font-size: 1.309em; /* 24px (half golden ratio) */
    line-height: 1.4;
    margin: 0 0 .75em 0;
}

h4 {
    font-size: 1.155em; /* 21px (quarter golden ratio) */
    line-height: 1.5;
    margin: 0 0 .857em 0;
}

h5 {
    font-size: 1em; /* 18px */
    line-height: 1.618; /* golden ratio */
    margin: 0 0 1em 0;
}

h6 {
    font-size: 1em; /* 18px */
    line-height: 1.618; /* golden ratio */
    margin: 0 0 1em 0;
}

header h1,
header h4 {
    margin: 0;
    text-transform: uppercase;
}

p {
    margin: 0 0 1em 0;
}

/* For poems, we want each line in a stanza adjacent, so adjust the P tag accordingly. */
p.stanza {
    margin-bottom: 0;
}

blockquote {
    font-size: 1.155em; /* 21px (quarter golden ratio) */
    line-height: 1.5;
    font-family: "hypatia-sans-pro", "Ovo", serif;
    font-style: italic;
    margin: 0 0 .9em 0;
}

/* override Bootstrap */
blockquote p {
    font-size: 1em;
    line-height: 1.5;
}

cite {
    font-style: italic;
}

/* address styling not present in Safari5 and Chrome */
dfn {
    font-style: italic;
}

/* address styling not present in IE8-9, Safari5, Chrome */
abbr[title],
dfn[title] {
    border-bottom: dotted 1px #999;
    cursor: help;
}

mark {
    color: #333;
    background-color: #e2e2e2;
}

code,
pre,
kbd {
    font-family: "MonaspaceNeon", "MonaspaceXenon", "IBM Plex Mono", Menlo, Monaco, Consolas, "Courier New", monospace;
    font-variant-ligatures: contextual;
    -moz-font-feature-settings: "calt" 1, "ss01" 1, "ss02" 1, "ss03" 1, "ss04" 1;
    -webkit-font-feature-settings: "calt" 1, "ss01" 1, "ss02" 1, "ss03" 1, "ss04" 1;
    font-feature-settings: "calt" 1, "ss01" 1, "ss02" 1, "ss03" 1, "ss04" 1;
    font-size: 14px;
    line-height: 1.618;
    color: var(--font-color);
    background-color: var(--code-bg-color);
}

pre {
    overflow-x: auto;
    word-break: normal;
    word-wrap: normal;
    white-space: pre;
    margin: 0 0 1em 0;
    tab-size: 4; /* set tab size to 4 spaces */
}

/* Override bootstrap inline code color. (was #d14) */
code{
    padding:2px 4px;
    border:1px solid var(--inline-code-border-color);
}

address {
    line-height: 1.618; /* golden ratio */
    margin: 0 0 1em 0;
}

figcaption,
tfoot,
small,
.footnote {
    font-size: 14px;
    line-height: 1.618;
}

/* override Bootstrap */
p small {
    font-size: 14px;
    line-height: 1.618;
    color: var(--font-color); 
}

.caps {
    /* NOTE: Don't use this... Safari does not correctly shrink the bounding box when all-small-caps are used; use below workaround instead. */
    /* font-variant-caps: all-small-caps; */
  
    /* NOTE: The "Average" font used in body doesn't have true small caps. But the Adobe Font Richler Pro PE does. */
    font-variant: small-caps; 
    text-transform: lowercase;
}

/* Separator for archive heading from content, taken from the paginator style in minimum_style. */
#archive_heading {
    padding: 1em 0;
    border-top: 1px solid var(--text-border-color);
}

/* Lists
 ========================================================================== */

/* address paddings set differently */
menu,
ol,
ul {
    margin: 0 0 1em 0;;
    padding: 0 0 0 2em;
}

/* remove margins from nested lists */
ul ul,
ol ol,
dl dl {
    margin: 0;
}

li,
dt,
dd {
    line-height: 1.618; /* golden ratio */
}

dd {
    margin: 0 0 0 2em;
}

dt {
    font-style: italic;
}

/* search results */

.search-term::before {
   content: "“";
}

.search-term::after {
   content: "”";
}

.search-results h4 {
   text-align: left;
}

/* Tables
   ========================================================================== */

/* consistent tables */
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 1em;
}

caption {
    font-style: italic;
    text-align: left;
    margin-bottom: .5em;
}

/* make table cells align top and left by default */
th,
td {
    vertical-align: top;
    text-align: left;
    border-bottom: solid 1px var(--text-border-color);
    padding: .333em .333em .333em 0;
}

th:last-child,
td:last-child {
    padding-right: 0;
}

thead th,
thead td {
    border-bottom: solid 2px var(--text-border-color);
}

tfoot th,
tfoot td {
    border-bottom: 0;
    padding: .462em .462em .462em 0;
}

tfoot:last-child {
    padding-right: 0;
}

/* Slide-out drawer
   ========================================================================== */

#drawer-trigger {
    position: absolute;
    top: 2em;
    left: 0;
    z-index: 10;
    display: block;
    border: solid;
    border-color: #fafafa;
    border-width: thin thin thin 0;
    -webkit-border-radius: 0 1em 1em 0;
    -moz-border-radius: 0 1em 1em 0;
    border-radius: 0 1em 1em 0;
    padding: .5em 1em;
    font-family: "hypatia-sans-pro", "Ovo", serif;
    color: #fafafa;
    background: #141414;
    -webkit-transition: background-color 0.2s ease-in-out, padding 0.2s ease-in-out;
    -moz-transition: background-color 0.2s ease-in-out, padding 0.2s ease-in-out;
    -o-transition: background-color 0.2s ease-in-out, padding 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, padding 0.2s ease-in-out;
}

#drawer-trigger:hover {
    padding: .5em 1em .5em 1.5em;
    color: #fafafa;
    background: #595959;
}

#drawer-trigger[aria-pressed="true"] {
    background: #595959;
}

#drawer {
    position: absolute;
    top: 2em;
    left: 0;
    z-index: 9;
    display: none;
    border: solid;
    border-color: #fafafa;
    border-width: thin thin thin 0;
    -webkit-border-radius: 0 1em 1em 0;
    -moz-border-radius: 0 1em 1em 0;
    border-radius: 0 1em 1em 0;
    padding: 1em 1em 1px 6.5em;
    max-width: 435px;
    color: #fafafa;
    background: #141414;
}

#drawer h3 {
}

#drawer p {
    margin: 0 0 15px 0;
    padding: 0;
}

#drawer a {
    color: #fafafa;
    border-color: #fafafa;
}

#drawer a:hover {
    color: #fafafa;
}

/* Layout changes for small devices (up to 767px width)
   ========================================================================== */

@media (max-width:767px) {

    header {
        padding-top: 4.5em;
    }

    #drawer-trigger {
        top: 0;
        left: 33%;
        right: 33%;
        text-align: center;
        -webkit-border-radius: 0 0 1em 1em;
        -moz-border-radius: 0 0 1em 1em;
        border-radius: 0 0 1em 1em;
        border: solid #fafafa;
        border-width: 0 thin thin thin;
    }

    #drawer-trigger:hover {
        padding: 1em 1em .5em 1em;
    }

    #drawer {
        left: 20px;
        right: 20px;
        -webkit-border-radius: 1em;
        -moz-border-radius: 1em;
        border-radius: 1em;
        padding: 1em 1em 1px 1em;
        max-width: inherit;
        border: solid #fafafa;
        border-width: thin;
    }

}

/* Light/dark colors toggle.
   ========================================================================== */

.theme-switch-wrapper {
    display: flex;
    align-items: center;
  
    em {
        margin-left: 10px;
        margin-right: 10px;
        font-size: 1rem;
    }
}
.theme-switch {
    display: inline-block;
    height: 34px;
    position: relative;
    width: 60px;
}
  
.theme-switch input {
    display:none;
}
  
.slider {
    background-color: #ccc;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .4s;
}
  
.slider:before {
    background-color: #fff;
    bottom: 4px;
    content: "";
    height: 26px;
    left: 4px;
    position: absolute;
    transition: .4s;
    width: 26px;
}
  
input:checked + .slider {
    background-color: #66bb6a;
}
  
input:checked + .slider:before {
    transform: translateX(26px);
}
  
.slider.round {
    border-radius: 34px;
}
  
.slider.round:before {
    border-radius: 50%;
}
