/* 

    Theme Name: Publications | Stephen Wolfram
    Theme URI: http://publications.stephenwolfram.com/ 
    Description: Stephen Wolfram Publications blog Theme. 

    developer:   Estevao T
    requires:    /common/framework/css/framework.en.css

    Most of the styles were taken from the previous version of the publications site
               
    ========================================================================== */

/* ==========================================================================
    Structure
    ========================================================================== */

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

.inner {
    margin: 0 auto;
    width: 100%;
    padding: 1.25rem 2.5rem 4px 2.5rem;
    max-width: 1260px;
}

.medium-col-width {
    max-width: 1140px;
    position: relative;
}


/* ==========================================================================
    Shared 
    ========================================================================== */

a { 
    color: #c62a14; 
    text-decoration: none;
    font-weight: 400;
}

a:hover { color: #d76a00;}

.inner h1 {
    font-size: 1.75rem;
    font-weight: normal;
    color: #636363;
    margin-bottom: 2.3rem;
    line-height: 2rem;
}

.inner h2 {
    font-size: 1rem; 
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 700;
    color: #e2701c;
    margin: 0;   
}

.inner h3 {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1rem;
    font-weight: bold;
    color: #946c46;
    margin: 2rem 0 0.125rem;
}

.inner img { max-width: 100%; }

.heading { margin:4rem 0 2rem; }


/* Used in almost every place*/
.publications-links a, 
.publications-links li a,
p.publication-text {
    display: block;
    overflow: hidden;
    line-height: 1.2rem;  
    font-family: Helvetica, Arial, sans-serif !important;
    font-weight: bold;
    color: #333;
    font-size: 0.875rem;  
}

.publications-links a:hover,
p.publication-text:hover { 
    color: #c62a14; 
}

.publication-meta {
    font-family: Helvetica, Arial, sans-serif;
    display: block;
    font-size: .75rem;
    font-weight: normal;
    color: #959595;
    line-height: .93rem;
    padding-top: 2px;
}

/* To use in any page */
.mbook-caption {
    margin: -15px 0 0 33px;
    display: block;
    font-family: Helvetica, Arial, sans-serif;
}

.divider {
    margin: 70px 0;
    border: 0;
}
.separator {
    margin: 15px auto;
    border:1px solid #D7D7D7;
}

.border-b-1-ddd {
    border-bottom:1px solid #ddd;
}

.list-numbered li {
    display: list-item;
    line-height: 1.7;
    list-style: decimal;
    list-style-position: outside;
    margin-left: 2rem;
}

p.book-info, 
p.book-blurb {
    font-family: Helvetica, Arial, sans-serif;
    font-size: .875rem;
    font-weight: bold;
    color: #333;
}

.meta {
    display: block;
    font-size: 0.75rem;
    font-weight: normal;
    color: #959595;
    line-height: 0.93rem;
    padding-top: 2px;
}

hr {
    border: none;
    border-bottom: 1px solid #c2c2c2;
    margin: 30px 0;
}

p {
    margin: 0 0 1rem 0;
}

.publication-text a::after {
    content:' »';
    color: #c62a14;
}

.raquo,
a .raquo {
    color: #c62a14;
}


/* ==========================================================================
    Specific font colors
    ========================================================================== */

.c-70-gray { color: #707070 !important; }
.c-95-gray { color: #959595 !important; }


/* ==========================================================================
    Header and menu
    ========================================================================== */
/*  Header costumization from Writings by Sue Feng */

#header .theme {
    display: inline-block;
    font-size: none;
    height: 3.5rem;
    left: 1rem;
    width: 7rem;
    position: relative;
    top: 3px;
}   

#header a.theme * {
    fill: #c42c1f;
}

#header a.theme:hover * {
    fill: #d76a00;
}

/* Sidebar additions from Writings by Sue Feng */

.publication-content .categories-list a {
    text-transform: none;
}

/* Categories */
.recent-categories {
    display: inline-block;
    margin: 0 0 0 -3px;
}

