#timeline-wrapper {
    padding: 100px 0 185px;
    background: #f2f2f2;
    margin: 0 15px;
}

#timeline {
    display: flex;
    max-width: 700px;
    margin: 0 auto;
}

#left-timeline,
#right-timeline {
    width: 50%;
}
#left-timeline {
    border-right: 2px solid #e6e6e6;
}

.timeline-item {
    min-height: 75px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.timeline-item .timeline-date {
    position: absolute;
    top: -10px;
    z-index: 3;
}
#left-timeline .timeline-item:first-of-type,
#right-timeline .timeline-item:first-of-type  {
    margin-top: -50px;
}
#left-timeline .timeline-item .timeline-date {
    left: -5px;
}
#right-timeline .timeline-item .timeline-date {
    right: -5px;
}
.timeline-item .timeline-year {
    border-radius: 50%;
    font-size: 38px;
    line-height: 98px;
    width: 98px;
    height: 98px;
    display: block;
    text-align: center;
}
.timeline-item.peach-all .timeline-year {
    color: #fff;
    background: #EA6769;
    border: 2px solid #EA6769;
}
.timeline-item.gray-all .timeline-year {
    color: #fff;
    background: #7A7A7A;
    border: 2px solid #7A7A7A;
}
.timeline-item.peach-white .timeline-year {
    color: #EA6769;
    background: #fff;
    border: 2px solid #EA6769;
}
.timeline-item.gray-white .timeline-year {
    color: #7A7A7A;
    background: #fff;
    border: 2px solid #7A7A7A;
}
.timeline-item:after {
    content: '';
    width: 0;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    /*transition: width 2s;*/
    right: 0;

}
#right-timeline .timeline-item:after {
    left: 0;
}
#left-timeline .timeline-item:not(.blank):after {
    border-top: 2px solid #EA6769;
    right: 0;
    /*transition: left 2s;*/
}
#right-timeline .timeline-item:not(.blank):after {
    border-top: 2px solid #7A7A7A;
}
.timeline-item:before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 50%;
    position: absolute;
    opacity: 0;
    /*transition: opacity 3.2s;*/
}
#left-timeline > div:nth-child(11) > span,
#right-timeline > div:nth-child(10) > span {
    top: 80%;
}
#right-timeline > div:nth-child(5) > span {
    /*top: 50%;*/
    top: 0;
}
#left-timeline .timeline-item:before {
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
}
#right-timeline .timeline-item:before {
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
}
.timeline-item[class*="peach"]:before {
    background: #EA6769;
}
.timeline-item[class*="gray"]:before {
    background: #7A7A7A;
}
.timeline-text {
    font-family: "Fira Sans Extra Condensed", sans-serif;
    font-size: 21.6px;
    width: 65%;
    margin-top: 0;
    margin-left: 95px;
    line-height: 37.8px;
    text-align: left;
    position: absolute;
    top: -15px;
}
#left-timeline > div:nth-child(11) > span {
    line-height: normal;
}
.timeline-text small {
    font-size: 14.4px;
    line-height: 21.6px;
}
#right-timeline .timeline-text {
    margin-left: 0;
    left: 30px;
}

.timeline-item.growfromleft:after {
    /*width: 100%;*/
    animation: growFromLeft 2s 1 forwards;
}
.timeline-item.growfromright:after {
    /*width: 100%;*/
    animation: growFromRight 2s 1 forwards;
}
.timeline-item.growfromleft:before {
    opacity: 1;
}
.timeline-item.growfromright:before {
    opacity: 1;
}
#left-timeline .timeline-item.growfromleft:not(.blank):after {
    /*left: 0;*/
}

/* The animation code */
@keyframes growFromLeft {
    0% {width: 0%;}
    100% { width: 100%;}
}
@keyframes growFromRight {
    0% {width: 0;}
    100% { width: 100%;}
}

