/**
 * @file
 * Custom CSS for LibrarySite DXPR Theme.
 */

/* HTags */
h1, .h1 {
  font-size: var(--dxt-setting-h1-font-size) !important;
}

h2, .h2 {
  font-size: var(--dxt-setting-h2-font-size) !important;
}

h3, .h3, .block-title {
  font-size: var(--dxt-setting-h3-font-size) !important;
}

h4, .h4 {
  font-size: var(--dxt-setting-h4-font-size) !important;
}

h2, .h2, .block-title {
  font-size: var(--dxt-setting-h2-font-size) !important;
}

.html .block:first-child h2.block-title {
  margin-top: 0;
}

/* Contextual Region */
.contextual-region .contextual button {
  background-color: inherit !important;
}

/* Menu Spacing */
.dxpr-theme-header .nav > li > a,
.dxpr-theme-header .nav > li > span {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  @media (min-width: 992px) {
    padding-left: calc(var(--dxt-menu-spacing, 30) * 1px) !important;
    padding-right: calc(var(--dxt-menu-spacing, 30) * 1px) !important;
  }
}

.dxpr-theme-header {
  .nav-item.dropdown:hover .bs-dropdown-wrapper,
  .bs-dropdown-submenu:hover .bs-dropdown-item-wrapper,
  .nav-item.dropdown.show .bs-dropdown-wrapper,
  .bs-dropdown-submenu.show .bs-dropdown-item-wrapper {
    background-color: var(--dxt-setting-menu-hover-background) !important;

    .nav-link,
    .dropdown-item,
    .bs-dropdown-caret {
      color: var(--dxt-setting-menu-hover-text-color) !important;
      background-color: transparent !important;
    }
  }

  .bs-dropdown-wrapper {
    border-radius: 0 !important;

    &:hover,
    &:active {
      border-radius: 0 !important;
      cursor: pointer;
    }
  }

  .bs-dropdown-caret {
    color: var(--dxt-setting-navbar-text-color) !important;
    border: unset !important;
    display: inline-block;
    padding: 0;
    width: auto;

    &:after {
      content: unset;
    }

    &:hover,
    &:active {
      width: auto;
      cursor: pointer;
      padding: 0;
      display: inline-block;
      color: var(--dxt-setting-menu-hover-text-color) !important;
      background-color: var(--dxt-setting-menu-hover-background) !important;
    }
  }

  /* Dropdown icons */

  .dropdown-icon {
    display: inline-block;
    margin-left: 0.5rem;
    vertical-align: middle;
    width: 0.8em;
    height: 0.8em;
    position: relative;
    transition: none !important; /* No animation */

    &::before {
      content: "";
      position: absolute;
      top: 25%;
      left: 0;
      width: 0;
      height: 0;
      border-left: 0.4em solid transparent;
      border-right: 0.4em solid transparent;
      border-top: 0.4em solid currentColor;
      transition: none !important;
    }
  }

  /* Always point downside - prevent rotation if any */

  .show > .dropdown-icon,
  .show > * > .dropdown-icon,
  .dropdown-icon {
    transform: none !important;
  }

  /* Hide default Bootstrap caret */

  .nav-link::after,
  .dropdown-item::after,
  .dropdown-toggle::after {
    display: none !important;
  }

  .dropdown-menu {
    min-width: 100%;
    width: auto;
    padding: 0 !important;

    li {
      width: 100% !important;
    }

    a {
      width: 100%;
      white-space: nowrap !important;

      &:hover {
        background-color: var(--dxt-setting-dropdown-hover-background) !important;
        color: var(--dxt-setting-dropdown-hover-text-color) !important;
      }
    }
  }

  .bs-dropdown-wrapper,
  .bs-dropdown-item-wrapper {
    display: flex;
    align-items: center;
  }

  .navbar-header-wrapper {
    @media (max-width: 992px) {
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }
  }
}

#secondary-header .block {
  @media (max-width: 1199px) {
    margin-bottom: 2rem;
  }
}

.body--dxpr-theme-nav-mobile {
  .dxpr-theme-header {
    padding: 0.5rem 0;

    button {
      &:hover {
        background-color: transparent !important;
      }
    }
  }
}

.wrap-containers {
  a {
    color: var(--dxt-color-link);
    text-decoration: none;
    font-weight: bold;

    &:hover {
      text-decoration: underline;
      color: var(--dxt-color-link);
    }
  }
}

.html .card a:not(.btn), .html .jumbotron a:not(.btn) {
  color: var(--dxt-color-link);
  text-decoration: none;
  font-weight: bold;
  &:hover {
    text-decoration: underline;
    color: var(--dxt-color-link);
  }
}