.publication-categories-list li {
    margin: 2px 0 0;
    padding: 0;
}
.publication-categories-list li a {
    font-size: 0.875rem;
    color: #959595;
    font-weight: 400;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 0.8rem;
    line-height: 1.375rem;
}
.publication-categories-list li a:hover {
    color:#e00400;
}


.categories-list-wrapper {
    display: none;
    position: relative;
}
.publication-content .categories-list-menu {
    background: #fcfcfc;
    border: 1px solid #dedede;
    font-family: 'Source Sans Pro';
    padding: 1rem .5rem 1rem 0;
    position: absolute;
    top: 4.5rem;
    width: 300px;
    z-index: 10;
    font-weight: 400;
}
.categories-list-menu:before, 
.categories-list-menu:after {
    content: '';
    border-width: 10px;
    border-style: solid;
    display: block;
    left: 1rem;
    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;
}
.publication-content .categories-list-menu .categories-list {
    column-count: 1;
}

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


/* 
    ------------------------------------------------
    Homepage
    ------------------------------------------------
*/

.sub-heading {
    text-transform: uppercase;
    margin: 0.625rem 0 0.32rem 0;
    padding: 1.25rem 0 1rem 0.8rem;
    display: block;
    clear: both;
    background: url('https://content.wolfram.com/uploads/sites/34/2020/08/recent-popular-bottom.jpg') repeat-x left bottom;
}

.recent-popular {
    margin-left: -0.8rem !important;
}


/* 
    ------------------------------------------------
    Homepage - Main div
    ------------------------------------------------
*/

#publications {
    display: inline-block;
    vertical-align: top;
    margin: 0 auto;
    white-space: normal;    
}

#publications .publication-content {
    border-right: 1px solid #d7d7d7;
}


/* category list button */

#main-category .list-button {
    width: 172px;
}

/* from writings - more-link */
.list-button {
    display: block;
    box-sizing: border-box;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: bold;
    font-size: 1.1rem;
    color: white;
    line-height: 11px;
    white-space: nowrap;
    padding: 12px 14px 12px 14px;
    margin: 1rem 0 2rem 0;
    background-color: #e82d1d;
    border: 0;
    border-radius: 4px;
    cursor: pointer;  
}

.list-button::before {
    content: '';
    background: url('https://content.wolfram.com/uploads/sites/34/2020/08/hamburger.svg') no-repeat;
    width: 21.4px;
    height: 12.38px;
    position: relative;
    display: inline-block;
    padding: 0;
    margin-right: .25rem;
}

.list-button:hover {
    background:#c42c1f;
}

/* icons */
.publications-wrapper {
    display: block;
    width: 100%;    
    clear: both;
}

.publication-icon {
    display: inline-block;
    float: left;
    margin: 8px 10px 0 0;
}

#publications .video,
#publications .image, 
#publications .audio,
#publications .quote,
#publications .status,
#publications .link   {
    background-image: url('https://content.wolfram.com/uploads/sites/34/2020/08/publications-icons.png');
    width: 23px;
    height: 19px;
}

.publication-text {
    display: inline-block;
    margin: 5px 0 10px;
}

/* icons positions inside sprite */
#publications .video,
#publications .image  { background-position: 0 -24px; }
#publications .audio  { background-position: 0 0; height: 21px; }
#publications .quote, 
#publications .status { background-position: 0 21px; }
#publications .link   { background-position: 0 42px; }
/* icons hover */
#publications a:hover .video,
#publications a:hover .image  { background-position: 23px -24px; }
#publications a:hover .audio  { background-position: 23px 0; }
#publications a:hover .quote,
#publications a:hover .status { background-position: 23px 21px; }
#publications a:hover .link   { background-position: 23px 42px; }


/* 
    ------------------------------------------------
    Homepage - Pagination
    ------------------------------------------------
*/

#publications .nav-links {
    margin: 10px 0;
}

#publications .nav-links .page-numbers {
    font-family: Georgia, 'Times New Roman', serif;
    background: #ff7700;
    border-radius: 3px;
    color: #fff;
    font-size: 1rem;
    padding: .5rem;
}

#publications .nav-links .current {
    background: #e8e8e8;
    color:#5b5b5b;
}