#right-timeline > div:nth-child(9) > span > br,
#right-timeline > div:nth-child(10) > span > br {
    display: none;
}

@media screen and (max-width: 768px) {
    #timeline-wrapper {
        padding-top: 15px;
        padding-bottom: 130px;
    }
    #timeline {
        margin: 0 15px 0;
    }
    .timeline-item {
        min-height: 40px;
    }
    .timeline-item:before {
        width: 10px;
        height: 10px;
    }
    .timeline-item .timeline-year {
        font-size: 19.8px;
        padding: 0;
        width: 44px;
        height: 44px;
        line-height: 41px;
    }
    .timeline-text {
        font-size: 13px;
        line-height: 16px;
        width: 69%;
        margin-left: 32px;
    }
    .--jp-version .timeline-text {
        font-size: 10px;
        line-height: 1.5;
        font-feature-settings: "palt";
    }
    .timeline-text br {
        display: none;
    }
    .timeline-item.blank .timeline-text {
        top: 50%;
        transform: translateY(-50%);
    }
    #left-timeline > div:nth-child(11) > span {
        margin-top: 12px;
    }
    #left-timeline > div:nth-child(8) > span {
        width: 73%;
        margin-left: 27px;
    }
    #left-timeline .timeline-item:first-of-type,
    #right-timeline .timeline-item:first-of-type  {
        margin-top: -20px;
    }
    #left-timeline .timeline-item .timeline-date {
        left: 0;
    }
    #right-timeline .timeline-item .timeline-date {
        right: 0;
    }
    #right-timeline .timeline-text {
        left: 10px;
        width: 60%;
    }
    .--jp-version #right-timeline .timeline-text {
        width: 59%;
    }
    .timeline-item .timeline-date {
        top: 50%;
        transform: translateY(-50%);
    }
    #right-timeline .timeline-item:before {
        left: -6px;
    }
    #left-timeline .timeline-item:before {
        right: -6px;
    }
    .timeline-text small {
        font-size: 10px;
        line-height: 13px;
    }
    #right-timeline > div:nth-child(5) > span {
        top: 20px;
    }
    #right-timeline > div:nth-child(7) > span > small {
        font-size: 13px;
    }
    #right-timeline > div:nth-child(7) > span {
        width: 77%;
        top: 25px;
    }
    .--jp-version #right-timeline > div:nth-child(7) > span {
        width: 94%;
    }

    #right-timeline > div:nth-child(9) > span > br,
    #right-timeline > div:nth-child(10) > span > br {
        display: block;
    }
    #right-timeline > div:nth-child(9) > span,
    #right-timeline > div:nth-child(10) > span {
        width: 80%;
    }
    .--jp-version #right-timeline > div:nth-child(9) > span,
    .--jp-version #right-timeline > div:nth-child(10) > span {
        width: 60%;
    }
    #left-timeline > div:nth-child(11) > span {
        width: 72%;
    }
}


