.program-header {
  margin-bottom: 10px;
  position: relative;
  @include breakpoint($screen-sm) {
    margin-bottom: 60px;
  }
  .content {
    padding: 15px 0;
    margin-bottom: 15px;
    position: relative;
    @include breakpoint($screen-sm) {
      height: 260px;
      padding: 40px 0;
      margin-bottom: 45px;
    }
  }
  .description {
    font-size: 18px;
    line-height: 27px;
    @include cachet-medium();
    @include breakpoint($screen-sm) {
      font-size: 20px;
    }
  }
  &.purple {
    .content {
      background-color: $purple;
    }
    .description {
      color: $purple;
    }
  }
  &.green {
    .content {
      background-color: $green;
    }
    .description {
      color: $green;
    }
  }
  &.dark-green {
    .content {
      background-color: $dark-green;
    }
    .description {
      color: $dark-green;
    }
  }

  .image {
    margin-top: -40px;
  }
  #banner .image {
    margin-top: 0;
  }
  .main {
    position: static;
  }
  .icon {
    @include breakpoint($screen-sm) {
      position: absolute;
      bottom: 35px;
    }
    img {
      max-width: 50px;
      max-height: 50px;
      height: auto;
      width: auto;
      @include breakpoint($screen-sm) {
        max-width: 78px;
        max-height: 78px;
      }
      &.svg-image {
        width: 100px;
      }
    }
  }
  h1 {
    color: $white;
    font-size: 32px;
    text-transform: uppercase;
    margin: 0 0 15px;
    @include breakpoint($screen-sm) {
      font-size: 60px;
      margin-bottom: 80px;
    }
  }

  .field-header-content {
    margin-bottom: 20px;
  }

  &.program-header-sub-category {
    margin-bottom: 0;
    overflow: hidden;

    h1 {
      margin: 0 0 7px;

      @include breakpoint($screen-sm) {
        margin: 0 0 45px;
      }
    }

    .field-category-program {
      color: $white;
      @include cachet();
      font-size: 28px;
      letter-spacing: -0.8px;
      line-height: 28px;
      margin: 0;

      @include breakpoint($screen-sm) {
        font-size: 36px;
      }
    }

    .content {
      height: auto;
      margin-bottom: 0;

      @include breakpoint($screen-sm) {
        min-height: 200px;
      }

      .image {
        position: static;
      }

      img {
        height: 100%;
        width: auto;
        position: absolute;
      }
    }
  }
}

.subprogram-listing-item {
  display: table;
  margin-top: 20px;
  margin-bottom: 25px;
  @include breakpoint($screen-sm) {
    display: block;
    margin-bottom: 45px;
  }
  img {
    height: auto;
    width: auto;
    max-width: 100%;
  }
  .image {
    display: table-caption;
    margin-bottom: 20px;
    text-align: center;
    @include breakpoint(0 $screen-xs) {
      img {
        height: auto;
        width: 100%;
      }
    }
    @include breakpoint($screen-sm) {
      display: block;
      float: left;
      text-align: right;
    }
    @include breakpoint($screen-lg) {
      margin-bottom: 0;
      img {
        max-width: 260px;
        height: auto;
      }
    }
  }
  .title {
    h2 {
      font-size: 20px;
      line-height: 20px;
      margin: -2px 0 15px;
      color: $blue;
    }
    @include breakpoint($screen-sm) {
      float: right;
    }
  }
  .content {
    font-size: 14px;
    line-height: 20px;
    color: $dark-grey;
    @include breakpoint($screen-sm) {
      float: right;
      padding-right: 0;
    }
    .btn {
      display: block;
      font-size: 18px;
      padding: 12px;
      margin-top: 15px;
      @include breakpoint($screen-sm) {
        max-width: 360px;
        font-size: 20px;
        padding: 16px;
        margin-top: 25px;
      }
    }
  }
}

