:root {
    --myblue: #4B9CD3;
    --myfont: 'Lucida Sans', sans-serif;
}
a:link, a:visited {
    color: var(--myblue);
    text-decoration: none;
}
a:active, a:hover {
    color: black;
    text-decoration: none;
}
body {
    background-color: white;
    color: #000;
    font-family: var(--myfont);
    font-size: 1rem;
    font-weight: 100;
    line-height: 1.5;
    padding: 50px;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
.center-horiz {
    margin: 0px auto;
    text-align: center;
}
.close-btn {
    background-color: var(--myblue);
    border: none;
    border-radius: 4px;
    color: white;
    cursor: pointer;
    display: inline-block;
    margin-top: 10px;
    padding: 10px 20px;
}
.close-btn:hover {
    background: grey;
}
.expand-collapse {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    overflow: hidden;
    padding: 4px;
    text-align: left;
    transition: all 0.5s ease-in-out;
    width: 100%;
}
.footer {
    font-family: var(--myfont);
    font-size: 85%;
    text-align: center;
}
.hidden {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5); /* reset to smaller size */
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    visibility: hidden;
}
.image-container {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
    display: inline-block;
    position: relative;
    top: 215px;
}
.image-container img {
    display: block;
}
.info {
    background-color: white;
    border: none;
    color: var(--myblue);
    font-style: italic;
    outline: none;
    padding: 0;
}
.left_sidebar {
    background-image: 
        linear-gradient(
            var(--myblue),
            white 46%,
            white 54%,
            var(--myblue)
        );
    filter: brightness(87.2%);
    text-align: center;
    vertical-align: top;
}
.link-button {
    background-color: var(--myblue);
    border: lightgrey;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5), inset -1px -1px rgba(0, 0, 0, 0.1);
    color: white;
    cursor: pointer;
    font-size: 110%;
    font-style: italic;
    opacity: 0.6;
    text-align: left;
}
.link-button:hover {
    color: black;
}
.link-container {
    background-color: lightgrey;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5), inset -1px -1px rgba(0, 0, 0, 0.1);
    display: inline-block;
    font-style: italic;
    left: 2px;
    position: fixed;
    text-align: left;
    top: 185px;
    width: 85%;
    z-index: 999;
}
.main {
    margin-top: 30px;
    padding: 16px;
}
.menu-left a {
    display: inline-block;
    padding-bottom: 0px;
    position: relative;
    transition: color .35s ease;
}
.menu-left a:after {
    background: #000;
    bottom: 0;
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    right: 0;
    transition: width .35s ease;
    width: 0;
}
.menu-left a:before {
    bottom: 0;
    content: '';
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    transition: width 0s ease, background .35s ease;
    width: 0;
}
.menu-left a:hover:after {
    background: transparent;
    transition: all 0s ease;
    width: 100%;
}
.menu-left a:hover:before {
    background: #000;
    transition: width .35s ease;
    width: 100%;
}
.my-address {
    display: none;
    font-family: var(--myfont);
    font-size: 85%;
    margin-bottom: 6.0pt;
    text-align: center;
}
.my-name {
    border-bottom: solid var(--myblue) 1.0pt;
    color: var(--myblue);
    font-family: var(--myfont);
    font-size: 150%;
    margin-top: 10.0pt;
    padding-left: 25px;
    padding-right: 25px;
    text-align: center;
}
.navbar {
    background: rgba(255,255,255,1);
    left: 0px;
    position: fixed;
    right: 0px;
    top: 0px;
    width: 100%;
    z-index: 1;
}
.popup {
    background: white;
    background-color: #f9f9f9;
    border: 1px solid lightgrey;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    left: 50%;
    opacity: 0;
    padding: 20px;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.5); /* start smaller */
    transition: opacity 0.4s ease, transform 0.4s ease; /* smooth transition */
    width: 75%;
    z-index: 999; /* ensure above overlay and other content */
}
.popup img {
    left: 50%; /* center horizontally */
    position: absolute;
    top: -15%; /* push part of image height out of popup */
    transform: translate(-50%, 0); /* adjust horizontal centering */
}
.popup p {
    font-size: 70%;
}
.position {
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
    margin: 6px 0;
    padding: 10px;
}
.position.highlight {
    background: #eaeaea;
    font-weight: bold;
}
.positions {
    margin-top: 18px;
    max-width: 900px;
}
.right_sidebar {
    background-image:
        linear-gradient(
            var(--myblue),
            white 46%,
            white 54%,
            var(--myblue)
        );
    filter: brightness(87.2%);
    vertical-align: bottom;
}
#scroll-button {
    background-color: var(--myblue);
    border: none;
    border-radius: 4px;
    bottom: 20px;
    color: white;
    cursor: pointer;
    display: none;
    font-size: 85%;
    outline: none;
    padding: 15px;
    position: fixed;
    right: 30px;
    z-index: 99;
}
#scroll-button:hover {
    background-color: #555;
}
section {
    height: auto;
    min-height: 100vh;
}
section#about {
    text-align: center;
}
.section-container {
    padding: 185px 15px 0px 15px;
}
section h1 {
    color: var(--myblue);
    font-family: var(--myfont);
    font-size: 150%;
    text-align: center;
}
section h2 {
    color: var(--myblue);
    font-family: var(--myfont);
    font-size: 100%;
    text-align: center;
}
.section-top {
    padding: 0px 15px 0px 15px;
}
.subitem-dtl {
    display: none;
    font-size: 80%;
    overflow: hidden;
    transition: all .5s ease-in-out;
}
.subitem-image {
    display: inline-block;
    height: 768;
    width: 1024;
    text-align: center;
}
.subitem-list {
    color: black;
    display: inline-block;
    font-size: 85%;
}
.subitems {
    font-size: 85%;
    font-weight: bold;
    text-align: center;
}
.subitems-hdr {
    color: var(--myblue);
    font-size: 90%;
    text-align: center;
}
.sxn-h1 {
    color: var(--myblue);
    font-family: var(--myfont);
    font-size: 100%;
    text-align: center;
}
.tick {
    color: #333;
    font-size: 12px;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
}
.tick::before {
    background: #333;
    content: '';
    display: block;
    height: 8px;
    margin: 0 auto 4px auto;
    width: 1px;
}
.ticks {
    height: 30px;
    margin-top: 6px;
    position: relative;
}
.timeline {
    background: #ddd;
    border-radius: 22px;
    height: 44px;
    max-height: 400px;
    overflow: hidden;
    overflow-y: auto;
    position: relative;
}
.timeline-group {
    background: rgba(0,0,0,0.02);
    border-bottom: none;
    border-left: 4px solid #ccc;
    left: 0;
    margin-bottom: 0;
    padding-left: 6em;
    position: relative;
    right: 0;
}
.timeline-group::after {
    display: none;
}
.timeline-group:not(:last-child) {
    border-bottom: none;
}
.timeline-segment {
    align-items: center;
    border-radius: 2px;
    color: white;
    cursor: pointer;
    display: flex;
    font-size: 11px;
    font-weight: bold;
    height: 14px; /* must match BAR_HEIGHT */
    justify-content: center;
    line-height: 14px;
    position: absolute;
    top: 0;
    transition: filter 0.2s;
    white-space: nowrap;
    z-index: 1;
}
.timeline-segment.active {
    outline: 3px solid #000;
    z-index: 2;
}
.timeline-segment:hover {
    filter: brightness(1.15);
    height: 18px;
    z-index: 10;
}
.timeline-wrapper {
    max-width: 900px;
    width: 100%;
}
.topright {
    border: 1px solid lightgrey;
    border-radius: 3%;
    padding: 0px 3px 0px 3px;
    position: absolute;
    right: 1px;
    top: 1px;
}
.topright:hover{
    cursor: pointer;
}
.visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1); /* scale to full size */
    transition: opacity 0.3s ease, transform 0.3s ease;
    visibility: visible;
}
