/*
 * Theme Name: presscenter-wolfram
 * Theme URI: http://wolfram.com/
 * Description: Wolfram Press Center Theme, Jan 2024
 * Version: 2.0
 * Author: Wolfram Research
 * Author URI: http://wolfram.com/
 * Tags: Wolfram
 *
 *
 *        Contact WBI for problems or updates to this theme
 *
 */



/* ==========================================================================
   SITE SETUP
   ========================================================================== */
/*structure*/
#main-wrap {
    color: #222;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    font-weight: 400;
    padding: 0 2rem;
}
.single-post #main-wrap { margin-bottom: 6.25rem; }

#pageWrapper {
    margin: 3.125rem auto 0;
    max-width: 1000px;
    width: 100%;
}


/*text*/
h1 {
    font-size: 2.8125rem;
    color: #dd1100;
    padding: 0;
    margin: 0 0 2.5rem 0;
}
h2 {
    font-size: 2.1875rem;
    color: #dd1100;
}
#main-wrap p {
    font-size: 0.9375rem;
    line-height: 1.6;
    font-weight: 400;
    margin: 0 0 0.9375rem;
}
strong { font-weight: 600; }

#main-wrap hr {
    border: 0;
    background: #ccc;
    height: 1px;
}


/*links*/
#main-wrap a { color: #dd1100; }
#main-wrap a:hover { color: #f97834; }

#pageWrapper #breadcrumb a {
    font-size: 1.25rem;
    color: #797979;
}
#pageWrapper #breadcrumb a:hover { color: #f77700; }

a.button {
    border-radius: 0.25rem;
    display: inline-block;
    padding: 0.5rem 1rem;
}
.button.medium {
    font-size: 0.9375rem;
    line-height: 1;
}
.button.red {
    background: #dd1100;
    color: #fff !important;
}
.button.red:hover { background: #f97834; }


/*lists*/
#pageWrapper ul {
    line-height: 1.6;
    padding-bottom: 0.375rem;
}
#pageWrapper ul li {
    background: url("/common/images2010/m8/red_bullet.gif") no-repeat 0 0.625rem;
    padding-left: 0.8rem;
    padding-bottom: 0.5rem;
}



/* ==========================================================================
   FRONT PAGE
   ========================================================================== */
.home #pageWrapper {
    display: grid;
    grid-gap: 3.125rem;
    grid-template-columns: 700px 1fr;
}

.home #pageWrapper h2 {
    color: #777;
    font-size: 1.75rem;
    margin: 1.25rem 0 0 0;
}


/*product grids*/
.products { 
    margin-top: 3.125rem;
    display: grid;
    grid-gap: 1.5rem 0;
    grid-template-columns: 1fr 1fr 1fr;
}

.products h2, 
.products hr,
.products p {
    grid-column-end: span 3;
}

a.product-box { 
    text-align: center;
    display: flex;
    flex-flow: column wrap;
}

.product-box img { 
    margin: 0 auto; 
    max-width: 100%;
}

.product-box .caption {
    color: #666;
    display: inline-block;
    font-weight: 300;
    font-size: 0.8125rem;
    text-align: left;
    margin: 0.625rem auto 0;
    padding: 0 1rem;
}

a.product-box:hover span.caption { color: #f97834; }
a.product-box span.special-caption { margin-left: 1rem; }

.products p { 
    padding: 3.125rem 3.125rem 0 0; 
    justify-self: end;
}


/*news items*/
#news-items { 
    border-top: 1px solid #ccc;
    margin-bottom: 3.125rem; 
    margin-top: 3.75rem;
    padding-top: 1.5625rem;
}
.news-item h1 {
    margin: 1.25rem 0 0 0;
    color: #f97834;
    font-size: 1rem;
}
.news-item h2 {
    display: none;
}
.news-item p.date {
    color: #aeaeae;
    font-size: 0.875rem;
}
.news-item .excerpt {
    margin: 2px 0 0 0;
    font-size: 0.875rem;
    line-height: 1.4;
}
#news-items > p { 
    padding: 3.125rem 3.125rem 0 0; 
    text-align: right;
}


