.flex-col,
.flex-row {
    display: flex;
}

.wrap.flex-col,
.wrap.flex-row {
    flex-wrap: wrap;
}

.flex-col>.grow,
.flex-row>.grow {
    flex-grow: 1;
}

.flex-col>div>*:last-child,
.flex-row>div>*:last-child {
    margin: 0 !important;
}

.items-center.flex-col,
.items-center.flex-row {
    align-items: center;
}

.items-start.flex-col,
.items-start.flex-row {
    align-items: flex-start;
}

.items-end.flex-col,
.items-end.flex-row {
    align-items: flex-end;
}

.flex-row {
    flex-flow: row nowrap;
}

.flex-col {
    flex-flow: column nowrap;
}

.chat-bubble {
    display: flex;
    flex-flow: column nowrap;
}

.chat-bubble.shadow .chat-bubble__message {
    box-shadow: 0px 0px 10px 0px #575047;
}

.chat-bubble.shadow .chat-bubble__message::after {
    box-shadow: rgba(87, 80, 71, 0.3) 2px 2px 2px;
}

.chat-bubble.shadow .chat-bubble__speaker .speaker-image {
    box-shadow: 0px 0px 10px 0px #575047;
}

.chat-bubble__message {
    flex: 1 0 auto;
    padding: 0.75em;
    background-color: #dad2df;
    border-radius: 10px;
    position: relative;
    color: #37332f;
    margin-bottom: 1rem;
}

.chat-bubble__message>*:last-child {
    margin-bottom: 0;
}

.chat-bubble__message::after {
    content: "";
    position: absolute;
    left: 1.6rem;
    bottom: -0.5rem;
    border: 0.5rem solid;
    border-color: transparent #dad2df #dad2df transparent;
    transform: rotate(45deg);
}

.chat-bubble__speaker {
    flex: 0 0 auto;
    display: flex;
    flex-flow: row nowrap;
}

.chat-bubble__speaker .speaker-image {
    flex: 0 0 4em;
    background: #d3d3d3;
    border-radius: 50%;
    margin-right: 0.75rem;
    height: 4em;
    overflow: hidden;
}

.chat-bubble__speaker .speaker-description {
    display: flex;
    flex-flow: column nowrap;
    align-self: center;
}

.chat-bubble__speaker .speaker-description>*:last-child {
    margin-bottom: 0;
}

.social-container {
    display: flex;
    flex-flow: row nowrap;
    flex: 1 1 auto;
    position: relative;
}

.social-container>.social-bar {
    background-color: #fafafa;
}

.social-container>.social-feed {
    flex: 1 1 auto;
    position: relative;
}

.social-bar {
    display: flex;
    flex-flow: column nowrap;
    padding: 0 0.5rem;
}

.social-bar>a {
    font-size: 2.5rem;
    color: #492365 !important;
    padding: 0 !important;
    border: 0 !important;
}

.social-bar>a:hover,
.social-bar>a:focus {
    color: #806593 !important;
    background-color: transparent !important;
}

.social-feed {
    border-left: 1px solid rgba(15, 70, 100, 0.12);
    min-height: 300px;
    -webkit-overflow-scrolling: touch;
    position: relative;
}

.social-feed>iframe {
    position: absolute !important;
}

.timeline::after,
.timeline::before {
    content: "";
    position: absolute;
    background-color: #492365;
    height: 100%;
    top: 0;
}

.timeline__event:nth-of-type(2n)>.feature-box .title::before {
    left: -1rem;
    border-width: 0 1rem 1.25rem 0;
    border-color: transparent #492365 transparent transparent;
}

.timeline__event:nth-of-type(2n-1)>.feature-box .title::before {
    right: -1rem;
    border-width: 0 0 1.25rem 1rem;
    border-color: transparent transparent transparent #492365;
}

.timeline {
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    padding: 1.5rem 0;
    position: relative;
}

.timeline::before {
    right: 50%;
}

.timeline::after {
    left: 50%;
}

.timeline__event {
    padding: 0.5rem;
    flex: 0 0 50%;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline__event {
        flex: 0 0 100%;
    }
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline__event:nth-of-type(2n-1)>.feature-box .title::before {
        left: -1rem;
        border-width: 0 1rem 1.25rem 0;
        border-color: transparent #492365 transparent transparent;
    }
}

.timeline__event>.feature-box .title::before {
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    top: 0;
    z-index: 1;
    border: medium solid #492365;
}

.timeline__event>.feature-box .title::after {
    box-sizing: border-box;
    content: "";
    position: absolute;
    background-color: #fff;
    border-radius: 50%;
    z-index: 1;
}

.timeline__separator {
    padding: 1rem;
    color: #fafafa;
    background-color: #492365;
    text-align: center;
}

.timeline__separator h1,
.timeline__separator h2,
.timeline__separator h3,
.timeline__separator h4,
.timeline__separator h5,
.timeline__separator h6,
.timeline__separator p {
    color: #fafafa !important;
}

.timeline__separator a {
    color: #dfcceb;
}

