/* 
Theme Name: Stephen Wolfram Writings 2021
Theme URI: http://writings.stephenwolfram.com/ 
Description: Stephen Wolfram blog Theme. 
Version: 3.0 
Author: Sue Feng 
Author URI: http://www.wolfram.com/ 
Tags: stephenwolfram 
*/


/* ========================================================================== 
   setup
   ========================================================================== */
:root {
    --content-padding-bot: 15px;
}

body {
    background: none;
    font-family: Georgia, 'Times New Roman', serif;
}



/* ========================================================================== 
   TOC
   ========================================================================== */
#toc-bar {
    background: #fff;
    border-bottom: 2px solid #fff;
    font-family: 'Source Sans Pro';
    font-size: 13px;
    line-height: 1;
    margin-top: -5px;
    width: 100%;
}
#toc-bar-inner {
    position: relative;
    align-items: center;
    display: flex;
    justify-content: flex-start;
    margin: 0 auto;
    max-width: calc(1260px - 5rem);
    width: 100%;
}
#toc-bar.is-sticky {
    background: #fff;
    border-color: #fdbf3d;
    left: 0;
    margin-top: 0;
    padding: 0 16px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100000;
}

#toc-bar a { color: #535353; }
#toc-bar a:hover, .toc-button:hover { color: #c42c1f; }

.toc-button, .toc-notebook-link, .toc-pdf-link {
    background-position: left center;
    background-repeat: no-repeat;
    margin-right: 16px;
    padding: 8px 0 7px 18px;
    background-size: 11px;
}
.toc-title {
    border-left: 1px solid #ddd;
    display: none;
    font-style: italic;
    line-height: 1;
    margin: 4px 12px 4px 0;
    overflow: hidden;
    padding: 4px 0 3px 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}
#toc-bar.is-sticky .toc-title { display: block; }
#toc-bar.is-sticky .toc-title br { display: none; }

.toc-notebook-link { 
    background-image: url('images/icon-tocbar-nb.png'); 
    background-size: 14px;
    padding-left: 21px;
}
.toc-pdf-link { background-image: url('images/icon-tocbar-pdf.png'); }
.toc-button { 
    background-image: url('images/icon-tocbar-contents.png'); 
    cursor: pointer; 
    position: relative;
}
.toc-button.active:before, 
.toc-button.active:after {
    content: '';
    border-width: 8px;
    border-style: solid;
    display: block;
    left: calc(50% - 8px /*half of arrow*/ + 9px /*half of padding-left*/);
    position: absolute;
    bottom: -1px;
}
.toc-button.active:before {
    border-color: transparent transparent #fff3d7 transparent;
    content: '';
    bottom: -2px;
    z-index: 1000002;
}
.toc-button.active:after {
    border-color: transparent transparent #fddf9b transparent;
    content: '';
    z-index: 1000001;
}

/*the dropdown*/
.toc-menu {
    background: #fff3d7;
    border: 1px solid #fee9b9;
    border-radius: 5px;
    box-shadow: -5px 5px 5px 0px rgba(0,0,0,0.15);
    line-height: 1.3;
    max-height: calc(100vh - 60px);
    overflow: auto;
    position: absolute;
    left: -10px;
    top: 28px;
    width: 380px;
    z-index: 100000;
}
#toc-bar.is-sticky .toc-menu {max-width: 100%;}

#toc-bar .table-of-contents li a { 
    color: #222;
    display: block; 
    font-size: 0.9141rem;
    padding: 8px 10px;
}
.table-of-contents li.toplink a { font-style: italic; }
.table-of-contents li.toplink a:before {
    content: '↑';
    font-size: 1.125rem;
    line-height: 1;
    padding-right: 3px;
    position: relative;
    top: -1px;
}
.table-of-contents li:first-child a { border-radius: 5px 5px 0 0; }
#toc-bar .table-of-contents a:hover {
    background: #fde2ae;
    color: #222;
}


/*snappy anchors*/
.post_content { scroll-snap-type: y proximity; }
.post_content h2 {
    scroll-margin-top: 80px;
    scroll-snap-margin-top: 80px;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
}



/* ========================================================================== 
   BULLETINS
   ========================================================================== */
span.bulletin-label {
    color: #19749a;
    display: block;
    font-size: 0.93rem;
    padding: 0.25rem 0 0.125rem;
}
a:hover h3.bulletin-title,
a:hover span.bulletin-label {
    color: #d76a00 !important;
}

.wolfram-physics-bulletin h1, 
.wolfram-physics-bulletin h1 a {
    color: #333 !important;
} 
.wolfram-physics-bulletin h2 {
    color: #1f4d80 !important;
}

.article-links.physics-bulletin {
    font-family: 'Source Sans Pro', Arial, sans-serif !important;
    font-weight: 600; 
    letter-spacing: -0.01rem; 
}
.article-links.physics-bulletin > div {
    align-items: center;
    display: flex;
    padding-bottom: 0.5rem; 
}
.article-links.physics-bulletin > div p {
    line-height: 1.3 !important;
    padding: 0 !important; 
}
.article-links.physics-bulletin > div img {
    margin: 0.25rem 0.4rem 0 0 !important;
}
.article-links.physics-bulletin p.physics-title {
    color: #7f44a5 !important; 
    font-size: 1.2rem !important;
    line-height: 1.2rem !important; 
}
.article-links.physics-bulletin p.physics-tagline {
    color: #666 !important; 
    font-size: 1rem !important;
    font-style: italic;
}
.article-links.physics-bulletin p.physics-tagline a {
    font-size: 1rem !important;
}

p.physics-bulletin-links {
    background: #f0edff;
    border: 1px solid #c0c0ea;
    font-size: 0.875rem !important;
    line-height: 1.75 !important;
    padding: 0.625rem 1rem !important;
}
#blog p.physics-bulletin-links a.magnific {
    color: #7d4598;
    line-height: 1;
    margin-right: 1rem;
    padding-left: 15px !important;
    position: relative;
    white-space: nowrap;
}
p.physics-bulletin-links a.magnific:before {
    background: url('images/bulletins-icon-plus.png') no-repeat;
    background-size: 18px;
    content: ' ';
    height: 9px;
    left: 0;
    position: absolute;
    top: 3px;
    width: 9px;
}
p.physics-bulletin-links a.magnific:hover:before { background-position: -9px 0; }
#blog p.physics-bulletin-links a.magnific + br { display: none; }


/* magnific global overrides */
.mfp-bg { background: #2d2e2f !important; opacity: 0.7 !important; }
.mfp-container .mfp-content { padding: 0 !important; }
img.mfp-img { padding: 40px 0 !important; }
.mfp-content button.mfp-close { right: -12px; top: 28px !important; }
a.magnific.image:hover { cursor: zoom-in; }


/* lightbox styles */
.mfp-content h1 { 
    font-size: 24px;
    margin-bottom: 12px; 
    padding-right: 24px;
}
.mfp-content p { 
    line-height: 2; 
    padding-right: 24px;
}
.mfp-content a.notebook {
    padding-left: 20px;
    position: relative;
}
.mfp-content a.notebook:before {
    background: url('images/bulletins-icon-notebook.png') no-repeat;
    background-size: 14px;
    content: ' ';
    height: 16px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
}


/*source caption*/
.mfp-title { 
    color: #ccc !important; 
    font-family: "Source Sans Pro"; 
    font-size: 0.9rem;
}
.mfp-title .text-align-c { 
    font-size: 1rem;
    left: 18px;
    position: relative;
}
.mfp-title .chevron-after { color: #fff; }
.mfp-title .chevron-after:hover { color: #ff942d; }



/* ========================================================================== 
   BLOG
   ========================================================================== */
#logo + .pipe {
    display: inline-block;
    height: 2rem;
    width: 1px;
    background: #ddd;
    position: absolute;
    top: 1.6rem;
}
#wrapper {
    width: 100% !important;
    padding: 0 !important;
}
.inner {
    width: 100%;
    max-width: 1260px;
    padding: 0 2.5rem;
    overflow: hidden;
    margin: 0 auto;
}
#blog #content {
    width: 62%;
    max-width: 700px;
    padding: 3.4rem 0 0 0;
    display: inline-block;
    vertical-align: top;
    margin: 0 auto;
    white-space: normal;
}
#blog #content img {
    max-width: 100%;
    height: auto;
}

#blog #content iframe { max-width: 100%; }

#blog #content section,
#blog #content article {
    border-bottom: 1px solid #cacaca;
    padding: 0 0 2rem;
    margin: 0 0 2rem;
}
#blog.single-post #content article {
    border: none;
    padding: 0;
    margin: 0;
}

#blog #content h2 { margin: 5px 0 0; }

h3,
.date {
    font-size: 13px;
    line-height: 21px;
    font-weight: normal;
    margin: 0 0 20px;
    display: block;
}
h1 + .date {
    margin: 6px 0 26px;
}

#content h1 a,
#content h1.blog-post-title {
    font-family: Georgia;
    font-size: 2.36rem;
    font-weight: normal;
    line-height: 1.2;
    color: #c42c1f;
    font-style: normal;
    border-bottom: 0;
    margin: 0 0 4px;
}
#content h1 a:hover { color: #d76a00; }
#content h1 {
    border-bottom: 0;
    margin: 0;
}
.page #content h1,
.archive #content h1 {
    margin: 0 0 1.6rem;
}
#blog #content .post_content h2 {
    margin: 1.02rem 0 1rem 0;
    display: block;
    font-weight: normal;
    color: #c42c1f;
    padding-right: 12px;
    font-size: 1.4rem;
    font-style: italic;
    line-height: 1.3;
}
#blog #content .post_content h2.nomargin { margin: 17px 0 0; }
#blog #content .post_content h2 a {
    color: #c42c1f;
    font-size: 20px;
}
#blog #content .post_content h3 {
    color: #b43817;
    font-family: 'Source Sans Pro';
    font-weight: 400;
    font-size: 1.2rem;
    margin-bottom: 7px;
    padding-bottom: 5px;
    padding-top: 7px;
}
#blog #content .post_content h3 a { color: #333; }
#blog #content .post_content a:hover { color: #D76A00; }

