:root {
  --red: #e51b24;
  --gray: #636363;
  --blue: #0075c9;
  --yellow: #ffa500;
  --turquoise: #008999;
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: "Muli";
}

a {
  color: inherit;
}

.w-100 {
  width: 100%;
}

/* Spacers */
.spacer15 {
  height: 15px;
  display: block;
}
.spacer30 {
  height: 30px;
  display: block;
}
.spacer60 {
  height: 60px;
  display: block;
}
.spacer90 {
  height: 90px;
  display: block;
}
.spacer120 {
  height: 120px;
  display: block;
}
.spacer150 {
  height: 150px;
  display: block;
}
/* End Spacers */

.top-content {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

header {
  position: fixed;
  top: 0;
  height: 60px;
  display: grid;
  grid-template-columns: auto auto 50px;
  padding: 10px 20px;
  z-index: 100;
  left: 0;
  right: 0;
}

.logo {
  position: relative;
}
.logo img {
  height: 60px;
  width: auto;
  position: absolute;
}
.logo .white {
  opacity: 1;
}
.logo.closed .white {
  opacity: 0;
}
.logo .color {
  opacity: 0;
}
.logo.closed .color {
  opacity: 1;
}

header .menu-icon {
  grid-column: 3/4;
}

.parallax {
  overflow: hidden;
  height: 100vh;
  position: relative;
  pointer-events: none;
  z-index: 2;
}

.header-content {
  padding: 0;
  display: block;
  z-index: 1;
  margin: 0;
  width: 100%;
  position: absolute;
  top: calc(80px + 4vh);
}

.header-content h2 {
  text-align: center;
  margin: 0;
  font: normal normal normal 20px/25px Muli;
  letter-spacing: 3px;
  color: #636363;
}
.header-content h3 {
  text-align: center;
  color: var(--red);
  margin: 0;
  font: normal normal bold 20px/25px Termina;
}

.text-cpa-wraper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 15px;
  margin-top: 4vh;
}

.bt {
  padding: 10px 20px;
  color: white;
  background-color: var(--red);
  border-radius: 5px;
  width: fit-content;
  text-decoration: none;
}
.bt-alt {
  padding: 10px 20px;
  color: #636363;
  border: 1px solid #636363;
  background-color: transparent;
  border-radius: 5px;
  width: fit-content;
  text-decoration: none;
}

.header-content .bt {
  margin-top: 10px;
}

.parallax img {
  position: absolute;
  bottom: 0;
  pointer-events: none;
  left: -34%;
  width: 215%;
}

.parallax #nomad {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  pointer-events: none;
  bottom: 125px;
}
.parallax #tech {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  bottom: 35px;
}

