/**
 * @file
 * Blog
 *
 * Contains styles for blog detail and view modes.
 */

@use '_helper' as *;

.blog {
  &--full {
    margin-bottom: 60px;

    @media (min-width: $break-large) {
      margin-bottom: 100px;
    }
  }

  &__image {
    margin: 0 0 30px;
    border-radius: 15px;
    overflow: hidden;

    @media (min-width: $break-large) {
      margin: 0 0 60px;
    }

    img {
      width: 100%;
    }
  }

  &__publish-info {
    display: flex;
    margin: 10px 0 0;

    @media (min-width: $break-medium) {
      margin: 20px 0 0;
    }

    @media (min-width: $break-large) {
      margin: 25px 0 0;
    }
  }

  &__author {
    font-weight: 700;

    &:after {
      content: '';
      height: 17px;
      width: 0;
      border-right: 1px solid $color-white;
      margin: 0 10px;
    }
  }

  &__tags {
    margin: 1rem 0;
  }

  &__tag-label {
    margin: 30px 0 18px;
    color: $color-black;
    text-transform: none;

    @media (min-width: $break-large) {
      margin: 60px 0 25px;
    }
  }

  &__content,
  &__tags {
    max-width: 898px;
    margin: 0 auto;
  }

  &__tag-list {
    a {
      margin: 0 0.1rem 0 0;

      &:after {
        content: ',';
        display: inline-block;
      }
    }
  }
}

// Blog Listing
.blog-list {
  @media (min-width: $break-large) {
    display: flex;
    gap: 0 60px;
    flex-direction: row-reverse;
  }

  &__items {
    list-style: none;
    display: block;
    padding: 0;
    margin-top: 0;
  }

  &__item {
    margin: 2rem 0;
    display: table;

    @media (min-width: $break-medium) {
      margin: rem(50px) 0;
      display: flex;
    }

    @media (min-width: $break-large) {
      margin: rem(60px) 0;

      &:first-child {
        margin-top: 0;
      }

      &:last-child {
        margin-bottom: 0;
      }
    }

    &:before {
      content: none;
    }

    p {
      margin-top: 10px;
    }
  }

  &__title {
    margin: 20px 0 10px;
    font-family: $font-roboto-slab;
    font-size: rem(20px);
    line-height: 1.35;
    font-weight: 500;

    @media screen and (min-width: $break-medium) {
      flex: 1;
    }

    a {
      font: inherit;
      text-transform: none;
      word-break: normal;
      overflow-wrap: anywhere;
      @include arrowCircle(20px, 25px, 30px, false);

      .last-word span {
        transition: all 150ms;
      }

      &:hover {
        .last-word span {
          transform: translateX(4px);
        }
      }
    }

    @media (min-width: $break-medium) {
      margin-top: -0.3rem;
      font-size: rem(22px);
    }

    @media (min-width: $break-large) {
      font-size: rem(26px);
    }
  }

  &__image {
    overflow: hidden;

    @media (min-width: $break-medium) {
      margin: 0 20px 0 0;
      flex: 0 0 50%;
    }

    @media (min-width: $break-large) {
      margin-right: 25px;
    }

    img {
      border-radius: 15px;
    }
  }

  &__date,
  &__author {
    display: inline-block;
  }

  &__author {
    font-weight: 700;

    &:after {
      content: '';
      display: inline-block;
      height: 16px;
      border-right: 1px solid $color-black;
      vertical-align: middle;
      margin: 0 5px 0 10px;
    }
  }

  &__summary {
    overflow: hidden;
  }

  &__pager {
    clear: both;

    @media screen and (min-width: $break-large) {
      max-width: calc(100% - 336px);
    }
  }
}

// Blog 3 Up Feature
.blog3up {
  &__header {
    h2 {
      flex: 1;
      margin-bottom: rem(19px);
    }
  }

  &__date,
  &__author {
    display: inline-block;
  }

  &__author {
    a {
      font-style: italic;
    }

    &:before {
      font-size: inherit;
      margin: 0 0.25em;
      content: '|';
    }
  }

  &__section-cta {
    margin-top: 0;
  }

  &__card {
    @include cardArrowCornerHover;
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: calc((100svw - (18px * 2)));
    padding: rem(20px) rem(48px) rem(23px) rem(20px);
    border-radius: rem(15px) rem(15px) 0 rem(15px);
    overflow: hidden;

    @media screen and (min-width: $break-medium) {
      min-height: calc(((100svw - (18px * 2)) - 20px) / 2);
    }

    @media screen and (min-width: $break-large) {
      padding: rem(30px) rem(65px) rem(40px) rem(30px);
      min-height: calc(((100svw - (58px * 2)) - (30px * 2)) / 3);
    }

    @media screen and (min-width: $content-max) {
      min-height: 474.66px;
    }
  }

  &__date {
    color: $color-white;
    font-family: $font-dm-sans;
    font-size: rem(16px);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-transform: capitalize;
    margin-bottom: rem(5px);

    @media screen and (min-width: $break-large) {
      font-size: rem(18px);
    }
  }

  &__title {

    h3 {
      margin: 0;
      font-size: rem(18px);

      @media screen and (min-width: $break-large) {
        font-size: rem(20px);
      }
    }

    a {
      @include focus-light;
      text-decoration: none;

      &:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: calc(100% + 1px);
        height: calc(100% + 1px);
        z-index: 1;
      }
    }

    h3,
    a {
      @include news-card;
      color: $color-white;
    }
  }
}

.blog__filters {
  @media (min-width: $break-medium) {
    margin-bottom: 50px;
    display: flex;
    gap: 0 20px;
  }

  @media (min-width: $break-large) {
    display: block;
    width: 276px;
  }

  &>div:last-child {
    margin-bottom: 0;
  }

  &__toggle {
    font-family: $font-dm-sans;
    font-weight: 700;
    display: block;
    padding: 10px 18px;
    width: 100%;
    text-align: left;
    border: 0;
    border-radius: 15px 15px 0 0;
    background-color: $color-blue;
    color: $color-white;
    transition: all 150ms;

    &:hover {
      background-color: $color-blue-dark;
    }

    @media (min-width: $break-medium) {
      padding: 10px 30px;
    }

    @media (min-width: $break-large) {
      padding: 15px 30px;
    }

    &[aria-expanded="false"] {
      border-radius: 15px;

      &:after {
        transform: rotate(135deg);
        margin-top: -4px;
        vertical-align: middle;
      }
    }

    &:after {
      content: "";
      display: inline-block;
      margin-left: 8px;
      width: 5px;
      height: 5px;
      border-top: 1.5px solid $color-white;
      border-right: 1.5px solid $color-white;
      transform: rotate(-45deg);
    }
  }

  >div {
    margin-bottom: 10px;
    border-radius: 15px;

    @media (min-width: $break-medium) {
      flex-basis: 50%;
      margin-bottom: 0;
    }

    @media (min-width: $break-large) {
      margin-bottom: 40px;
    }

    @media (forced-colors: active) {
      border: solid 1px;
    }

    ul {
      background-color: $color-blue-light;
      padding: 20px 18px;
      margin: 0;
      border-radius: 0 0 15px 15px;
      list-style-type: none;

      @media (min-width: $break-medium) {
        padding: 20px 30px;
      }
    }

    li {
      @media (min-width: $break-large) {
        margin-bottom: 20px;
      }
    }

    li:before {
      content: none;
    }
  }
}