@import url("variables.css");
@import url("section.css");
@import url("staff-node.css");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("course-node.css");
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: "Open Sans", sans-serif;
  overflow-x: hidden;
}

@font-face {
  font-family: "Kievit";
  src: url("/themes/custom/ucdc_theme/fonts/Kievit\ Medium.ttf");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Kievit", sans-serif;
}

h2,
h3 {
  color: var(--uc-dark-blue);
}

h2 {
  font-size: clamp(1.6em, 2vw, 2em);
  font-weight: 500;
}

h3 {
  font-size: clamp(1.2em, 2vw, 1.6em);
  font-weight: 500;
}

p {
  line-height: 1.6em;
}

.table-center {
  margin: auto;
}

.color-dark-blue {
  color: var(--uc-dark-blue);
}

.color-light-blue {
  color: var(--uc-light-blue);
}

.table-border {
  border-collapse: collapse;

  td {
    border: 1px solid var(--black);
    padding: 5px;
  }
}

/* ----------Alt-Table------------ */
.table-alt thead th {
  background-color: var(--uc-dark-blue);
  color: var(--white);
  padding: 1rem;
}

.table-alt tbody td {
  padding: 1rem;
}

.table-alt tbody tr:nth-child(odd) td {
  background-color: var(--white);
}

.table-alt tbody tr:nth-child(even) td {
  background-color: var(--light-gray);
}

/* ----------Alt-Table end ------------ */

.menu-item--collapsed {
  list-style-type: none;
  list-style-image: none;
}

.container {
  width: 100%;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;

  @media (min-width: 576px) {
    max-width: 540px;
  }

  @media (min-width: 768px) {
    max-width: 720px;
  }

  @media (min-width: 992px) {
    max-width: 960px;
  }

  @media (min-width: 1200px) {
    max-width: 1140px;
  }

  @media (min-width: 1400px) {
    max-width: 1360px;
  }
  @media (min-width: 1600px) {
    max-width: 1520px;
  }
}

a {
  color: var(--uc-light-blue);
}

.form-search {
  outline: none;
  width: 100%;
}

/* block-contextual-menu-block css start */
.block-contextual-menu-block {
  .menu-item--expanded {
    list-style-type: none;
    list-style-image: none;
  }

  .menu-toggle {
    color: var(--uc-dark-blue);
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.375rem;
    text-transform: uppercase;
    text-decoration: none;
  }

  .menu-level-2 {
    margin-top: 10px;

    li {
      padding: 1rem;
      border-bottom: 1px solid #eae8e8;
    }

    a {
      color: var(--gray);
      text-decoration: none;
      font-weight: 400;
      font-size: 1rem;

      &:hover {
        text-decoration: none;
      }
    }
  }
}

/* block-contextual-menu-block css end */