.sub-category-classes-view {
  .controls-wrapper {
    padding-top: 9px;
    padding-bottom: 9px;
    background-color: $sky-blue;
    a {
      display: inline-block;
      padding: 3px 15px;
    }
  }
  form {
    background-color: $sky-blue;
    margin-bottom: 20px;
    @include breakpoint($screen-sm) {
      background-color: $lighter-grey;
      margin-bottom: 40px;
    }
  }
  .js-form-type-select {
    float: left;
    display: inline-block;
    padding: 10px 0 5px;
    width: 100%;
    @include breakpoint($screen-sm) {
      padding: 15px 0;
      margin-right: 18px;
      width: 125px;
    }
    @include breakpoint($screen-md) {
      width: 170px;
    }
    @include breakpoint($screen-lg) {
      width: 200px;
    }

    label {
      font-size: 14px;
      line-height: 1.6;
      @include cachet();
      color: $dark-grey;
      margin-bottom: 0;
      @include breakpoint($screen-sm) {
        margin-bottom: 5px;
      }
    }

    select {
      text-transform: uppercase;
      color: $dark-grey;
      @include cachet();
    }
  }
  .selects-container {
    hr {
      border-color: $default-grey;
      margin: 0 0 12px;
      @include breakpoint($screen-sm) {
        display: none;
      }
    }
  }
  .form-actions {
    padding-top: 23px;
    padding-bottom: 23px;
    input {
      text-transform: uppercase;
      font-size: 18px;
      padding: 12px 0;
      width: 100%;
    }
  }
  .filters-main-wrapper {
    clear: both;
    @include breakpoint($screen-sm) {
      background-color: rgba(0, 136, 208, 0.25);
      padding-top: 15px;
      padding-bottom: 15px;
    }
  }
  .filters-container {
    clear: both;
    position: relative;
    @include breakpoint($screen-sm) {
      margin-top: 0;
    }

    .container {
      position: relative;
    }

    .reset-wrapper {
      position: absolute;
      right: 35px;
      top: 4px;
      @include breakpoint($screen-sm) {
        top: 0;
        right: 0;
      }
      .clear {
        @include cachet();
        background: none;
        border: none;
        color: $blue;
        display: inline-block;
        font-size: 14px;
        height: 30px;
        line-height: 30px;
        padding: 0;
        @include breakpoint($screen-sm) {
          text-transform: uppercase;
        }
      }
    }
  }

  .filters-wrapper {
    padding-bottom: 5px;
    border-top: 1px solid $default-grey;
    padding-top: 5px;
    @include breakpoint($screen-sm) {
      padding-bottom: 0;
      padding-top: 0;
      border: 0;
    }
    .label {
      @include cachet();
      color: $dark-grey;
      display: block;
      font-size: 14px;
      line-height: 30px;
      margin-right: 20px;
      padding: 0;
      text-align: left;
      @include breakpoint($screen-sm) {
        display: inline-block;
      }
    }
    .filters {
      display: inline-block;
      .filter {
        @include cachet();
        background: $white;
        border-radius: 4px;
        color: $light-blue;
        display: inline-block;
        font-size: 14px;
        height: 30px;
        line-height: 30px;
        text-transform: uppercase;
        white-space: nowrap;
        padding: 0 10px;
        margin: 0 5px 10px 0;
        @include breakpoint($screen-sm) {
          margin: 5px 20px 5px 0;
          color: $dark-grey;
        }
        .remove {
          margin-left: 10px;
          line-height: 30px;
          @include breakpoint($screen-sm) {
            margin-left: 15px;
          }
          .fa {
            font-size: 13px;
            color: $blue;
            @include breakpoint($screen-sm) {
              font-size: 16px;
            }
          }
        }
      }
    }
  }

  .activity-group {
    h2 {
      @include cachet-medium();
      font-size: 30px;
      line-height: 1.6;
      letter-spacing: -0.8px;
      color: $purple;
      margin: 15px 15px 20px;
    }

    .row {
      margin-bottom: 40px;
    }

    .teaser-row {
      border: 1px solid $pink;
      margin: 0 15px;
      height: auto;
      text-decoration: none;
    }

    .inner {
      padding: 15px;
    }

    .node__content {
      color: $darker-grey;
    }

    .views-field-title {
      @include cachet();
      font-size: 22px;
      line-height: 1;
      color: $blue;
      margin: 40px 0 27px;

      a {
        text-decoration: none;
        color: $blue;
      }
    }
    .views-field-field-body-no-summary {
      font-size: 15px;
      line-height: 1.5;
      color: $darker-grey;
    }

    .activity-group-slider {
      margin: 0 0 45px;
      @include breakpoint($screen-sm) {
        margin: 0 35px 55px 0;
      }
      @include breakpoint($screen-lg+100) {
        margin-right: 0 ;
      }

      .views-field-rendered-entity {
        padding: 15px;
        margin: 0 15px;
        height: auto;

        border: 1px solid $pink;
        * {
          text-decoration: none;
        }
        a:hover h3 {
          text-decoration: underline;
        }
      }

      .slick-track {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
      }

      .slick-arrow {
        background: none;
        color: $light-blue;
        padding: 0;
        z-index: 1;
        height: 40px;
        width: 40px;
        margin-top: -7px;

        &:before {
          color: $light-blue;
        }

        @include breakpoint($screen-sm) {
          height: 70px;
          width: 50px;
        }

        .fa {
          font-size: 30px;

          @include breakpoint($screen-sm) {
            font-size: 70px;
          }
        }

        &.slick-prev {
          left: -20px;

          @include breakpoint($screen-sm) {
            left: -45px;
          }
        }

        &.slick-next {
          right: -20px;

          @include breakpoint($screen-sm) {
            right: -45px;
          }
        }
      }

      .slick-dots {
        li {
          button {
            &:before {
              opacity: 1;
              color: $lighter-grey;
            }
          }
          &.slick-active {
            button:before {
              opacity: 1;
              color: $pink;
            }
          }
        }
      }
    }
  }
}
