/* ==========================================================================
   Icons - Sets up the icon font and respective classes (from Casper)
   ========================================================================== */

/* Import the font file with the icons in it */
@font-face {
    font-family: "icons";
    src:url("../fonts/icons.eot");
    src:url("../fonts/icons.eot?#iefix") format("embedded-opentype"),
        url("../fonts/icons.woff") format("woff"),
        url("../fonts/icons.ttf") format("truetype"),
        url("../fonts/icons.svg#icons") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* Apply these base styles to all icons */
[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "icons", "Open Sans", sans-serif;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    text-decoration: none !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Each icon is created by inserting the correct character into the
   content of the :before pseudo element. Like a boss. */
.icon-ghost:before {
    content: "\e000";
}
.icon-feed:before {
    content: "\e001";
}
.icon-twitter:before {
    content: "\e002";
    font-size: 1.1em;
}/*
.icon-text:before {
    content: "\e003";
    font-size: 1.1em;
}*/
.icon-google-plus:before {
    content: "\e003";
}
.icon-facebook:before {
    content: "\e004";
}
.icon-arrow-left:before {
    content: "\e005";
}
.icon-stats:before {
    content: "\e006";
}
.icon-location:before {
    content: "\e007";
    margin-left: -3px; /* Tracking fix */
}
.icon-link:before {
    content: "\e008";
}

/* ==========================================================================
   Normalize.css v2.1.3 | MIT License | git.io/normalize | (minified)
   ========================================================================== */

article, aside, details,
figcaption, figure,
footer, header, hgroup,
main, nav, section,
summary { display: block; }
audio, canvas, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
html {
   font-family: sans-serif;
   -ms-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
}
body { margin: 0; }
a { background: transparent; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: 700; }
dfn { font-style: italic; }
hr {
   -moz-box-sizing: content-box;
   box-sizing: content-box;
   height: 0;
}
mark { background: #FF0; color: #000; }
code, kbd, pre,
samp { font-family: monospace, serif; font-size: 1em; }
pre { white-space: pre-wrap; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
small { font-size: 80%; }
sub, sup {
   font-size: 75%;
   line-height: 0;
   position: relative;
   vertical-align: baseline;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
fieldset {
   border: 1px solid #c0c0c0;
   margin: 0 2px;
   padding: 0.35em 0.625em 0.75em;
}
legend { border: 0; padding: 0; }
button, input, select,
textarea { font-family: inherit; font-size: 100%; margin: 0; }
button, input { line-height: normal; }
button, select { text-transform: none; }
button, html input[type="button"],
input[type="reset"], input[type="submit"] {
   -webkit-appearance: button;
   cursor: pointer;
}
button[disabled], html input[disabled] { cursor: default; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="search"] {
   -webkit-appearance: textfield;
   -moz-box-sizing: content-box;
   -webkit-box-sizing: content-box;
   box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }
table { border-collapse: collapse; border-spacing: 0; }
/*  ==========================================================================
    General styles
    ========================================================================== */

/* Font sizes used

Base font size: 1rem = 18px

0.702rem    13px
0.79rem     14px
0.889rem    16px
1.125rem    20px
1.266rem    23px
1.424rem    26px
1.602rem    29px
1.802rem    32px
2.887rem    52px

http://modularscale.com/
8:9 major second
*/

html {
    height: 100%;
    max-height: 100%;
    font-size: 112.5%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
    -webkit-font-feature-settings: 'kern' 1;
    -moz-font-feature-settings: 'kern' 1;
    -ms-font-feature-settings: 'kern' 1;
    -o-font-feature-settings: 'kern' 1;
    font-feature-settings: 'kern' 1;
    height: 100%;
    max-height: 100%;
    width: 90%;
    max-width: 750px;
    margin: 0 auto;
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.7;
    color: #3A4145;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Bree Serif", serif;
    font-weight: 500;
    margin-bottom: 0;
}

h1 {
    font-size: 1.802rem;
}

h2 {
    font-size: 1.602rem;
}

h3 {
    font-size: 1.424rem;
}

h4 {
    font-size: 1.266rem;
}

h5 {
    font-size: 1.125rem;
}

h6 {
    font-size: 1rem;
}

p {
    margin-top: 0;
}

code, tt, pre {
    font-family: "Source Code Pro", monospace, sans-serif;
    white-space: pre-wrap;
    font-size: 0.79rem;
    border: none;
    background: none;
}

pre {
    padding: 0 2em;
    line-height: 1.3em;
}

code, tt {
    font-weight: 500;
}

pre code {
    font-weight: 300;
}

blockquote {
    margin: 0 2em;
    color: #9EABB3;
}

blockquote p {
    margin: 0.8em 0;
    font-style: italic;
}

blockquote cite {
    font-style: normal;
    font-size: 0.889rem;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: #9EABB3 1px solid;
}

/* Links */
.post a {
    color: #FC7E0F;
    text-decoration: none;
}

.post a:hover {
    text-decoration: underline;
}

.post a:visited {
    color: #9EABB3;
    text-decoration: none;
}

a.read-more, a.read-more:hover, a.read-more:visited {
    color: #FC7E0F; /* #DA1F15, #F17F33 */
    text-decoration: none;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: #3A4145;
    text-decoration: none;
}

.post-title a {
    color: #3A4145 !important;
    text-decoration: none !important;
}

/* Tables and dictionaries (straight up ripped out of the Casper stylesheet with minor modifications) */

table {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 1.7em 0;
    width: 100%;
    max-width: 100%;
    background-color: transparent;
}

th, td {
    padding: 8px;
    line-height: 20px;
    text-align: left;
    vertical-align: top;
    border-top: #EFEFEF 1px solid;
}

td h3, td h4, td h5, td h6 {
    margin: 0 0 0.5rem 0;
}

table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
    border-top: 0;
}

table tbody + tbody { border-top: #EFEFEF 2px solid; }

table table table { background-color: #FFF; }

th {
    color: #000;
    background-color: #F6F6F6;
}

dl dt {
    float: left;
    width: 180px;
    overflow: hidden;
    clear: left;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    margin-bottom: 1em;
}

dl dd {
    margin-left: 200px;
    margin-bottom: 1em
}

/*  ==========================================================================
    Blog header
    ========================================================================== */

.main-header {
    position: relative;
    width: 100%;
    padding: 2rem 0;
    margin-bottom: 1rem;
    text-align: center;
    vertical-align: middle;
    overflow: hidden;
    display: table;
}

.main-header-content {
    height: auto;
}

.blog-title {
    margin: 0;
    padding: 0;
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-size: 2.887rem;
    vertical-align: middle;
    line-height: 1;
}

.blog-title a {
    font-color: inherit;
}

.blog-description {
    margin: 0;
    font-size: 0.889rem;
    font-family: "Lato", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #9EABB3;
    font-weight: 300;
}

/*  ==========================================================================
    Navigation
    ========================================================================== */

.nav {
    margin-top: 1rem;
}

.nav {
    text-transform: uppercase;
    font-size: .889rem;
}

.nav a {
    margin: 0 0.5rem;
    color: #9EABB3;
    text-decoration: none;
}

.nav a:hover {
    color: #FC7E0F;
}

a.nav-current {
    color: #FC7E0F;
}

a.nav-home, a.nav-blog {
    color: #9EABB3;
}

/*  ==========================================================================
    Site footer
    ========================================================================== */

.site-footer {
    position: relative;
    display: table;
    width: 100%;
    margin-top: 3rem;
    padding-bottom: 1rem;
    text-align: center;
    overflow: hidden;
    font-size: .79rem;
}

.site-footer a {
    color: #FC7E0F;
    text-decoration: none;
}

.site-footer a:hover {
    color: #9EABB3;
}


/* RSS - enable to replace the simple RSS icon with a round button */

/*
.site-footer .rss {
    margin: 1rem auto;
    width: 1.7rem;
    height: 1.6rem;
}

.site-footer .rss a {
    display: block;
    height: 100%;
    width: 100%;
    margin-left: -.2rem;
    padding: .35rem .1rem 0.05rem .2rem;
    vertical-align: middle;
    border: 1px #FC7E0F solid;
    border-radius: 1.2rem;
}

.site-footer .rss a:hover {
    color: #ffffff;
    background: #FC7E0F;
}
*/

/*  ==========================================================================
    Posts
    ========================================================================== */

.post {
    position: relative;
    margin: 2rem auto;
    padding-bottom: 1rem;
    word-break: break-word;
    hyphens: auto;
}

.post-header {
    margin-bottom: 0.5rem;
}

.post-title {
    margin-bottom: 0;
    line-height: 1;
}

.post-meta {
    text-transform: uppercase;
    font-size: .79rem;
}

.post-footer {
    margin-top: 2rem;
}

.post-footer .tags a {
    color: #9EABB3;
    text-decoration: none;
}

.post-footer .tags a:hover {
    color: #FC7E0F;
}

.post-footer h4 {
    margin: 2rem 0 0;
}

.post-footer .share {
    margin: 0 auto;
}

.post-footer .share a {
    font-size: 1.8rem;
    display: inline-block;
    margin: 1rem 1.6rem 1.6rem 0;
    color: #BBC7CC;
    text-decoration: none;
}

.post-footer .share a:hover {
    color: #50585D;
}

.post img {
    display: block;
    max-width: 100%;    /* Keep image contained in width of post */
    margin: 0 auto 0.5rem;
}

.footnotes-sep {
    display: none;
}

/* Koenig image styles */

.kg-image-card {
    margin-bottom: 0.5rem;
}

.kg-image-card img {
    margin-bottom: 0;
}

.post .kg-image-wide {
    max-width: 1050px;
    margin: 0 -200px;
}

@media (max-width: 1100px) {
    .post .kg-image-wide {
        max-width: 140%;
        margin: 0 -20%;
    }
}

@media (max-width: 950px) {
    .post .kg-image-wide {
        max-width: 120%;        /* Start calculating as percentage of viewport? */
        margin: 0 -10%;
    }
}

.post .kg-image-full {
    max-width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.kg-image-card figcaption {
    font-size: 0.79rem;
    text-align: center;
}


/* YouTube embed wrapper to scale to full-width */

.yt-wrapper {
    position: relative;
    width: 100%;
    margin: 0;
}

.yt-wrapper:before{
    content: "";
    display: block;
    padding-top: 56.25%;    /* 16:9 aspect ratio */
}

.yt-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*  ==========================================================================
    Tags
    ========================================================================== */

.tag-title {
    font-family: "Lato", sans-serif;
    font-size: 1.802rem;
    font-weight: bold;
    margin-top: 0;
}

.tag-image {
    max-width: 100%
}

.tag-description {
    color: #9EABB3;
}

/* ==========================================================================
   Pagination
   ========================================================================== */

/* The main wrapper for pagination links */
.pagination {
    position: relative;
    margin: 2rem auto;
    font-size: .79rem;
    color: #9EABB3;
    text-align: center;
}

.pagination a {
    color: #9EABB3;
}

/* Push the previous/next links out to the left/right */
.older-posts,
.newer-posts {
    position: absolute;
    display: inline-block;
    text-decoration: none;
}

.older-posts {
    right: 0;
}

.page-number {
    display: inline-block;
    padding: 2px 0;
    min-width: 100px;
}

.newer-posts {
    left: 0;
}

.older-posts:hover,
.newer-posts:hover {
    color: #FC7E0F;
}

.extra-pagination {
    display: none;
}

.extra-pagination .pagination {
    width: auto;
}

/* On page2+ show extra pagination controls at the top of post list */
.paged .extra-pagination {
    display: block;
}

/* ==========================================================================
   12. Media Queries - Smaller than 500px
   ========================================================================== */

@media only screen and (max-width: 500px) {

    html {
        font-size: 100%;
    }

   .blog-title {
        font-size: 2.281rem;
    }

    .blog-description {
       font-size: 0.889rem;
    }
}

.timemark-container{
    display: inline-block;
    margin-left: -120px;
    font-size: .9em;
    color: #999;
}
.timemark{
}
p{
    margin-bottom: 0;
}
.transcription{
    margin-top: -1.7em;
    font-weight: 500;
    margin-bottom: 1em;
}
.bad{
    color:red;
    font-weight:bold;
}
.good{
    color:green;
    font-weight:bold;
}
.disclaimer{
    font-style: italic;
    margin-top: 1em;
    margin-bottom: 1em;
}
.download-link{
}
.speaker-label{
    color: #999;
}
.feedback{
    width: 100%;
    text-align: center;
}
.feedback a{
    color: #666;
    text-decoration: none;
}
.feedback a:hover{
    text-decoration: none;
    color: #FC7E0F;
}
.main-header{
    position: sticky;
    top: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-bottom: 1rem;
    background: linear-gradient(120deg, #0f1016, #1c1f2b);
    height: 50px;
    display: flex;
    align-items: center;
    z-index: 100;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
    overflow: visible;
    padding: 0rem 0;
}
.main-header--scrolled{
    transform: translateY(-20px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.35);
}
.header-bar{
    max-width: 750px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
    width: 100%;
    position: relative;
}
.header-brand{
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    text-decoration: none;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.header-brand span{
    color: #ff8e3c;
}
.header-tagline{
    display: none;
}
.header-branding{
    display: flex;
    flex-direction: column;
    gap: 0;
    line-height: 1.2;
    height: 50px;
    justify-content: center;
}
.header-logo{
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #111320;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 16px 28px rgba(0,0,0,0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
    position: absolute;
    left: 50%;
    top: 50px;
    transform: translate(-50%, -50%);
}
.header-logo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main-header--scrolled .header-logo{
    transform: translate(-50%, -50%) scale(0.88);
    box-shadow: 0 10px 18px rgba(0,0,0,0.25);
}
.header-nav{
    display: flex;
    justify-content: flex-end;
    gap: 1.25rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    align-items: center;
    height: 50px;
}
.header-nav a{
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    position: relative;
}
.header-nav a:hover{
    color: #ff8e3c;
}
.header-nav a:after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #ff8e3c;
    opacity: 0;
    transform: scaleX(0.5);
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.header-nav a.nav-current:after{
    opacity: 1;
    transform: scaleX(1);
}
.header-nav a.nav-current{
    color: #ff8e3c;
}
.header-account{
    position: relative;
}
.header-account-toggle{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.8);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.header-account-toggle:hover{
    background: rgba(255,255,255,0.1);
    border-color: #ff8e3c;
    color: #ff8e3c;
}
.header-account-menu{
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: rgba(12, 13, 20, 0.96);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 0.5rem 0;
    min-width: 140px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 200;
}
.header-account--open .header-account-menu{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.header-account-menu .header-account-item{
    display: block;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}
.header-account-menu .header-account-item:hover{
    background: rgba(255,255,255,0.05);
    color: #ff8e3c;
}
#account-username{
    font-weight: 700;
    color: #ff8e3c;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    margin-bottom: 0.25rem;
}
.header-controls{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    position: relative;
    height: 50px;
}
.header-burger{
    display: none;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #1d202c;
    border: 1px solid rgba(255,255,255,0.1);
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-direction: column;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}
.header-burger span{
    display: block;
    width: 18px;
    height: 2px;
    background: #fff;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.header-burger:hover{
    background: #24283a;
}
@media (max-width: 900px){
    .header-nav{
        gap: 1rem;
    }
}
@media (max-width: 600px){
    .main-header{
        height: 50px;
    }
    .header-bar{
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        height: 50px;
        padding: 0 1rem;
        gap: 0.5rem;
        position: relative;
    }
    .header-branding{
        display: none;
    }
    .header-logo{
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 36px;
        height: 36px;
        box-shadow: none;
        border: none;
        margin: 0;
    }
    .header-controls{
        order: 0;
        display: flex;
        align-items: center;
        flex-shrink: 0;
        position: static;
        height: 50px;
    }
    .header-burger{
        display: inline-flex;
        width: 36px;
        height: 36px;
    }
    .main-header--scrolled{
        transform: none;
    }
    .main-header--scrolled .header-logo{
        transform: translate(-50%, -50%);
        box-shadow: none;
    }
    .header-nav{
        display: none;
        position: fixed;
        top: 50px;
        right: 0;
        left: 0;
        background: #0f1016;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding: 1.5rem 1rem;
        gap: 1rem;
        z-index: 9999;
        box-shadow: 0 10px 30px rgba(0,0,0,0.5);
        height: auto;
    }
    .main-header--menu-open .header-nav{
        display: flex;
    }
    .header-nav a.news-link,
    .header-nav a.about-link{
        display: block !important;
        font-size: 1.1rem;
        padding: 0.5rem 0;
        color: rgba(255,255,255,0.9);
    }
    .header-nav a.news-link:hover,
    .header-nav a.about-link:hover{
        color: #ff8e3c;
    }
    .header-account{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
        padding: 0.75rem 0 0 0;
        border-top: 1px solid rgba(255,255,255,0.1);
        margin-top: 0.5rem;
    }
    .header-account-toggle{
        display: none;
    }
    .header-account-menu{
        position: static;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: transparent;
        border: none;
        padding: 0;
        min-width: auto;
    }
    .header-account-menu .header-account-item{
        padding: 0.5rem 0;
        font-size: 1.1rem;
    }
}
.main-header--menu-open .header-burger span:nth-child(1){
    transform: translateY(8px) rotate(45deg);
}
.main-header--menu-open .header-burger span:nth-child(2){
    opacity: 0;
}
.main-header--menu-open .header-burger span:nth-child(3){
    transform: translateY(-8px) rotate(-45deg);
}
[role="news"] .post:first-child{
    margin-top: 2rem;
}
[role="news"] .post + .post{
    padding-bottom: 1rem;
}
[role="news"] .post + .post .post-title{
    font-size: 1.4rem;
}
[role="news"] .post-excerpt p{
    padding-bottom: 1em;
}
[role="news"] .rss-link{
    text-decoration: none;
    display: inline;
    color: #ccc!important;
    font-size: 1rem;
    vertical-align: middle;
}
[role="news"] .rss-link img{
    display: inline;
    vertical-align: middle;
    opacity: 0.5;
}
[role="news"] .rss-link:hover{
    color: #FC7E0F;
}
[role="news"] .rss-link:hover img{
    opacity: 1;
}
.audio-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.5em;
}
.audio-container audio{
    width: 100%;
    max-width: 750px;
    position: fixed;
    bottom: 0;
    /*z-index: 1000; makes player show on top of modal */
    z-index: 1;
}
.timemark-container a.play-button{
    color:#999;
    text-decoration: none;
}
.timemark-container a.play-button:hover{
    text-decoration: none;
    cursor: pointer;
    color: #FC7E0F;
}
.timemark-container a.play-button .icon{
    position: relative;
    top: -1px;
}
.post-left{
    float: left;
    margin-right: 2em;
    margin-bottom: 0;
    padding-bottom: 0.25em;
    margin-top: 0px;
}
.post-left img{
    width: 200px;
}
.icon-transcribed{
    color: lightgray;
}
.icon-untranscribed img{
    max-width: 18px;
    margin-bottom: 0;
    margin-left: 0;
    padding-bottom: 0;
    opacity: 0.25;
}
.icon-subscriber-only img{
    max-width: 18px;
    margin-bottom: 0;
    margin-left: 0;
    padding-bottom: 0;
    opacity: 0.25;
}
.read-more-source{
    margin-top: 1em;
}
article.source{
    margin-top: 0;
}
article.source .post-title{
    margin-top: 0;
}
.source-thumbnail-container{
    float: left;
    margin-bottom: -10px;
}
.source-thumbnail-container img{
    width: 175px;
    margin: 2px;
}
.source-thumbnail-container a img{
    box-shadow: 10px 10px 10px #ccc;
    max-width: 175px;
    max-height: 175px;
    overflow: hidden;
    border-radius: 5px;
}
.post-header .muted, .muted{
    color: #999;
    font-size: .8em;
}
[role=about] p{
    margin-top: 1em;
}
.site-footer{
    padding-top: 2em;
}
.post .date, .post .duration{
    color: #999;
    text-align: center;
    white-space: nowrap;
}
.post .title{
    color: #999;
}
.corrections-list .post th{
    white-space: nowrap;
}
.corrections-list .post .summary{
    text-align: center;
}
.corrections-list .post .chunk, .corrections-list .post .status{
    white-space: nowrap;
}
.corrections-list .post .date{
    text-align: left;
}
.sub-content{
    margin-top: 2em;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 0.75rem;
}
.sub-content a{
    text-decoration: none;
    color: #9EABB3;
    white-space: nowrap;
}
.sub-content a:hover{
}
.sub-content .title a{
    color: #333;
}
.clear{
    clear: both;
}
.post-summary{
    color: #999;
}
body.home-page{
    width: 100%;
    max-width: none;
}
.home-page .site-footer, .source-list-page .site-footer{
    position: relative;
    background-color: white;
    padding: .25em;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
.content[role=list] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  grid-gap: .5rem
}
.adsbygoogle{
    margin-top: 1em;
    margin-bottom: 1em;
}

/*
html, body, #main, #map {
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}
* */

.content[role="signin"] .post, .content[role="register"] .post, .content[role="verify"] .post, .content[role="forgot"] .post, .content[role="forgot-verify"] .post{
    max-width: 400px;
}

.password-format-note{
    color: #aaa;
    margin-bottom: 2em;
}

.password-format-note ul li {
  list-style: none;
}

.password-format-note ul li:before {
  content: '• ';
}

.password-format-note ul li.good:before {
  content: '✓ ';
}

.account-details-panel{
    text-align: left;
    max-width: 100%;
    margin: 0;
    padding: 0;
}
.account-details-panel .account-section {
    margin-bottom: 1.5em;
    padding-bottom: 1em;
    border-bottom: 1px solid #ddd;
}
.account-details-panel .account-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.account-details-panel .section-title {
    font-weight: 500;
    font-size: 1.1em;
    margin-bottom: 0.5em;
    color: #3a4145;
}
.account-details-panel .subscription-status {
    display: inline-block;
    padding: 0.25em 0.75em;
    border-radius: 3px;
    font-size: 0.9em;
    margin-right: 1em;
}
.account-details-panel .subscription-status.active {
    background-color: #d4edda;
    color: #155724;
}
.account-details-panel .subscription-status.inactive {
    background-color: #f8d7da;
    color: #721c24;
}
.account-details-panel .btn-cancel {
    background-color: #dc3545;
    color: white;
    border: none;
    padding: 0.4em 1em;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
}
.account-details-panel .btn-cancel:hover {
    background-color: #c82333;
}
.account-details-panel .btn-subscribe {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 0.4em 1em;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
    text-decoration: none;
}
.account-details-panel .btn-subscribe:hover {
    background-color: #218838;
    text-decoration: none;
    color: white;
}
.account-details-panel .account-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    width: 100%;
}
.account-details-panel .account-list li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.5em 0;
}
.account-details-panel .account-list li img {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    margin: 0 0.75em 0 0;
    flex-shrink: 0;
}
.account-details-panel .account-list li a {
    color: #3a4145;
    text-decoration: none;
}
.account-details-panel .account-list li a.following-name {
    flex: 1;
}
.account-details-panel .account-list li a:hover {
    color: #fc7e0f;
}
.account-details-panel .account-list li .btn-unfollow {
    margin-left: auto;
    padding: 0.25em 0.75em;
    font-size: 0.85em;
    background-color: transparent;
    border: 1px solid #999;
    border-radius: 4px;
    color: #666;
    cursor: pointer;
    transition: all 0.2s ease;
}
.account-details-panel .account-list li .btn-unfollow:hover {
    background-color: #f8d7da;
    border-color: #dc3545;
    color: #dc3545;
}
.account-details-panel .account-list li .btn-unfollow:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.account-details-panel .empty-list {
    color: #999;
    font-style: italic;
}
@media only screen and (max-width: 500px) {
    .account-details-panel .subscription-status {
        display: block;
        margin-bottom: 0.5em;
    }
}

.or-register, .or-forgot{
    text-align: center;
}

.or-register a{
    text-decoration: none;
    color: #9EABB3;
}
.or-register a:hover{
    text-decoration: none;
    color: #FC7E0F;
}


.info {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 100;
    width: 150px;
    background: transparent;
}

.info .panel-body {
    background: transparent;
}

#request {
    position: relative;
    background: #fcc1d4 none repeat scroll 0 0;
    color: #000;
    border-color: #000;
    border-radius: 5px;
    text-align: center;
    width: 135px;
}

#request:disabled {
    color: #999;
    border-color: #999;
}

#accountLink {
    background: inherit;
}

#updates {
    list-style: none;
    margin-top: 5px;
    padding: 0;
}

#updates li {
    margin: 3px 0;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f7f7f7;
    padding: 5px;
}

.authToken {
    word-wrap: break-word;
    width: 100%;
}

#accountLink {
    background: inherit;
}