#blog #content .post_content p>img,
#blog #content .post_content p>a>img { 
    margin: 9px 0 0; 
}

#blog #content h2.searchresults-heading {
    color: #c42c1f;
    font-weight: bold;
    margin: 0 0 40px;
}
.clearboth { clear: both; }
.date {
    font-family: Georgia;
    font-size: 1rem;
    white-space: nowrap;
    color: #535353;
}
a.selected { color: #c42c1f !important; }
.hide { display: none !important; }

hr {
    border: 0;
    border-top: 1px solid #ccc;
    margin: 2.5rem 0 10px;
}

#blog .post_content a {
    text-decoration: none;
    outline: none;
    color: #19749a;
}
#blog #content .post_content a.more-link {
    box-sizing: border-box;
    width: 164px;
    white-space: nowrap;
    background-color: #e82d1d;
    color: white;
    font-weight: normal;
    font-size: 1.1rem;
    padding: 12px 14px 12px 14px;
    border-radius: 4px;
    line-height: 11px;
    margin: 1.8rem 0 0 0;
}
#blog #content .post_content a.more-link:hover {
    background-color: #c42c1f;
    color: #fff;
}
#blog .post_content a.more-link::after {
    content: "\203A";
    font-size: 17px;
    margin: 0 0 0 5px;
    top: 1px;
    position: relative;
    line-height: 11px;
}
#blog .post_content .traditional-math {
    font-family: Georgia;
    white-space: nowrap;
}
.post_head h2 {
    margin: 20px 0 0 0;
    padding: 0;
    font-size: 25px;
    line-height: 28px;
    color: #c42c1f;
    font-weight: normal;
}

#noscript { max-width: 887px !important; }
#postContainer, #loadMore { display: none; }

.single_post_content .post_content p.computer-voice,
#content .post_content p.computer-voice,
span.computer-voice {
    font-family: Hack, Lucida Console, monospace;
    font-size: 14px;
    font-weight: 400;
    word-spacing: -2px;
}
.computer-voice b, .computer-voice em { font-weight: 700; }

.small-caps { font-variant: small-caps; }

p.figure-caption {
    color: #666 !important;
    font-size: 12px !important; 
    line-height: 14px !important;
    margin: -9px 0 9px !important;
}

span.kbd {
    border: 1px solid #cecece;
    border-radius: 3px;
    display: inline-flex;
    margin: 0 0.11rem;
    white-space: nowrap;
}
span.kbd kbd {
    background: #eee;
    border: none; 
    border-right: 1px solid #cecece;
    border-radius: 0;
    font-family: 'Source Sans Pro', Arial, sans-serif; 
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.3;
    margin: 0;
    padding: 0 0.27rem;
}
span.kbd kbd:first-child { border-radius: 3px 0 0 3px; }
span.kbd kbd:last-child { background: none; border-right: none; }


/*subtitles*/
.single h1.blog-post-title .subtitle {
    color: #822e2e;
    display: block;
    font-size: 1.75rem;
    line-height: 1.3;
    padding: 0;
}
.home-post-title .subtitle,
#footer_recent_posts span.subtitle, 
#sidebar span.subtitle {
    display:none;
}
/*#footer_recent_posts .subtitle {
    display: block;
    font-size: 0.88rem;
    line-height: 1.2;
    padding-top: 0.125rem;
}*/

/* Quote banners */
#blog .livestreamquote {
    width: 200px;
    border-top: solid 7px #b59cd1;
    background-size: cover;
    background-position: bottom;
    background-image: url(images/livestreamquote-background.png);
    text-align: center;
    padding: 25px 25px 55px 25px;
    float: right;
    margin: 15px 0 30px 20px;
}

#blog .livestreamquote,
#blog #content .livestreamquote p,
#blog .livestreamquote span,
#blog .livestreamquote a, 
#blog .livestreamquote a:link, 
#blog .livestreamquote a:visited {
    font-family: 'Source Sans Pro',Arial,sans-serif;
    color: #6b3ea5;
    font-weight: 600;
    font-size: 1.1rem;
    text-decoration: none;
    letter-spacing: -.02em;
    line-height: 1.5rem;
}

#blog .livestreamquote:hover,
#blog #content .livestreamquote p:hover,
#blog .livestreamquote p:hover span,
#blog .livestreamquote a:hover,
#blog .livestreamquote a:active {
    color: #e46214;
}

#blog .livestreamquote p {
    margin:0;
    padding-bottom: 0;
}

#blog .livestreamquote span {
    display: block;
    color: #333;
    font-weight: 400;
    font-size: .9rem;
    text-align: center;
}


/* bottom stripes */
#blog a.bottomstripe {
    font-family: 'Source Sans Pro',Arial,Sans Serif;
    font-size: 0.9rem;
    text-decoration: none;
    display: grid;
    grid-template-columns: 45px auto minmax(70px, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "image title action .";
    align-content: center;
    justify-content: flex-start;
    max-width: 90%;
    margin-bottom: .625rem;
    padding: .31rem .625rem;
    line-height: 1.2;
    font-weight: 600;
}

#blog a.bottomstripe.purple,
#blog a.bottomstripe.purple:link,
#blog a.bottomstripe.purple:visited {
    background-color: #f7f2ff;
    border: solid 2px #e4d9f4;
    color: #531368;
}
#blog #content a.bottomstripe.purple:hover {
    background-color: #efe5fd;
    border: solid 2px #c4afe2;
    color: #531368;
}

#blog .bottomstripe > * { align-self: center; }

#blog #content .bottomstripe img,
#blog #content .bottomstripe img:first-of-type,
#blog #content .bottomstripe span.stripe-icon {
    margin: 0;
    padding: 0;
    max-width: 40px;
    grid-area: image;
}

#blog #content .bottomstripe span.stripe-icon.livestream-icon {
    background: url(images/livestream-icon.svg);
    width: 40px;
    height: 30px;
}

#blog .bottomstripe :nth-child(2) {
    margin: 0 0.5rem;
    grid-area: title;
}
#blog .bottomstripe :nth-child(3) {
    font-size: 90%;
    font-weight: 400;
    grid-area: action;
}


/*the newer stripe*/
div.purplestripe,
.related_content_box,
.post_banner {    
    font-family: 'Source Sans Pro',Arial,Sans Serif;
    font-size: 14.5px;
    line-height: 1.4;
    margin-bottom:10px; 
    max-width:620px; 
    padding: 5px 10px 5px 10px; 
}
#blog:not(.single-post) .related_content_box,
#blog .related_content_box p:empty,
#blog .related_content_box a:empty,
#blog .related_content_box p > a:empty { display: none; }
div.purplestripe { background-color: #E6E6FA;  }

#blog .post_content .purplestripe a,
#blog .post_content .purplestripe a:link,
#blog .post_content .purplestripe a:visited {
    color:#3d137d;
}

.related_content_box,
.post_banner {
    display: grid; 
    grid-auto-flow: row;
    grid-row-gap: 0.5rem;
    padding: 20px 25px;
    border: solid 2px #E0D1B2;
    background-color: #FFFAF0;
    color: #877B67;
    margin: 35px 0 25px 0;
    font-style: italic;
}

#blog .post_content .related_content_box > p:first-of-type { padding-left: .4rem }

#blog #content .post_content .related_content_box p,
#blog .post_content .related_content_box p {
    line-height: 1.8;
    font-size: 0.90rem;
    font-weight: 400;
}

#blog .post_content .related_content_box p { color: #877B67; }

#blog .post_content .related_content_box a,
#blog .post_content .related_content_box a p,
#blog .post_content .related_content_box a:link,
#blog .post_content .related_content_box a:visited { color: #222; }

#blog #content .related_content_box a:hover p,
#blog .post_content .related_content_box a:hover p { color: #c42c1f; }

.related_content_box p,
.related_content_box ul li,
#blog .post_content .related_content_box ul,
#blog .post_content .related_content_box p {
    margin: 0;
    padding: 0;
}

.related_content_box ul { 
    display: grid;
    grid-row-gap: 0.5rem;
    margin: 0; 
    padding: 0;
}

.related_content_box ul li > a {
    display: grid;
    grid-column-gap: .4rem;
    justify-content: flex-start;
    grid-auto-flow: column;
    align-content: center;
    align-items: center;
}

.related_content_box img { border: 1px solid #E0D1B2; }
.related_content_box a:hover img { border-color: #BF6926; }

.related_content_box b,
.related_content_box strong { color: #665536; }

#blog .post_content .related_content_box li.highlighted a:link p {
    color: #BF6926 !important;
    font-weight: 600 !important;
}
#blog .post_content .related_content_box li.highlighted a:hover p {
    color: #c42c1f !important;
}
#blog .post_content .related_content_box li.highlighted img {
    border-color: #BF6926;
}

#blog .post_content .related_content_box p {
    color: #6f6450;
}

#blog #content .post_content .related_content_box p, 
#blog .post_content .related_content_box p {
    line-height: 1.4;
}

/* post banner */
.post_banner {
    padding: 8px 15px;
    border:2px solid #FFCE8E;
    background: #FFF4E6;
    font-style: normal;
}

.post_banner p, 
#content .post_banner p { 
    margin: 0;
    padding:0; 
}

