body {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
}

h1 {
    font-size: 2em;
    margin-top: 1em;
    text-align: center;
}

h2 {
    font-size: 1.75em;
    text-align: center;
    margin-bottom: 1em;
}

.text-justify {
    text-align: justify;
}

section {
    padding: 3em 0;
}

.break {
    flex-basis: 100%;
    height: 0;
}

.container.logo {
    background-image: url('images/galen_logo.svg');
    background-size: 100% auto;
    background-position: center bottom;
    height: 24em;
    max-width: 58em;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 800px) {
    .container.logo {
        height: 20em;
        background-size: 100% auto;
    }
}

@media screen and (max-width: 560px) {
    .container.logo {
        height: 18em;
        background-size: 130% auto;
    }
}

@media screen and (max-width: 480px) {
    .container.logo {
        height: 14em;
        background-size: 140% auto;
    }
}

.container.logo h2 {
    position: absolute;
    top: 0;
}

section.grey {
    background-color: rgb(240, 240, 240);
}

section.purple {
    background-color: rgb(240, 231, 244);
}

section.purpleWave {
    background-image: url('images/purple_wave2.jpg');
    background-size: 100% 100%;
}

section.purpleSky {
    background-image: url('images/purple_sky.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    text-shadow: 0 0 5px rgba(255,255,255);
    /* filter: saturate(110%) brightness(110%); */
    box-shadow: inset 0 0 0 2000px rgba(255,255,255,0.75);
}

.mission {
    display: grid;
    grid-template-columns: 2em 1fr 2em;
    align-items: center;
    justify-content: center;
    gap: 3em;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 480px) {
    .mission {
        gap: 1em;
    }
}

.mission .bracket {
    /* filter: invert(92%) sepia(74%) saturate(4218%) hue-rotate(184deg) brightness(97%) contrast(89%); */
    filter: invert(80%) sepia(15%) saturate(5640%) hue-rotate(206deg) brightness(89%) contrast(73%);
    width: 2em;
}

.mission .bracket.right {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

.mission blockquote {
    font-size: 1.6em;
    margin: 0;
    filter: none;
}

.timeline {
    border-left: 1px solid rgb(191, 161, 212);
    position: relative;
    list-style: none;
    max-width: 32em;
    margin-top: 2em;
    margin-left: auto;
    margin-right: auto;
}

.timeline .timeline-item {
    position: relative;
    margin-bottom: 2em;
}

.timeline .timeline-item:after {
    position: absolute;
    display: block;
    top: 0;
}

.timeline .timeline-item:after {
    background-color: rgb(191, 161, 212);
    left: -38px;
    border-radius: 50%;
    height: 11px;
    width: 11px;
    content: "";
}

ul.values {
    list-style: none;
}

ul.values li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
    padding: 1em;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
}

ul.values li i {
    color: white;
    font-size: 2em;
    background-color: rgb(191, 161, 212);
    padding: 0.5em;
    border-radius: 2em;
    width: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.members {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.members .photo {
    position: relative;
    height: 20em;
    overflow: clip;
}

.members .photo img {
    width: 100%;
    height: auto;
    min-height: 100%;
}

@media screen and (max-width: 1300px) {
    .members {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media screen and (max-width: 992px) {
    .members {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 480px) {
    .members {
        grid-template-columns: 1fr;
    }
}

.members .card-title {
    font-weight: bold;
}

.slide {
    opacity: 0;
    transform: translate(50px);
}

@media (prefers-reduced-motion: no-preference) {
    .slide {
        transition: opacity 0.75s ease, transform 0.75s ease;
    }
}

.slide-animation {
    opacity: 1;
    transform: none;
}

footer {
    background-color: rgb(240, 231, 244);
}

footer .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1em 2em;
    padding-top: 2em;
    padding-bottom: 1em;
}

footer .container a {
    font-size: 1.2em;
}

footer .container .contact {
    text-align: center;
}

footer .container div:nth-child(1) {
    text-transform: uppercase;
    margin-bottom: 0.5em;
}

footer .container div:nth-child(2) {
    font-size: 0.9em;
}

footer .container .copy {
    font-size: 0.8em;
}