.pull-right {
    float: right !important;
}
.dropdown, .dropup {
    position: relative;
}

/* Bootstrap mocking. */

.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
}

.btn .caret {
    margin-left: 0;
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    vertical-align: middle;
    border-top: 4px dashed;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}
.post .segmented-transcript{
    color: gray;
}
.post .post-subtitle{
    font-size: .7rem;
    color: #999;
}
.panel-default {
    border-color: #dddddd;
}
.panel {
    margin-bottom: 20px;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0);
    border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

.panel-default > .panel-heading {
    background-color: #f5f5f5;
    border-color: #dddddd;
    color: #333333;
}
.panel-heading {
    border-bottom: 1px solid rgba(0, 0, 0, 0);
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    padding: 10px 15px;
    min-height: 1.75em;
}

.panel-title {
    color: inherit;
    font-size: 16px;
    margin-bottom: 0;
    margin-top: 0;
}

.configMessage {
    width: 100%;
    height: 100%;
    text-align: center;
    background: transparent;
    position: absolute;
    z-index: 2000;
}

.configMessage .panel {
    margin: auto;
    width: 40%;
    top: 50%;
    position: relative;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    z-index: 100;
}

.configMessage .panel-body {
    text-align: left;
}

.configMessage .backdrop {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0.6;
    z-index: 50;
}

