@charset "UTF-8";

.nesta-article {
    --nesta-navy: #123c63;
    --nesta-blue: #1a77b8;
    --nesta-sky: #e9f7ff;
    --nesta-yellow: #fff4ca;
}

.nesta-article .article-lead {
    font-size: 1.06rem;
    padding: 0;
}

.nesta-article .article-meta {
    color: #555;
    font-size: .92rem;
}

.nesta-article .important-marker {
    padding: 0 .12em;
    background: linear-gradient(transparent 52%, #fff09a 52%);
    font-weight: 700;
}

.nesta-article h1 {
    color: var(--nesta-navy);
    font-size: 2rem;
    line-height: 1.55;
    margin: 1rem 0 .5rem;
}

.nesta-article h2 {
    box-sizing: border-box;
    margin: 3rem 0 1rem;
    padding: .65rem 1rem;
}

.nesta-article h3 {
    margin: 1.7rem 0 .75rem;
}

.nesta-article .toc-note,
.nesta-article .experience-note,
.nesta-article .official-note {
    box-sizing: border-box;
    margin: 1.25rem 0;
    padding: 1rem 1.15rem;
    border-left: 5px solid var(--nesta-blue);
    background: var(--nesta-sky);
}

.nesta-article .official-note {
    border-left-color: #a06b00;
    background: var(--nesta-yellow);
}

.nesta-article .experience-note strong,
.nesta-article .official-note strong {
    display: block;
    margin-bottom: .35rem;
}

.nesta-article .timeline {
    list-style: none;
    margin: 1rem 0 1.5rem;
    padding: 0;
    border-left: 3px solid #78bde8;
}

.nesta-article .timeline li {
    position: relative;
    padding: .55rem .5rem .55rem 1.15rem;
    font-size: 1.02rem;
    line-height: 1.5;
}

.nesta-article .timeline li::before {
    position: absolute;
    top: 1.05rem;
    left: -.56rem;
    width: .9rem;
    height: .9rem;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--nesta-blue);
    content: "";
}

.nesta-article .timeline time {
    display: inline-block;
    width: 5.8rem;
    color: var(--nesta-navy);
    font-weight: 700;
}

.nesta-article .route-figure {
    margin: 1.5rem auto;
    padding: .75rem;
    border: 1px solid #c8dce8;
    border-radius: 12px;
    background: #fff;
}

.nesta-article .route-figure img {
    display: block;
    width: 100%;
    max-width: 680px;
    height: auto;
    margin: auto;
}

.nesta-article .route-figure figcaption,
.nesta-article .article-photo figcaption {
    margin-top: .55rem;
    color: #555;
    font-size: .9rem;
    line-height: 1.5;
}

.nesta-article .article-photo {
    max-width: 900px;
    margin: 1.4rem auto;
}

.nesta-article .article-photo img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.nesta-article .check-list {
    padding: 1rem 1.25rem 1rem 2.3rem;
    background: #f7fbfd;
}

.nesta-article .check-list li {
    margin: .55rem 0;
    line-height: 1.6;
}

.nesta-article .related-links {
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid #ddd;
}

.nesta-article .related-links ul {
    margin-bottom: 0;
}

@media (max-width: 700px) {
    .nesta-article h1 {
        padding: 0 1rem;
        font-size: 1.45rem;
    }

    .nesta-article .article-meta,
    .nesta-article .article-lead,
    .nesta-article .toc-note,
    .nesta-article .experience-note,
    .nesta-article .official-note,
    .nesta-article .timeline,
    .nesta-article .check-list,
    .nesta-article .related-links {
        margin-right: 1rem;
        margin-left: 1rem;
    }

    .nesta-article .route-figure,
    .nesta-article .article-photo {
        margin-right: 0;
        margin-left: 0;
    }

    .nesta-article .timeline time {
        width: 5.2rem;
    }
}
