[data-nfr-timeline-container] img[alt],[data-nfr-timeline-container] iframe {
    height: auto;
    max-width: 100%
}

[data-nfr-timeline-container] :focus {
    outline: 2px dashed currentColor
}

.nfr-EventsContainer {
    height: 600px;
    -ms-overflow-style: none;
    overflow-x: hidden;
    overflow-y: scroll;
    scroll-behavior: smooth;
    scrollbar-width: none;
    width: 100%
}

.nfr-EventsContainer::-webkit-scrollbar {
    display: none
}

.nfr-Event {
    width: 33%
}



@media screen and (max-width: 767px), (max-device-width: 767px) {
    .nfr-Event {
        width: 50%
    }
}

@media screen and (max-width: 599px), (max-device-width: 599px) {
    .nfr-Event {
        width: 100%
    }
}

.nfr-Event-date {
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
    margin-top: 1.875rem
}

.nfr-Event-description {
    font-size: .875rem;
    padding: 0 1.875rem
}

.nfr-Event-categories {
    color: #939393;
    font-size: .75rem
}

.nfr-Event-image {
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease
}

.nfr-Event:hover .nfr-Event-image {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

@media (prefers-reduced-motion: reduce) {
    .nfr-Event-image {
        -webkit-transform: none !important;
        transform: none !important
    }
}

.nfr-Event-more {
    background: #ce0e2d;
    border: 1px solid #ce0e2d;
    border-radius: 13px;
    color: #fff !important;
    font-size: .75rem;
    padding: .25rem .75rem;
    text-decoration: none
}

.nfr-Event-more:hover,.nfr-Event-more:focus {
    background: #fff;
    color: #ce0e2d !important
}

.nfr-Event-more::before {
    background: url("../images/read-more.png") no-repeat 50% 50%;
    content: "";
    height: 13px;
    margin-right: .25rem;
    width: 13px
}

.nfr-EventsContainer--keyEvents {
    scroll-snap-type-y: mandatory;
    -ms-scroll-snap-points-y: repeat(100%);
    scroll-snap-points-y: repeat(100%);
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

.nfr-KeyEvent {
    position: relative;
    height: 600px;
    scroll-snap-align: center
}

.nfr-KeyEvent-title {
    font-size: 3.75rem
}

.nfr-KeyEvent-content,.nfr-KeyEvent-img {
    position: absolute
}

.nfr-KeyEvent-content {
    font-size: .875rem;
    width: 13.75rem;
    z-index: 1
}

.nfr-EventsContainer--keyEvents .nfr-Social {
    justify-content: flex-start
}

.nfr-Social {
    padding-bottom: 1.25rem
}

.nfr-Event-more+.nfr-Social {
    padding-top: 1rem
}

.nfr-Social-link {
    padding: 0.25rem
}

.nfr-Social-link:hover,.nfr-Social-link:focus {
    opacity: 0.8
}

.nfr-Timeline {
    color: #000;
    display: flex;
    flex-direction: column;
    font-size: .625rem;
    font-weight: 700;
    position: relative
}

.nfr-Timeline>*:not(.nfr-TimelineFilters) {
    background-color: #fff;
    z-index: 10
}

.nfr-Timeline-burger,.nfr-Timeline-action {
    min-height: 60px
}

.nfr-Timeline-burger {
    background: url("../images/burger.jpg") no-repeat 50% 50%;
    border: 0
}

.nfr-Timeline-burger[aria-expanded="true"] {
    background-image: url("../images/burger-close.jpg")
}

.nfr-Timeline-action {
    border: 1px solid #efefef;
    color: inherit;
    font-weight: inherit;
    padding: 0 .75rem
}

.nfr-Timeline-action:not(:first-child) {
    border-top: 0
}

.nfr-Timeline-action--previous,.nfr-Timeline-action--next {
    background: no-repeat 50% 50%
}

.nfr-Timeline-action--previous {
    background-image: url("../images/up-arrow.png")
}

.nfr-Timeline-action--next {
    background-image: url("../images/down-arrow.png")
}

.nfr-Timeline-action--top {
    text-transform: uppercase
}

.nfr-Timeline-date--from {
    padding-bottom: .5rem
}

.nfr-Timeline-date--to {
    padding-top: .5rem
}

.nfr-TimelineTrackContainer,.nfr-TimelineFilters {
    box-shadow: inset 5px 5px 10px rgba(0,0,0,0.1)
}

.nfr-TimelineTrackContainer {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 1rem 0;
    text-align: center
}

.nfr-TimelineTrack {
    height: 100%;
    position: relative
}

.nfr-TimelineTrack-line {
    border-bottom: 2px solid #ce0e2d;
    border-top: 2px solid #ce0e2d;
    height: 100%;
    margin: auto;
    position: relative;
    width: 5px
}

.nfr-TimelineTrack-line::before {
    border-right: 1px dotted #ce0e2d;
    bottom: 0;
    content: "";
    display: block;
    left: calc(50% - 1px);
    position: absolute;
    top: 0;
    width: 1px
}

.nfr-TimelineTrack-stepper {
    background-color: #ce0e2d;
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.nfr-TimelineTrack-stepper::after,.nfr-TimelineTrack-stepper::before {
    left: 0;
    position: absolute
}

.nfr-TimelineTrack-stepper::before {
    background-color: #ce0e2d;
    border-radius: 50%;
    color: #fff;
    content: attr(data-date);
    height: 43px;
    line-height: 43px;
    -webkit-transform: translate(-53px, -50%);
    transform: translate(-53px, -50%);
    width: 43px
}

.nfr-TimelineTrack-stepper::after {
    background: #ce0e2d;
    content: "";
    height: 8px;
    -webkit-transform: translate(-15px, -50%) rotate(0.125turn);
    transform: translate(-15px, -50%) rotate(0.125turn);
    width: 8px
}

.nfr-TimelineFilters {
    background: #f7f7f7;
    bottom: 0;
    left: 0;
    min-width: 340px;
    padding: 2.5rem 5.5rem;
    position: absolute;
    top: 0;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
    z-index: 5
}

@media screen and (max-width: 599px), (max-device-width: 599px) {
    .nfr-TimelineFilters {
        min-width: 257px;
        padding: 2rem
    }
}

.nfr-Timeline-burger[aria-expanded="true"] ~ .nfr-TimelineFilters {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.nfr-TimelineFilters-title {
    border-bottom: 1px solid #ccc;
    font-size: .875rem;
    padding: 10px 0
}

.nfr-TimelineFilterContainer {
    display: flex;
    justify-content: space-between
}

.nfr-TimelineFilter {
    background-color: transparent;
    border: 0;
    color: #585858;
    font-size: .825rem;
    padding: 0
}

.nfr-TimelineFilter:not(:first-of-type) {
    margin-top: .5rem
}

.nfr-TimelineFilter[aria-pressed="true"] {
    color: #000;
    font-weight: 700
}

@media screen and (max-width: 1150px) {
    .nfr-KeyEvent-img {
        max-width: initial !important;
        height: 100% !important;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100% !important
    }
}

@media screen and (max-width: 56.1875rem) {
    .nfr-KeyEvent-content {
        left: 4rem !important;
        top: 4rem !important;
        bottom: auto !important;
        right: auto !important
    }
}

@media screen and (max-width: 37.4375rem) {
    .nfr-KeyEvent-content {
        left: 1rem !important;
        top: 1rem !important
    }
}


.sr-only, .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}



.position-relative {
    position: relative !important;
}
.d-flex {
    display: flex !important;
}
.overflow-hidden {
    overflow: hidden !important;
}
.list-unstyled {
    padding-left: 0;
    list-style: none;
}