/* Site Branding */
.wrap-branding {
  .name {
    font-size: var(--dxt-setting-h1-mobile-font-size);
    @media (min-width: 1200px) {
      font-size: 3.33rem;
    }
  }

  .slogan {
    font-family: var(--dxt-setting-headings-font-face);
    @media (min-width: 991px) {
      text-align: end;
    }
  }
}

.page-title {
  font-weight: 700 !important;
}

#block-librarysite-dxpr-theme-account-menu {
  ul {
    flex-direction: row;
    margin-bottom: 1rem !important;
  }

  .nav-link {
    @media (max-width: 992px) {
      padding: 0 5px !important;
    }
    @media (min-width: 992px) {
      font-size: 1rem;
    }
  }
}

/* Status Messages */
.wrap-messages {
  .alert {
    margin-bottom: 0;
  }
}

/* Search */
#site-catalog-search-form {
  font-family: var(--dxt-setting-body-font-face);

  legend {
    color: var(--dxt-color-text);
    font-weight: 400;
    @media (min-width: 992px) {
      font-size: var(--dxt-setting-body-font-size);
    }
  }

  label {
    font-family: var(--dxt-setting-body-font-face);
  }

  &.display-search-form-inline {
    padding-top: 1rem;
    padding-bottom: 1rem;
    @media (min-width: 992px) {
      display: flex;
      padding: 1rem 0;
      margin: 0 auto;
      align-items: center;
    }

    .search-top-wrapper {
      flex: 0 1 30%;
      display: flex;
      align-items: center;
      margin-bottom: 0.5rem;
      margin-right: 2rem;
      @media (min-width: 992px) {
        justify-content: flex-start;
        margin-bottom: 0;
        gap: 1rem;
      }

      .form-item-wrapper {
        margin-right: 2rem !important;
        display: inline-flex;
      }

      .form-item {
        margin: 0 10px 0 0 !important;
        transform: scale(1.4);
        outline: none;

        &:hover {
          cursor: pointer;
          accent-color: var(--dxt-color-base);
        }
      }
    }

    .search-bottom-wrapper {
      flex: 0 1 70%;
      display: flex;
      align-items: center;

      #search-request {
        flex: 1 1 auto;
        width: 100%;
        background-color: white;
        border-radius: 20px;
        border: unset;
        padding: 5px 12px;
      }

      #catalog-search-submit {
        flex: 0 0 auto;
        margin-left: 10px;
      }
    }
  }
}

/* Buttons */
.button {
  width: auto;
  border-radius: 2px;
}

a.button {
  margin: 0;
  border: unset;
  padding: 0.5rem 2rem;
  border-radius: 0;
  text-decoration: none;
}

.button, button, input[type="button"], input[type="reset"], input[type="submit"], .btn {
  background-color: var(--dxt-color-base) !important;
  color: #ffffff !important;
}

/* Links */
.content-top-container,
.footer-bottom-container {
  div:not(.contextual-region) {
    ul:not(.contextual-links),
    .view {
      margin-left: 0 !important;

      a {
        padding: 0 !important;
        &:hover {
          text-decoration: underline;
        }
      }
    }
  }

  .navbar-nav {
    .is-active {
      background-color: unset !important;
    }
  }
}

/* Carousel */
.block-views-blockcarousel-slide-carousel-block {
  background: var(--dxt-color-graylighter);
}

.view-carousel-slide {
  .views-field-nothing {
    .row {
      display: block;
      @media (min-width: 1200px) {
        display: flex;
      }
    }
    .col-xl-8,
    .col-xl-4 {
      width: 100%;
      @media (min-width: 1200px) {
        flex: 0 0 auto;
      }
    }
    .col-xl-8 {
      @media (min-width: 1200px) {
        width: 66.66666667%;
      }
    }
    .col-xl-4 {
      @media (min-width: 1200px) {
        width: 33.33333333%;
      }
    }
    img {
      width: 100%;
      height: 100%;
    }
  }

  .relative {
    position: relative;
  }

  .slick-dots {
    position: absolute;
    top: 1%;
    left: 69.2%;
    bottom: unset;
    display: flex;
    padding: 1rem 0;
    @media (max-width: 1199px) {
      top: 52%;
      left: 0;
      justify-content: center;
    }

    button {
      background-color: transparent !important;
    }

    li {
      margin: 0 10px;

      button {
        color: var(--dxt-setting-navbar-text-color);

        &::before {
          font-size: 1.5rem;
          color: var(--dxt-setting-navbar-text-color);
          opacity: 1;
        }

        &:hover::before {
          color: var(--dxt-color-link);
        }
      }

      &.slick-active button::before {
        color: var(--dxt-color-link);
      }
    }
  }
}

