@media all {

  .ce-type-dw_textmedia {

    & .ce-inner {
      order: 1;
      grid-column: 3 / -3;
    }

    & > .ce-media {
      order: 0;
      grid-column: 3 / -3;

      & .ce-gallery {
        display: flex;
        flex-direction: column;
        gap: var(--element-gap);
      }

    }

    &:not(:has(.ce-contact-card-look)) .ce-media-file {
      width: 100%;
      min-width: 100%;
      max-width: 100%;
      overflow: clip;
    }

    & .ce-intext .ce-bodytext {
      display: block;
    }

    & .ce-intext .ce-bodytext > * + * {
      margin-top: var(--element-gap-text);
    }

    & .ce-intext .ce-bodytext > .ce-media + * {
      margin-top: var(--element-gap);
    }

    & .ce-intext .ce-bodytext .ce-media-right {
      float: none;
      clear: none;
      width: 100%;
      max-width: 100%;
      margin-left: 0;
      margin-bottom: var(--ce-gallery-margin-vertical);
    }

    & .ce-intext .ce-bodytext .ce-media-left {
      float: none;
      clear: none;
      width: 100%;
      max-width: 100%;
      margin-right: 0;
      margin-bottom: var(--ce-gallery-margin-vertical);
    }

    & .ce-intext .ce-bodytext .ce-gallery {
      width: 100%;
    }

    & .ce-intext .ce-bodytext .ce-media-image img {
      min-width: 0;
      width: 100%;
      height: auto;
    }

    & .ce-intext .ce-bodytext::after {
      content: "";
      display: table;
      clear: both;
    }

  }

  .ce-container .column > .ce-type-dw_textmedia {

    & .ce-inner,
    & > .ce-media {
      grid-column: 1 / -1;
      width: 100%;
      max-width: 100%;
    }

  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--element-gap-text);
    box-shadow: var(--shadow-default);
    border-radius: var(--radius-small);
    padding-inline: var(--element-padding);
    padding-block: 1.25rem;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look > .ce-media {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    order: 0;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look > .ce-text {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    order: 1;
    align-items: flex-start;
    text-align: left;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look .ce-header > * {
    --dynamic-size-min: 1;
    --dynamic-size-max: 1;
    font-size: 1em;
    line-height: inherit;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-media-file {
    border-radius: 50%;
    overflow: clip;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-media-file > a.lightbox {
    position: relative;
    display: block;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-media-file > a.lightbox::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background-color: rgba(255, 255, 255, 0.35);
    transition: var(--transition-default);
    transition-property: opacity;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-media-file > a.lightbox:hover::after,
  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-media-file > a.lightbox:focus-visible::after {
    opacity: 1;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-media-image img {
    min-width: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
  }

}

@media (min-width: 47.5rem) {

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look {
    flex-direction: row;
    align-items: center;
  }

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look > .ce-media {
    flex: 0 0 var(--size-16);
    width: var(--size-16);
    max-width: var(--size-16);
  }

}

@media (min-width: 62.5rem) {

  .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look > .ce-media {
    flex: 0 0 var(--size-18);
    width: var(--size-18);
    max-width: var(--size-18);
  }

  .ce-type-dw_textmedia {

    & .ce-intext .ce-bodytext > .ce-media + * {
      margin-top: 0;
    }

    & .ce-intext .ce-bodytext .ce-media-right {
      float: right;
      clear: right;
      width: 40%;
      margin-left: var(--ce-gallery-margin-horizontal);
    }

    & .ce-intext .ce-bodytext .ce-media-left {
      float: left;
      clear: left;
      width: 40%;
      margin-right: var(--ce-gallery-margin-horizontal);
    }

    & .ce-inner,
    & > .ce-media {
      grid-row: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    &:has(.ce-intext) .ce-inner {
      display: block;
      grid-column: 3 / -3;
      padding-left: 0;
      padding-right: 0;
    }

    &:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look {
      display: flex;
    }

  }

  .ce-container .column > .ce-type-dw_textmedia:has(.ce-intext) .ce-inner {
    grid-column: 1 / -1;
  }

  .ce-container .column > .ce-type-dw_textmedia:has(.ce-contact-card-look) .ce-inner.ce-contact-card-look {
    grid-column: 1 / -1;
  }

}
