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

a:active,
a:hover {
  outline: 0;
  cursor: pointer;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

html {
  box-sizing: border-box;
  line-height: 1.15; /* Correct the line height in all browsers. */
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS. */
}

*, *::after, *::before {
  box-sizing: inherit;
}

body {
  font-feature-settings: "kern" 1;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: text-top;
  display: block;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: transparent;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

h1 {
  font-size: clamp(30px, 30px + 10 * (100vw - 375px) / 1725, 40px);
  line-height: clamp(40.5px, 40.5px + 15.5 * (100vw - 375px) / 1725, 56px);
}

h2 {
  font-size: clamp(20px, 20px + 10 * (100vw - 375px) / 1725, 30px);
  line-height: clamp(27px, 27px + 15 * (100vw - 375px) / 1725, 42px);
}

p {
  font-size: clamp(18px, 18px + 5 * (100vw - 375px) / 1725, 23px);
  line-height: clamp(24.3px, 24.3px + 7.9 * (100vw - 375px) / 1725, 32.2px);
}

p.footer {
  font-size: clamp(16px, 16px + 4 * (100vw - 375px) / 1725, 20px);
  line-height: clamp(21.6px, 21.6px + 6.4 * (100vw - 375px) / 1725, 28px);
}
p.footer span {
  font-size: clamp(14px, 14px + 4 * (100vw - 375px) / 1725, 18px);
  line-height: clamp(18.9px, 18.9px + 6.3 * (100vw - 375px) / 1725, 25.2px);
}

li {
  font-size: clamp(20px, 20px + 3 * (100vw - 1500px) / 600, 23px);
  line-height: clamp(27px, 27px + 5.2 * (100vw - 1500px) / 600, 32.2px);
}
@media only screen and (max-width: 600px) {
  li {
    font-size: 18px;
  }
}

.invisibile {
  display: none;
}

body {
  font-family: arboria, sans-serif;
  font-weight: 400;
  font-style: normal;
  background: #000;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#intro {
  width: 100vw;
  height: 100svh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
@media only screen and (max-width: 900px) {
  #intro {
    align-items: flex-start;
  }
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #intro {
    border-bottom: 1px solid #788084;
  }
}
#intro .container {
  width: calc(60% + 50px);
  max-width: 1586px;
  display: flex;
  gap: clamp(0px, -7.8125rem + 8.3333333333vw, 50px);
}
@media only screen and (max-width: 1500px) {
  #intro .container {
    width: auto;
  }
}
#intro .container .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(30px, -9.0625rem + 11.6666666667vw, 100px);
}
@media only screen and (max-width: 900px) {
  #intro .container .content {
    flex: auto;
    width: 100%;
    z-index: 100;
    position: absolute;
    bottom: 100px;
    left: 0;
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 600px) {
  #intro .container .content {
    width: auto;
    top: 50%;
    bottom: auto;
    left: 20px;
    transform: translateY(-50%);
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #intro .container .content {
    width: 50%;
  }
}
#intro .container .content .logo {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 900px) {
  #intro .container .content .logo {
    flex: 1;
  }
}
#intro .container .content .logo img {
  width: 50%;
}
@media only screen and (max-width: 900px) {
  #intro .container .content .logo img {
    width: 150px;
  }
}
#intro .container .content ul.details {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
@media only screen and (max-width: 900px) {
  #intro .container .content ul.details {
    flex: 0 0 1;
    display: flex;
    flex-direction: column;
  }
}
#intro .container .content ul.details li {
  text-align: justify;
  text-align-last: justify;
  position: relative;
  padding-left: 1rem;
  color: #00a19b;
}
#intro .container .content ul.details li:nth-child(2), #intro .container .content ul.details li:nth-child(3) {
  letter-spacing: 0.5px;
}
#intro .container .content ul.details li::before {
  content: "";
  position: absolute;
  left: 0.1rem;
  top: 0.64em;
  width: 0.32em;
  height: 0.32em;
  background: #788084;
  border-radius: 50%;
}
@media only screen and (max-width: 900px) {
  #intro .container .content ul.details li::before {
    top: 0.6em;
    width: 0.28em;
    height: 0.28em;
  }
}
@media only screen and (max-width: 600px) {
  #intro .container .content ul.details li::before {
    left: 0.2rem;
    top: 0.8rem;
  }
}
#intro .container .content .arrow {
  width: clamp(100px, 5.1264044944rem + 5.6179775281vw, 200px);
}
@media only screen and (max-width: 900px) {
  #intro .container .content .arrow {
    flex: 1;
    display: flex;
    justify-content: center;
  }
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #intro .container .content .arrow {
    display: none;
  }
}
#intro .container .content a {
  width: 100%;
  border: 1px solid #788084;
  border-radius: 50%;
  padding: 20px;
  display: inline-block;
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1), border-color 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
@media only screen and (max-width: 900px) {
  #intro .container .content a {
    max-width: 140px;
  }
}
#intro .container .content a img {
  width: 100%;
}
#intro .container .content a:hover {
  transform: scale(0.8);
  border-color: #00a19b;
}
#intro .container .image {
  flex: 2;
}
@media only screen and (max-width: 900px) {
  #intro .container .image {
    flex: auto;
  }
}
#intro .container .image img {
  width: 100%;
}