/* 
    ------------------------------------------------
    Homepage - Sidebar
    ------------------------------------------------
*/

#sidebar {
    display: inline-block;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: .95rem;
    line-height: 1.3;
    white-space: normal;
}


/* ==========================================================================
    For Pages
    ========================================================================== */

#pages .heading {
    max-width: 600px;
}

.pages-content h2 {
    font-size: 1.2rem;
    font-weight: normal;
    color: #232323;
    margin: 1.4rem 0 1.4rem;
    line-height: 1.6rem;
}

.academic_books {
    padding: 50px 0 0;
    margin: 0 0 0 -92px;
}

.breadcrumb, .breadcrumb a {
    font-family: Arial, Helvetica, sans-serif;
    color: #959595;
    font-size: 0.875rem;
    font-weight: 400;
}

.breadcrumb a:hover {
    color: #534741;
}

.breadcrumb.return-acad-publications {
    margin-top: 2rem;
}

#pages p.intro-text {
    margin: 10px 0 25px;
    padding: 0 0 25px;
    font-style: italic;
    display: block;
    border-bottom: 1px solid #d7d7d7;
    max-width: 600px; 
}

#pages p.gray-95-feature {
    font-weight: normal;
    color: #959595;
}

#pages p,
#pages tt {
    word-wrap: break-word;
}

#pages p, #pages tt {
   line-height: 1.5em;
}

code, kbd, pre, samp, tt {
   font-family: monospace, monospace;
   font-family: "Source Sans Pro",Consolas,Menlo, monospace;
   font-weight: 600;
}

pre {
    margin: 0 0 1rem 0;
}

/* ==========================================================================
   books
   ========================================================================== */

#wrapper.books { overflow: inherit; }

#publications .books { font-family: Georgia, Times New Roman, serif; }

.books p { margin: 0 0 10px; }

.book-info img {
    vertical-align: top;
    margin-top: 3px;
}

p.book-info,
p.book-blurb {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: bold;
    color: #333;
}

