@charset "utf-8";
/* Clean story-page stylesheet for Millennium Water Story */

/* Prevent mobile browsers from automatically enlarging or substituting text. */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* ---------- Heading and story information ---------- */

.heading-grid {
    width: 802px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.top-line {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.title-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.story-title,
.author-name,
.story-date,
.story-credits,
.top-links,
.links,
.dedication-statement,
.pagetop-link,
.bottomlinks {
    font-family: Arial, Helvetica, sans-serif;
}

.story-title {
    color: #cc9900;
    font-weight: 700;
    font-size: 1.05em;
    padding: 0.35rem 0 0.45rem;
    margin: 0;
}

.author-name {
    color: #808080;
    font-weight: 600;
    font-size: 0.8em;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

span.author-name-color {
    color: #7b7b7b;
}

a:hover {
    color: #a9a9a9;
    text-decoration: underline;
}

.footerdiv a:hover {
    color: #99cccc;
}

.story-date {
    color: #808080;
    font-weight: 400;
    font-size: 0.75em;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0.4rem;
}

/* New story credit block.
   These values deliberately preserve the visual appearance of the
   original .author-name and .story-date styles on the black MWS background. */
.story-credits {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    margin: 0;
    padding: 0 0 0.4rem;
}

.story-credit-line {
    color: #808080;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 0.8em;
    line-height: normal;
    margin: 0;
    padding: 0;
}

.story-credit-line a,
.story-credit-line a:link,
.story-credit-line a:visited {
    color: #7b7b7b;
    text-decoration: none;
}

.story-credit-line a:hover,
.story-credit-line a:focus {
    color: #a9a9a9;
    text-decoration: underline;
}

/* Labels such as Authors: and Photography: */
.credit-label {
    color: #808080;
    font-weight: 400;
}

.story-credit-date {
    color: #808080;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 0.75em;
    line-height: normal;
    margin: 0;
    padding: 0 0 0.5rem;
}

.story-credit-date time {
    color: inherit;
    font: inherit;
}

.top-links {
    width: 100%;
    display: none;
    justify-content: flex-start;
    color: #6e6e6e;
    font-size: 0.8em;
    padding-top: 0.9rem;
    padding-bottom: 0;
}

.links {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    color: #6e6e6e;
    font-size: 0.8em;
    font-weight: 400;
    padding-top: 0.5rem;
}

.dedication-statement {
    display: flex;
    justify-content: flex-end;
    color: #9999e1;
    font-size: 0.75rem;
    font-style: italic;
    padding-top: 0.5rem;
    padding-bottom: 0.1rem;
}

/* ---------- Main story layout ---------- */

.page-content {
    width: 90%;
    height: auto;
    display: flex;
    flex-basis: auto;
    flex-direction: column;
    align-items: center;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}
.story-section-horizontal {
    width: 806px;
    max-width: 100%;
    height: auto;
    display: flex;
    flex-basis: auto;
    flex-direction: column;
    margin-bottom: 1rem;
}

.story-section-vertical {
    width: 537px;
    max-width: 100%;
    height: auto;
    display: flex;
    flex-basis: auto;
    flex-direction: column;
    margin-bottom: 1rem;
}

.story-image-horizontal {
    position: relative;
    width: 806px;
    max-width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    margin-left: 0;
    margin-bottom: 0.8rem;
}

.story-image-vertical {
    position: relative;
    width: 537px;
    max-width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    margin-left: 0;
    margin-bottom: 0.8rem;
}

.story-image-responsive {
    width: 100%;
    height: auto;
    border: medium solid #808080;
}

.story-box {
    position: relative;
    width: auto;
    display: flex;
    flex-basis: auto;
    flex-direction: column;
    margin-bottom: -0.25rem;
}

/* Tahoma is not available on every phone, especially iPhones.
   Arial/Helvetica and the generic sans-serif are reliable fallbacks. */
.story-text,
.story-text * {
    font-family: Tahoma, Arial, Helvetica, sans-serif;
}

.story-text {
    width: 100%;
    color: #808080;
    font-size: 0.9em;
    line-height: 1.3;
    text-align: left;
    margin-top: -0.28rem;
    margin-bottom: 0.9rem;
}

.photo-credit {
    color: #999999;
    text-align: right;
    margin-top: -0.7rem;
    font-style: italic;
    font-size: 10px;
    font-family: Tahoma, Arial, Helvetica, sans-serif;
}

.SF-story-caption {
    color: #808080;
    font-size: 0.75em;
    font-family: Tahoma, Arial, Helvetica, sans-serif;
    font-weight: 700;
    line-height: 30px;
}

#more {
    display: none;
}

#pagetop {
    position: absolute;
    visibility: hidden;
    color: #cccccc;
    margin-top: 0;
    top: -2px;
}

.pagetop-link {
    display: flex;
    width: 800px;
    max-width: 100%;
    justify-content: flex-end;
    color: #cccccc;
    font-weight: 700;
    font-size: 10pt;
}

button {
    appearance: button;
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color: #a9a9a9;
    overflow: hidden;
    text-transform: none;
    text-indent: 0;
    text-shadow: none;
    display: inline-flex;
    align-self: flex-start;
    cursor: pointer;
    background-color: #000000;
    box-sizing: border-box;
    margin: 0;
    font-family: Tahoma, Arial, Helvetica, sans-serif;
    font-size: 0.9em;
    line-height: 1.3;
    padding-left: 0.4rem;
    border: none;
}

button:hover {
    text-decoration: underline;
    font-weight: 600;
}

/* ---------- Photo-story category tags ---------- */

.bottomlinks {
    width: 804px;
    max-width: 90%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.25rem;
    row-gap: 0.75rem;
    margin-top: 1.5rem;

    color: #cc9900;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.bottomlinkstext {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    margin-top: 2.5rem;
}

.bottomlinkstext br {
    display: none;
}

.bottomlinks a,
.bottomlinks a:link,
.bottomlinks a:visited {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 0.2rem 0;

    color: #cc9900;
    background: transparent;
    border: none;
    border-radius: 0;

    font-family: Arial, Helvetica, sans-serif !important;
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
}

.bottomlinks a:hover,
.bottomlinks a:focus {
    color: #ffcc33;
    text-decoration: underline;
}

.ad-box-horizontal {
    display: flex;
    align-self: center;
    justify-content: flex-start;
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
    height: 1px;
}

/* ---------- Phones ---------- */

@media only screen and (max-width: 575.98px) {
    .heading-grid {
        width: 85.5%;
    }

    .title-box {
        width: 100%;
    }

    .story-title {
        font-weight: 700;
        font-size: 1em;
        padding-top: 0.8rem;
        padding-bottom: 0.4rem;
    }

    .author-name {
        font-weight: 600;
        font-size: 0.9em;
    }

    .story-date {
        font-size: 0.8em;
        padding-bottom: 0.7rem;
    }

    .story-credit-line {
        font-weight: 600;
        font-size: 0.9em;
    }

    .story-credit-date {
        font-size: 0.8em;
        padding-bottom: 0.7rem;
    }

    .story-ctg,
    .top-links,
    .dedication-statement {
        display: none;
    }

    .links {
        font-size: 0.9em;
    }

    .pagetop-link {
        width: 98%;
    }

    .page-content {
        width: 90%;
    }

    .story-section-horizontal {
        width: 95%;
    }

    .story-section-vertical {
        width: 65%;
        flex-direction: column;
        justify-content: center;
    }

    .story-image-horizontal,
    .story-image-vertical,
    .story-image-responsive {
        width: 100%;
    }

    .story-text {
        width: 100%;
        margin-top: 0;
        position: relative;
        padding-right: 0.1rem;
        font-size: 1em;
        line-height: 1.3;
    }

    .ad-box-horizontal {
        width: 90%;
    }

    button {
        padding-left: 0.1rem;
        font-size: 0.85em;
    }

   
.bottomlinks {
    width: 98%;
    max-width: none;
    margin: 2rem 0 0;
    padding: 0 0.2rem;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 0.75rem;

    box-sizing: border-box;
    font-size: 13px;
}
.bottomlinkstext {
    width: 100%;
    min-width: 0;
    gap: 0.8rem;
    margin-top: 0;
}

/* Allow the final two tags to use the full mobile width */
.bottomlinkstext:nth-child(3) {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}
}

/* ---------- Small tablets ---------- */

@media only screen and (min-width: 576px) and (max-width: 767.98px) {
    .heading-grid {
        width: 90%;
        align-self: center;
    }

    .title-box {
        width: 100%;
    }

    .story-title {
        font-weight: 700;
        font-size: 0.95em;
        padding-top: 0.1rem;
    }

    .author-name {
        font-weight: 500;
        font-size: 0.75em;
    }

    .story-credit-line {
        font-weight: 500;
        font-size: 0.75em;
    }

    .top-links,
    .dedication-statement {
        display: none;
    }

    .pagetop-link {
        width: 100%;
    }

    .page-content {
        width: 90%;
    }

    .story-section-horizontal {
        width: 100%;
    }

    .story-section-vertical {
        width: 64%;
        flex-direction: column;
        justify-content: center;
    }

    .story-image-horizontal,
    .story-image-vertical,
    .story-image-responsive,
    .story-box {
        width: 100%;
    }

    .story-text {
        width: 100%;
        font-size: 0.85em;
    }

    button {
        padding-left: 0.1rem;
        font-size: 0.9em;
    }

    .bottomlinks {
        width: 80%;
        font-size: 13px;
    }

    .ad-box-horizontal {
        width: 90%;
        align-self: center;
    }
}

/* ---------- Tablets ---------- */

@media only screen and (min-width: 768px) and (max-width: 991.98px) {
    .heading-grid {
        width: 80%;
        align-self: center;
    }

    .title-box {
        width: 100%;
    }

    .story-title {
        font-weight: 700;
        font-size: 0.95em;
        padding-top: 0.1rem;
    }

    .author-name {
        font-weight: 500;
        font-size: 0.75em;
    }

    .story-credit-line {
        font-weight: 500;
        font-size: 0.75em;
    }

    .links,
    .dedication-statement {
        display: none;
    }

    .top-links {
        display: flex;
    }

    .page-content {
        width: 90%;
    }

    .story-section-horizontal {
        width: 90%;
    }

    .story-section-vertical {
        width: 64%;
        flex-direction: column;
        justify-content: center;
    }

    .story-image-horizontal,
    .story-image-vertical,
    .story-image-responsive,
    .story-box,
    .photo-credit,
    .story-text {
        width: 100%;
    }

    .story-image-vertical {
        margin-left: 0;
    }

    .story-text {
        font-size: 0.9em;
    }

    .pagetop-link {
        width: 99%;
    }

    button {
        padding-left: 0.1rem;
        font-size: 0.9em;
    }

    .bottomlinks {
        width: 80%;
        font-size: 11.5px;
    }

    .ad-box-horizontal {
        width: 85%;
    }
}

/* ---------- Small desktop ---------- */

@media only screen and (min-width: 992px) and (max-width: 1079.98px) {
    .story-text {
        font-size: 0.9em;
    }

    button {
        padding-left: 0.2rem;
    }

    .ad-box-horizontal {
        width: 85%;
        align-self: center;
    }
}

/* ---------- Medium desktop ---------- */

@media only screen and (min-width: 1080px) and (max-width: 1199.98px) {
    .story-title {
        font-weight: 700;
        font-size: 0.95em;
    }

    .author-name {
        font-weight: 500;
        font-size: 0.75em;
    }

    .story-credit-line {
        font-weight: 500;
        font-size: 0.75em;
    }

    .title-box {
        width: 70%;
    }

    .links {
        font-size: 0.74em;
        font-weight: 600;
    }

    .dedication-statement {
        padding-top: 0.5rem;
        font-size: 0.73em;
    }

    .story-text {
        width: 100%;
        margin-left: 0.1rem;
        margin-top: 0;
        padding-top: 0;
        font-size: 0.9em;
    }

    button {
        padding-left: 0.2rem;
    }

    .ad-box-vertical {
        display: none;
    }

    .ad-box-horizontal {
        width: 95%;
        align-self: center;
    }
}

/* ---------- Large desktop ---------- */

@media only screen and (min-width: 1200px) and (max-width: 1365.98px) {
    .story-text {
        position: relative;
        font-size: 0.9em;
        line-height: 1.2;
        margin-top: -0.2rem;
    }

    .ad-box-vertical {
        display: none;
    }

    .ad-box-horizontal {
        width: 80%;
        align-self: center;
    }
}

@media only screen and (min-width: 1366px) {
    .ad-box-vertical-left,
    .ad-box-vertical-right {
        width: 200px;
        height: 600px;
        display: flex;
        margin-top: 10rem;
        margin-bottom: 20rem;
    }

    .ad-box-vertical-left {
        margin-left: 5rem;
    }

    .ad-box-vertical-right {
        margin-right: 5rem;
    }

    .ad-box-horizontal {
        display: none;
    }
}
/* =====================================================
   SHOW MORE / SHOW LESS - PHOTO STORY TEXT
   ===================================================== */

.story-extra-text {
    position: relative;
    width: 100%;
}

/* Desktop: approximately 4 lines */
.story-extra-text.collapsed {
    max-height: 5.2em;
    overflow: hidden;
}
@media only screen and (max-width: 575.98px) {

    .story-extra-text.collapsed {
        max-height: 3.9em;   /* about 3 lines on mobile */
    }

}
.story-extra-text.collapsed::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1.8em;

    /* MWS has a black background */
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0),
        rgba(0,0,0,1)
    );
}

