.text-with-media {
    padding-bottom: 1rem;
}

.text-with-media__wrapper {
    width: 100%;
    padding-top: 1rem;
}

.text-with-media__border {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* For tablet landscape up */
@media (min-width: 900px) {
    .text-with-media__border  {
        width: 95%;
    }
}

.text-with-media__border hr {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid var(--light-gray);
}

.text-with-media__content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    padding-top: 1rem;
}

/* For tablet landscape up */
@media (min-width: 900px) {
    .text-with-media__content  {
        justify-content: space-between;
    }
}

.text-with-media__content header {
    width: 100%;
    padding-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* For tablet landscape up */
@media (min-width: 900px) {
    .text-with-media__content header {
        width: calc(35% - 1rem);
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.text-with-media__content header h2 {
    text-transform: uppercase;
    font-size: 1em;
    font-weight: bold;
    font-family: var(--accent-font-family);
}

/* For tablet landscape up */
@media (min-width: 900px) {
    .text-with-media__content header h2 {
        font-size: 1.15em;
    }
}

.text-with-media__content header p {
    font-size: 1.10em;
    line-height: 1.4;
    padding-top: 0.50rem;
}

/* For tablet landscape up */
@media (min-width: 900px) {
    .text-with-media__content header p {
        font-size: 1.20em;
    }
}

.text-with-media__content figure {
    width: 100%;
}

/* For tablet landscape up */
@media (min-width: 900px) {
    .text-with-media__content figure {
        width: 65%;
    }
}

.text-with-media__content figure img,
.text-with-media__content figure video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.text-with-media__content figure.is-left img,
.text-with-media__content figure.is-left video {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.text-with-media__content figure.is-right img,
.text-with-media__content figure.is-right video {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.is-left {
    padding-right: 1rem;
}

.is-right {
    padding-left: 1rem;
}

/* For tablet landscape up */
@media (min-width: 900px) {
    .is-left {
        padding-right: unset;
    }
    
    .is-right {
        padding-left: unset;
        order: 2;
    }
}