.timeline__separator a:hover,
.timeline__separator a:focus {
    color: #fff;
    text-decoration: none;
}

.timeline__container {
    background-color: transparent;
}

.timeline .feature-box {
    box-shadow: none;
    border: 2px solid #492365;
    border-top: none;
}

.timeline .feature-box .title {
    position: relative;
    opacity: 1 !important;
}

.timeline::before {
    width: 0.25rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline::before {
        right: calc(100% - 1rem - 0.5rem);
    }
}

.timeline::after {
    width: 0.25rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline::after {
        left: 1.5rem;
    }
}

.timeline .timeline__event:nth-of-type(2n-1) {
    padding-right: 2rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline .timeline__event:nth-of-type(2n-1) {
        padding-right: 0.5rem;
        padding-left: 3.5rem;
    }
}

.timeline .timeline__event:nth-of-type(2n-1)>.feature-box .title::after {
    right: -3.125rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline .timeline__event:nth-of-type(2n-1)>.feature-box .title::after {
        left: -3.125rem;
    }
}

.timeline .timeline__event:nth-of-type(2n) {
    padding-left: 2rem;
    margin-top: 3rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline .timeline__event:nth-of-type(2n) {
        margin-top: 0;
        padding-left: 3.5rem;
    }
}

.timeline .timeline__event:nth-of-type(2n)>.feature-box .title::after {
    left: -3.125rem;
}

.timeline .timeline__event>.feature-box .title::after {
    width: 2rem;
    height: 2rem;
    border: 0.5rem solid #492365;
    top: -1rem;
    background-size: cover;
}

.timeline--large::before {
    width: 0.25rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline--large::before {
        right: calc(100% - 3rem - 0.5rem);
    }
}

.timeline--large::after {
    width: 0.25rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline--large::after {
        left: 3.5rem;
    }
}

.timeline--large .timeline__event:nth-of-type(2n-1) {
    padding-right: 4rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline--large .timeline__event:nth-of-type(2n-1) {
        padding-right: 0.5rem;
        padding-left: 7.5rem;
    }
}

.timeline--large .timeline__event:nth-of-type(2n-1)>.feature-box .title::after {
    right: -7.125rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline--large .timeline__event:nth-of-type(2n-1)>.feature-box .title::after {
        left: -7.125rem;
    }
}

.timeline--large .timeline__event:nth-of-type(2n) {
    padding-left: 4rem;
    margin-top: 7rem;
}

@media only screen and (min-width: 0em) and (max-width: 39.9375em) {
    .timeline--large .timeline__event:nth-of-type(2n) {
        margin-top: 0;
        padding-left: 7.5rem;
    }
}

.timeline--large .timeline__event:nth-of-type(2n)>.feature-box .title::after {
    left: -7.125rem;
}

.timeline--large .timeline__event>.feature-box .title::after {
    width: 6rem;
    height: 6rem;
    border: 0.5rem solid #492365;
    top: -3rem;
    background-size: cover;
}

.featured-person {
    display: flex;
    flex-flow: row nowrap;
}

.featured-person__image {
    flex: 0 0 5rem;
    background-color: #d3d3d3;
    border-radius: 50%;
    margin-right: 0.75rem;
    height: 5rem;
    overflow: hidden;
    align-self: center;
}

.featured-person__description {
    flex: column nowrap;
    align-self: center;
}

.featured-person__description h2,
.featured-person__description h3,
.featured-person__description h4,
.featured-person__description h5,
.featured-person__description h6,
.featured-person__description p {
    margin: 0;
}

.af-calendar__overlay--shadow-right::after,
.af-calendar__overlay--shadow-left::before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    touch-action: none;
}

.af-calendar {
    border: 0;
    min-width: 640px;
    width: 100%;
    height: 100%;
}

.af-calendar__overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    padding: 0.5rem;
    left: 0;
    top: 0;
}

.af-calendar__overlay--shadow-left::before {
    box-shadow: 10px 0 10px -10px inset #000;
}

.af-calendar__overlay--shadow-right::after {
    box-shadow: -10px 0 10px -10px inset #000;
}

.af-calendar__container {
    overflow-y: hidden;
    overflow-x: auto;
    width: 100%;
    height: 100%;
    position: relative;
}

.af-calendar__container--responsive {
    -webkit-overflow-scrolling: touch;
    overflow-x: scroll;
}

.af-event-list {
    display: flex;
    flex-flow: column nowrap;
}

@media only screen and (min-width: 40em) {
    .af-event-list__container {
        max-height: 400px;
        overflow-y: scroll !important;
        -webkit-overflow-scrolling: touch;
    }
}

.af-event-list .af-event {
    display: flex;
    flex-flow: column nowrap;
    padding: 0.5rem;
    border-bottom: 1px solid #cacaca;
}

.af-event-list .af-event.linked {
    padding: 0;
}

.af-event-list .af-event.linked>a {
    padding: 0.5rem;
    color: #575047;
    text-decoration: none;
}