.language-heading,
.books h3 { color: #946c46; }

p.book-blurb { margin: 0; }

p.book-link { margin: 0 -10px -10px; }

.book-link img { vertical-align: middle; }

.book-link span {
    display: inline-block;
    margin: -65px 0 0 -75px;
    vertical-align: middle;
}

.books .divider {
    margin: 70px 0;
    border: 0;
}

.books a p.book-text,
.books a:hover p.book-text {
    color: #959595;
    font-weight: normal;
    margin: 0 0 0.625rem 0;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 0.81rem;
}

.books a p.book-text strong { color: #c62a14; }

.books a:hover p.book-text strong { color: #ff3506; }

.cellular-publish-info strong { font-size: 0.75rem; }

.isbn {
    font-weight: normal;
    color: #555;
    font-size: 0.75rem;
    line-height: 0.937rem;
    display: block;
}

.book-parenthesis { color: #959595; }

.book-left {
    float: left;
    width: 280px;
    margin: 20px 25px 0 0;
}

.book-right {
    float: left;
    margin: 23px 0 0 70px;
}

.book-links { padding: 0; }

.book-meta {
    display: block;
    font-size: 0.687rem;
    line-height: 0.81rem;
}

.book-title .book-description { font-family: Helvetica, Arial, sans-serif; }

.book-description {
    font-family: Georgia, Times New Roman, serif;
    font-weight: normal;
    font-size: 0.75rem;
}

.book-description strong { color: #000; }

.books-thumbnails { margin: 0 0 -15px 2px; }

.book-heading {
    font-family: Helvetica, Arial, Sans-serif;
    font-size: 0.937rem;
    color: #946c46;
    margin: 13px 0 2px;
    display: block;
}

.books ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.books ul li {
    padding: 0 0 0 10px;
    background: url('/common/templates/www.stephenwolfram.com/images/bullet.png') no-repeat left 7px;
}

.books ul a { 
    color: #333; 
    font-size: 0.8rem;
}

.books ul a:hover { color: #c62a14; }

.book-info.first { margin: -20px 0 0; }

.mbook-caption {
    margin: -15px 0 0 33px;
    display: block;
    font-family: Helvetica, Arial, sans-serif;
}

.mbook-parenthesis {
    font-family: Helvetica, Arial, sans-serif;
    color: #959595;
}

.mbook-heading { margin: 0; }

#publications .cellular #content {
    float: left;
    width: 490px;
}

p.cellular-publish-info {
    margin: 0 0 5px 50px;
    font-weight: normal;
}

.books.cellular h2 { margin-bottom: 6px; }

p.m-documentation { margin: 5px -5px 0 0; }

.cellular ul { font-family: Helvetica, Arial, sans-serif; }

.books ul.fulltext { margin: 30px 0 0; }

.books ul.fulltext a { color: #c62a14;  }

.books ul.fulltext a:hover { color: #ff3506; }

.books ul.fulltext a span { color: #959595; }



/* ==========================================================================
   sidebar
   ========================================================================== */

.publications-sidebar {
    float: right;
    width: 330px;
    margin: -74px 0 20px 30px;
}

.publications-sidebar .divider {
    margin: 5px 0 22px;
    width: 313px;
}

.book {
    width: 100%;
    overflow: hidden;
}

.publications-sidebar .book{ margin-bottom: 12px;}

.book.less-margin { margin-bottom: 6px;}

.book.with-link { margin-bottom: 6px;}

.book.academic { margin-bottom: 0;}

.second-edition{ display:block; }

.book-title,
.book-title a {
    color: #959595;
    font-size: 0.75rem;
    width: 268px;
    float: left;
    margin: 0 5px 0 0;
    line-height: 1.2rem;
}

.book-title strong,
.demo strong { 
    color: #000; 
}

#sidebar .book-description {
    font-family: Helvetica, Arial, sans-serifHelvetica, Arial, sans-serif;
    color: #959595;
}

.demo,
.demo a {
    color: #959595;
    font-size: 0.75rem;
}

.big { font-size: 0.81rem !important; }

.big strong { font-size: 0.875rem; }

.book a:hover strong { color: #c62a14; }

.book-icon {
    display: inline;
    float: left;
    margin: 0 0 5px 0;
}

.book-description { display: block; }

.with-link.book:hover strong { color: #000; }

.with-link .book-title a:hover strong,
.demo a:hover strong { color: #c62a14; }

.with-link .book-description a {
    color: #000;
    display: inline;
    width: auto;
    float: none;
}

.with-link .book-description a:hover { color: #c62a14; }

.academic .book-title {
    width: 250px;
    padding: 10px 0 0;
}

.academic.open-resources .book-title:first-child { padding-top: 5px;}

.academic.open-resources .book-title {
    width: 272px;
    padding: 25px 0;
}
 
.demo { margin: 0 0 20px 0; }

.demo-icon { margin: 0 15px 0 0; }

.demo-links { margin: 0 0 5px; }


.venture,  .venture > span.raquo{
    color: #707070;
    margin: 10px 0 10px;
    line-height: 1.2rem;
}

.academic.open-resources .venture{ margin-bottom: 20px;}

.academic.open-resources .venture:hover,
.academic.open-resources .venture:hover  > span.raquo{ color: #c62a14;}

.venture-links img { vertical-align: middle; }

.media-sidebar {
    float: left;
    width: 225px;
    margin: 5px 0 0 30px;
    border-left: 1px solid #d7d7d7;
    border-top: 5px solid #c62a14;
    box-shadow: 3px 3px 8px #d7d7d7;
    background: url('/common/templates/www.stephenwolfram.com/images/media-sidebar-gradient.png') repeat-x left bottom;
}

.media-sidebar-blurb {
    margin: 10px 15px 25px;
    font-size: 0.875rem;
    color: #555;
}

.individual-publication-sidebar {
    float: right;
    width: 250px;
    margin: -20px 0 0 82px;
}

.individual-publication-sidebar p { margin: 0; }

.individual-publication-sidebar p {line-height: 18px;}

.individual-publication-sidebar a {
    font-weight: 600;
    color: #000;
}

.individual-publication-sidebar a:hover,
.individual-publication-sidebar a:hover span.red {  
    color: #c62a14;
}


.individual-publication-sidebar a span.red {
    color: #c62a14;
}

.books .publications-sidebar { margin: 220px 0 0 70px; }

/* ==========================================================================
   Pages content
   ========================================================================== */

#pages .pages-section, #pages .individual-content {
    flex-grow: 2;
    flex-shrink: 0;
    flex-basis: 70%;
    overflow: auto;
    max-width: 700px;
}

#pages .pages-sidebar {
    margin: 0 0 20px 30px;
    flex-grow: 1;
    flex-shrink: 0;
}

/* used to mark a book in the beginning of the page */
#pages a.booktag {
    color: #615d5d;
    font-size: 0.75rem;
    font-family: Arial, Helvetica, sans-serif;
    white-space: nowrap;
    width: 320px;
    line-height: 1.125rem;
    padding-top: 14px;
    width: 320px;
    font-style: normal;
    display: block;
}


/* ==========================================================================
   2018 updates (most publications/media pages)
   ========================================================================== */
.update #wrapper,
.update #footer {
    width: 90%;
    max-width: 1100px;
    min-width: 979px;
}
#media.update .individual h1, 
#publications.update .individual h1 {
    font-size: 2.25rem;
    line-height: 1.2;
    min-width: 615px;
    max-width: 695px;
    margin: 0 0 25px;
    padding: 0 0 3px 0;
}
.update .individual-content {
    min-width: 615px;
    max-width: 695px;
}
.update .individual-content p,
.update .individual-content ol,
.update .individual-content blockquote,
.individual-content.reddit .question-with-alink, 
.individual-content.reddit ul.question li, 
.individual-content.reddit ol.question,
.individual-content.reddit p,
.individual-content.reddit p.intro-text,
.individual-content.reddit p.question, 
.individual-content.reddit p.question + p b {
    font-size: 1rem;
    line-height: 1.7; 
    margin-bottom: 15px;
}

.update pre, .update span.tt {
    font-family: monospace; 
    font-size: 0.937rem;
}


/* 
    ------------------------------------------------
    Text styles
    ------------------------------------------------
*/

#pages .disclaimer {
    margin: 0 0 20px 0;
    padding: 0 0 20px;
    border-bottom: 1px solid #ddd;
    font-size: 0.75rem;
    line-height: 1.375rem;
    width: 450px;
    font-style: italic;
    font-family: Georgia, "Times New Roman", serif;
}

.dateRange {
    font-family: 'Source Sans Pro', sans-serif;
    display: inline-block;
    margin-bottom: 0;
    font-size: 0.875rem;
    font-weight: 400;
    margin-left: 0.125rem;
    color: #959595 !important;
}

#pages .figure, 
#pages .smalltext {
    font-family: Helvetica, Arial, sans-serif;
    font-size: .75rem;
    font-style: italic;
    color: #959595;
    margin: .5rem 0 2.5rem;
    display: block;
}

/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */

.overflow-visible {
    overflow: visible !important;
}

/* styles for large screens (1200px)
   ========================================================================== */

@media all and (max-width: 900px) {

    #content { margin: 2rem 0; }
    .inner h1  { font-size: 1.45rem; }

}

/* styles for small screens (600px)
   ========================================================================== */

@media all and (max-width: 600px) {

    #pages .disclaimer {
        max-width: 450px;
        width: auto;
    }

    .heading{ margin: 2rem 0 1rem; }
    #publications .publication-content { border-right: 0; }

    .categories-list-wrapper .categories-list-menu {
        position: absolute;
        width: 250px;        
        z-index: 10;
    }

    .categories-list-menu .categories-list-scroll {
        max-height: 400px;
        overflow-y: scroll;
    }

    #main-category .list-button { width: 165px; }

    #pages .pages-sidebar {
        margin: 30px auto;
    }

}

/* styles for minimum supported screen width (320px)
   ========================================================================== */
@media all and (max-width: 320px) {

    
    .inner { padding:1.25rem 1.5rem 4px 1.5rem; }
    .publication-icon { margin:6px 2px 0 0; }
    
}