:root {
  /* Core brand colors */
  --uni-anthracite: rgba(45, 55, 60, 1);
  --uni-grey: rgba(234, 235, 236, 1);
  --uni-mint: rgba(165, 215, 210, 1);
  --uni-light-mint: rgb(210, 235, 233, 1);
  --uni-red: rgba(210, 5, 55, 1);
  --uni-font: rgba(51, 51, 51, 1);
  --custom-blue: rgb(227, 237, 246);

  /* Font variables */
  --font-family-sans-serif-bold: "Univers LT W02 65 Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-family-sans-serif: "Univers LT W02 45 Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-family-sans-serif-roman: "Univers LT W02 55 Roman", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-family-serif: "Swift Neue LT W02", Georgia, "Times New Roman", Times, serif;
  --font-family-serif-bold: "Swift Neue LT W02 Bold", Georgia, "Times New Roman", Times, serif;
  --font-family-serif-light: "Swift Neue LT W02 Light", Georgia, "Times New Roman", Times, serif;
  --font-size-bigger: 1.30rem;
  --font-size-big: 1.15rem;
  --font-size-normal: 1.02rem;
  --font-size-caption: 0.96rem;
  --font-size-small: 0.90rem;
  --font-size-smaller: 0.80rem;
}

/* Text color utilities */
.text-anthracite { color: var(--uni-anthracite) !important; }
.text-grey { color: var(--uni-grey) !important; }
.text-mint { color: var(--uni-mint) !important; }
.text-light-mint { color: var(--uni-light-mint) !important; }
.text-red { color: var(--uni-red) !important; }

/* Background color utilities */
.bg-anthracite { background-color: var(--uni-anthracite) !important; }
.bg-grey { background-color: var(--uni-grey) !important; }
.bg-mint { background-color: var(--uni-mint) !important; }
.bg-light-mint { background-color: var(--uni-light-mint) !important; }
.bg-red { background-color: var(--uni-red) !important; }
.bg-custom-blue { background-color: var(--custom-blue) !important; }

/* Font Families */
.font-family-sans-serif-bold { font-family: var(--font-family-sans-serif-bold); }
.font-family-sans-serif { font-family: var(--font-family-sans-serif); }
.font-family-sans-serif-roman { font-family: var(--font-family-sans-serif-roman); }
.font-family-serif { font-family: var(--font-family-serif); }
.font-family-serif-bold { font-family: var(--font-family-serif-bold); }
.font-family-serif-light { font-family: var(--font-family-serif-light); }

/* Font Sizes */
.font-size-bigger { font-size: var(--font-size-bigger); }
.font-size-big { font-size: var(--font-size-big); }
.font-size-normal { font-size: var(--font-size-normal); }
.font-size-small { font-size: var(--font-size-small); }
.font-size-smaller { font-size: var(--font-size-smaller); }
.font-size-caption { font-size: var(--font-size-caption) !important; }

select.form-select, input.textinput { border-radius: 0; }

.container { max-width: 1200px; }

p {
  font-size: var(--font-size-normal);
  font-family: var(--font-family-sans-serif);
  letter-spacing: 0.005rem;
}

h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-serif); }

h2 { margin-top: 4rem; }

h3 { letter-spacing: 0.03rem; }

h5 {font-family: var(--font-family-sans-serif);}

.caption-text { font-size: 0.96rem; }

.content {
  a {
    color: var(--uni-red);
    /*text-decoration: none;*/
  }
  a:hover {
    color: var(--uni-font);
    text-decoration: underline;
  }
}

.text-white { letter-spacing: 0.03rem; }