.post_banner:hover {
    border: 2px solid #FFE18E;
    background: #FFF8E6;
}

.post_banner strong { font-style: normal; }
.related_content_box.post_banner img { 
    border: none; 
    margin: 0 auto;
}

.post_banner > div.media-text-button {
    grid-template-columns: 50px auto 100px;
    display: grid;
    align-items: center;
    grid-gap: 1rem;
}

/* Buttons */
.related_content_box .btn {
    padding: 6px 20px;
    border-radius: 4px;
    border: 1px solid #FFCE8E;
    background-color: #FFCE8E;
    color: #333333;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0px;
    text-align: center;
    font-style: normal;
}

.related_content_box .btn:hover,
#blog #content .post_content .related_content_box a.btn:hover {
    background: #FFE18E;
    border-color: #FFE18E;
    color: #333333;
}

/*hiding*/
.home article .hide-on-front, .single-post article .hide-on-single { display: none; }


/*PromptFunction*/
.promptformatted {
    font-family: 'Source Sans Pro', Arial, sans-serif;
    font-size: 0.9375rem;
}


/*book post*/
h2.bookpost{ display: block; }
img.bookpost{ padding-left: 0; }


/* article links */
#blog .article-links {
    display: block;
    margin: 0 0 15px;
    color: #19749a;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 23px;
    position: relative;
}
#blog .article-links.single { line-height: 17px; }
#blog .article-links .links-intro {
    display: inline;
    margin: 0 30px 0 0;
}
#blog .article-links.single a { margin: 0; }
#blog .article-links a {
    color: #19749a;
    position: relative;
    display: inline;
    margin: 0 50px 0 0;
    font-size: 12px;
}
#blog .article-links a:hover { color: #d76a00; }
#blog .article-links span .links-intro { margin: 0; }

#blog .article-links > span {
    background: no-repeat left 1px;
    display: inline-block;
}

#blog .article-links .book:before,
#blog .article-links .cloud:before,
#blog .article-links .podcast:before,
#blog .article-links .website:before,
#blog .article-links .release:before {
    content: '';
    display: inline-block;
    background: no-repeat left center;
    position: absolute;
}

#blog .article-links .book { left: 20px; position: relative; }
#blog .article-links .cloud { left: 28px; position: relative; }
#blog .article-links .podcast { left: 25px; position: relative; }
#blog .article-links .website { left: 25px; position: relative; }

#blog .article-links a.podcast:before { top: -5px; }
#blog .article-links a.website:before { top: -2px; }

#blog .article-links .release { color: #19749a; position: relative; }
#blog .article-links .release.icon { margin: 0 0 0 25px; }
#blog .article-links .release a {
    margin: 0;
    font-size: 14px;
    font-family: Georgia, 'Times New Roman', serif;
}
#blog .article-links .release a:hover { color: #d76a00; }
#blog .article-links .release.icon:hover:before { background-position: left bottom; }

#blog .article-links .book:before {
    background-image: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/post/book-icon.jpg?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a');
    width: 13px;
    height: 14px;
    left: -20px;
    top: 0;
}
#blog .article-links .cloud:before {
    background-image: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/post/open-cloud-icon.png?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a');
    width: 25px;
    height: 18px;
    left: -26px;
}
#blog .article-links .website:before {
    background-image: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/post/website-icon.png?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a');
    width: 20px;
    height: 17px;
    top: 3px;
    left: -24px;
}
#blog .article-links .podcast:before {
    background-image: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/post/podcast-icon.png?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a');
    width: 20px;
    height: 25px;
    left: -24px;
}
#blog .article-links .release.icon:before {
    background: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/post/wl-icon.png?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a') no-repeat left top;
    background-size: 20px 40px;
    width: 25px;
    height: 20px;
    left: -24px;
}

#blog .article-links .pipe { color: #acacac; }
.release.icon + .pipe { padding: 0 8px; }


/* ========================================================================== 
   Inline Table of Contents
   ========================================================================== */

#blog .post_content .inline-table-of-contents {
    background-color: #fff7e9;
    border: solid 1px #f3d1ae;
    font-size: 12px;
    padding: 20px 20px;
    margin-top:1rem;
    margin-bottom: 30px;
}
#blog .post_content .inline-table-of-contents div a {
     font-size: 12px;
     font-family: "Source Sans Pro";
     color: #b96532;
     display: table;
}

#blog #content .post_content .inline-table-of-contents div a:active,
#blog #content .post_content .inline-table-of-contents div a:hover {
	color: #c42c1f;
}
#blog .post_content .inline-table-of-contents div a > span:nth-of-type(1) {
    color: #999999;
    display: table-cell;
    text-align: right;
    white-space: nowrap;
    width: 2.125rem;
}
#blog .post_content .inline-table-of-contents div a > span:nth-of-type(1):after {
    font-size: 12px;
    font-family: "Source Sans Pro";
    color: #cccccc;
    content: '|';
    display: inline-block;
    margin: 0 .25rem;
}

#blog .post_content .inline-table-of-contents div a span:nth-of-type(2) {font-weight: 600;}

#blog .post_content .inline-table-of-contents .hide-number a span:nth-of-type(1) {
    visibility: hidden;
}

#blog .post_content .inline-table-of-contents .deemphasis a span:nth-of-type(2) {
    font-weight: 400;
}

#blog .post_content .inline-table-of-contents div .bottom a {
    color: #666;
    display: inline-block;
    font-size: 1rem;
    margin: 1rem 1.5rem 0 0;
}
#blog .post_content .inline-table-of-contents div.additional-links a {display: inline;}
#blog .post_content .inline-table-of-contents ul.additional-links {margin-left: 1.9rem; margin-top: 5px;}
#blog .post_content .inline-table-of-contents ul.additional-links li {
    display: inline-block;
    border-right: 1px solid #aaa;
    padding: 0 7px 0 4px;
    margin: 0 0 10px;
    line-height: 12px;
}
#blog .post_content .inline-table-of-contents ul.additional-links li:last-of-type { border-right: 0; padding: 0 0 0 4px;}

/* ========================================================================== 
   Abstract button and Inline content
   ========================================================================== */

.abstract-button {
    background-position: left center;
    background-repeat: no-repeat;
    margin-right: 16px;
    padding: 8px 0 7px 18px;
    background-size: 11px;
}

.abstract-button { 
    background-image: url('images/icon-abstract-plus.png'); 
    cursor: pointer; 
    position: relative;
}

.abstract-button.active { 
    background-image: url('images/icon-abstract-minus.png'); 
    cursor: pointer; 
    position: relative;
}

.is-sticky span.abstract-button {display: none;}

div.abstract {
    font-size: .85rem;
    background: #fff7e9;
    border: solid 1px #f3d1ae;
    padding: 1rem 1.5rem;
    margin-bottom: 1.8rem;
    line-height: 1.5rem;
}

#content div.abstract p {
     line-height: 1.35rem;
}
div.abstractlabel {
	font-style: italic;
	margin-bottom: 5px;
}

div.abstract .closer-button {
    font-family: Verdana,sans-serif;
    font-size: 12px;
    color: black;
    float: right;
    cursor: pointer; 
    margin-top: -16px;
    margin-right: -16px;
    opacity:.55;
}

div.abstract .closer-button:hover {
    opacity:1;
}

tt {
    font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
    font-weight: 600;
}


/* LINK COLORS */
a {
    text-decoration: none;
    outline: none;
    color: #c42c1f;
}

a.more-link, .post_foot a { font-weight: normal; }
a.more-link {
    color: #d71920;
    display: block;
    padding-top: 5px;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
    font-size: 12px;
}

