/*** UI Functions ***/
/*** UI Functions ***/
/*
@function ui-color($color-name, $color-theme: light){
  $color-theme: map_get($ui-colors, $color-theme);
  $color: map_get($color-theme, $color-name);

  @return $color;
}
*/
#page {
  background-color: transparent !important;
}

#page main.out {
  pointer-events: none;
}

#page main .top-area {
  background-color: #fff;
}

section.hero .hero-cover, section.capabilities .capabilities-cover {
  width: 100%;
  position: relative;
}

section.hero .hero-cover img, section.capabilities .capabilities-cover img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.about-section {
  min-height: 100vh;
  height: fit-content;
  display: flex;
  flex-direction: column;
  padding-top: 104px;
  padding-bottom: 104px;
}

.about-section .container-fluid, .about-section .container {
  margin-top: auto;
  margin-bottom: auto;
}

.about-section .text-box {
  max-width: 680px;
}

section.hero {
  overflow: hidden;
}

section.hero .hero-content {
  position: relative;
  z-index: 2;
  background: #fff;
  height: 80vh;
}

section.hero .hero-cover {
  position: relative;
  box-sizing: content-box;
  height: 50vh;
  width: 100%;
  z-index: 1;
  margin: auto;
  background-color: #fff;
}

section.hero .hero-cover img {
  width: 100%;
  height: auto;
  left: 50%;
  transform: translateX(-50%) translateY(0) scale(1.15);
  transform-origin: center;
  will-change: transform;
}

section.intro {
  position: relative;
  z-index: 2;
  min-height: unset;
  height: auto;
}

section.intro .intro-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

section.intro .intro-content .intro-block {
  opacity: 0;
  will-change: transform;
  transform-origin: top;
  transform: translateY(10%);
}

section.intro .intro-title {
  font: 400 24px/36px "silka", sans-serif;
  color: #0C0C0C;
  padding-bottom: 20px;
  width: 400px;
}

section.intro .intro-text {
  color: #202020;
}

section.capabilities {
  position: relative;
  z-index: 3;
  color: #fff;
  background-color: #121212;
  transform-origin: top;
  padding-bottom: 0;
  min-height: auto;
}

section.capabilities .capabilities-content {
  margin: 0;
}

section.capabilities .capabilities-content .cap-text-item {
  opacity: 0;
  transform: translateY(10%);
}

section.capabilities .capabilities-content .cap-text-item.capability-item {
  transform: translateY(50%);
}

section.capabilities .capabilities-content .h1 {
  padding-top: 42px;
}

section.capabilities .capabilities-list {
  padding-top: 52px;
}

section.capabilities .capabilities-list .capability-item .item-header {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 12px 0;
  cursor: pointer;
}

section.capabilities .capabilities-list .capability-item .item-header h2 {
  font: 400 24px/36px "silka", sans-serif;
}

section.capabilities .capabilities-list .capability-item .item-header .chevron-icon {
  transition: transform 0.3s;
}

section.capabilities .capabilities-list .capability-item .item-body {
  height: 0;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.2, 1, 0.8, 1);
  overflow: hidden;
  transform-origin: top left;
}

section.capabilities .capabilities-list .capability-item .item-body ul {
  margin-bottom: 20px;
}

section.capabilities .capabilities-list .capability-item .item-body ul li {
  margin: 8px 0;
  opacity: 0;
  transform: scaleY(0.5);
  transition: transform, opacity;
  transition-duration: 0.3s;
  transition-delay: 0;
  transition-timing-function: ease-out;
  transform-origin: top left;
}

section.capabilities .capabilities-list .capability-item.open .item-header .chevron-icon {
  transform: rotateX(180deg);
  transition-duration: 0.6s;
}

section.capabilities .capabilities-list .capability-item.open .item-body {
  height: 200px;
  scale: 1;
  transition-duration: 0.6s;
  transition-timing-function: linear;
  opacity: 1;
}

section.capabilities .capabilities-list .capability-item.open .item-body ul li {
  opacity: 1;
  transform: scaleX(1);
  transition-duration: 0.2s;
  transition-timing-function: linear;
}

section.capabilities .capabilities-list .capability-item.open .item-body ul li:nth-child(1) {
  transition-delay: 0s;
}

section.capabilities .capabilities-list .capability-item.open .item-body ul li:nth-child(2) {
  transition-delay: 0.1s;
}

section.capabilities .capabilities-list .capability-item.open .item-body ul li:nth-child(3) {
  transition-delay: 0.2s;
}

section.capabilities .capabilities-list .capability-item.open .item-body ul li:nth-child(4) {
  transition-delay: 0.3s;
}

section.capabilities .capabilities-list .capability-item.open .item-body ul li:nth-child(5) {
  transition-delay: 0.4s;
}

section.capabilities .capabilities-cover {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  pointer-events: none;
}

section.capabilities .capabilities-cover img {
  will-change: trasform;
  margin-top: 10%;
  height: 100%;
  width: auto;
}

section.quote {
  position: relative;
  z-index: 5;
  background-color: #000;
  margin-top: 0;
}

section.quote .quote-container {
  margin-top: 32px;
}

section.quote .quote-container .quote-symbol {
  height: 30px;
  display: block;
  color: white;
}

section.quote .quote-container .quote-text {
  padding: 20px 0;
  color: white;
}

section.quote .quote-container .quote-meta {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 12px;
}

section.quote .quote-container .quote-meta .meta-img {
  height: 48px;
  width: 48px;
}

section.quote .quote-container .quote-meta .meta-text h3 {
  color: white;
}

section.quote .quote-container .quote-meta .meta-text h3 span {
  padding-top: 4px;
  display: block;
  color: #9C9C9C;
}

.mega-footer {
  height: 100vh;
  min-height: unset;
  z-index: 0;
  position: relative;
  transform: translateY(-25%);
  will-change: tranform;
}

@media (orientation: landscape) {
  .top-area {
    height: 100vh;
  }
  .bottom-area {
    position: relative;
  }
  section.hero .hero-content {
    position: absolute;
    height: 85vh;
    top: 0;
    left: 0;
  }
  section.hero .hero-cover {
    height: 100vh;
    width: 75%;
    padding-top: 0;
    overflow: hidden;
  }
  section.hero .hero-cover img {
    width: 100vw;
    height: auto;
    transform: translateX(-50%) translateY(0) scale(1.25);
  }
  section.intro {
    height: 100vh;
  }
  section.intro .intro-content .intro-block {
    transform: translateY(50%);
  }
  section.intro .intro-content .intro-block .intro-title {
    font: 400 24px/36px "silka", sans-serif;
  }
  section.capabilities {
    opacity: 1;
  }
  section.capabilities .capabilities-content .h1 {
    font-size: 60px;
  }
  section.capabilities .capabilities-list .capability-item .item-header h2 {
    font: 400 30px/42px "silka", sans-serif;
  }
  section.capabilities .capabilities-cover {
    width: 100%;
    aspect-ratio: 16/9;
    transform: translateY(0) scale(1);
  }
  section.capabilities .capabilities-cover img {
    width: 100%;
    height: auto;
  }
  .mega-footer {
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 0;
    transform: translateY(50%);
  }
}

@media (min-width: 1200px) {
  .about-section {
    padding-top: 136px;
    padding-bottom: 136px;
  }
  section.hero .hero-content {
    padding-left: 0;
    padding-right: 0;
  }
  section.capabilities .h1 {
    padding-top: 64px;
  }
}