.transcription .editable[transcript-agreements='0']{
    color: red;
}

.transcription .editable[transcript-agreements='1']{
    color: #B13433;
}

.transcription .editable[transcript-agreements='2']{
    color: #675E24;
}

.transcription .editable[transcript-agreements='3']{
    color: #2E7F18;
}

.transcription .editable[human]{
    color: green;
}

.transcription .editable:hover{
    color: red;
    background-color: yellow;
}

.last-transcription-chunk{
    position: relative;
}

.last-transcription-chunk::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
}

.subscribe-bottom-notice{
    border: 2px solid #eedddd;
    padding: 1em;
    text-align: center;
    border-radius: 1em;
}

.progress {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 1rem;
    overflow: hidden;
    font-size: .75rem;
    background-color: #e9ecef;
    border-radius: .25rem;
}
.progress-bar {
    float: left;
    width: 0;
    height: 100%;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: #337ab7;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
    -webkit-transition: width .6s ease;
    -o-transition: width .6s ease;
    transition: width .6s ease;
}

.site-footer section {
    display: inline-block;
}

.control-buttons .btn{
    background-color: #eee;
    color: #3a4145;
}

.control-buttons .btn:hover{
    background-color: #ccc;
    color: #3a4145;
}
#signinForm .error{
    color: red;
}
#transcribe-modal-1.modal{
    max-width: 90%;
}
#transcribe-modal-1 .success{
    text-align: center;
}
#new-text{
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    height: 5em;
}
.modal label{
    font-size: .75em;
    color: #999;
}
.modal .error{
    color: red;
}
.modal .checkbox-set label{
    margin-left: .5em;
    vertical-align: top;
    line-height: 2;
}