a:hover { color: #D76A00; }

.sidebar-image-caption a {
    font-weight: bold;
    text-decoration: none;
    outline: none;
    color: #636363;
}
.sidebar-image-caption:hover a { color: #c42c1f; }
.sidebar-image-caption a:hover { color: #c42c1f; }

a.more-post {
    font-size: 13px;
    font-family: arial, sans-serif;
    padding: 0;
}

a.more-post,
a.more-post:link,
a.more-post:visited {
    color: #777;
}

a.more-post:hover,
a.more-post:visited:hover {
    font-weight: normal;
    color: #cc0000;
}

a.black { color: #000; }
a.black:hover { color: #D76A00; }

a .chevron { color: #d71920; }

h1 {
    font-size: 2rem;
    color: #464646;
    border-bottom: 1px solid #dcdcdc;
    margin: 0 0 25px;
    padding: 0 0 3px 0;
}
h1 a {
    font-family: Georgia;
    font-size: 28px;
    font-weight: normal;
    color: #636363;
    margin: 0 0 38px;
    line-height: 34px;
}
header h1 { border-bottom: 0; }


/* GENERAL */
.center { text-align: center; }
.rsswidget img { display: none; }

table#post_head, table#post_content { border-collapse: collapse; }
td { padding: 0; }


#outerWrap {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
}
#outer { position: relative; }

#nav ul li { margin: 0; }

.pageHeader {
    background: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/img/sw-headerBG.gif?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a') repeat-x;
    height: 73px;
    width: 100%;
    overflow: hidden;
}

.logo { float: left; margin: 7px 0 0 64px; }
.urllogo { float: left; margin: 13px 0 0 340px; }


/* Mini Social Icons */
.social { line-height: 1 !important; }
.socialIcons {
    height: 15px;
    padding: 0;
    font-size: 0;
}
.socialIcons .icon {
    width: 16px;
    height: 15px;
    display: inline-block;
    margin: 0 5px 0 0;
    background: url('images/sprite-icons.png');
}

.socialIcons .facebook { background-position: 0 0; }
.socialIcons .facebook:hover { background-position: 0 -15px; }

.socialIcons .twitter { background-position: -16px 0; }
.socialIcons .twitter:hover { background-position: -16px -15px; }

.socialIcons .reddit { background-position: -32px 0; }
.socialIcons .reddit:hover { background-position: -32px -15px; }

.socialIcons .linkedin { background-position: -48px 0; }
.socialIcons .linkedin:hover { background-position: -48px -15px; }


/*intra-page pagination*/
#pagination {
    text-align: right;
    color: #777;
    font-family: arial, sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 30px;
}
#pagination a,
#pagination a:link,
#pagination a:visited {
    color: #777;
    margin-right: 7px;
}
#pagination a.active { color: #d71920; }
#pagination a:hover, #pagination a:visited:hover { color: #D76A00; }



a img, img { border: 0; }

.scrapbook { margin: 20px 0; }

a.rssfeed,
a.rssfeed:link,
a.rssfeed:visited {
    color: #555;
}
a.rssfeed:hover,
a.rssfeed:visited:hover {
    color: #cc0000;
}



/* ========================================================================== 
   CONTENT AREA
   ========================================================================== */
#main_wrapper {
    max-width: 505px;
    margin: 0;
    float: left;
}

#main_body, #main_body_single { border-width: 0 1px 0 1px; }
#main_body_single { margin-left: 68px; }

.post_head {
    max-width: 505px;
    margin-bottom: 20px;
}
.post_head tr { vertical-align: bottom; }

.post_head h1 {
    margin: 20px 0 0 0;
    padding: 0;
    font-size: 25px;
    line-height: 28px;
    color: #cb0e15;
    font-weight: normal;
}

.post_content {
    margin: 0;
    vertical-align: top;
    font-size: 16px;
    color: #222;
    line-height: 1.7;
}
.single_post_content .post_content p,
#content .post_content p {
    font-size: 1.03rem;
    line-height: 1.7;
    max-height: 9999999px;
    -webkit-text-size-adjust: 100%;
    color: #222;
}

.comm {
    width: 140px;
    height: 25px;
    font-size: 12px;
    line-height: 25px;
    text-align: right;
    display: none;
}
.comm span {
    display: inline-block;
    padding: 0 0 0 5px;
    background: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/img/sprite_main.gif?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a') no-repeat -40px -96px;
}
.comm span a {
    display: inline-block;
    padding: 0 5px 0 0;
    background: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/img/comm_right.gif?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a') no-repeat bottom right;
    color: #fff;
}
.comm b {
    display: inline-block;
    width: 90px;
    text-align: left;
}
.comm b a { color: #000; }

.tags {
    position: relative;
    left: 50px;
    width: 95px;
    margin: 0;
    padding: 0;
    font-size: 11px;
    color: #666;
}

div.flashdiv {
    margin: 0 0 13px 0;
    padding: 10px;
    font-size: 13px;
    border: 2px solid #ADADAD;
    color: #5C5C5C;
}
object, embed { margin-bottom: 15px; }

#content .post_content #compessay p,
#content .post_content p.CodeText {
    color: #858585;
    font-size: 15px;
}
#content .post_content #compessay p.CodeText,
#content .post_content p.CodeText {
    font-family: 'Source Sans Pro', Arial, sans-serif;
    margin: 5px 0;
    padding: 0;
}
#content .post_content #compessay p.Text { color: #222; }
div#compessay {
    border-top: solid #ccc 3px;
    padding: 15px 0 5px;
    margin-bottom: 20px;
}


/*lists*/
.post_content ul,
.post_content ol,
.single_post_content ul,
.single_post_content ol {
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    margin: 0;
    padding: 0 0 10px 0;
}
.post_content li,
.single_post_content li {
    margin: 0 0 0 30px;
    padding: 0 0 5px 0;
}

.bullets li {
    margin: 4px;
    padding: 0 0 16px 12px;
    position: relative;
}
.bullets li:before {
    content: '\25AA';
    margin-left: -12px;
    position: absolute;
}


/*quote*/
.post_content blockquote,
.single_post_content blockquote {
    margin: 0 40px;
    padding: 0;
}
.post_content blockquote p,
.single_post_content blockquote p {
    text-indent: -5px
}
blockquote.flat p { text-indent: 0px !important; }

blockquote cite {
    display: block;
    text-align: right;
    font-size: 12px;
    color: #808080;
}

div.wp-caption { margin-top: 5px; }

.post_content p.wp-caption-text,
.single_post_content p.wp-caption-text {
    font-size: 12px;
    color: #444;
    margin: 3px 2px 15px;
}

/*meta*/
.post_foot {
    position: relative;
    margin: 10px 0 35px;
    clear: both;
    border-bottom: 1px solid #ccc;
    padding: 0 0 12px 0;
}
.post_foot.last, .post_foot.single { border-bottom: 0; }

.post_foot.single {
    margin: 10px 0 20px;
    padding: 0;
}

#content .post_foot p { font-size: .9rem; }

#content .post_foot .category {
    border-bottom: 1px solid #ccc;
    color: #9a9a9a;
    font-family: 'Source Sans Pro';
    font-size: .9rem;
    line-height: 1;
    padding: 0.5rem 0 1.75rem;
    vertical-align: middle;
}
.post_foot .category p, .post_foot .category a { font-size: 0.9rem; }
.post_foot .category a { color: #19749a; }
.post_foot .category a:hover { color: #d76a00; }

.post_footer_left {
    float: left;
    display: inline-block;
}
#content .category p {
    margin: 0;
    padding: 0;
}

.post_foot .authoricon {
    left: 5px;
    width: 32px;
    height: 30px;
    background: url('https://files.wolframcdn.com/pub/writings.stephenwolfram.com/img/sprite_authors.gif?5db8f077951d5e4ef6fbad86daf24214146552f3ae141ac21f7cf2aef767799678b244ec4070f219c19860ab58d8271a') no-repeat;
}
.post_foot .stephenwolfram { background-position: -47px 0; }
.post_foot .author {
    left: 40px;
    font-size: 12px;
    font-style: normal;
}

.post_foot .social {
    right: 0;
    font-size: 10px;
    float: right;
    bottom: 0;
}

.post_separator {
    border-top: 1px solid #dcdcdc;
    height: 15px;
    margin: 0 60px 0 105px;
}
.post_separator_no_margin {
    border-top: 1px solid #dcdcdc;
    height: 15px;
    margin-top: 15px;
}

.lower { text-transform: lowercase; }

#blog #content .post_content img.inline-img { margin: 0; }

#footer_recent_posts {
    background: #fbfbfb;
    border: 1px solid #e1e1e1;
    font-family: 'Source Sans Pro';
    font-size: 0.95rem !important;
    line-height: 1.3;
    margin: 4rem 0 0;
    padding: .5rem 2rem 1rem 1rem;
    width: 100%;
}
#footer_recent_posts a:hover { color: #c42c1f; }

#footer_recent_posts .sidebar_post_wrapper {
    display: inline-block;
    padding: 0 10px 0 0;
    margin: 0 0 20px;
    width: 49%;
}

#footer_recent_posts .sidebar_post_wrapper:nth-of-type(3),
#footer_recent_posts .sidebar_post_wrapper:nth-of-type(4) {
    margin: 0;
}
#footer_recent_posts time {
    font-size: .8rem;
    color: #535353;
}

#banner_more_posts, #footer_more_posts { font-size: 12px; }
#banner_more_posts {
    padding: 10px 0;
    border-bottom: 1px solid #dcdcdc;
}
#footer_more_posts {
    display: table;
    border-collapse: collapse;
    font-family: 'Source Sans Pro';
    margin: auto;
}
.page-numbers {
    display: table-cell;
    font-size: 1rem;
    color: #666;
    padding: 10px 20px 16px;
}
#footer_more_posts .page-numbers.first,
#footer_more_posts .page-numbers.last {
    color: #e82d1d;
    font-size: 5rem;
}
#footer_more_posts .page-numbers.first .align,
#footer_more_posts .page-numbers.last .align {
    top: 14px;
}
#footer_more_posts .page-numbers.inactive {
    background: #e8e8e8;
    border-radius: 3px;
    color: #fff;
    font-size: 3rem;
    line-height: 0;
    padding: 5px 16px 0;
}
#footer_more_posts .prev,
#footer_more_posts .next {
    background: #ff7700;
    border-radius: 3px;
    color: #fff;
    font-size: 3rem;
    line-height: 0;
    padding: 5px 16px 0;
}
#footer_more_posts .align {
    top: 10px;
    position: relative;
}
#footer_more_posts a.page-numbers:hover {
    background: #c42c1f;
    color: #fff;
}
#footer_more_posts .footer_centered {
    float: none;
    margin: 0 auto !important;
}
#footer_more_posts > a:only-of-type > span {
    float: none !important;
    margin-left: auto;
    margin-right: auto;
}

#footer_next_page { float: left; }
#footer_prev_page { float: right; }

#footer_next_page,
#footer_prev_page {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
    padding: 6px 10px;
    border-radius: 5px;
    background: #e40000;
    margin: 0;
    line-height: 11px;
    display: inline-block;
    position: relative;
    top: 0;
    margin: 6px 4px 6px 4px;
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
}
#footer_prev_page::after {
    content: "\203A";
    font-size: 17px;
    margin: 0 0 0 5px;
}
#footer_next_page::before {
    content: "\2039";
    font-size: 17px;
    margin: 0 5px 0 0;
}

#footer_prev_page:hover, #footer_next_page:hover { background: #ff1010; }

#footer_more_posts.singlenav {
    margin: 0;
    height: auto;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
#footer_more_posts.singlenav a {
    display: block;
    color: #d71920;
}
#footer_more_posts.singlenav a:hover { color: #D76A00; }