.story-toggle-button {
    display: inline-block;
    align-self: flex-start;
    margin-top: 0;
    margin-bottom: 0.8rem;
    padding: 0;

    border: none;
    background: none;

    color: #a9a9a9;
    font-family: Tahoma, Arial, Helvetica, sans-serif;
    font-size: 0.9em;
    font-weight: 600;

    cursor: pointer;
    text-decoration: underline;
}
/* Mobile: approximately 3 lines */
@media only screen and (max-width: 575.98px) {

    .story-extra-text.collapsed {
        max-height: 4.4em;
    }

    .story-extra-text.collapsed::after {
        height: 0.8em;
    }

}
/* Prevent top line of collapsed story text from being clipped */
.story-extra-text > .story-text:first-child {
    margin-top: 0;
}
.photo-rights {
    width: 100%;
    margin: 0.6rem 0 1rem;
    padding: 0;

    color: #999999;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.75em;
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
}

.photo-rights a,
.photo-rights a:link,
.photo-rights a:visited {
    color: #999999;
    text-decoration: none;
}

.photo-rights a:hover,
.photo-rights a:focus {
    color: #a9a9a9;
    text-decoration: underline;
}
@media only screen and (max-width: 575.98px) {

    .photo-rights {
        font-size: 0.8em;
        margin-top: 0.6rem;
        margin-bottom: 1rem;
    }

}