.modal .btn{
    margin-left: .5em;
    text-decoration: none;
    background-color: #eee;
    color: #3a4145;
    float: right;
}
.modal .btn:hover{
    margin-left: .5em;
    background-color: #ccc;
}
.modal .btn-primary{
    color: #fff;
    background-color: #337ab7;
}
.modal .btn-primary:hover{
    background-color: #286090;
}
.modal .btn-warning{
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107;
}
.modal .btn-warning:hover{
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
}
.modal .btn-info{
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}
.modal .btn-info:hover{
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
}

.request-priority-section{
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px;
    text-align: center;
}
.request-priority-section a{
    font-size: 1rem;
    color: #fc7e0f;
}
.request-priority-section a:hover{
    text-decoration: none;
}

.inline-rss-icon{
    display: inline-block;
    vertical-align: bottom;

}

.pay-to-transcribe-link{
    font-size:1.25rem;
}

.content[role="source-subscribe-notice"]{
    border: 1px solid #aaa;
    text-align: center;
    margin-bottom: 2em;
    border-radius: .5em;
}

.jquery-modal .modal h1, .jquery-modal .modal h2, .jquery-modal .modal h3{
    margin-top: 0;
}

.preview-end-segment{
    position: relative;
    /* Apply a linear gradient that fades out at the bottom */
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    /* Ensure content within the div is not stretched */
    mask-size: 100% 100%;
}
.post .sub-note{
    display: block;
    font-size: .8em;
}