.footer_post_wrapper {
    display: table;
    width: 100%;
    position: relative;
    margin: 0 0 20px 0;
    vertical-align: top;
    height: 65px;
}
.footer_thumbnail {
    display: table-cell;
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    padding: 5px 0 0;
    width: 64px;
}
.footer_thumbnail img {
    width: 64px;
    max-width: 64px !important;
}
.footer_post {
    width: 100%;
    display: table-cell;
    vertical-align: top;
    padding: 0 0 0 15px;
}
.footer_post p {
    padding: 0 !important;
    font-size: 12px !important;
}
.footer_post a {
    font-weight: bold;
}
.entry_bottom_heading {
    color: #636363;
    font-size: 12px !important;
    font-weight: bold;
    padding: 15px 0 20px 0 !important;
}


div.swfSpacer {
    /* FF */
    margin-top: 18px !important;
    /* IE6 */
    margin-top: 0;
}
* + html div.swfSpacer { margin-top: 0!important; } /* IE7 */



/* ========================================================================== 
   single page overrides
   ========================================================================== */
#main_body_single table.post_head { left: 105px; }

.single_post_content {
    position: relative;
    left: 105px;
    max-width: 505px;
    margin: 2px 0 0 1px;
}

/*.single_post_content img { border: 1px solid #eee; }*/

.single_post_content p,
#content p {
    margin: 0;
    padding: 0 0 var(--content-padding-bot) 0;
    font-size: 13px;
    line-height: 20px;
}
.single_post_content p.first {} 

.single_post_content div.flashdiv {
    margin: 0 0 13px 0;
    padding: 10px;
    font-size: 14px;
    line-height: 20px;
    border: 2px solid #ADADAD;
    color: #5C5C5C;
}
.single_post_content object, .single_post_content embed { margin-bottom: var(--content-padding-bot); }

#main_body_single .post_foot { margin: 0 0 0 5px; }

.singlenav {
    position: relative;
    height: 16px;
}
.singlenav .alignleft { left: 110px; }
.singlenav .alignright { right: 65px; }

.featurepage ul {
    margin-top: -11px;
    padding-bottom: var(--content-padding-bot);
}

#content { position: relative; }

.inlinecode,
.displaycode {
    font-style: italic;
    font-weight: 600;
}
.displaycode {
    margin: 0 2rem 1rem !important;
    padding: 0 !important;
    word-wrap: break-word;
    display: block;
}

#content span[class^='spacer-']:before {
    clear: right;
    content: '';
    display: block;
}
#content span[class^='spacer-']:after {
    content: '';
    display: inline-block;
}
#content .spacer-1:after { width: .25rem; }
#content .spacer-2:after { width: .5rem; }
#content .spacer-3:after { width: .75rem; }
#content .spacer-4:after { width: 1rem; }
#content .spacer-5:after { width: 1.25rem; }
#content .spacer-6:after { width: 1.5rem; }
#content .spacer-7:after { width: 1.75rem; }
#content .spacer-8:after { width: 2rem; }
#content .spacer-9:after { width: 2.25rem; }
#content .spacer-10:after { width: 2.5rem; }
#content .spacer-11:after { width: 2.75rem; }
#content .spacer-12:after { width: 3rem; }
#content .spacer-13:after { width: 3.25rem; }
#content .spacer-14:after { width: 3.5rem; }
#content .spacer-15:after { width: 3.75rem; }
#content .spacer-16:after { width: 4rem; }



/* ========================================================================== 
   comments
   ========================================================================== */
#join-small, #exit-button { display: none; }
#join-small.join-small-js, #exit-button.exit-button-js { display: block; }

#respond { padding-top: 40px; }
#respond.respond-js { padding-top: 0; }

#comments { position: absolute; top: -40px; }
#comments_wrapper { position: relative; }
#commentform p { padding: 0; }

h3#comments-heading {
    cursor: pointer;
    font-family: 'Source Sans Pro';
}

#fakeComment {
    border: 10px solid #ddd;
    font-style: italic;
    max-width: 600px;
    width: 100%;
    height: 55px;
    padding: 0 20px;
}
div#exit-button {
    width: 100%;
    text-align: left;
}
div#exit-image {
    cursor: pointer;
    width: 21px;
    height: 21px;
    float: right;
    position: relative;
    bottom: -11px;
    right: -8px;
    background: url('images/exit.png')
}


/*join the discussion*/
div#join-small {
    font-family: 'Source Sans Pro';
    max-width: 620px;
    margin: 40px 0 0;
    padding: 0 0 30px;
    position: relative;
}
#join-small::after {
    content: '';
    border-bottom: 37px solid #fff;
    border-left: 15px solid #ddd;
    bottom: 0;
    position: absolute;
    left: 30px;
    transform: rotate(30deg);
}


/*form structure*/
div#respond form {
    margin: 0;
    padding: 0 0px 0px;
}
td.join {
    vertical-align: top;
    padding: 10px 20px 0 0;
}

div#respond .level { padding: 10px 0 0; }
div#respond label {
    color: #999999;
    text-align: left;
    padding: 6px 2px;
    font-size: 12px;
    vertical-align: top;
    line-height: 12px;
}
div#respond .half-length {
    float: left;
    width: 50%;
}
div#respond .half-length .pad-left { padding-left: 9px; }
div#respond .half-length input { width: 100%; }
div#respond .half-length input#url { max-width: 620px; }



/*form elements*/
#emailError, #nameError, #commentError { color: red; font-size: 10px; }

input#author,
input#email,
input#url,
textarea {
    border: 1px solid #b5b5b5;
    padding: 5px;
}
div#comment-area { height: 186px; }
textarea { height: 145px; width: 100%; }
input#submit {
    float: right;
    margin: 10px 0 0 0;
}
.button {
    color: #fff;
    background: #e00400;
    padding: 3px 10px;
    border-radius: 4px;
    border: 0;
    cursor: pointer;
}
.cancel-comment-reply {
    position: absolute;
    right: 10px;
    top: 0;
}


/*show/hide*/
h3#comments,
div#respond h3 {
    margin: 0 0 20px 0;
    padding: 0 5px;
    font-size: 15px;
    font-weight: 600;
    line-height: 2;
}
div#respond h3 {
    margin-bottom: 10px;
    padding: 5px 20px;
    font-size: 15px;
    line-height: 28px;
    position: relative;
    border: 1px solid #ddd;
    display: inline-block;
    border-radius: 3px;
}
.expand-collapse {
    vertical-align: middle;
}
.expand-collapse:before {
    bottom: 1px;
    color: #cb0e15;
    content: '+';
    display: inline-block;
    font-size: 19px;
    position: relative;
}
.expand-collapse.collapse:before {
    content: '\2013';
}
#hide-comments {
    bottom: 3px;
    color: #c42c1f;
    cursor: pointer;
    padding-left: 5px;
    position: relative;
    top: -15px;
    font-size: 13px;
    font-family: Arial, Helvetica, sans-serif;
    position: relative;
}


/*the comments themselves*/
a[rel="nofollow"] { word-break: normal; word-wrap: break-word; }
ol.commentlist { }
ol.commentlist li { }
ul.children { padding-left: 35px; }
ul.children li { }

.comment-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 4px 0;
    padding: 12px 0 4px;
}
.comment-content-body { 
    background: white; 
    border: 1px solid #ddd;
    border-radius: 5px;
    grid-column: 1 / -1;
    padding: 10px 15px;
}
.comment-content-body p {
    color: #000;
    line-height: 1.6;
    margin: 0;
}
.comment-content-body p + p { padding-top: 12px; }
.comment-reply-link {
    color: #9a9a9a;
    float: right;
    font-size: 12px;
    line-height: 1;
    margin-bottom: -4px;
    text-align: right;
}

.comment-meta { 
    font-size: 12px; 
    font-weight: bold;
    line-height: 1; 
    padding: 6px 10px 10px; 
}
.comment-byline { position: relative; }
.comment-byline:after {
    background: url('images/comment-arrow.gif');
    background-size: 25px;
    content: '';
    height: 20px;
    margin-left: 5px;
    position: absolute;
    top: -5px;
    width: 25px;
}
.comment-date { text-align: right; }
.comment-byline a { color: #c42c1f !important; }
.comment-byline a:hover { color: #d76a00 !important; }
.comment-date a { color: #878787 !important; }



/*comment nav*/
.comment-nav {
    display: grid;
    grid-gap: 27px 17px;
    grid-template-columns: 1fr 1fr;
    line-height: 1;
    padding: 0 5px 10px;
}
.comment-nav > div {}
.comment-nav > div:not(:empty) { padding-top: 1.25rem; }
.comment-nav .nav-left {}
.comment-nav .nav-right { text-align: right; }

/*
#join-button {
    position: absolute;
    top: 23px;
    left: 575px;
    cursor: pointer;
}
div#join-big .inputs-fields {
    position: relative;
    top: -20px;
    right: -3px;
}
.placeholder {
    font-size: 14px !important;
    font-weight: bold;
    font-style: italic;
    position: absolute;
    top: 24px;
    left: 20px;
}
*/



/* ========================================================================== 
   sidebar
   ========================================================================== */
#sidebar {
    display: inline-block;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: .95rem;
    line-height: 1.3;
    padding: 4rem 0 0 100px;
    white-space: normal;
    width: 37%;
}

#sidebar #search {
    border: 1px solid #aaa;
    border-radius: 5px;
    margin: 0 0 20px;
    position: relative;
}
.headerSearchSubmit {
    background: url('images/search.svg') no-repeat center center;
    background-size: 20px auto;
    border: 0;
    width: 9%;
    height: 32px;
    position: absolute;
    cursor: pointer;
    outline: 0;
    bottom: 0;
    top: 0;
    margin: auto;
}
#sidebar #search .searchboxsub {
    color: #555;
    font-style: italic;
}
#sidebar #search input[type="text"] {
    width: 89%;
    margin: 2px 0 2px 2px;
    padding: 6px 10px;
    border: 0;
    font-size: .9rem !important;
    font-style: normal;
    color: #222;
}
#sidebar #search input[type="text"]::placeholder {
    color: #828282;
    font-style: italic;
    opacity: 1;
}
#sidebar .searchboxsub-on {
    color: #000;
    font-style: normal;
}
#sidebar .headerSearchSubmit { padding: 0; }

