.node {
  $self: &;

  &__header {
    font-family: $theme-item-header-font-family;
    font-size: $theme-item-header-font-size;
    font-weight: $theme-item-header-font-weight;
    line-height: $theme-item-header-line-height;
    color: $theme-item-header-color;
    letter-spacing: $theme-item-header-letter-spacing;

    a {
      color: $theme-item-header-link-color;
      text-decoration: $theme-item-header-link-decoration;
      &:hover {
        color: $theme-item-header-link-hover-color;
        text-decoration: $theme-item-header-link-hover-decoration;
      }
    }
  }

  &__title {
    @include theme-apply-fonts(
      $font-family: $theme-item-title-font-family,
      $font-size-sm: $theme-item-title-font-size-sm,
      $font-size: $theme-item-title-font-size,
      $font-weight: $theme-item-title-font-weight,
      $letter-spacing: $theme-item-title-letter-spacing,
      $line-height-sm: $theme-item-title-line-height-sm,
      $line-height: $theme-item-title-line-height
    );
    margin-bottom: $theme-item-title-margin;
    color: $theme-item-title-color;

    a {
      @include theme-max-lines(
        $font-size: $theme-item-title-font-size,
        $font-size-sm: $theme-item-title-font-size-sm,
        $line-height: $theme-item-title-line-height,
        $line-height-sm: $theme-item-title-line-height-sm,
        $num: $theme-item-title-max-lines
      );
      color: $theme-item-title-link-color;
      text-decoration: $theme-item-title-link-decoration;
      &:hover {
        color: $theme-item-title-link-hover-color;
        text-decoration: $theme-item-title-link-hover-decoration;
      }
    }

    &--large {
      @include theme-apply-fonts(
        $font-family: $theme-item-title-font-family,
        $font-size-sm: $theme-item-title-large-font-size-sm,
        $font-size: $theme-item-title-large-font-size,
        $font-weight: $theme-item-title-large-font-weight,
        $letter-spacing: $theme-item-title-large-letter-spacing,
        $line-height-sm: $theme-item-title-large-line-height-sm,
        $line-height: $theme-item-title-large-line-height
      );

      a {
        @include theme-max-lines(
          $font-size: $theme-item-title-large-font-size,
          $font-size-sm: $theme-item-title-large-font-size-sm,
          $line-height: $theme-item-title-large-line-height,
          $line-height-sm: $theme-item-title-large-line-height-sm,
          $num: $theme-item-title-large-max-lines
        );
      }
    }

    &--locked {
      a::before {
        content: $theme-item-title-locked-content;
      }
    }
  }

  &__text {
    &--teaser {
      @include theme-apply-fonts(
        $font-family: $theme-item-description-font-family,
        $font-size-sm: $theme-item-description-font-size-sm,
        $font-size: $theme-item-description-font-size,
        $font-weight: $theme-item-description-font-weight,
        $line-height-sm: $theme-item-description-line-height-sm,
        $line-height: $theme-item-description-line-height
      );
      margin-bottom: $theme-item-description-margin;
      color: $theme-item-description-color;

      a {
        @include theme-max-lines(
          $font-size: $theme-item-description-font-size,
          $font-size-sm: $theme-item-description-font-size-sm,
          $line-height: $theme-item-description-line-height,
          $line-height-sm: $theme-item-description-line-height-sm,
          $num: $theme-item-description-max-lines
        );
        color: $theme-item-description-link-color;
        text-decoration: $theme-item-description-link-decoration;
        &:hover {
          color: $theme-item-description-link-hover-color;
          text-decoration: $theme-item-description-link-hover-decoration;
        }
      }
    }
  }

  &__footer {
    font-family: $theme-item-footer-font-family;
    font-size: $theme-item-footer-font-size;
    font-weight: $theme-item-footer-font-weight;
    line-height: $theme-item-footer-line-height;
    color: $theme-item-footer-color;
    text-transform: $theme-item-footer-text-transform;
  }


  &__image-inner-wrapper {
    @include border-radius($theme-item-image-border-radius);
    @include box-shadow($theme-item-image-box-shadow);
  }

  &__image {
    @include border-radius($theme-item-image-border-radius);
  }

  &__content-starts + &__content-ends,
  &__content-start-date + &__content-end-date {
    &::before {
      margin-right: map-get($spacers, 1);
      margin-left: map-get($spacers, 1);
      content: "\2014";
    }
  }

  &__content-embed-code {
    @include theme-embed-responsive($theme-primary-media-video-aspect-ratio-x, $theme-primary-media-video-aspect-ratio-y);

    iframe,
    embed,
    object,
    video {
      @include theme-embed-responsive-item();
    }
  }

  &--card {
    @include theme-card();
  }

  &--video-content-type {
    #{ $self } {
      &__image-inner-wrapper {
        &::after {
          position: absolute;
          top: 50%;
          left: 50%;
          width: 50px;
          height: 50px;
          content: "";
          background-image: url("data:image/png;base64,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");
          filter: brightness(0) invert(1) drop-shadow(2px 2px 2px rgba(0, 0, 0, .5));
          background-size: contain;
          opacity: .6;
          transform: translate(-50%, -50%);
        }
      }
    }
  }
}