/*sidebar*/
.right-column { margin-top: 5.625rem; }
.right-grey {
    background-color: #f3f3f3;
    padding: 0.625rem 1.5625rem 1.5625rem 1.5625rem;
}
#main-wrap .right-column p {
    font-size: 0.875rem;
    line-height: 1.3;
    margin: 0.875rem 0;
}
#main-wrap .right-column p.headline,
#main-wrap .right-column h2 {
    color: #222;
    font-size: 1rem;
    line-height: 2.125;
    margin-top: 1rem;
    text-transform: uppercase;
}
.right-grey p:last-child {
    border-top: 1px solid #ccc;
    padding-top: 0.875rem;
}
.social-icons {
    margin: 1.25rem 1.5625rem 0;
}
.social-icons img {
    float: left;
    padding-right: 0.625rem;
}
.right-column  a.connect { color: #f97834; }
.right-column  a.connect:hover { color: #dd1100; }




/* ==========================================================================
   MEDIA RESOURCE PAGES
   ========================================================================== */
#media h1 { margin: 0 0 1.25rem 0; }
/*#media p.intro { width: 43.75rem; }*//*700px*/

#media p.more-about a + a { margin-left: 1rem; }
#media a.media-link + a { margin-left: 1.25rem; }
#media img {
    display: block;
    margin-bottom: 0.625rem;
    max-width: 100%;
}

#media .images-grid { 
    display: grid;
    grid-gap: 0.9375rem;
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: 0.625rem;
    width: 43.125rem; /*690px*/
}
#media .images-grid img { margin-bottom: 0; }
#media hr, #book hr { margin: 2.5rem 0; }

#addtl-info {
    border-top: 1px solid #ccc;
    margin: 2.5rem 0 6.25rem;
    padding-top: 2.5rem;
}
#addtl-info p.other-images {
    font-size: 0.9375rem;
    color: #666;
}
#addtl-info p.uses {
    font-size: 0.6875rem;
    color: #a3a3a3;
}


/*all resources page*/
#media.all { width: 70%; }
#media.all h2 {
    color: #777;
    font-size: 1.75rem;
}
#media.all .two-col {
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: 1fr 1fr;
}
#media.all .two-col + h2 { margin-top: 1.5rem; }
#media.all ul { margin-top: 1rem; }
#media.all li {
    background: none;
    line-height: 1.25; 
    padding: 0 0 0.5rem;
}
#media.all li.spacer { margin-top: 1.75rem; }

#media.all + #addtl-info p.other-images,
#book + #addtl-info p.other-images {
    display: none;
}




/* ==========================================================================
   BOOK PAGES
   ========================================================================== */
/*intro*/
#book .left {
    width: 35.3125rem; /*565px*/
    display: inline-block;
    vertical-align: top;
    margin: 0 2.5rem 0 0;
}
#book .left + img { margin: 0.3135rem 0 0 0; }

#book h1 {
    color: #1377a7;
    line-height: 1;
    margin: 0;
}
#book .subheading {
    font-size: 1.5625rem;
    font-style: italic;
    color: #5e5e5e;
    line-height: 1.5;
    margin: 0 0 2.5rem;
}
#book h2 {
    font-size: 1.25rem;
    color: #1377a7;
    font-weight: 400;
    margin: 0 0 1.875rem;
}
#book p:last-child { margin: 0; }


/*contents*/
#book-toc {
    display: grid;
    grid-gap: 0 1rem;
    grid-template-columns: 28% 28% 28%;
}
#book ul li {
    background: none;
    color: #000;
    font-size: 1.1875rem;
    line-height: 1.2;
    margin: 0 0 0.625rem;
    padding: 0;
}
#book ul li:last-child { margin: 0; }