.slick-arrow {
  background-color: unset !important;

  &:hover {
    background-color: unset !important;
  }

  &::before {
    font-family: "bootstrap-icons" !important;
    color: var(--dxt-color-link) !important;
  }

  &.slick-prev::before {
    content: "\f12C";
  }

  &.slick-next::before {
    content: "\f135";
  }

  &:hover::before {
    color: var(--dxt-color-link);
  }
}

.slick-slider {
  margin-bottom: 0;
}

.carousel-data {
  padding: 4rem 2rem 2rem 2rem;
  @media (min-width: 1200px) {
    padding: 5rem 3rem;
  }

  p {
    line-height: 2;
  }
}

/* Main */
body:not(.path-frontpage) {
  .main-container {
    padding-top: 2rem;
    padding-bottom: 3rem;
    @media (min-width: 1200px) {
      padding-top: 4rem;
      padding-bottom: 6rem;
    }
  }
}

/* Content Top */
.content-top-container {
  background: var(--dxt-color-graylighter);
}

/* Quick Links */
.quick-links-wrapper {
  .view-quick-links {
    .views-view-responsive-grid__item {
      text-align: center;

      .views-view-responsive-grid__item-inner {
        margin-bottom: 0;
        .views-field-nothing {
          &:hover,
          &:focus {
            outline: solid medium var(--dxt-color-link);
          }
        }
      }
    }
  }
}

.content-bottom-container {
  padding-top: 2rem;
  padding-bottom: 0;
  @media (min-width: 1200px) {
    padding-bottom: 3rem;
  }

  .region-content-bottom {
    @media (max-width: 1199px) {
      display: block;
    }
    @media (min-width: 1200px) {
      display: flex;
      justify-content: space-between;
    }

    .block {
      margin-bottom: 3rem;
      @media (min-width: 1200px) {
        flex: 0 1 31%;
      }
    }
  }
}

/* footer-bottom-container */
.footer-bottom-container {
  background: var(--dxt-color-graylighter);
  padding-top: 3rem;
  padding-bottom: 3rem;

  .region-footer-bottom {
    section {
      @media (max-width: 1199px) {
        margin-bottom: 2rem;
      }
    }

    @media (min-width: 1200px) {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
    }
  }
}

/* Footer */
.footer-container {
  padding-bottom: 2rem !important;
  padding-top: 2rem !important;
}

.region-footer {
  @media (min-width: 1200px) {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between;
  }
}

.region-footer ul li a {
  font-size: inherit;
}

.region-footer ul li a::before, .region-footer ul li .parent_link::before, .region-footer ul li .nav-link::before {
  content: unset;
}

@media (max-width: 1200px) {
  footer.dxpr-theme-footer .region-footer {
    display: block;
  }
  footer.dxpr-theme-footer ul {
    display: block !important;
    margin-top: 1rem;
  }
  footer.dxpr-theme-footer ul li a {
    padding: 0;
  }
}

/* Block */
.region-block-design {
  .block-hr {
    margin: 0.5rem !important;
  }

  .block-page-title-block {
    .block-hr {
      margin: 0 !important;
    }
  }
}

.view-frontpage {
  display: none;
}

/* Events */
.view-upcoming-events {
  .views-view-responsive-grid {
    column-gap: 50px;
    row-gap: 30px;

    .views-view-responsive-grid__item-inner {
      margin-bottom: 0;
      .views-field-nothing {
        &:hover,
        &:focus {
          outline: solid medium var(--dxt-color-link);
        }

        a {
          font-weight: normal;
          &:hover {
            text-decoration: none;
          }
        }
      }

      .bold-event-title {
        font-weight: 700;
      }
    }
  }

  .view-footer {
    padding-top: 1rem;
    float: right;
    font-weight: 600;
    a {
      text-decoration: none;
      &:hover {
        text-decoration: underline;
      }
    }
  }

  .card {
    border: 1px solid;
    border-radius: unset;

    .event-date {
      text-align: center;
      min-width: 110px;
      padding: 0.5rem;
    }

    .event-date .day {
      font-size: 3.75rem;
      font-weight: 700;
      line-height: 1;
    }

    .event-date .month {
      font-size: 2.25rem;
      font-weight: 600;
      letter-spacing: 1px;
      line-height: 1;
    }

    .event-date .weekday {
      font-weight: 500;
    }

    .card-body {
      padding: 0.5rem;
      font-size: 1.33rem;

      p {
        line-height: 1.5;
      }
    }
  }

  .col-auto {
    border-right: 8px solid;
    padding-right: 0;
    margin-bottom: 0;
  }

  @media (max-width: 1199px) and (min-width: 992px) {
    .views-view-responsive-grid {
      --views-responsive-grid--column-count: 2 !important;
    }
  }

  @media (max-width: 991px) {
    .views-view-responsive-grid {
      --views-responsive-grid--column-count: 1 !important;
      --views-responsive-grid--layout-gap: 0 !important;
    }

    .col-auto {
      margin-bottom: 0 !important;
    }
  }
}