/* Header definition */
.header {
  .logo-wrapper {
    height: 160px;
    #logo { padding-top: .625rem; }
  }

  #navbar {
    .nav-link {
      border-top: 5px solid transparent;
      font-family: SwiftNeueRoman, serif;
      font-size: 1.3125rem;
      font-weight: 400;
      padding: 11px 6px 14px 6px;
    }
    .nav-link.active {
      border-top: 5px solid var(--uni-red);
      background-color: var(--uni-grey);
    }
    .nav-link:hover {
      border-top: 5px solid var(--uni-red);
      background-color: var(--uni-anthracite);
      color: white;
    }
    @media (max-width: 767.98px) {
      .nav-link.active {
        border-top: none;
      }

      .nav-link.active:hover {
        border-top: 5px solid transparent;
        border-top: none;
      }

      .nav-link:hover {
        border-top: 5px solid transparent;
        background-color: var(--uni-anthracite);
        color: white;
      }
    }
  }

  .breadcrumb-nav {
    font-family: UniversRoman, sans-serif;
    a {
      color: var(--uni-font);
      text-decoration: none;
    }
    a:hover { color: var(--uni-red); }
    li { color: var(--uni-font); }
  }
}

/* Footer definition */
.footer {
  background-color: var(--uni-anthracite);
  color: var(--uni-grey);
  padding: 2rem 0;
  border-top: 1px solid var(--uni-grey);

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

  .footer-links {
    list-style: none;
    padding: 0;
    margin: 0;

    li { margin-bottom: .25rem; }
  }
}

/* Cards definition */
#service-detail .card,
#projects .card,
#team .card,
#services .card {
  border: none;
  border-radius: 0px;
}

.card-title {
  /*line-height: 1.75;*/
  height: 1.75rem;
  overflow: hidden;
}

/* Team definition */
.aspect-ratio-box-4-3 {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;

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

#team .card-title, #projects-container .card-title {
  font-family: va(--font-family-sans-serif);
  text-transform: uppercase;
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1.2rem;
  letter-spacing: 0.06rem;
}

/* Styling Carousel */
#newsCarousel { background-color: white; }
.carousel {
  .carousel-caption {
    position: initial;
    text-align: start;
    min-height: 180px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .carousel-indicators {
    margin-bottom: 1.5rem;
  }
  .carousel-indicators {
    [data-bs-target] {
      background-color: white !important;
      margin-top: 0.5rem;
      border: 2px solid black;
    }
    .active {
      background-color: black !important;
      opacity: 1;
    }
    button {
      width: 10px;
      height: 10px;
      border-radius: 100%;
    }
  }

  .carousel-item-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;

    .embed-item {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
  }
}

.carousel-indicators [data-bs-target] {
  opacity: 0.7;
}

.carousel-control-next, .carousel-control-prev {
  bottom: 180px;
}

.call-to-action-button {
  font-family: var(--font-family-sans-serif-light);
  letter-spacing: 0.15rem;
  text-transform: uppercase;
  padding: 24px 0;
}

/* Projects definition */
#projects-filter { color: white; }

.project-card {
  .card-title {
    font-family: var(--font-family-sans-serif);
    font-size: 1.25rem;
    text-transform: uppercase;
  }
  .card-text { line-height: 1.45rem; }
}

.card-body {padding-left:1rem;}

.project-info-box
{
  font-family: var(--font-family-sans-serif) !important;
  font-size: var(--font-size-normal) !important;
  a {
    text-decoration: none;
  }
}
/* Services definitions */
.service-card {
  v
  .card-title {
    font-size: 1.25rem;
  }
  .card-text {
    font-family: var(--font-family-sans-serif);
    font-size: var(--font-size-small);
    line-height: 1.5rem;
  }
  .card-body {padding-left:1rem;}
}

/* Search definition */
.search-card {
  .card-title {
    font-family: var(--font-family-sans-serif-light);
    font-size: var(--font-size-small);
    text-transform: uppercase;
  }
  .card-text { line-height: 1.5rem; }
}

.smalltitle {
  font-size: .6875rem !important;
}


.biggertitle {
  font-family: var(--font-family-serif-light) !important;
  font-size: 1.25rem !important;
}

.project-card .card-body {
  min-height: 110px;
}

.project-link-icon {
  font-size: xx-large;
}


ul li::marker {
  font-size: 1.3em; /* Adjust this value to make the disc bigger */
  color: black; /* Or any color you want for the disc */
  display: inline-block;
  width: 1em; /* Adjust to create space between bullet and text */
  margin-left: -1em; /* Pull the bullet to the left */
  vertical-align: middle; /* Align the bullet vertically with text */
}

.aspect-ratio-box-16-9 {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;

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