/*reviews*/
#book blockquote {
    quotes: "\201C" "\201D" "\2018" "\2019";
    color: #1377a7;
    font-style: italic;
    line-height: 1.8;
    margin: 1.875rem 0 0 0;
}
#book blockquote::before,
#book blockquote::after {
    font-size: 2.5rem;
    line-height: 1;
    height: 1.875rem;
    display: inline-block;
    vertical-align: bottom;
}
#book blockquote::before { content: open-quote; }
#book blockquote::after { content: close-quote; }

#book .author {
    color: #5a5a5a;
    text-align: right;
    margin: 0.375rem 0 1.875rem;
}


/*info section*/
#book .book-info {
    display: inline-block;
    font-size: 0.875rem;
    margin: 0 2.5rem 0 0;
    text-align: center;
}
#book p + .book-info { margin-top: 1.875rem; }
#book .book-info img {
    display: block;
    margin: 0 auto 0.625rem;
}
#book .book-info a {
    display: inline-block;
    margin: 0 0.9375rem 0 0;
}
#book .book-info a:last-child { margin: 0; }

#book .half {
    display: inline-block;
    vertical-align: top;
    width: 35%;
}
#book .half ul { width: 100%; }
#book .half li { font-size: 0.875rem; }
#book .half img { margin: 10px auto; }



/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px) {
    /*FRONT PAGE*/
   .home #pageWrapper { grid-template-columns: 1fr 250px; }


    /*MEDIA RESOURCE PAGES*/
    #addtl-info p.uses { font-size: 0.75rem; }


    /*BOOK PAGES*/
    #book .left { width: calc(100% - 25rem); }
    #book .left + img { max-width: 20rem; }
    
}


@media (max-width: 900px) {
    /*FRONT PAGE*/
   .home #pageWrapper { grid-template-columns: 1fr; }
    .product-box .caption { font-size: 1rem; }
    #news-items { margin-bottom: 0; }
    .right-column { margin-bottom: 4rem; margin-top: 0; }
    .right-grey, .social-icons {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .right-grey h2, .right-grey p:last-child { grid-column-end: span 2; }


    /*MEDIA RESOURCE PAGES*/
    /*#media p.intro { width: revert; }*/
    #media .images-grid { width: 100%; }
    #addtl-info { margin-bottom: 4rem; }
    #addtl-info p.uses { font-size: 0.875rem; }
    #media.all { width: 90%; }


    /*BOOK PAGES*/
    #book-toc { grid-template-columns: 1fr 1fr 1fr; }
}


@media (max-width: 600px) {
    /*SITE SETUP*/
    #main-wrap { padding: 0 1rem; }


    /*FRONT PAGE*/
    .products { 
        grid-gap: 2.5rem 0;
        grid-template-columns: 1fr;
    }
    .products h2, .products hr, .products p { grid-column-end: span 1; }
    .products p, #news-items > p { padding-right: 0; } 
    a.product-box { margin: 0 auto; max-width: 300px; }
    .product-box .caption { font-size: 1.23rem; }
    .right-grey, .social-icons { display: revert; }
    

    /*MEDIA RESOURCE PAGES*/
    #media .images-grid { grid-template-columns: 1fr 1fr; }
    #addtl-info p.uses { font-size: 1rem; }
    #media.all { width: 100%; }
    #media.all .two-col {
        grid-gap: 0;
        grid-template-columns: 1fr;
    }
    #media.all ul + ul { margin-top: -0.25rem; }
    #media.all li.spacer { margin-top: 0; }


    /*BOOK PAGES*/
    #book .left { margin: 0 0 2rem; width: 100%; }
    #book .left + img { max-width: 100%; }
    #book-toc { grid-template-columns: 1fr; }
    #book .book-info {
        display: block;
        margin: 0;
    }
    #book .book-info + .book-info { margin-top: 2rem; }
    #book .half {
        display: block;
        margin-bottom: 2rem;
        width: 100%;
    }
}


@media (max-width: 320px) {
}