/* Maps */
.front-location-map,
.front-bottom-content {
  @media (min-width: 1200px) {
    width: 30.8%;
  }
  padding: 2rem !important;
  background-color: var(--dxt-color-card);
  color: var(--dxt-color-cardtext);
  border: 1px solid !important;
  border-radius: unset !important;

  .field--name-field-title {
    font-size: var(--dxt-setting-h2-font-size) !important;
    font-family: var(--dxt-setting-headings-font-face);
    font-weight: var(--dxt-setting-headings-bold) !important;
    letter-spacing: var(--dxt-setting-headings-letter-spacing);
    line-height: var(--dxt-setting-headings-line-height);
    margin-bottom: 1.125rem;
    margin-top: 0;
    text-transform: var(--dxt-setting-headings-uppercase);
  }

  .location-gmap {
    .views-row {
      display: flex;

      iframe {
        border: 1px solid !important;
      }

      .location-addr-hours {
        padding-left: 2rem;

        .views-label-field-hours {
          font-weight: 500;
        }

        .office-hours {
          font-size: 1rem;
          word-break: break-word;
        }

        .address {
          margin-bottom: 0.5rem;
        }
      }
    }
  }

  .location-fullwidth-gmap {
    .views-row {
      display: block;

      .location-addr-hours {
        padding-left: 0;
      }
    }
  }
}

.field--name-body {
  img {
    margin: 2rem 0;

    &.align-left {
      margin-right: 2rem;
    }

    &.align-right {
      margin-left: 2rem;
    }
  }
}

/* Social Media */
.front-bottom-content {
  img {
    margin-top: 0;
  }
  .block-hr {
    display: none;
  }
  ul.nav {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: row;
    flex-direction: row;

    li.social-media {
      display: inline-block;
      margin: 0 .86667rem .73333rem 0;

      &.last-child {
        margin-right: 0;
      }

      a.social-media-icon {
        color: transparent;
        font-size: 0;
        padding: 0;
        display: block;
        height: 2.53333rem;
        width: 2.53333rem;
        background: transparent url("../images/social_media_icons_sprite.png") no-repeat;
      }
    }
  }

  #fb-icon {
    background-position: -10px center;
  }

  #yt-icon {
    background-position: -67px center;
  }

  #twt-icon {
    background-position: -124px center;
  }

  #intsa-icon {
    background-position: -181px center;
  }

  #lnkn-icon {
    background-position: -238px center;
  }

  #snpcht-icon {
    background-position: -294px center;
  }

  #pntrst-icon {
    background-position: -350px center;
  }

  #rddt-icon {
    background-position: -403px center;
  }

  #vm-icon {
    background-position: -456px center;
  }
}

.front-news-content {
  h2 {
    margin-bottom: 1.125rem;
  }
  .datetime {
    text-transform: uppercase;
    font-size: 14px;
  }
}

.view-follow-us {
  .view-content {
    display: none;
  }
}

/* Sidebar */
.path-events,
.path-node {
  .main-container {
    padding-top: 2rem;
  }
}