#sidebar .all-by-date {
    color: #c62a14;
    display: block;
    font-size: 1.1rem;
    clear: both;
}
#sidebar .all-by-date:before {
    background: url('images/list-icon.png') no-repeat;
    content: '';
    display: inline-block;
    height: 11px;
    margin: 0 5px 0 0;
    width: 15px;
}
#sidebar .all-by-date:hover { color: #d76a00; }

.sidebar-inner { margin: 0; }

.sidebar-pod {
    width: 100%;
    padding: 0 0 25px;
    position: relative;
}
.sidebar-pod:last-of-type { padding: 0 0 20px; }

a.more-recent-posts {
    position: absolute;
    bottom: 40px;
    right: 0;
    color: #959595;
}
.sidebar-pod a:hover { color: #c42c1f; }
#sidebar .related-writings { display: none; }

.sidebar_post_wrapper {
    display: table;
    width: 100%;
    position: relative;
    margin: 0 0 20px 0;
    vertical-align: top;
}
.sidebar_post_wrapper:last-of-type { margin: 0 0 10px; }
.sidebar_thumbnail {
    display: table-cell;
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    padding: 3px 0 0;
    width: 64px;
}
.sidebar_thumbnail img {
    width: 64px;
    max-width: 64px !important;
}
.sidebar_post {
    width: 100%;
    display: table-cell;
    vertical-align: top;
    padding: 0 0 0 15px;
}
.sidebar_post p {
    font-size: .95rem !important;
    padding: 0 !important;
    margin: 0 !important;
}
.sidebar_post a { color: #202020; }

p.sidebar-heading {
    color: #555;
    font-size: 1.3rem !important;
    font-weight: 300;
    padding: 15px 0 13px 0 !important;
    margin: 0 !important;
}
.sidebar-image-caption {
    margin: 10px 0 10px 0;
    display: inline-block;
    float: right;
}
.sidebar-image-caption p {
    text-align: right;
    font-size: .8rem;
    line-height: 14px;
    margin: 0;
    color: #636363;
}
#sidebar time {
    font-size: .8rem;
    color: #535353;
}

.categories-list-row { margin: 0 0 0 -20px; }
.categories-list {
    margin: 0 0 0 30px;
    padding: 0;
    list-style: none;
    display: inline-block;
    vertical-align: top;
}
.writings-sidebar-additions .categories-list {
    margin: 0;
    width: 100%;
}
.categories-list li {
    padding: 0 0 0 3px;
    position: relative;
}
.writings-sidebar-additions .categories-list li { padding: 0; }
.categories-list li:before {
    content: '';
    width: 4px;
    height: 4px;
    top: 10px;
    left: -8px;
    position: absolute;
    display: inline-block;
    background: #ee5050;
}
.writings-sidebar-additions .categories-list li:before { display: none; }
.categories-list a {
    color: #535353;
    line-height: 1.5;
    text-transform: none;
}
.categories-list a:hover { color: #c42c1f; }
.writings-sidebar-additions .categories-list a:hover {
    background: #fde2ae;
    color: #222;
}

.sidebar-archive { width: 300px; }
.sidebar-archive a { color: #717171; }
.sidebar-archive a:hover { color: #c42c1f; }

.sidebar-archive ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sidebar-archive li {
    display: inline-block;
    border-right: 1px solid #aaa;
    padding: 0 7px 0 4px;
    margin: 0 0 10px;
    line-height: 12px;
}
.sidebar-archive li:last-of-type {
    border-right: 0;
    padding: 0 0 0 4px;
}
.archive-heading {
    margin: 25px 0 5px 0;
    font-size: 11px;
}
#sidebar .sidebar-social {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    margin: 10px 0 0 0;
}


/* sidebar image */
span#side-images {
    display: inline-block;
    margin: 0 0 15px;
    display: block;
}
#side-images a,
#side-images img {
    display: inline-block;
    border-radius: 6px;
    max-width: 100%;
    height: auto;
}
#side-images img {
    border-radius: 7px;
    box-shadow: 0px 0px 10px -6px rgba(0, 0, 0, 1);
}
span#side-images a:hover img { box-shadow: 0px 0px 0px 2px #ff7500; }

.writings-sidebar-additions {
    margin: 0 auto;
    position: relative;
    top: 0;
}
.writings-sidebar-additions .inner {
    padding: 0 2.5rem;
    overflow: visible;
    position: relative;
}
.writings-sidebar-additions .pipe { display: inline; }
.writings-sidebar-additions .categories-list a { 
    font-size: 0.95rem;
    padding: 5px 10px;
    width: 100%;
    margin: 0;
    text-transform: none; 
}

.search-link { position: relative; }

.search-button {
    cursor: pointer;
    position: absolute;
    left: 3px;
    top: 3px;
    background: transparent;
    border: 0;
    width: 16px;
}
.search-button:hover path { fill: #d76a00; }

input.search-field {
    border-radius: 0;
    font-family: 'Source Sans Pro';
    font-size: .9rem !important;
    position: absolute;
    left: 22px;
    border: 0;
    width: 140px;
    padding: 2px 4px;
    top: 1px;
    background: transparent;
}
.search-link .close {
    background: transparent;
    border: 0;
    bottom: 2px;
    color: #818181;
    cursor: pointer;
    left: 148px;
    position: absolute;
    right: 2px;
}
.search-field::placeholder {
    color: #a5a5a5;
    font-size: .76rem;
    font-style: italic;
    opacity: 1;
    line-height: 1.5;
}
#header .writings {
    display: inline-block;
    font-size: 0;
    height: 3.5rem;
    left: 17px;
    width: 7rem;
    position: relative;
    top: 3px;
}
#header a.writings * { fill: #c42c1f; }
#header a.writings:hover * { fill: #d76a00; }

.sidebar-additions {
    padding: 5px 0 7px;
    color: #aaa;
}
.sidebar-additions a, 
.sidebar-additions .categories {
    color: #222;
    font-size: 13px;
    padding: 3px 0;
    text-transform: uppercase;
}
.sidebar-additions .categories {
    background: transparent;
    border: 0;
    color: #636363;
}
.sidebar-additions svg path { fill: #636363; }
.recent-categories {
    display: inline-block;
    margin: 0 0 0 -3px;
}
.sidebar-additions a, 
.sidebar-additions button {
    display: inline-block;
    margin: 0 3px;
}
.categories-list-wrapper {
    display: inline-block;
    position: relative;
}
.sidebar-additions a:hover,
.sidebar-additions .categories:hover {
    color: #d76a00;
}
.sidebar-additions .search-link {
    border-radius: 4px;
    display: inline-block;
    height: 23px;
    margin: 0 0 0 2px;
    position: absolute;
    vertical-align: middle;
}
.sidebar-additions .search-link.open {
    background: #fff;
    width: 160px;
}
.sidebar-additions .headerSearchSubmit {
    background-size: 16px auto;
    height: 16px;
    width: 16px;
}

.writings-sidebar-additions .categories-list-menu {
    background: #fff3d7;
    border: 1px solid #fee9b9;
    box-shadow: -5px 5px 5px 0 rgb(0 0 0 / 15%);
    font-family: 'Source Sans Pro';
    left: -0.45rem;
    padding: 5px 0;
    position: absolute;
    top: 1.7rem;
    width: 300px;
    z-index: 10;
}
.categories-list-menu:before, 
.categories-list-menu:after {
    content: '';
    border-width: 10px;
    border-style: solid;
    display: block;
    left: 2rem;
    position: absolute;
    top: -20px;
}
.categories-list-menu:before {
    border-color: transparent transparent #fcfcfc transparent;
    content: '';
    top: -19px;
    z-index: 1;
}
.categories-list-menu:after {
    border-color: transparent transparent #dedede transparent;
    content: '';
    z-index: 0;
}
.writings-sidebar-additions .categories-list-menu:before, 
.writings-sidebar-additions .categories-list-menu:after {
    display: none; 
}

.writings-sidebar-additions .categories-list-menu .categories-list { column-count: 1; }



/* ========================================================================== 
   search
   ========================================================================== */
/* temp search results */
p.searchresultstemp {
    margin: 0;
    padding: 30px 0 0 0;
    position: relative;
    left: 105px;
    font-style: italic;
    color: #cb0e15;
}


/* SEARCH RESULTS */
div.search-wolfram-results-container {
    padding: 22px 105px;
    font-size: 11px;
}
div.search-divider {
    margin: 0;
    padding: 0;
}
div.search-summary {
    border-bottom: 1px solid #d7d7d7;
    position: relative;
    width: 100%;
}
span.search-summary-right {
    position: absolute;
    right: 0;
    bottom: 2px;
}
span.search-summary-left {
    padding: 0 0 5px 0;
    font-size: 25px;
    line-height: 28px;
    color: #cb0e15;
}
div.search-all {
    margin: 0;
    padding: 3px 0 10px 0;
}
div.search-all img,
div.search-all-link img {
    border: 0;
    margin: 0 2px -5px 0;
}
div.search-result-title {
    margin: 10px 0 5px 0;
    padding: 0;
    border: 0;
    font-size: 14px;
    font-weight: bold;
}
span.search-separator,
span.search-result-type {
    margin: 0 0 2px 0;
    padding: 0;
    border: 0;
    font-size: 11px;
    font-weight: normal;
}
div.search-result-summary {
    margin: 0;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #d7d7d7;
}
div.search-notfound-message {
    margin: 10px 0 10px 0;
    padding: 0;
}
div.search-notfound-message img {
    margin: 0 2px 0 0;
    padding: 0;
}
span.search-navigation-paginator { float: right; }
span.search-navigation-paginator-divider { padding: 0 3px; }
span.search-navigation-prevnext img { margin: 0 2px 0 2px; }

.search_thumbnail {
    display: table-cell;
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    padding: 3px 0 0;
    width: 64px;
}
#blog #content .search_thumbnail img {
    max-width: 64px;
    width: 64px;
}
.search_post {
    width: 100%;
    display: table-cell;
    vertical-align: top;
    padding: 0 0 0 15px;
}