/* 375 x 667 */
@media only screen and (max-width: 400px) {
    .main-header {
        padding: 0;
        margin: 0;
        top: 1em;
        width: 100%;
        text-align: left;
    }
    .main-header .main-header-content{
        float: left;
    }
    .main-header h2 {
        display: none;
    }
    .main-header .nav {
        margin-top: 0.15em;
        font-size: 1.25em;
        margin-left: 0;
        float: left;
        text-align: center;
    }
    .main-header .nav a:first-child{
        margin-left: 0;
    }
    .main-header .nav a:last-child{
        margin-right: 0;
    }
    .content[role=main]{
        padding-top: 2em;
    }
    .post {
        padding-bottom: 0;
    }
    .post-left {
        margin-right: 1em;
        padding-bottom: 0;
    }
    .post-left img {
        width: 100px;
    }
    .timemark-container {
        display: block;
        margin-left: 0;
        font-size: 1.5em;
    }
    .transcription {
        margin-top: 0;
    }
    .source-thumbnail-container img{
        width: 100px;
    }
    .source-thumbnail-container a, .source-thumbnail-container a img{
        max-width: 100px;
        max-height: 100px;
    }
    .content[role=list] {
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    }
    .pay-to-transcribe-link{
        font-size:14px;
    }
}

/* Browse all podcasts page */
.letter-link {
    display: inline-block;
    padding: 0.4em 0.7em;
    margin: 0.2em;
    text-decoration: none;
    color: #5d6d7e;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.letter-link:hover {
    background-color: #f0f1f3;
    color: #2d3142;
    text-decoration: none;
}

.letter-link.active {
    background-color: #ff8e3c;
    color: #fff;
}

.letter-link .letter-count {
    font-size: 0.8em;
    color: #9ea7b3;
}

.letter-link.active .letter-count {
    color: rgba(255, 255, 255, 0.8);
}

#browse-all-view .checkbox-label {
    font-size: 0.9em;
    color: #5d6d7e;
    cursor: pointer;
}

#sources-by-letter {
    text-align: left;
}

.source-browse-list {
    list-style: none;
    padding: 0;
    margin: 0;
    column-count: 3;
    column-gap: 2em;
}

.source-browse-item {
    padding: 0.3em 0;
    break-inside: avoid;
}

.source-browse-item a {
    text-decoration: none;
    color: #2d3142;
}

.source-browse-item a:hover {
    color: #ff8e3c;
}

@media (max-width: 768px) {
    .source-browse-list {
        column-count: 2;
    }
}

@media (max-width: 480px) {
    .source-browse-list {
        column-count: 1;
    }
}