.scroll-down {
  position: absolute;
  top: 100vh;
  transform: translateY(-100%);
  z-index: 88;
  text-align: center;
  width: 100%;
  color: white;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.scroll-down .mousewheel {
  animation: mousewheel 2s ease infinite;
}

@keyframes mousewheel {
  0% {
    transform: translate3d(0px, 15px, 0px);
    opacity: 1;
  }
  100% {
    transform: translate3d(0px, 7px, 0px);
    opacity: 0.5;
  }
}

.sense {
  background: transparent
    linear-gradient(180deg, #636363 0%, #d5d5d5 20%, #ffffff 100%) 0% 0%
    no-repeat padding-box;
}
.aware {
  background: transparent
    linear-gradient(180deg, #006dbd 0%, #c8e8ff 20%, #ffffff 100%) 0% 0%
    no-repeat padding-box;
}
.power {
  background: transparent
    linear-gradient(180deg, #ffa500 0%, #ffdd97 33%, #ffe4a9 49%, #ffffff 100%)
    0% 0% no-repeat padding-box;
  color: var(--gray);
}
.engineering {
  background: transparent
    linear-gradient(180deg, #008999 0%, #a2d6dd 9%, #cbeaee 25%, #ffffff 100%)
    0% 0% no-repeat padding-box;
}

.service-section {
  padding: 20px;
  z-index: 2;
  position: relative;
  background-color: white;
}

.bg-white {
  background-color: white;
}

.zindex2 {
  z-index: 2;
  position: relative;
}

.c-white {
  color: white !important;
}
.c-red {
  color: var(--red) !important;
}
.c-gray {
  color: var(--gray) !important;
}
.c-blue {
  color: var(--blue) !important;
}
.c-yellow {
  color: var(--yellow) !important;
}
.c-turquoise {
  color: var(--turquoise) !important;
}
.bg-red {
  background: var(--red) !important;
}
.bg-gray {
  background: var(--gray) !important;
}
.bg-blue {
  background: var(--blue) !important;
}
.bg-yellow {
  background: var(--yellow) !important;
}
.bg-turquoise {
  background: var(--turquoise) !important;
}

.t-center {
  text-align: center;
}

.service-main-title {
  font: normal normal bold 25px/35px Termina;
  color: white;
}
.service-second-title {
  font: normal normal bold 20px/30px Termina;
}
.service-second-title small {
  font: normal normal normal 14px/18px Muli;
}

.sense-options-grid {
  display: grid;
  grid-template-rows: repeat(3, auto);
  gap: 30px;
  align-items: center;
  justify-content: center;
  max-width: 370px;
  margin: auto;
  font: normal normal normal 18px/23px Muli;
  color: var(--gray);
}

.sense-options-grid p b {
  font: normal normal bold 18px/23px Termina;
}

.swiper .swiper-el h3 {
  font: normal normal bold 71px/85px Termina;
  font-size: clamp(40px, 13vw, 71px);
  line-height: clamp(60px, 16vw, 85px);
  color: var(--gray);
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  max-height: 120px;
}
.swiper .swiper-el img {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
}
.swiper .swiper-el p {
  font: normal normal normal 20px/25px Muli;
  color: var(--gray);
  text-align: center;
}

.swiper .swiper-el {
  text-align: center;
}

.cta-section {
  padding: 20px;
}
.cta-section p {
  font: normal normal normal 18px/25px Muli;
  text-align: center;
}
.cta-section .bt-group {
  display: flex;
  flex-direction: row;
  gap: 15px;
  align-items: center;
  justify-content: center;
}

.aware-options-grid {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-template-columns: 100%;
  gap: 30px;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: auto;
  font: normal normal normal 18px/23px Muli;
  color: #161616;
}
.aware-options-grid:last-of-type {
  grid-template-rows: repeat(3, auto);
}
.aware-text-width {
  max-width: 370px;
  margin: 0 auto;
}
.power-options-grid {
  display: grid;
  grid-template-rows: repeat(1, auto);
  gap: 30px;
  align-items: center;
  justify-content: center;
  max-width: 370px;
  margin: auto;
  font: normal normal normal 18px/23px Muli;
  color: var(--gray);
}
.engineering-options-grid {
  display: grid;
  grid-template-rows: repeat(2, auto);
  gap: 30px;
  align-items: center;
  justify-content: center;
  max-width: 370px;
  margin: auto;
  font: normal normal normal 18px/23px Muli;
  color: var(--gray);
}

ul {
  padding-left: 2rem;
}
ul li {
  margin-bottom: 5px;
}

.power-products {
  position: relative;
}
.power-lines {
  position: absolute;
  top: 0;
  left: -45px;
}
.swiper .swiper-el .power-products-title {
  font: normal normal bold 33px/46px Termina;
  color: var(--yellow);
}

.engineering-img-wrap {
  border-radius: 22px;
  padding: 20px;
  background-color: white;
}
.engineering-img-wrap img {
  width: 100%;
}

.methodology-grid {
  display: grid;
  grid-template-rows: repeat(3, auto);
  gap: 30px;
  align-items: center;
  justify-content: center;
  font: normal normal normal 14px/23px Muli;
  text-align: left;
}
.methodology-title {
  font: normal normal bold 16px/23px Muli;
  margin-top: 0;
}
.methodology-number {
  font: normal normal bold 54px/62px Termina;
  color: var(--turquoise);
  margin: 0;
}

.contact-title {
  font: normal normal bold 20px/67px Termina;
}

.contact-grid {
  display: grid;
  grid-template-rows: repeat(5, auto);
  gap: 30px;
}

.contact-grid p {
  font: normal normal normal 20px/28px Muli;
  margin: 0;
}
.contact-grid div p {
  font: normal normal normal 18px/25px Muli;
}
.contact-grid div b {
  font: normal normal bold 18px/25px Muli;
}

/* menu */
.menu {
  position: fixed;
  inset: 0px;
  background-color: var(--red);
  transition: all 300ms ease;
  z-index: 99;
  display: flex;
  gap: 40px;
  flex-direction: column;
  padding: 200px 40px 100px 40px;
  align-items: end;
}
.menu a {
  text-decoration: none;
  font: normal normal bold 20px/25px Termina;
  color: white;
  text-align: right;
}
.menu.closed {
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease;
}

.menu-icon {
  width: 50px;
  height: 50px;
  cursor: pointer;
  grid-column: 3/4;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.menu-icon div {
  position: relative;
  width: 30px;
  height: 23px;
}
.menu-icon span {
  display: block;
  height: 3px;
  width: 30px;
  background-color: var(--gray);
  position: absolute;
  right: 0;
}
@keyframes menuicon1 {
  0% {
    top: 0px;
    transform: rotate(0deg);
  }
  50% {
    top: 10px;
    transform: rotate(0deg);
  }
  100% {
    top: 10px;
    transform: rotate(-45deg);
    background-color: white;
  }
}
@keyframes menuicon3 {
  0% {
    top: 20px;
    transform: rotate(0deg);
  }
  50% {
    top: 10px;
    transform: rotate(0deg);
  }
  100% {
    top: 10px;
    transform: rotate(45deg);
    background-color: white;
  }
}
@keyframes closemenuicon1 {
  0% {
    top: 10px;
    transform: rotate(-45deg);
  }
  50% {
    top: 10px;
    transform: rotate(0deg);
  }
  100% {
    top: 0px;
    transform: rotate(0deg);
    background-color: var(--gray);
  }
}
@keyframes closemenuicon3 {
  0% {
    top: 10px;
    transform: rotate(45deg);
  }
  50% {
    top: 10px;
    transform: rotate(0deg);
  }
  100% {
    top: 20px;
    transform: rotate(0deg);
    background-color: var(--gray);
  }
}

.menu-icon span:first-child {
  top: 0px;
}
.menu-icon span:nth-child(2) {
  width: 20px;
  top: 10px;
  transition: opacity, background-color 1ms normal 150ms;
}
.menu-icon span:last-child {
  top: 20px;
}

.open.menu-icon span:first-child {
  animation: menuicon1 300ms ease forwards;
}
.open.menu-icon span:nth-child(2) {
  opacity: 0;
  background-color: white;
  transition: opacity 1ms normal 150ms;
}
.open.menu-icon span:last-child {
  animation: menuicon3 300ms ease forwards;
}
.close.menu-icon span:first-child {
  animation: closemenuicon1 300ms ease forwards;
}
.close.menu-icon span:nth-child(2) {
  opacity: 1;
  transition: opacity 1ms normal 150ms;
}
.close.menu-icon span:last-child {
  animation: closemenuicon3 300ms ease forwards;
}

.bt.gotop {
  display: none;
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 99;
  border: none;
  height: 50px;
  width: 50px;
  padding: 0;
  font-size: 22px;
  cursor: pointer;
}

.logo-fixed {
  position: absolute;
  top: 10px;
  left: 20px;
  height: 60px;
  width: auto;
}

.line2 {
  display: none;
}

#sense-swiper .swiper-el {
  height: 580px;
}
#sense-swiper .swiper-el img {
  height: 200px;
}

#power-swiper .swiper-el img {
  height: 200px;
}

.video-pwa {
  width: 100%;
  height: auto;
}
