.two-columns__container {
  max-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  @media (min-width: 1400px) {
    .two-columns__container {
      display: grid;
      grid-template-columns: 40% 60%; } }
.two-columns .attachment {
  max-width: 100%;
  flex: 1 1 100%;
  order: 1; }
  @media (min-width: 1400px) {
    .two-columns .attachment {
      min-width: 400px;
      grid-column: 1/2;
      grid-row: 1/3; } }
  .two-columns .attachment.picture .image-wrapper {
    max-width: 100%;
    max-height: 100%;
    height: fit-content;
    padding: 40px 0;
    background-color: #000;
    display: flex;
    justify-content: center; }
    @media (min-width: 768px) {
      .two-columns .attachment.picture .image-wrapper {
        padding: 45px 0; } }
    @media (min-width: 1400px) {
      .two-columns .attachment.picture .image-wrapper {
        padding: 50px 0; } }
    .two-columns .attachment.picture .image-wrapper img {
      max-width: 100%;
      height: 100%;
      object-fit: contain; }
  .two-columns .attachment.video .video-wrapper {
    width: 100%;
    height: 200px;
    padding: 0 15px;
    display: flex;
    position: relative;
    flex: 1; }
    @media (min-width: 768px) {
      .two-columns .attachment.video .video-wrapper {
        height: 450px; } }
    @media (min-width: 1400px) {
      .two-columns .attachment.video .video-wrapper {
        padding: 0;
        max-width: 100%;
        width: 800px;
        height: 450px;
        justify-self: stretch; } }
    .two-columns .attachment.video .video-wrapper .play-button {
      all: unset;
      width: 100%;
      height: 100%;
      cursor: pointer;
      display: flex; }
      .two-columns .attachment.video .video-wrapper .play-button picture {
        width: 100%;
        height: 100%;
        position: relative;
        z-index: 0;
        display: flex; }
        .two-columns .attachment.video .video-wrapper .play-button picture img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
      .two-columns .attachment.video .video-wrapper .play-button::after {
        content: '\25B6';
        width: 60px;
        height: 60px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: rgba(var(--secondaryColor), 0.8);
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 25px;
        color: #fff; }

@media (min-width: 1400px) {
  .two-columns:not(:has(.button-wrapper)) .content {
    grid-row: 1/3; } }

.two-columns .content {
  width: 100%;
  padding: 40px 15px; }
  @media (min-width: 768px) {
    .two-columns .content {
      padding: 45px; } }
  @media (min-width: 1400px) {
    .two-columns .content {
      min-width: 620px;
      padding: 50px 80px;
      grid-column: 2/3;
      grid-row: 1/2; } }
  .two-columns .content .title {
    max-width: 800px;
    width: 100%;
    margin-bottom: 30px;
    font-family: var(--muli);
    font-weight: var(--extraBold);
    font-size: 3rem;
    letter-spacing: 3px;
    line-height: 4rem;
    text-transform: uppercase;
    text-align: left;
    color: rgba(var(--tertiaryColor), 1); }
    @media (min-width: 768px) {
      .two-columns .content .title {
        font-size: 4rem;
        line-height: 5rem;
        letter-spacing: 7px; } }
  .two-columns .content__container {
    max-width: 800px;
    width: 100%; }
    .two-columns .content__container p:last-child {
      margin-bottom: 0; }

.two-columns .button-wrapper {
  width: 100%;
  padding: 40px 15px;
  order: 2; }
  @media (min-width: 768px) {
    .two-columns .button-wrapper {
      padding: 45px; } }
  @media (min-width: 1400px) {
    .two-columns .button-wrapper {
      min-width: 620px;
      padding: 50px 80px;
      grid-column: 2/3;
      grid-row: 2/3; } }
@media (min-width: 1400px) {
  .two-columns.switched .attachment {
    min-width: 620px;
    grid-column: 2/3;
    grid-row: 1/3; } }

@media (min-width: 1400px) {
  .two-columns.switched .content {
    min-width: 400px;
    padding: 50px 80px;
    grid-column: 1/2;
    grid-row: 1/2; } }

@media (min-width: 1400px) {
  .two-columns.switched .button-wrapper {
    min-width: 400px;
    padding: 50px 80px;
    grid-column: 1/2;
    grid-row: 2/3; } }

.two-columns.alt-bg {
  background-color: rgba(var(--primaryColor), 1); }
  .two-columns.alt-bg p {
    color: #fff;
    font-weight: var(--semiBold); }