/* // region-header css start */
.header-wrapper {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem;
  background: #fff;

  header {
    display: none;
  }

  .desktop-only {
    .block-system-branding-block {
      text-align: center;

      .site-logo img {
        width: 100px;
        max-width: 100%;
      }
    }

    .menu--main,
    .search-block-form {
      display: none;
    }

    .desktop-search-form {
      background-color: white;
      border-radius: 1.875rem;
      padding: 0 0 0 2rem;

      .form-search {
        border: none;

        &::placeholder {
          font-style: italic;
        }
      }

      input.button {
        width: 60px;
        height: 60px;
        background: url("../images/icons/search.png") no-repeat center center;
        background-size: 2em;
        border: none;
        text-indent: -9999px;
        overflow: hidden;
        cursor: pointer;
      }
    }
  }

  .region-header {
    display: none;

    a {
      text-decoration: none;
      text-transform: uppercase;
    }
  }

  .mobile-only-screen {
    font-weight: 500;
    text-transform: uppercase;

    .mobile-main-nav-hamburger {
      color: var(--uc-light-blue);
      border: none;
      background-color: inherit;
      font-size: 1.125rem;
      font-weight: 600;
      line-height: 1.75;

      .fa-bars {
        transform: scale(1.5, 1);
        margin-left: 0.75rem;
      }
    }

    .mobile-only {
      display: block;
      width: 300px;
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: auto;
      height: 100vh;
      background: #fff;
      -webkit-overflow-scrolling: touch;
      overflow-y: scroll;
      transition: all 0.25s linear;
      z-index: 999999;
      transform: translateX(300px);
      font-size: 1rem;

      li a {
        text-decoration: none;
        font-size: 0.9rem;
        font-weight: 600;
      }

      .mobile-search-form .search-block-form {
        display: flex;
        align-items: center;
        border-bottom: 1px solid #eae8e8;
        padding: 0 0.75rem;

        .js-form-item,
        .form-actions {
          margin-bottom: 5px;
          margin-top: 0;
        }

        .js-form-item {
          width: 100%;
        }

        .form-search {
          border: none;
          outline: none;

          &::placeholder {
            font-style: italic;
          }
        }

        input.button {
          width: 2.5rem;
          height: 2.5rem;
          background: url("../images/icons/search.png") no-repeat center center;
          background-size: 1.5em;
          border: none;
          text-indent: -9999px;
          overflow: hidden;
          cursor: pointer;
        }
      }

      .mobile-main-menu-wrapper {
        .navbar--main-menu {
          margin-left: 0;
          margin-top: 0;

          li {
            border-bottom: 1px solid #eae8e8;
            padding: 0.75em 1em;
          }

          li.menu-item--expanded {
            padding: 0.75em 0.8em;
          }
        }
      }

      .navbar--header-menu {
        font-weight: 400;
        margin-left: 0;

        li {
          border: 1px solid var(--orange);
          text-align: center;
          margin: 1rem;
          padding-top: 0;

          a {
            text-decoration: none;
            display: block;
            width: 100%;
            padding: 0.75em;
          }
        }
      }

      a {
        color: var(--uc-light-blue);
      }

      .menu-item--expanded {
        list-style-image: none;
        list-style-type: none;
        position: relative;

        .menu-toggle {
          display: inline-flex;
          align-items: center;

          &::before {
            content: "";
            width: 0.6rem;
            height: 0.6rem;
            background-image: url("/sites/default/files/icons/expanded-arrow.png");
            background-size: 0.6rem;
            background-repeat: no-repeat;
            margin-right: 0.2rem;
          }
        }
      }

      .menu-item--expanded.open .menu-toggle {
        &::before {
          content: "";
          background-image: url("/sites/default/files/icons/down\ arrow.png");
          background-repeat: no-repeat;
        }
      }
    }
  }

  .mobile-only.is-visible {
    transform: translateX(0);

    .mobile-main-nav-hamburger {
      display: flex;
      justify-content: space-between;
      width: 100%;
      padding: 0.75em;
      border-bottom: 1px solid #eae8e8;
    }
  }

  .menu--main {
    /* Hide by default */
    .menu-level-2,
    .menu-level-3,
    .menu-level-4 {
      display: none;
    }

    .menu-level-2.hide {
      display: none;
    }

    .menu-level-2.show {
      display: block;

      a::before {
        display: none;
      }
    }
  }
}

/* ----------home-slider css start -----------------------*/