@keyframes logoReveal {
  0% {
    opacity: 0;
    transform: translateY(150px) scale(1.2);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.fade-up {
  opacity: 0;
  transform: translateY(150px) scale(1.2);
  animation: logoReveal 1.5s ease-out forwards;
}

.logo {
  animation-delay: 0s;
}

.details {
  animation-delay: 0.2s;
}

.content > .fade-up:nth-child(3) {
  animation-delay: 0.4s;
}

.image {
  animation-delay: 0.4s;
}

#clients {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#clients .container {
  width: 100%;
  max-width: 2560px;
  height: 100svh;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #clients .container {
    height: auto;
  }
}
#clients .container .center-box {
  width: 100%;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 900px) {
  #clients .container .center-box {
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 600px) {
  #clients .container .center-box {
    padding-bottom: 0px;
    justify-content: center;
  }
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #clients .container .center-box {
    flex-direction: row;
    gap: 0;
    padding: 50px 0 100px 0;
    border-bottom: 1px solid #788084;
  }
}
#clients .container .center-box .image {
  width: 40%;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 1500px) {
  #clients .container .center-box .image {
    width: 600px;
  }
}
@media only screen and (max-width: 1200px) {
  #clients .container .center-box .image {
    width: 550px;
  }
}
@media only screen and (max-width: 900px) {
  #clients .container .center-box .image {
    width: 100%;
  }
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #clients .container .center-box .image {
    width: auto;
    flex: 1;
  }
}
#clients .container .center-box .image img {
  max-width: 100%;
}
#clients .container .center-box .text {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media only screen and (max-width: 900px) {
  #clients .container .center-box .text {
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 600px) {
  #clients .container .center-box .text {
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
  }
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #clients .container .center-box .text {
    flex-direction: row;
    justify-content: center;
    gap: 10px;
  }
}
#clients .container .center-box .text h1 {
  text-transform: capitalize;
  color: #00a19b;
}
#clients .container .center-box .text p {
  color: #788084;
}
#clients .container .center-box .text ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  margin: 30px 0 40px 0;
}
@media only screen and (max-width: 900px) {
  #clients .container .center-box .text ul {
    margin: 20px 0 0 0;
  }
}
@media only screen and (max-width: 600px) {
  #clients .container .center-box .text ul {
    margin: 10px 0 20px 0;
  }
}
#clients .container .center-box .text ul li {
  text-align: left;
  position: relative;
  padding-left: 1rem;
  color: #00a19b;
}
#clients .container .center-box .text ul li::before {
  content: "";
  position: absolute;
  left: 0.1rem;
  top: 0.68em;
  width: 0.32em;
  height: 0.32em;
  background: #788084;
  border-radius: 50%;
}
@media only screen and (max-width: 900px) {
  #clients .container .center-box .text ul li::before {
    top: 0.6em;
    width: 0.28em;
    height: 0.28em;
  }
}
@media only screen and (max-width: 600px) {
  #clients .container .center-box .text ul li::before {
    left: 0.2rem;
    top: 0.8rem;
  }
}
#clients .container .center-box .text .arrows {
  display: flex;
  gap: 30px;
}
@media only screen and (max-width: 1500px) {
  #clients .container .center-box .text .arrows {
    gap: 20px;
  }
}
#clients .container .center-box .text .arrows div {
  width: clamp(100px, 5.1264044944rem + 5.6179775281vw, 200px);
}
@media only screen and (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  #clients .container .center-box .text .arrows div:first-of-type {
    display: none;
  }
}
#clients .container .center-box .text .arrows div:last-of-type a img {
  transform: rotate(-90deg);
}
#clients .container .center-box .text .arrows a {
  width: 100%;
  display: inline-block;
  padding: 20px;
  border: 1px solid #788084;
  border-radius: 50%;
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1), border-color 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
#clients .container .center-box .text .arrows a:hover {
  transform: scale(0.8);
  border-color: #00a19b;
}
#clients .container .center-box .text .arrows a img {
  width: 100%;
}