.searchresult a:hover h3 { color: #c42c1f; }

.searchresult h3 {
    color: #222;
    font-size: 1.13rem;
    line-height: 1.2;
    font-family: Georgia;
    font-weight: normal;
    margin: 0;
}
.searchresult {
    display: table;
    margin: 1.6rem 0;
    position: relative;
    width: 100%;
}
.searchresult .date {
    color: #818181;
    font-size: .93rem;
    margin: 0;
}

div[class$="_thumbnail"] img {
    outline: 1px solid #ddd;
    outline-offset: -1px;
}

.wordwrap {
    word-break: break-all;
    word-wrap: break-word;
}



/* ========================================================================== 
   all by date accordion
   ========================================================================== */
#content .accordion .toggle {
    border-top: 1px solid #ccc;
    color: #c42c1f;
    cursor: pointer;
    font-size: 1.93rem;
    margin: 0;
    padding: 1rem 0 1.3rem;
    position: relative;
}
.accordion .toggle:before {
    color: #818181;
    content: '\203A';
    display: inline-block;
    font-family: 'Source Sans Pro';
    font-size: 2rem;
    font-weight: 300;
    line-height: 0;
    position: relative;
    text-align: center;
    top: 0;
    width: 35px;
}
.accordion .toggle.open:before {
    left: 10px;
    right: -10px;
    transform: rotate(90deg);
    top: 0;
    vertical-align: middle;
}
.accordion .toggle .num {
    color: #818181;
    font-size: 1rem;
    margin: 0 0 0 .5rem;
}
.accordion .posts { margin: 1rem 0 3rem 40px; }
.accordion h3 a {
    color: #222;
    font-size: 1.2rem;
}
.accordion .date {
    color: #818181;
    font-size: .9rem;
}



/* ========================================================================== 
   MISC
   ========================================================================== */
/*colorbox*/
#colorbox { z-index: 999999999999 !important; }
#cboxOverlay { z-index: 99999999999 !important; }

.colorbox-container {
    position: relative;
    z-index: 0;
    display: inline-block;
}
#cboxContent {
    padding: 46px 0 0 0;
    background: transparent !important;
}
#cboxTitle {
    padding: 20px 0 0 0;
    color: #535353 !important;
}
.colorbox.cboxElement {
    position: relative;
    display: inline-block;
}
.colorbox-container.aligncenter {
    display: block;
    text-align: center;
}
.colorbox-container.alignleft {
    display: inline-block;
    float: left;
    margin: 0 1em 1em 0
}
.colorbox-container.alignright {
    display: inline-block;
    float: right;
    margin: 0 0 1em 1em
}
.colorbox-zoom {
    background: url("images/sprite-icons.png") no-repeat 0px -82px;
    content: "";
    position: absolute;
    height: 25px;
    width: 25px;
    bottom: 3px;
    right: -2px;
    z-index: 9000;
    cursor: pointer;
}

.colorbox-zoom.hide-mag { display: none; }
.colorbox-container:hover .colorbox-zoom.hide-mag {
    background-position: -24px -82px;
    display: block;
}


/* code styles from jeremyd */
code, .code {
    font-family: Consolas, Arial;
    font-weight: bold;
}
code.math , .code.math { color: rgb(0, 115, 180); }
code.smp, .code.smp { color: rgb(170, 128, 39); }


/* positioning */
.alignright {
    float: right;
    margin: 0 0 1em 1em !important;
}
.alignleft {
    float: left;
    margin: 0 1em 1em 0
}
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}


/* audio (old) */
.WriAudio {
    position: relative;
    display: inline-block;
    padding: 5px 10px 5px 20px;
    border-radius: 5px;
    border: 1px solid transparent;
    background: transparent;
    position: relative;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0);
    cursor: pointer;
    margin-left: -20px;
}
.WriAudio.show { margin-left: 0; }

.WriAudio.show,
.WriAudio:hover {
    background: #f7f7f7;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e5e5;
}
.WriAudio.show .play,
.WriAudio:hover .play {
    width: 26px;
    height: 26px;
    background-image: url('/content/plugins/WriAudio/play-animation@2x.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 52px;
    position: absolute;
    top: 0;
    left: -15px;
    bottom: 0;
    margin: auto;
}

.WriAudio.paused .play { background-position: 0 -27px; }
.WriAudio:active .play { background-position: -27px 0; }
.WriAudio.paused:active .play { background-position: -27px -27px; }

.WriAudio .tooltip { display: none; }
.WriAudio:hover .tooltip {
    display: block;
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    padding: 8px;
    position: absolute;
    top: -53px;
    left: 0;
    right: 0;
    margin: auto;
    width: 130px;
    color: #898989;
    font-size: 12px;
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
    text-align: center;
    z-index: 10;
    white-space: nowrap;
}
.WriAudio:hover .tooltip:before {
    content: '';
    border-top: 9px solid #f5f5f5;
    border-bottom: 9px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: 36px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10;
}
.WriAudio:hover .tooltip:after {
    content: '';
    border-top: 10px solid #e5e5e5;
    border-bottom: 10px solid transparent;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: 36px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 9;
}
.WriAudio audio { display: none; }


/* Oops */
#oops #wrapper { overflow: inherit; }

#oops #content {
    margin: 100px 0 0 50px;
    overflow: hidden;
    max-width: 635px;
    float: left;
}

#oops #footer {
    margin: 0 auto 0;
    padding: 0 0 0 140px;
}

#oops img { vertical-align: middle; }

#oops strong {
    margin: 0 0 0 10px;
    font-size: 18px;
    vertical-align: middle;
}

.oops-heading {
    color: #c42c1f;
    font-size: 16px;
    font-weight: bold;
    margin: 15px 0 0;
    display: block;
    letter-spacing: 1px;
}

.oops-content { margin: 80px 0; }

.oops-content ul {
    list-style-type: none;
    margin: 0 0 20px 0;
    padding: 0;
    color: #555;
}
.oops-content ul li {
    padding: 0 0 0 12px;
    margin: 0 0 20px 0;
    background: url('/common/templates/www.stephenwolfram.com/images/bullet.png') no-repeat left 6px;
}


/* Slider */
.ui-widget { font-size: 11px; }
.ui-slider .ui-slider-handle { height: 1.8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.6em; }

.cat-link {
    background-image: url('images/list-icon.png');
    background-position: left 5px;
    background-repeat: no-repeat;
    color: grey;
    padding-left: 20px;
}
.cat-link:hover { 
    background-image: url('images/list-icon-over.png');
    color: #ea2300; 
}

.cat-link h3 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .95rem;
    font-weight: 200;
}