.af-event-list .af-event.linked>a h2,
.af-event-list .af-event.linked>a h3,
.af-event-list .af-event.linked>a h4,
.af-event-list .af-event.linked>a h5,
.af-event-list .af-event.linked>a h6 {
    color: #492365;
}

.af-event-list .af-event.linked>a:hover,
.af-event-list .af-event.linked>a:focus {
    box-shadow: 0 0 5px 0 #492365 inset;
    opacity: 0.9;
}

.af-event-list .af-event:last-of-type {
    border-bottom: none;
}

.af-event-list .af-event__title {
    flex: 0 0 auto;
}

.af-event-list .af-event__title>* {
    margin: 0;
}

.af-event-list .af-event__info {
    display: flex;
    flex-flow: column nowrap;
}

.af-event-list .af-event__info>.date {
    display: flex;
    flex-flow: row nowrap;
}

.af-event-list .af-event__info>.date>div:first-child {
    flex: 1 0 auto;
}

.af-event-list .af-event__info>.description {
    padding-top: 0.5rem;
}

.af-event-list .af-event__info>.description> :last-child {
    margin: 0;
}

.af-event-list.grid {
    flex-flow: row wrap;
}

.af-event-list.grid .af-event {
    flex: 0 0 100%;
}

@media only screen and (min-width: 40em) {
    .af-event-list.grid .af-event {
        flex: 0 0 50%;
    }
}

.af-event-list.grid .af-event:nth-of-type(2n-1) {
    border-right: 1px solid #cacaca;
}

.responsive-ul {
    list-style: none;
}

@media only screen and (min-width: 0em) {
    .responsive-ul.sm-1 {
        column-count: 1;
    }

    .responsive-ul.sm-2 {
        column-count: 2;
    }

    .responsive-ul.sm-3 {
        column-count: 3;
    }

    .responsive-ul.sm-4 {
        column-count: 4;
    }
}

@media only screen and (min-width: 40em) {
    .responsive-ul.med-1 {
        column-count: 1;
    }

    .responsive-ul.med-2 {
        column-count: 2;
    }

    .responsive-ul.med-3 {
        column-count: 3;
    }

    .responsive-ul.med-4 {
        column-count: 4;
    }
}

@media only screen and (min-width: 64em) {
    .responsive-ul.lrg-1 {
        column-count: 1;
    }

    .responsive-ul.lrg-2 {
        column-count: 2;
    }

    .responsive-ul.lrg-3 {
        column-count: 3;
    }

    .responsive-ul.lrg-4 {
        column-count: 4;
    }
}

@media only screen and (min-width: 90em) {
    .responsive-ul.xlrg-1 {
        column-count: 1;
    }

    .responsive-ul.xlrg-2 {
        column-count: 2;
    }

    .responsive-ul.xlrg-3 {
        column-count: 3;
    }

    .responsive-ul.xlrg-4 {
        column-count: 4;
    }
}

@media only screen and (min-width: 120em) {
    .responsive-ul.xxlrg-1 {
        column-count: 1;
    }

    .responsive-ul.xxlrg-2 {
        column-count: 2;
    }

    .responsive-ul.xxlrg-3 {
        column-count: 3;
    }

    .responsive-ul.xxlrg-4 {
        column-count: 4;
    }
}

.simple-event {
    display: grid;
    padding: 1rem;
    border-bottom: 2px solid #575047;
    grid-template-areas: "title""date""desc";
}

@media only screen and (min-width: 40em) {
    .simple-event {
        grid-template-areas: "title date""desc  desc";
    }
}

.simple-event__container {
    display: flex;
    flex-flow: column nowrap;
    margin: 0;
}

.simple-event__container :last-child {
    border: none;
}

.simple-event__description {
    grid-area: desc;
    text-align-last: left;
    padding: 1rem 0;
}

.simple-event__description :last-child {
    margin-bottom: 0;
}

.simple-event__title {
    grid-area: title;
    text-align: left;
    margin: 0;
}

.simple-event__date {
    grid-area: date;
    text-align: left;
}

@media only screen and (min-width: 40em) {
    .simple-event__date {
        text-align: right;
    }
}

main .row#awards {
    max-width: 70rem;
}

main .feature-box .button {
    font-size: 0.9rem;
}

@media only screen and (min-width: 64em) {
    main .image-right#spotlight-img {
        max-width: 30%;
    }
}

main .label.af-panel-discussion {
    color: #fafafa;
    background-color: #b75010;
}

main .label.af-climate-action {
    color: #fafafa;
    background-color: #388637;
}

main .label.af-lecture {
    color: #fafafa;
    background-color: #483627;
}

main .label.af-tour {
    color: #fafafa;
    background-color: #1a5398;
}

main .label.af-screening {
    color: #fafafa;
    background-color: #005f71;
}

main .label.af-workshop {
    color: #fafafa;
    background-color: #492365;
}

.primary-logo {
    padding: 0.5rem 1rem;
    max-width: 50%;
}

@media only screen and (max-width: 46.25em) {
    .primary-logo {
        max-width: 100%;
    }
}