.home-slider {
  position: relative;
  cursor: pointer;

  .field--name-field-title {
    position: absolute;
    color: white;
    height: 100%;
    width: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    font-size: 1rem;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 10;
  }

  .swiper-slide {
    overflow: hidden;
    aspect-ratio: 16 / 6;
    width: 100%;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.field--name-field-hero-image {
  .field__label {
    display: none;
  }

  .field__item {
    width: 100%;
    aspect-ratio: 16 / 4;
    overflow: hidden;
    position: relative;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
  }
}

/* -----------------------breadcrumb css start--------------- */
.block-system-breadcrumb-block {
  background-color: #eae8e8;

  .breadcrumb {
    color: var(--uc-dark-blue);
    padding-bottom: 0;

    ol {
      padding: 1rem 0;

      li {
        font-weight: 700;
        font-size: 1rem;
        line-height: 1.6rem;
      }
    }

    a {
      color: var(--uc-dark-blue);
      text-decoration: none;
    }
  }
}

/* // --------------paragraph--type--title-and-content css start-------------- */

.paragraph--type--title-and-content {
  margin: 2em 0 2em 0;

  .field--name-field-title {
    color: var(--uc-dark-blue);
    font-size: 2em;
    font-weight: 600;
    line-height: 1.25em;
  }
}

/* //----------------------------paragraph--type--row-of-components------------------------------- */

.paragraph--type--row-of-components {
  margin: 3rem 0;

  .field--name-field-title {
    color: var(--uc-dark-blue);
    font-size: 2em;
    font-weight: 600;
    margin-bottom: 1rem;
  }

  .field--name-field-row {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;

    .card {
      flex: 0 0 100%;
      border: 4px solid var(--orange);
      background-color: var(--light-gray);
      padding: 2em 1em;
      text-align: center;
      box-sizing: border-box;

      .field--name-field-title {
        color: var(--uc-dark-blue);
        font-size: 1.1rem;
        font-weight: 700;
        text-transform: capitalize;
      }

      p {
        font-size: 0.875rem;
        line-height: 1.71;
      }
    }
  }
}

/* // ----------------paragraph--type--link css start------------- */

.paragraph--type--link {
  text-align: center;
  border: 4px solid var(--orange);
  background-color: var(--light-gray);
  font-weight: 700;
  font-size: 1.2rem;
  padding: 0.4em 0;

  .field--type-link a {
    color: var(--orange);
    text-decoration: none;
  }
}

/* // ---------------testimonial-wrapper css start---------- */

.testimonial-wrapper {
  padding: 3rem 0;
  text-align: center;

  .paragraph--type--testimonial {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: var(--uc-dark-blue);
    font-size: 1rem;
    line-height: 1.75;
    font-weight: 500;

    .field--name-field-testimonial-image {
      width: 9.375rem;
      height: 9.375rem;
      border: 3px solid var(--orange);
      border-radius: 50%;
      padding: 0.2em;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
      }
    }
  }
}

/* // -------------------------------------------paragraph--type--promo---------------------------------------------- */

.paragraph--type--promo {
  width: 100vw;
  margin-left: calc(-50vw + 50%);

  .slider-wrapper-inner {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    .item-border-wrapper {
      border: 4px solid var(--light-gray);
      padding: 0.5em;
      max-width: 400px;
      float: right;
      margin: 3em 4rem 3em;

      .item-wrapper {
        background-color: var(--light-gray);
        padding: 1.5em 2em 3em 2em;

        .field--name-field-title {
          color: var(--uc-gold);
          font-weight: 700;
          font-size: 1.5rem;
          margin-bottom: 0.5em;
        }

        .field--name-field-subtitle {
          color: var(--uc-light-blue);
          font-size: 1.125rem;
        }

        .field--name-body {
          font-size: 0.875rem;
          color: var(--gray);
          line-height: 1.71;

          a {
            text-decoration: underline;
            color: gray;
            font-size: 14px;
          }

          p {
            opacity: 0.7;
          }
        }

        .field--name-field-link a {
          text-decoration: underline;
          color: gray;
          font-size: 0.875rem;
          text-transform: uppercase;
        }
      }
    }
  }
}

/* ----------- Footer css start--------------- */
footer {
  background-size: cover;
  color: var(--gray);

  .region-footer-top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 1rem 0 2rem 0;

    a {
      text-decoration: none;
    }

    strong {
      color: var(--black);
    }

    h2,
    h3 {
      color: var(--uc-dark-blue);
      font-size: 1.5rem;
    }

    .footer-contact-details p {
      margin: 0;
      line-height: 1.71;

      a {
        color: var(--gray);
        text-decoration: none;
      }
    }

    .footer-social-icons .field--name-field-add-icon {
      display: flex;
      gap: 0.8rem;

      .fontawesome-icon {
        color: var(--orange);
      }
    }

    .footer-links {
      margin-top: 2rem;

      a {
        color: var(--orange);
        font-weight: bold;
        line-height: 1.71;
      }
    }
  }

  .region-footer-center {
    border-top: 1px solid var(--uc-light-blue);
    display: flex;
    align-items: center;
    padding: 1em 0;

    .menu {
      display: flex;
      gap: 0.5em;

      .menu-item {
        border-left: 2px solid var(--gray);
        padding-top: 0;

        a {
          margin-left: 10px;
          color: var(--orange);
        }
      }
    }
  }

  .region-footer-bottom {
    .background-image {
      aspect-ratio: 16/6;
      position: relative;

      .field--name-field-background-image {
        position: absolute;
        inset: 0;
      }

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
  }
}

/* page-node-type-events Css Start  */

.page-node-type-events {
  h2 {
    font-size: 2em;
    font-weight: 600;
    line-height: 1.25rem;

    a {
      color: var(--uc-dark-blue);
      text-decoration: none;
    }
  }

  .field--name-field-subtitle {
    color: var(--uc-light-blue);
    font-size: 1.125rem;
    font-size: 1.75rem;
  }

  .field--name-field-link a {
    color: var(--orange);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 900;
    padding: 1.25rem 1.875rem;
    border: 1px solid var(--orange);
    border-radius: 2px;
    display: inline-block;
    margin-top: 2rem;
  }

  .field--type-datetime {
    display: flex;
    gap: 0.2rem;
    color: var(--gray);
    font-size: 1.2rem;
    font-weight: 600;

    .field__label::after {
      content: ":";
    }
  }
}

/* --------------------------Media css Start--------------------- */

@media (min-width: 768px) {
  .main-layout {
    display: flex;
    gap: 20px;
  }

  .main-layout.no-sidebar .layout-content {
    width: 100%;
  }

  .main-layout.has-one-sidebar .layout-sidebar-first,
  .main-layout.has-one-sidebar .layout-sidebar-second {
    width: 25%;
  }

  .main-layout.has-one-sidebar .layout-content {
    width: 75%;
  }

  .main-layout.has-both-sidebars .layout-sidebar-first,
  .main-layout.has-both-sidebars .layout-sidebar-second {
    width: 25%;
  }

  .main-layout.has-both-sidebars .layout-content {
    width: 50%;
  }
}

@media (max-width: 767px) {
  footer {
    .region-footer-top {
      flex-direction: column;

      .footer-social-icons {
        margin-top: 2rem;
      }
    }

    .region-footer-center {
      flex-direction: column;
    }
  }
}

@media (min-width: 576px) {
  .home-slider {
    .field--name-field-title {
      font-size: 2rem;
    }
  }

  .testimonial-wrapper .paragraph--type--testimonial {
    font-size: 1.125rem;
    line-height: 1.89;
  }

  .paragraph--type--row-of-components .field--name-field-row .card {
    flex: 0 0 calc(50% - 0.5rem);
  }
}

@media (min-width: 991px) {
  .paragraph--type--row-of-components .field--name-field-row .card {
    .field--name-field-title {
      font-size: 1.3rem;
    }

    p {
      font-size: 1rem;
      line-height: 2.125;
    }
  }

  .testimonial-wrapper .paragraph--type--testimonial {
    font-size: 1.75rem;
    line-height: 1.57;

    .field--name-field-testimonial-image {
      width: 13.75rem;
      height: 13.75rem;
    }
  }

  .paragraph--type--promo .slider-wrapper-inner {
    .item-border-wrapper {
      max-width: 600px;

      .item-wrapper {
        .field--name-field-title {
          font-size: 2.375rem;
        }

        .field--name-field-subtitle {
          font-size: 1.75rem;
        }

        .field--name-body {
          font-size: 1.25rem;
          line-height: 1.6;

          a {
            font-size: 1.5rem;
          }
        }

        .field--name-field-link a {
          font-size: 1.5rem;
        }
      }
    }
  }
}

@media (min-width: 1200px) {
  .header-wrapper {
    flex-direction: column;
    align-items: initial;
    padding: 0;

    .mobile-only-screen {
      display: none;
    }

    header {
      display: block;
    }

    .region-header {
      display: block;

      .header-menu .menu {
        display: flex;
        justify-content: right;
        padding: 1rem 4rem 0.5rem 1rem;
        gap: 2rem;
        margin: 0;

        .menu-item {
          background-color: var(--uc-dark-blue);
          height: 5rem;
          width: 5rem;
          padding-top: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: 3.125rem;
          font-size: 0.75rem;
          font-weight: 700;
          line-height: 1.333;

          a {
            color: var(--white);
            text-align: center;
            padding: 0 15px;
            text-transform: uppercase;
          }
        }
      }
    }

    /*---------region-primary-menu css start------ */
    .desktop-only {
      .block-system-branding-block {
        text-align: start;
        padding: 0 0 0 1.5rem;

        .site-logo img {
          width: 7.5rem;
          max-width: 100%;
          height: 100%;
        }
      }

      .menu--main,
      .search-block-form {
        display: block;
      }
    }

    .mobile-only {
      display: none;
    }

    .region-primary-menu {
      background-color: var(--uc-dark-blue);
      display: flex;
      align-items: center;
      justify-content: center;

      a {
        color: white;
        text-decoration: none;
      }

      .menu--main {
        font-size: 1.2rem;
        text-transform: uppercase;
        font-weight: 700;

        .menu-level-1 {
          display: flex;
          justify-content: space-around;
          align-items: center;
        }

        li.menu-item--expanded {
          position: relative;
          list-style-type: unset;
          list-style-image: none;
          display: flex;
        }

        li {
          line-height: 28px;
          text-align: center;
          width: 19%;
          justify-content: center;

          .menu {
            position: absolute;
            top: 5rem;
            z-index: 1;
            background-color: #fff;
            box-shadow: 0 2px 0 rgba(0, 0, 0, 0.06);
            color: #4d4b4b;
            padding: 1.5rem 2rem;
            transform: translate(0, 10%);
            width: max-content;
            min-width: 15rem;
            margin-left: 0;
            left: 2rem;

            &::before {
              content: "";
              position: absolute;
              z-index: 2;
              top: -2.5rem;
              transform: translate(0, 20%);
              border: 1.125rem solid transparent;
              border-bottom-color: #fff;
            }

            .menu-item {
              width: 100%;
              text-align: left;

              a {
                color: var(--uc-light-blue);
              }
            }
          }
        }
      }

      .search-block-form {
        padding: 0 1em 0 1em;

        #search-block-form {
          background-color: white;
          border-radius: 1.875rem;
          padding: 0 1em 0 1em;
          display: flex;
          align-items: center;

          .js-form-item {
            margin: 0.5em 0 0.5em 0;
            width: 80%;

            .form-search {
              border: none;

              &::placeholder {
                font-style: italic;
              }

              &:focus-visible {
                outline: none;
              }
            }
          }
        }
      }
    }
  }

  .home-slider {
    .field--name-field-title {
      font-size: 3rem;
    }
  }

  /* //----------------------------paragraph--type--row-of-components------------------------------- */

  .paragraph--type--row-of-components .field--name-field-row .card {
    flex: 1;

    .field--name-field-title {
      font-size: 1.4rem;
    }

    p {
      font-size: 1.125rem;
      line-height: 1.89;
    }
  }
}

@media (max-width: 1200px) {
  .site-logo img {
    content: url("/themes/custom/ucdc_theme/mob-logo.png");
    height: 100%;
  }
}

@media (min-width: 1400px) {
  .header-wrapper .region-primary-menu .menu--main li {
    width: 20%;
  }
}

@media (min-width: 1600px) {
  .home-slider {
    .field--name-field-title {
      font-size: 4rem;
    }
  }
}
/* Table- Media  */
@media (max-width: 475px) {
  table {
    width: 100%;
    table-layout: fixed;
    font-size: 0.75rem;

    img {
      width: 100%;
      height: 12vh;
    }
  }

  table th,
  table td {
    padding: 0.375rem;
    word-wrap: break-word;
  }
}
@media (max-width: 475px) {
  .table-alt thead th {
    padding: 0.4rem;
  }
  .table-alt tbody td {
    padding: 0.4rem;
  }
}

@media (min-width: 768px) {
  .courses .main-layout.has-one-sidebar .layout-sidebar-first {
    width: 20%;
  }
}