/* Code Toggle */
.toggle-controls {
    color: #828282;
    cursor: pointer;
    font-size: 12px;
}
.toggle-controls *,
.toggle-controls *:after,
.toggle-controls *:before {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
.toggle-controls:hover { color: #dd1100; }
.toggle-controls i {
    border: 1px solid #aaa;
    display: inline-block;
    font-style: normal;
    height: 9px;
    margin-right: 5px;
    position: relative;
    width: 9px;
}
.toggle-controls:not(.open) i:before {
    background-color: #aaa;
    content: '';
    height: 7px;
    left: 3px;
    position: absolute;
    top: 0px;
    width: 1px;
}
.toggle-controls i:after {
    background-color: #aaa;
    content: '';
    height: 1px;
    left: 0px;
    position: absolute;
    top: 3px;
    width: 7px;
}
.toggle-me {
    display: none;
}


/* WL Code */
.InCell { margin: -8px 0 10px 0; }
.InCell.collapsible { display: none; }
.KeyEvent {
    background: #fff;
    border-width: 1px;
    border-radius: 3px;
    border-style: solid;
    border-color: #d5d5d5;
    display: inline;
    padding: 0 .27rem;
    margin: 0 .11rem;
    vertical-align: middle;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    color: #333;
    font-size: .92rem;
}
.special-character {
    font-family: Mathematica;
    position: relative;
}
.special-character.formalcharacter::after {
    content: '.';
    bottom: -12px;
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}
.special-character.formalcharacter.old:before {
    content: '.';
    top: -18px;
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}

.popup-clipboard {
    position: relative;
    display: inline;
}
.popup-clipboard > span { display: none; }
.popup-clipboard.open > span {
    display: inline-block;
    position: absolute;
    bottom: 2rem;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 1rem;
    left: 0;
    right: 0;
    width: 340px;
}
.popup-clipboard .clipboard-img img { max-width: none !important; }
.popup-clipboard.open > span:before {
    border-bottom: 9px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 9px solid #fff;
    content: '';
    display: block;
    height: 0;
    left: 21px;
    margin: auto;
    position: absolute;
    bottom: -18px;
    width: 0;
    z-index: 999999;
}
.popup-clipboard.open > span:after {
    border-bottom: 10px solid transparent;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    border-top: 10px solid #ddd;
    content: '';
    display: block;
    height: 0;
    left: 20px;
    margin: auto;
    position: absolute;
    bottom: -20px;
    width: 0;
    z-index: 999998;
}



/* ========================================================================== 
   audio
   ========================================================================== */
.wri-audio { 
    display: inline-flex;
    position: relative;
}
.wri-audio.hero { display: inherit; }
.wri-audio br { display: none; }

.wri-audio:hover::before,
.wri-audio:active::before,
.wri-audio.playing:hover::before,
.wri-audio.playing:active::before {
    background: url('images/audio-in-post-hover.png');
    background-size: 100px;
    bottom: 0; 
    content: '';
    height: 50px;
    left: 0; 
    margin: auto;
    position: absolute;
    right: 0;
    top: 0; 
    width: 50px;
}
.wri-audio:hover::before { background-position: 0 -50px; }
.wri-audio:active::before { background-position: -50px -50px; }
.wri-audio.playing:hover::before { background-position: 0 0; }
.wri-audio.playing:active::before { background-position: -50px 0; }

/*hero*/
.wri-audio.hero:hover::before { 
    background: url('images/audio-hero-play.svg') no-repeat center center;
    background-size: contain;
    bottom: 17%;
    height: 66%;
    /*opacity: 0.75;*/
    top: 17%;
    width: 100%;
}
/*.wri-audio.hero:active::before { opacity:0.9 }*/
.wri-audio.hero.playing:hover::before { background-image: url('images/audio-hero-pause.svg'); }

/*p instead of div*/
p.wri-audio:hover::before, p.wri-audio:active::before { bottom: var(--content-padding-bot) !important; }
p.wri-audio.hero:hover::before { bottom: calc(17% + var(--content-padding-bot)) !important; }



/* ========================================================================== 
   video
   ========================================================================== */
/*general*/
.wri-video { display: inline-flex; position: relative; text-align: center; }
.wri-video br { display: none; }

.wri-video:hover::before, .wri-video:hover::after, 
.wri-video:active::before, .wri-video:active::after, 
.wri-video.paused::before, .wri-video.paused::after, 
.wri-video.paused:active::before, .wri-video.paused:active::after {
    bottom: 0; 
    content: '';
    left: 0; 
    margin: auto;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0; 
}


/*border (before)*/
.wri-video:hover::before,
.wri-video:active::before,
.wri-video.paused::before,
.wri-video.paused:hover::before,
.wri-video.paused:active::before {
    background: rgba(0, 0, 0, 0.25);
    border: 3px solid rgba(255, 255, 255, 0.75);
    border-radius: 10px;
    height: 72px;
    width: 84px;
}
.wri-video:active::before,
.wri-video.paused:hover::before,
.wri-video.paused:active::before {
    border-color: #fff;
}


/*icons (after)*/
.wri-video:hover::after,
.wri-video:active::after,
.wri-video.paused::after,
.wri-video.paused:hover::after,
.wri-video.paused:active::after {
    background: url('images/icon-play.svg') no-repeat;
}
.wri-video:hover::after,
.wri-video:active::after {
    height: calc(50px * 0.84); 
    width: calc(27px * 0.84); 
}
.wri-video.paused::after,
.wri-video.paused:hover::after, .wri-video.paused:active::after {
    height: 50px; 
    width: 25px;
}
.wri-video:hover::after { background: url('images/icon-pause.svg') no-repeat; }
.wri-video:active::after { background: url('images/icon-pause-hover.svg') no-repeat; }
.wri-video.paused:hover::after, .wri-video.paused:active::after { background: url('images/icon-play-hover.svg') no-repeat; }

.wri-video.with-placeholder:not(.paused) video { display: block; }
.wri-video.with-placeholder:not(.paused) img { display: none; }
.wri-video.with-placeholder.paused video { display: none; }
.wri-video.with-placeholder.paused img { display: block; }


/*no overlay*/
.wri-video.no-overlay::before, .wri-video.no-overlay::after { display: none; }



/* ========================================================================== 
    responsive breakpoint styles 
    ========================================================================== */
@media (max-width: 1200px) {
    #blog #content .post_content p { font-size: 16px; }
    #header .writings { top: 5px; width: 5.5rem; }
}


@media (max-width: 1020px) {
    /*toc*/
    #toc-bar.is-sticky { padding: 0 10%; }
    #toc-bar-inner { max-width: none; }


    .inner { padding: 0 10%; }
    #header .writings { height: 3rem; }
    #logo + .pipe { top: 1rem; }
    .writings-sidebar-additions .inner { padding: 0 2.3rem; }
    #blog #content {
        display: block;
        width: 100%;
    }
    #blog #sidebar {
        background: #fbfbfb;
        border: 1px solid #e1e1e1;
        margin: 4rem 0 0;
        padding: .5rem 2rem .5rem 1rem;
        width: 100%;
    }
    #blog .sidebar-pod {
        overflow: hidden;
        padding: 0 0 10px;
    }
    #side-images { display: none !important; }
    #search { display: none; }
    #sidebar .related-writings { display: block; }
    #sidebar .recent-writings { display: none; }
    #footer_recent_posts { display: none; }
    #sidebar .all-by-date { display: none; }
    .sidebar_post_wrapper {
        display: inline-block;
        padding: 0 10px 0 0;
        width: 49%;
    }
    .sidebar_post_wrapper:nth-of-type(3),
    .sidebar_post_wrapper:nth-of-type(4) {
        margin: 0;
    }
    .sidebar_post_wrapper:nth-of-type(5) { display: none; }

    .categories-list {
        column-count: 3;
        width: 100%;
    }
    .sidebar-archive { width: 90%; }
    .writings-sidebar-additions .sidebar-additions { margin: 1px 0 0 10px; }
    .recent-categories.hide + .pipe { display: none; }
    .writings-sidebar-additions .writings { left: 41px; }
    #footer .inner { padding: 0 10%; }
}


@media (max-width: 900px) {
    #blog .popular-categories { overflow: visible; }
    .categories-list { width: 100%; }
    .categories-list li:before { top: 14px; }
    .categories-list a {
        display: inline-block;
        padding: 5px 0;
        font-size: 0.95rem;
    }
    .sidebar-archive a { font-size: 1rem; }
    #blog #content .post_content p { font-size: 1.1rem; }
    .page #content h1, .archive #content h1 { margin: 1rem 0 1.6rem; }
    .search_thumbnail { padding: 2px 0 0; }
    .inline-table-of-contents {display:none;}


    /*video > general */
    .wri-video:hover::before, .wri-video:hover::after, 
    .wri-video:active::before, .wri-video:active::after, 
    .wri-video.paused::before, .wri-video.paused::after, 
    .wri-video.paused:active::before, .wri-video.paused:active::after {
        bottom: var(--mobile-img-pad-bot);
    }
}


@media (max-width: 600px) {
    /* Stripes */
    #blog a.bottomstripe {
        max-width: 100%;
        grid-template-columns: 45px auto;
        grid-template-rows: auto;
        column-gap: 1rem;
        grid-template-areas: 
            "image title"
            "image action";
    }
    #blog .bottomstripe :nth-child(2) { margin: 0; }


    /*toc*/
    #toc-bar.is-sticky { padding: 0 2.4rem; }
    #toc-bar.is-sticky .toc-title { display: none; }


    .inner { padding: 0 2.4rem; }
    .writings-sidebar-additions .inner { padding: 0 1.7rem; }

    .categories-list-wrapper { position: static; }
    .categories-list-wrapper .categories-list-menu {
        left: 0;
        right: 0;
        top: 2.1rem;
        position: absolute;
        width: auto;
        z-index: 10;
    }
    .categories-list-menu:before, .categories-list-menu:after { left: 7.5rem; }
    .writings-sidebar-additions .categories-list a { padding: 6px 10px 6px 2.4rem; }

    .sidebar_post_wrapper {
        height: auto;
        margin: 0 0 20px !important;
        width: 100%;
    }
    .categories-list { column-count: 2; }
    .sidebar-archive a { font-size: 1.1rem; }

    input.search-field { font-size: .8rem !important; }

    #blog #content { padding: 2rem 0 0; }

    .WriAudio { margin-left: 0; }

    #footer .inner { padding: 0 2.5rem; }
}


@media (max-width: 550px) {
    #header .writings {
        top: 9px;
        width: 5rem;
    }
}


@media (max-width: 430px) {
    /*toc*/
    #toc-bar.is-sticky { padding: 0 1rem; }
    .toc-menu {
        margin-left: auto;
        margin-right: auto !important;
        left: 0;
    }


    #header .writings { width: 4.1rem; }
    .inner { padding: 0 1rem; }

    .writings-sidebar-additions .writings { left: 10px; }
    .writings-sidebar-additions .sidebar-additions { margin: 0; }
    .writings-sidebar-additions .inner { padding: 0 1rem; }

    #blog #content { padding: 2rem 0; }
    #blog h1 { margin: 0 0 11px; }
    #blog #sidebar { padding: 1rem; }

    .categories-list { column-count: 1; }

    #content h1 a, #content h1.blog-post-title { font-size: 2rem; }
    #blog #content .post_content h2 {
        margin: .6rem 0 1rem;
        font-size: 1.5rem;
    }
    #blog #content .post_content p { font-size: 1.06rem; }

    #footer .inner { padding: 0 1rem; }
}


@media (max-width: 320px) {
    .writings-sidebar-additions .sidebar-additions { margin: 0; }

    #blog #content { padding: 1rem 0; }
}