/* carousel dots */
.page-id-17 .section-wrapper .carousel.slide {
    position: relative;
}
.page-id-17 .section-wrapper .slider-title {
    margin-bottom: 10px;
}
.page-id-17 .section-wrapper .carousel .carousel-indicators {
    height: 17px;
    margin-bottom: 15px;
    left: 0;
    right: 0;
    width: 100%;
    margin-left: 0;
    text-align: center;
}
.page-id-17 .section-wrapper .carousel .blue-dot {
    margin-left: 0;
}
.page-id-17 .section-wrapper .carousel .dot {
    margin-right: 15px;
}
.page-id-17 .section-wrapper .carousel .dot:last-of-type {
    margin-right: 0;
}
.page-id-17 .section-wrapper .carousel-indicators.animateDots .dot:first-of-type {
    -moz-animation: growDot 1s linear;
    -webkit-animation: growDot 1s linear;
}
.page-id-17 .section-wrapper .carousel-indicators.animateDots .dot:nth-of-type(2) {
    -moz-animation: growDot 1s linear;
    -webkit-animation: growDot 1s linear;
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}
.page-id-17 .section-wrapper .carousel-indicators.animateDots .dot:nth-of-type(3) {
    -moz-animation: growDot 1s linear;
    -webkit-animation: growDot 1s linear;
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
}
.page-id-17 .section-wrapper .carousel-indicators.animateDots .dot:nth-of-type(4) {
    -moz-animation: growDot 1s linear;
    -webkit-animation: growDot 1s linear;
    -webkit-animation-delay: 1.2s;
    animation-delay: 1.2s;
}
@-moz-keyframes growDot {
    0% {-moz-transform: scale(1);}
    50% {-moz-transform: scale(1.2);}
    100% {-moz-transform: scale(1);}
}
@-webkit-keyframes growDot {
    0% {-webkit-transform: scale(1);}
    50% {-webkit-transform: scale(1.2);}
    100% {-webkit-transform: scale(1);}
}
@-webkit-keyframes growDot {
    0% {transform: scale(1);}
    50% {transform: scale(1.2);}
    100% {transform: scale(1);}
}

/* team modal */
#teamModal .modal-dialog,
.teamModal .modal-dialog {
    width: 100%;
    top: 45%;
    transform: translateY(-45%) !important;
    max-width: 1051px;
}
#teamModal .modal-header,
.teamModal .modal-header {
    border-bottom: 0;
}
#teamModal .close,
.teamModal .close {
    color: #000;
    opacity: 1;
    font-weight: 400;
    letter-spacing: 0.036em;
}
#teamModal .close img,
.teamModal .close img {
    display: block;
    margin-bottom: 12px;
    margin-left: auto;
    margin-right: auto;
}
#teamModal .modal-content,
.teamModal .modal-content {
    padding: 50px 50px 50px 100px;
}
#teamModal .team-img-text-wrapper,
.teamModal .team-img-text-wrapper {
    display: flex;
}
#teamModal .team-img img,
.teamModal .team-img img {
    margin-bottom: 15px;
    width: 225px;
    max-height: 235px;
    height: auto;
}
#teamModal .team-img,
.teamModal .team-img  {
    margin-right: 60px;
}
#teamModal .team-img h4,
.teamModal .team-img h4 {
    font-size: 34px;
    font-weight: normal;
    margin: 0;
    font-family: 'Fira Sans Extra Condensed', sans-serif;
}
#teamModal .team-img p,
.teamModal .team-img p {
    font-size: 20px;
    font-weight: normal;
    font-family: 'alternate-gothic-atf';
    letter-spacing: 0.036em;
}

@media screen and (max-width: 768px) {
    #teamModal .modal-dialog,
    .teamModal .modal-dialog {
        width: 100%;
        margin: 0;
        top: 0;
        transform: unset !important;
    }
    #teamModal .modal-content,
    .teamModal .modal-content {
        padding: 15px;
    }
    #teamModal .close,
    .teamModal .close {
        display: block;
        font-size: 16px;
    }
    #teamModal .close img,
    .teamModal .close img {
        width: 40px;
        height: 40px;
    }
    #teamModal .team-img-text-wrapper,
    .teamModal .team-img-text-wrapper {
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }
    #teamModal .team-img,
    .teamModal .team-img {
        margin-right: 0;
    }
    #teamModal .team-img img,
    .teamModal .team-img img {
        width: 72vw;
        height: auto;
        max-height: initial;
    }

    #teamModal .team-img h4,
    #teamModal .team-img p,
    #teamModal .team-content p,
    .teamModal .team-img h4,
    .teamModal .team-img p,
    .teamModal .team-content p {
        text-align: center;
    }
    #teamModal .team-content,
    .teamModal .team-content {
        margin-top: 20px;
        max-width: 300px;
    }
    #teamModal .team-content p,
    .teamModal .team-content p {
        font-size: 16px;
        line-height: 1.625;
    }
}
