
body {
    font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings:"wdth" 100;
}

.preamble {
    font-size: 1.25rem;
}

.bg-lilac-100 {
    background: rgba(84,84,212, 0.125);
}

.bg-lilac-200 {
    background: rgba(84,84,212, 0.5);
}

.card {
    display: flex;
    flex-flow: column wrap;
    padding: 2em 1.5em 1.5em;
    border: 1px solid rgba(0, 136, 194, .06);
    border-radius: .5em;
    background-color: #fff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .05);
    transition: box-shadow ease .25s;
    text-align: center;
    height: 100%;
}

.card h2 {
    font-size: 1.25rem;
    font-weight: 600;
}

.card h3 {
    font-size: 1.125rem;
    font-weight: 600;
}

.card ul {
    text-align: left;
    display: block;
    margin: 0 auto;
}

.card p {
    margin-bottom: 1.5em;
}

.small-image {
    max-width: 100%;
    border-radius: 10px;
    transition: all ease .25s;
    object-fit: cover;
}

.small-image:hover {
    transform: translateY(-10px);
}

.ratio-4x3 {
    --bs-aspect-ratio: 75%;
}

.hero {
    position: relative;
    display: flex;
    overflow: hidden;
    height: 60vh;
    max-height: 600px;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px
}

@media(min-width: 480px) {
    .hero {
        height:65vh
    }
}

@media(min-width: 1024px) {
    .hero {
        height:600px
    }
}
.hero__media {
    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.hero__media:after {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 1;
    pointer-events: none;
    background-color: rgba(0, 0, 0, .33);
}

.hero__media:after {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 1;
    pointer-events: none
}

.hero .object-fit {
    position: relative;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hero__content-container {
    z-index: 30;
}

.hero__header {
    font-size: 3rem;
}

.text-xl {
    font-size: 1.33em;
}