aside {
  .region-sidebar-first {
    padding: 2rem;
    background-color: var(--dxt-color-card) !important;
    color: var(--dxt-color-cardtext) !important;
    border: 1px solid !important;
    border-radius: unset !important;
    height: 100%;

    .block-title {
      margin-bottom: 2rem;
    }

    .location-sidebar-list {
      .view-content {
        @media (min-width: 768px) and (max-width: 1199px) {
          display: flex;
          flex-wrap: wrap;
          margin-left: -15px;
          margin-right: -15px;
        }
      }
      .views-row {
        display: block;
        margin-bottom: 2rem;

        @media (min-width: 768px) and (max-width: 1199px) {
          width: 50%;
          padding-left: 15px;
          padding-right: 15px;
        }

        .views-field-field-image {
          width: 100%;
          padding: 0;
          margin-bottom: 1rem;

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

        .views-field-fieldset {
          width: 100%;
          padding: 0;
        }

        .location-addr-hours {
          padding-left: 0;

          .address {
            margin-bottom: 0.5rem;
            font-size: 16px;
            color: var(--dxt-color-cardtext) !important;
          }
        }
      }
    }

    .view-quick-links {
      .views-view-responsive-grid__item {
        text-align: center;
        margin-bottom: 1rem;
      }
    }
  }
}

/* Event Map */
.view-event-map {
  iframe {
    width: 100%;
  }
}

/* Events List Page */
.view-event,
.view-calendar,
.view-article,
.view-resource,
.view-search,
.view-recurring-events-event-instances {
  position: relative;

  .view-filters {
    padding: 1rem 1.5rem;
    margin-top: 2rem;
    margin-bottom: 4rem;
    background-color: var(--dxt-color-card);
    border: 1px solid;
  }

  fieldset {
    margin: 0;
  }

  legend {
    font-size: var(--dxt-setting-h2-font-size) !important;
    font-weight: 500 !important;
  }

  @media (max-width: 1199px) {
    .form-item {
      float: none !important;
    }
  }

  #edit-field-audience-target-id--wrapper {
    @media (min-width: 1200px) {
      float: left;
    }

    .form-checkboxes {
      @media (min-width: 992px) {
        display: flex;
      }

      label {
        font-family: var(--dxt-setting-body-font-face);
        font-size: var(--dxt-setting-h3-font-size) !important;
      }

      .form-item {
        margin-right: 1.5em;
        padding-left: 1.5em;
      }

      .form-check-input {
        width: 1.5rem;
        height: 1.5rem;
      }

      .form-check-label {
        padding-left: 0.5rem;
      }
    }
  }

  .js-form-submit {
    @media (min-width: 1200px) {
      width: 12%;
    }
    margin-top: 1rem;
  }

  .js-form-type-select {
    label {
      display: block;
      font-family: var(--dxt-setting-body-font-face);
      font-size: var(--dxt-setting-h2-font-size) !important;
      font-weight: 500 !important;
    }

    .form-select {
      @media (min-width: 992px) {
        min-width: 25rem;
        max-width: 25rem;
        padding: 0;
      }
      border: 1px solid #aaa;
      background-color: white;
    }
  }

  .chosen-container-single {
    .chosen-single {
      padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    }
  }

  .chosen-container-multi {
    padding: 0.375rem 2.25rem 0.375rem 0.75rem !important;
    .chosen-choices {
      border: none;
      cursor: pointer;
      li {
        float: none !important;
        font-size: 16px;
        span {
          font-size: 16px;
        }
        input {
          cursor: pointer;
        }
        .search-choice-close {
          background-color: unset !important;
        }
      }
      .search-choice {
        padding: 8px 20px 8px 8px !important;
        margin-bottom: 0.5rem;
      }
    }
    .chosen-drop {
      .result-selected {
        color: var(--dxt-color-base);
      }
    }
  }

  @media (min-width: 1200px) {
    .form-item-field-location-target-id,
    .form-item-field-resource-topic-target-id {
      float: right !important;
      margin: 0;
    }
  }

  .view-content,
  .view-header {
    .events-quick-links {
      position: absolute;
      top: -55px;
      right: 0;

      .events-calendar-view {
        margin-right: 2rem;
      }

      a {
        display: inline-flex;
        align-items: center;

        &::before {
          content: "";
          display: inline-block;
          width: 20px;
          height: 20px;
          margin-right: 5px;
          background-color: var(--dxt-color-link);
          -webkit-mask-size: contain;
          mask-size: contain;
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-position: center;
          mask-position: center;
        }

        &.events-calendar-view::before {
          -webkit-mask-image: url('../images/calendar-month.svg');
          mask-image: url('../images/calendar-month.svg');
        }

        &.events-past-events::before {
          -webkit-mask-image: url('../images/calendar-check.svg');
          mask-image: url('../images/calendar-check.svg');
        }

        &.events-list-view::before {
          -webkit-mask-image: url('../images/calendar-list.svg');
          mask-image: url('../images/calendar-list.svg');
        }
      }
    }

    .calendar-pager__items,
    h3 {
      padding: 1rem 1.5rem;
      background-color: var(--dxt-color-card);
      font-size: var(--dxt-setting-h2-font-size) !important;
      font-family: var(--dxt-setting-body-font-face);
      font-weight: 500 !important;
    }

    .calendar-pager__item {
      font-size: var(--dxt-setting-h2-font-size) !important;
    }

    h3 {
      margin-top: 2rem;
    }

    .views-row {
      justify-content: space-between;

      .views-field-title,
      .views-field-title-2 {
        flex: 0 1 50%;
      }

      .views-field-field-location {
        flex: 0 1 25%;
      }

      .views-field-field-datetime-1 {
        flex: 0 1 25%;
      }
    }
  }

  .view-header {
    .calendar-pager__items,
    h3 {
      padding: 1rem 0.2rem;
    }
  }

  a:hover, a:focus, .btn-link:hover, .btn-link:focus {
    text-decoration: underline !important;
  }
}

