/* Styles for table of contents page.

   developer:   marionm
   requires:    /nks/css/shared.css.en
   ========================================================================== */

/* ==========================================================================
   shared.css.en overrides
   ========================================================================== */

html.toc { background: #3d3d3d; }

html.toc #header { background: #292929; }

/* ==========================================================================
   page specific styles
   ========================================================================== */

/* cover
   ========================================================================== */

#content {
    background: none;
    margin: 0 auto;
    max-width: 1396px;
    padding: 2rem;
}

#content .homepage-hero {
    display: flex;
    gap: 2rem;
    max-width: 1364px;
    text-align: left;
    width: 100%;
}

#content .hero-cover-image {
    background: var(--fw-black);
    flex: 1 1 650px;
    line-height: 0;
    max-width: 650px;
}

#content .hero-cover-image img {
    display: block;
    height: auto;
    max-width: 650px;
    width: 100%;
}

#content .hero-toc {
    background: var(--fw-white);
    display: flex;
    flex: 1 1 650px;
    flex-direction: column;
    font-size: 1.3rem;
    justify-content: center;
    max-width: 650px;
    padding: 0 3rem;
}

#content .hero-toc ol[role='doc-toc'] {
    list-style: none;
    margin: 0;
    padding: 0;
}

#content .hero-toc ol[role='doc-toc'] > li > a,
#content .hero-toc ol[role='doc-toc'] > li > p.toc-footer-links {
    display: table;
    width: 100%;
}

#content .hero-toc a { color: #b00f00; }

#content .hero-toc a:focus-visible,
#content .hero-toc a:hover { color: var(--shared-red-hover); }

#content .hero-toc ol[role='doc-toc'] a > span,
#content .hero-toc ol[role='doc-toc'] p.toc-footer-links > span { display: table-cell; }

#content .hero-toc a > span:nth-of-type(1) {
    color: #656565;
    padding: .4rem 0;
    text-align: right;
    white-space: nowrap;
    width: 2.125rem;
}

#content .hero-toc ol[role='doc-toc'] > li:not(:first-child):not(:last-child):not(:nth-child(14)) > a > span:nth-of-type(1):after {
    color: #b9b9b9;
    content: '|';
    display: inline-block;
    margin: 0 .25rem;
}

#content .hero-toc a > span:nth-of-type(2) { padding: .4rem 0; }

#content .hero-toc .toc-footer-links a {
    color: #666;
    display: inline-block;
    font-size: 1rem;
    margin: 1rem 1.5rem 0 0;
}

#content .hero-toc .toc-footer-links a:focus-visible,
#content .hero-toc .toc-footer-links a:hover { color: var(--fw-black); }

#content .hero-toc .toc-footer-links a:last-of-type { margin-right: 0; }

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

#content footer {
    margin: 3rem auto 0 auto;
    text-align: center;
}

#content footer .links a { color: var(--fw-white); }

#content footer .no-image { padding-top: 4px; }

#content footer .links a img {
    display: inline-block;
    margin: .25rem .75rem 0 0;
    opacity: .65;
}

#content footer .links a:focus-visible,
#content footer .links a:hover { color: #f3a045; }

#content footer .anniversary {
    display: inline-block;
    margin-top: 1rem;
}

#content footer .anniversary a {
    color: #f9c781;
    font-style: italic;
    text-align: left;
}

#content footer .anniversary a:focus-visible,
#content footer .anniversary a:hover { color: #f3a045; }

#content footer .anniversary a img {
    display: inline-block;
    margin: 0 .75rem 0 0;
}

#content footer .copyright {
    color: #8e8e8e;
    display: inline-block;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    font-size: .875rem;
    margin-top: 2rem;
}

#content footer .copyright .attributions {
    opacity: .5;
    vertical-align: middle;
}

#content footer .copyright .attributions:focus-visible,
#content footer .copyright .attributions:hover { opacity: 1; }

#content footer .copyright .wolfram-science-link { color: #8e8e8e; }

#content footer .copyright .wolfram-science-link span {
    letter-spacing: .05em;
    text-transform: uppercase;
}

#content footer .copyright .wolfram-science-link span:first-child { font-weight: 600; }

#content footer .copyright .wolfram-science-link span:last-child { font-weight: 300; }

#content footer .copyright .wolfram-science-link:focus-visible span:first-child,
#content footer .copyright .wolfram-science-link:hover span:first-child { color: #f3a045; }

#content footer .copyright .wolfram-science-link:focus-visible span:last-child,
#content footer .copyright .wolfram-science-link:hover span:last-child { color: var(--fw-white); }

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

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

@media all and (max-width: 1200px) {
    #content .hero-toc { font-size: 1.5vw; }
    #content .hero-toc .toc-footer-links a { font-size: 1vw; }
}

/* styles for medium screens (900px)
   ========================================================================== */

@media all and (max-width: 900px) {
    #content .hero-toc { padding: 0 1.5rem; }

    #content .hero-toc a > span:nth-of-type(1),
    #content .hero-toc a > span:nth-of-type(2) { padding: .3rem 0; }
}

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

@media all and (max-width: 600px) {
    #content { padding: 1rem; }
    #content .homepage-hero {
        flex-direction: column;
        gap: 0;
    }

    #content .hero-cover-image {
        flex: 0 0 auto;
        margin: 0 auto 1rem;
        max-width: 350px;
        width: 100%;
    }

    #content .hero-toc {
        flex: 0 0 auto;
        font-size: 1.15rem;
        line-height: 1.6rem;
        margin: 0 auto 30px;
        max-width: 350px;
        padding: 2.5rem .5rem;
        width: 100%;
    }

    #content .hero-toc .toc-footer-links a { font-size: .95rem; }
}

/* styles for minimum supported screen width (320px)
   ========================================================================== */

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

/* printer styles
   ========================================================================== */

@media print {}