footer {
  width: 100%;
  height: 100svh;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  overflow-y: hidden;
}
@media only screen and (max-width: 900px) {
  footer {
    height: auto;
    gap: 50px;
  }
}
@media only screen and (max-width: 600px) {
  footer {
    gap: 30px;
  }
}
footer p {
  color: #eee;
}
footer p.evidence {
  color: #00a19b;
}
footer #last-content {
  display: flex;
}
@media only screen and (max-width: 900px) {
  footer #last-content {
    flex-direction: column-reverse;
    align-items: center;
    gap: 50px;
  }
}
@media only screen and (max-width: 600px) {
  footer #last-content {
    gap: 30px;
  }
}
footer article {
  width: 900px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
  padding: 0 100px;
  border-right: 1px solid #788084;
}
@media only screen and (max-width: 1800px) {
  footer article {
    width: 50%;
    padding: 0 clamp(20px, -3.75rem + 8.8888888889vw, 100px);
  }
}
@media only screen and (max-width: 900px) {
  footer article {
    width: 80%;
    max-width: 750px;
    border-right: none;
    border-left: 1px solid #788084;
    padding: 5px 15px;
  }
}
@media only screen and (max-width: 600px) {
  footer article {
    width: 90%;
    max-width: 372px;
    padding: 5px 10px;
  }
}
footer #trademarks {
  width: 900px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 0 100px;
}
@media only screen and (max-width: 1800px) {
  footer #trademarks {
    width: 50%;
    padding: 0 clamp(20px, -3.75rem + 8.8888888889vw, 100px);
  }
}
@media only screen and (max-width: 900px) {
  footer #trademarks {
    width: 100%;
    max-width: 500px;
    padding: 0;
  }
}
@media only screen and (max-width: 600px) {
  footer #trademarks {
    width: 90%;
  }
}
footer #trademarks p {
  color: #788084;
}
footer #trademarks div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 30px;
}
@media only screen and (max-width: 600px) {
  footer #trademarks div {
    gap: 15px;
  }
}
footer #trademarks div img {
  width: 100%;
  max-width: 180px;
  justify-self: center;
}

.waves-cont {
  width: 100%;
}
.waves-cont .waves {
  position: relative;
  width: 100%;
  height: 15vh;
  margin-bottom: -7px; /*Fix for safari gap*/
  min-height: 100px;
  max-height: 150px;
}
@media only screen and (max-width: 900px) {
  .waves-cont .waves {
    height: 70px;
    min-height: 70px;
  }
}
@media only screen and (max-width: 600px) {
  .waves-cont .waves {
    height: 50px;
    min-height: 50px;
  }
}
.waves-cont .content {
  position: relative;
  height: 20vh;
  text-align: center;
  background-color: white;
}
.waves-cont #sign {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 20px 0 40px 0;
  background: #788084;
}
.waves-cont #sign p {
  color: #000;
  text-align: center;
}
.waves-cont #sign p:nth-child(1), .waves-cont #sign p:nth-child(2) {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #000;
}
@media only screen and (max-width: 600px) {
  .waves-cont #sign p:nth-child(2) {
    margin-right: 0px;
    padding-right: 0px;
    border-right: none;
  }
}

/* Animation */
.parallax > use {
  animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}

.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}

.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}

.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}

.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}

@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}
