* {
    font-family: Helvetica;
    scroll-behavior: smooth;
    max-width: 100vw;
    overflow-x: clip;
}

body {
    margin: 0;
    background-color: #f4f1e9;
}

.heroSection {
    /* display: inline-flex; */
    width: 100%;
    padding-top: 5vw;
    padding-bottom: 5vw;
    background-image: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url(./images/NYC.jpeg);
    background-position: center;
    background-size: cover;
}


h1 {
    text-align: center;
    font-size: calc(25px + 1.5vw);
}

h3 {
    text-align: center;
}

#buttonTray {
    text-align: center;
    width: 100%;
}

button {
    border: 1px solid black;
    background-color: white;
}

p {
    text-align: center;
    font-size: calc(16px + 0.3vw);
    margin-left: 10vw;
    margin-right: 10vw;
}

.active {
    stroke: red;
    stroke-width: 3;
}

.trendRibbon {
    position: relative;
    /* filter: opacity(0.6); */
    opacity: 0.6;
    transition-duration: 0.4s;
}

.hiddenRibbon {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-30%);
}

.hiddenComponent {
    opacity: 0;
}

.M7.hiddenComponent,
.companyLogos.hiddenComponent {
    opacity: 0 !important;
}

.companyLogos {
    transition-duration: 0.5s;
}

#afterRange.hiddenRibbon {
    transform: translateY(30%);
}

.before {
    stroke: yellow;
    background-color: yellow;
}

.during {
    stroke: lime;
    background-color: lime;
}

.rainbow {
    background: linear-gradient(to right, lime, orange, magenta, red);
    color: white;
}

.after {
    stroke: red;
    background-color: rgb(253, 102, 102);
}

.grey {
    stroke: lightGrey;
    background-color: lightGrey;
}

.M7 {
    stroke-width: 2;
    opacity: 0.8;
    transition-duration: 0.5s;
}

.sub-p {
    font-style: italic;
    font-size: calc(10px + 0.2vw);
    margin-top: 0;
}

svg {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.tooltip {
    background-color: rgb(200, 200, 200);
    color: black;
    padding: 10px;
    border-radius: 20px;
    z-index: 999;
}

.text-container {
    z-index: 999999;
    position: relative;
}

.step, .info {
    display: block;
    width: min(900px, 70vw);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60vh;
    /* margin: 0 15vw 60vh 15vw; */
    padding: calc(0.5vw);
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid black;
}

span {
    padding: 0 3px 0 3px;
    border-radius: 15px;
}

.step p, .info p {
    margin-left: 10px;
    margin-right: 10px;
}

.info { margin-bottom: 2vh !important; max-width: min(1100px, 90vw) !important;}

.step b, .info b {
    text-decoration: underline;
}

.stickyChart{
    position: sticky;
    top: 10vh;
}

.scrolly-container {
    padding-bottom: 5vh;
    margin-bottom: 5vh;
    margin-top: 0;
}

.packCircle, .monthly-transition-returns{
    transition-duration: 0.6s;
}