/* Calendar */
.calendar-bg-card-white .calendar.monthview {
  background: var(--dxt-color-basetext) !important;
}

.calendar.monthview .views-field-date__value {
  color: #595959;
}

.calendar.monthview {
  background: color-mix(in srgb, var(--dxt-color-accent2) 40%, transparent) !important;
  font-size: 12px !important;
}

.view-event,
.view-calendar,
.view-recurring-events-event-instances {
  .views-row {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.view-calendar,
.block-views-blockcalendar-block-mini,
.calendar-calendar {
  .view-header .calendar-pager__items,
  .view-content .calendar-pager__items,
  .calendar-pager__items {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0.5rem 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .calendar-pager {
    display: block;
    margin-bottom: 0.6875rem;
  }

  .calendar-pager__item--control {
    display: flex;
    align-items: center;

    a {
      color: var(--dxt-color-link) !important;
      text-decoration: none !important;
      display: flex;
      align-items: center;
      padding: 0.25rem 0.5rem;

      svg {
        width: 1.25rem;
        height: 1.25rem;
        stroke: currentColor;
      }
    }
  }

  .pager__item--current {
    align-self: center;
    font-size: 1.25rem !important;
    margin: 0 0.5rem;
  }

  footer {
    margin-block-start: 1rem;
  }

  footer a::before {
    content: "\f03a";
    padding-inline-end: 0.5rem;
  }

  table.mini {
    width: 100%;
    border-collapse: collapse !important;
    border: 1px solid #c0c0c0 !important;
    margin: 0 auto;
    background-color: #ffffff !important;

    thead,
    thead tr {
      background: #ffffff !important;
      background-color: #ffffff !important;
    }

    thead th {
      border: 1px solid #c0c0c0 !important;
      background: #ffffff !important;
      background-color: #ffffff !important;
      color: var(--dxt-color-headings) !important;
      font-weight: bold !important;
      text-align: center !important;
      padding: 0.35rem 0.2rem !important;
      font-size: 0.95rem;
    }

    tbody {
      tr:nth-child(odd),
      tr.odd,
      tr:nth-of-type(odd) {
        background-color: #ededed !important;
      }

      tr:nth-child(even),
      tr.even,
      tr:nth-of-type(even) {
        background-color: #ffffff !important;
      }

      tr {
        border: none;
      }

      td {
        border: 1px solid #c0c0c0 !important;
        text-align: center !important;
        vertical-align: middle !important;
        padding: 0.35rem 0.2rem !important;
        font-size: 0.95rem;
        color: #333333;
        width: 14.28%;
        min-width: unset;

        .inner,
        div {
          background: transparent !important;
          text-align: center !important;
          margin: 0;
          padding: 0;
        }

        a {
          color: var(--dxt-color-link) !important;
          text-decoration: underline !important;
          font-weight: normal;
        }

        &.empty,
        &.past-month,
        &.future-month {
          color: #777777 !important;

          a {
            color: #777777 !important;
          }
        }

        &.today,
        &.today .mini-day-on,
        &.today .mini-day-off {
          background: var(--dxt-color-link) !important;
          background-color: var(--dxt-color-link) !important;
          color: #ffffff !important;
          font-weight: bold !important;

          .inner,
          div,
          a {
            color: #ffffff !important;
            text-decoration: none !important;
            font-weight: bold !important;
            background: transparent !important;
          }
        }
      }
    }
  }

  thead {
    background: rgb(248.625, 248.625, 248.625);
    color: #000000;
  }

  tfoot {
    background: rgb(242.25, 242.25, 242.25);
    color: #000000;
  }

  thead tr, tfoot tr {
    background: transparent;
  }

  thead th, thead td, tfoot th, tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left;
  }

  tbody th, tbody td {
    padding: 0.5rem 0.625rem 0.625rem;
  }

  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: rgb(242.25, 242.25, 242.25);
  }

  table.unstriped tbody {
    background-color: #ffffff;
  }

  table.unstriped tbody tr {
    border-bottom: 1px solid rgb(242.25, 242.25, 242.25);
    background-color: #ffffff;
  }

  .month-view .full tr td.today,
  .month-view .full tr.odd td.today,
  .month-view .full tr.even td.today {
    border-right: 2px solid var(--dxt-color-link);
    border-left: 2px solid var(--dxt-color-link);
    background: none;
  }
  .month-view .full td.date-box.today {
    border-width: 2px 2px 0 2px;
    border-style: solid;
    border-color: var(--dxt-color-link);
  }
  .month-view .full tr td.single-day.today {
    border-bottom: 2px solid var(--dxt-color-link);
  }
  .month-view .full tr td.multi-day.starts-today {
    border-left: 2px solid var(--dxt-color-link);
  }
  .month-view .full tr td.multi-day.ends-today {
    border-right: 2px solid var(--dxt-color-link);
  }

  td .month.day,
  th.days {
    color: #595959;
  }

  td.empty .month.day {
    color: #cc9;
  }

  td .inner div.day a {
    color: var(--dxt-color-link);
  }
}

.view-article,
.view-resource {
  .views-field-title {
    font-size: var(--dxt-setting-h2-font-size) !important;
  }
}

/* Article */
.page-node-type-article,
.page-node-type-resource {
  .page-title {
    margin-bottom: 2rem;
  }

  .field--name-field-audience {
    .field__items {
      display: flex;
    }
  }

  .field--name-field-image {
    margin-bottom: 2rem;
  }

  .field--name-body {
    margin-bottom: 4rem;
  }

  .submitted {
    padding: 0;
  }

  .field__items {
    .field__item {
      margin-right: 0.4rem;

      &:not(:last-child)::after {
        content: ", ";
        color: var(--dxt-color-link);
        font-weight: 500;
      }
    }
  }
}

/* Location */
.page-node-type-location,
.page-node-type-page {
  .wrap-containers {
    .block-hr {
      display: none;
    }

    .page-title,
    .field--name-field-image,
    .field--name-image-primary {
      margin-bottom: 2rem;
    }

    .field--name-field-text-intro {
      margin-top: 1rem;
      margin-bottom: 3rem;
    }

    .field__label {
      font-size: 22px;
      padding-bottom: 1rem;
    }

    .field--name-body {
      margin-top: 3rem;
    }

    .field--name-field-address {
      margin-bottom: 1rem;
    }

    .field--name-field-phone,
    .field--name-field-email,
    .field--name-field-contact {
      .field__label {
        font-size: 20px;
        padding-bottom: 0;
      }

      .field__item {
        font-size: 20px;
      }
    }

    .field--name-field-address {
      font-size: 26px;

      p {
        font-size: 26px;
      }

      br {
        display: none;
      }
    }

    .field--name-field-hours {
      .office-hours__item {
        font-weight: normal;
        display: flex;
        justify-content: space-between;
        margin-bottom: 0.5rem;

        .office-hours__item-label,
        .office-hours__item-slots {
          font-weight: normal;
          width: 100%;
          word-break: break-word;
        }
      }
    }

    .field--name-field-description {
      margin-top: 2rem;
      font-size: 18px;
    }

    .content {
      .field--name-field-hours {
        margin-top: 2rem;
        @media (min-width: 1200px) {
          display: none;
        }
      }
    }
  }
}

/* Event */
.page-node-type-event,
.page-route-entity-eventinstance-canonical,
.page-route-entity-eventseries-canonical {
  .page-title {
    margin-bottom: 2rem;
  }

  .field--name-field-image {
    margin-bottom: 3rem;
  }

  .field--name-field-datetime,
  .field--name-body,
  .field--name-field-location,
  .field--name-field-audience,
  .field--name-field-address,
  .field--label-above {
    margin-top: 1rem;
  }
}

.path-locations {
  .view-display-id-location_page {
    .row {
      margin-top: 0 !important;
      img {
        width: 100%;
      }
    }
  }
}

.view-display-id-location_page {
  @media (min-width: 768px) and (max-width: 1199px) {
    .views-view-responsive-grid {
      --views-responsive-grid--column-count: 2 !important;
    }
  }

  @media (max-width: 767px) {
    .views-view-responsive-grid {
      --views-responsive-grid--column-count: 1 !important;
      --views-responsive-grid--layout-gap: 0 !important;
    }
  }

  .row {
    background-color: var(--dxt-color-card) !important;
    color: var(--dxt-color-cardtext) !important;
    border: 1px solid !important;
    border-radius: unset !important;
    margin: 2rem 0;

    .views-view-responsive-grid__item-inner {
      padding: 0;
    }
  }
}

.path-locations {
  .page-title {
    margin-bottom: 2rem;
  }
}

.breadcrumb {
  margin-top: 1rem !important;
}

/* Tabs */
.block-local-tasks-block {
  position: unset !important;
  transform: none !important;
}

.dxpr-theme-mini-tabs-wrapper {
  .tabs {
    .active {
      color: var(--dxt-color-headertext) !important;
    }
  }
}

/* Form */
.form-check-input {
  border: 0.0625rem solid currentcolor;
}

.form-required::after {
  color: red;
}

/* Search */
.search-form {
  margin-bottom: 2rem;

  .search-advanced {
    display: none;
  }
}

.node_search-results {
  padding-left: 0 !important;

  li {
    &::marker {
      content: unset !important;
    }
  }
}

/* Alerts */
.alert-banner {
  padding: 1rem;
  border-left: 0.375rem solid transparent;
}

.alert-banner--success {
  border-left-color: #198754;
  background-color: rgba(25, 135, 84, 0.2);
  color: #0f5132;
}

.alert-banner--info {
  border-left-color: #0dcaf0;
  background-color: rgba(13, 202, 240, 0.2);
  color: #055160;
}

.alert-banner--warning {
  border-left-color: #ffc107;
  background-color: rgba(255, 193, 7, 0.2);
  color: #664d03;
}

.alert-banner--danger {
  border-left-color: #dc3545;
  background-color: rgba(220, 53, 69, 0.2);
  color: #842029;
}

/* FAQ */
.view-faq h2 {
  font-family: var(--dxt-setting-nav-font-face);
}

/* Accordion */
.accordion {
  border: none;
}

.accordion .accordion-item {
  border-radius: unset;
  border-bottom: none;
  background: none;
}

.accordion-item {
  border: var(--bs-accordion-border-width) solid #888b8d;
}

.accordion .accordion-item label {
  color: var(--dxt-color-accent1text);
}

.accordion .accordion-item .accordion-button.collapsed {
  background: var(--dxt-color-graylight);
  background-color: var(--dxt-color-graylighter) !important;
  outline: none;
}

.accordion .accordion-item .accordion-button {
  background: var(--dxt-color-basetext);
  background-color: var(--dxt-color-basetext) !important;
  color: var(--dxt-color-accent1text) !important;
  font-weight: 600;
  font-size: 1.125rem;
  border-radius: 0 !important;
  box-shadow: unset;
  outline: 0.1875rem solid var(--dxt-color-accent1);
}

.accordion:last-child .accordion-item:last-child {
  border-bottom: 1px solid #888b8d;
}

.accordion details.accordion-item .accordion-header {
  font-size: 1.375rem !important;
  color: var(--dxt-color-accent1);
}

details.accordion-item > summary.accordion-button {
  list-style: none;
  width: auto;
  background: var(--dxt-color-graylight);
}

.accordion details.accordion-item summary.accordion-button {
  background: var(--dxt-color-graylight);
}

.accordion details.accordion-item[open] > .accordion-button,
details.accordion-item[open] > summary.accordion-button {
  background: var(--dxt-color-accent2);
}

details.accordion-item > summary.accordion-button::-webkit-details-marker {
  display: none;
}

details.accordion-item[open] > summary.accordion-button::after {
  transform: var(--bs-accordion-btn-icon-transform, rotate(-180deg));
}

.accordion-button::after,
.accordion-button:not(.collapsed)::after,
.accordion-button.collapsed::after,
.accordion details .accordion-button::after,
details.accordion-item summary.accordion-button::after {
  color: var(--dxt-color-accent1);
  background-color: var(--dxt-color-accent1);
  background-image: none !important;
  -webkit-mask-image: var(--bs-accordion-btn-icon, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"));
  mask-image: var(--bs-accordion-btn-icon, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"));
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: var(--bs-accordion-btn-icon-width, 1.25rem);
  mask-size: var(--bs-accordion-btn-icon-width, 1.25rem);
}

details.accordion-item:not([open]) > summary.accordion-button::after {
  transform: unset;
}

.accordion-item .accordion-body {
  background: var(--dxt-color-basetext);
  color: var(--dxt-color-accent1text);
}

.accordion-item .accordion-body .views-field-body h1,
.accordion-item .accordion-body .views-field-body h2,
.accordion-item .accordion-body .views-field-body h3,
.accordion-item .accordion-body .views-field-body h4,
.accordion-item .accordion-body .views-field-body h5,
.accordion-item .accordion-body .views-field-body h6,
.accordion-item .accordion-body .views-field-body label,
.accordion-item .accordion-body .views-field-body .field--label {
  background: var(--dxt-color-basetext);
  color: var(--dxt-color-accent1text);
}

.html button:focus, .html input[type=button]:focus, .html input[type=submit]:focus, .html input[type=reset]:focus, .html .btn:focus {
  outline: 0.1875rem solid var(--dxt-color-accent1);
}
