@charset "UTF-8";
/* ================================
   VARIABLES & MIXINS
   ================================ */
@import url("https://fonts.googleapis.com/css2?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");
:root {
  --border-radius-small: 0.25rem;
  --border-radius-large: 1rem;
  --border-radius-round: 50%;
  --color-black: #010A09;
  --color-primary-dark: #143934;
  --color-primary: #285B55;
  --color-primary-light: #4e6d69;
  --color-secondary: #C1FF00;
  --color-tertiary: #cad2d1;
  --color-light: #ffffff;
  --font-family-primary: "Poppins", sans-serif;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --font-size-dynamic: .875;
  --font-size-regular: 1rem;
  --font-size-medium: 1.125rem;
  --font-size-large: 1.25rem;
  --font-size-huge: 1.75rem;
  --font-size-insane: 2.5rem;
  --letter-spacing: 0rem;
  --line-height-tiny: .875;
  --line-height-small: 1.5;
  --line-height-regular: 2;
  --line-height-medium: 3;
  --line-height-large: 4;
  --text-transform: none;
  --mask-size: calc(var(--font-size-regular) * .75) calc(var(--font-size-regular) * .75);
  --padding-inline: 2rem;
  --padding-inline-small: 2rem;
  --padding-inline-large: 4rem;
  --padding-block: 4rem;
  --padding-block-small: 4rem;
  --transform-scale-small: scale(1.02);
  --transform-scale-large: scale(1.04);
  --transition: all .25s ease;
  --transition-slow: all .5s ease;
  --transition-delay: all .25s ease .25s;
}
@media only screen and (min-width: 80rem) {
  :root {
    --font-size-medium: 1.1875rem;
    --font-size-large: 1.5rem;
    --font-size-huge: 2.75rem;
    --font-size-insane: 4.25rem;
  }
}
@media only screen and (min-width: 100rem) {
  :root {
    --font-size-medium: 1.25rem;
    --font-size-large: 2rem;
    --font-size-huge: 4rem;
    --font-size-insane: 6rem;
  }
}
@media only screen and (min-width: 40rem) {
  :root {
    --padding-inline: 4rem;
  }
}
/* ================================
   IMPORTS - ASSETS
   ================================ */
*, html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
  outline: none;
  word-break: break-word;
  -webkit-tap-highlight-color: transparent;
}
*::before, *::after, html::before, html::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a, a:visited, a:hover {
  text-decoration: none;
}

ul {
  list-style-type: none;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0;
}

select::-ms-expand { /* for IE 11 */
  display: none;
  border: none;
  border-radius: 0;
}

input[type=date]::-webkit-inner-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  display: none;
}

::-webkit-input-placeholder {
  color: var(--color-tertiary);
  opacity: 1;
}

::placeholder,
::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
  color: var(--color-tertiary);
  opacity: 1;
}

/* ================================ 
   HTML - ELEMENTS 
   ================================ */
html {
  font-size: 14px;
  background: var(--color-primary);
}
@media only screen and (min-width: 40rem) {
  html {
    font-size: 16px;
  }
}
@media only screen and (min-width: 160rem) {
  html {
    font-size: 0.625vw;
  }
}

body, .construction .form form > * {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-regular);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-regular);
  letter-spacing: var(--letter-spacing);
  color: var(--color-primary);
}
body.active, .construction .form form > .active {
  overflow: hidden;
}

main {
  display: grid;
  row-gap: 16rem;
}
@media only screen and (min-width: 80rem) {
  main {
    row-gap: 32rem;
  }
}

em {
  font-weight: var(--font-weight-medium);
  color: var(--color-secondary);
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

strong {
  font-weight: var(--font-weight-bold);
}

/* ================================ 
   HTML - CLASSES 
   ================================ */
.button {
  border: none;
  display: block;
  width: 12rem;
  padding-block: 0.5rem;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-medium);
  text-align: center;
  position: relative;
  z-index: 1;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  -webkit-transform: skew(-16deg);
      -ms-transform: skew(-16deg);
          transform: skew(-16deg);
}
.button:hover {
  cursor: pointer;
  -webkit-transform: skew(-16deg) var(--transform-scale-large);
      -ms-transform: skew(-16deg) var(--transform-scale-large);
          transform: skew(-16deg) var(--transform-scale-large);
}
.button.button--hover {
  cursor: pointer;
}
.button.button--hover::after {
  -webkit-mask-position: center center;
          mask-position: center center;
  opacity: 1;
}
.button--primary {
  background: var(--color-secondary);
  color: var(--color-primary);
}
.button--secondary {
  background: var(--color-primary-dark);
  color: var(--color-light);
}

.buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 1rem;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}

.dotdotdot {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dotdotdot--1 {
  -webkit-line-clamp: 1;
  line-clamp: 1;
}
.dotdotdot--2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.dotdotdot--3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
.dotdotdot--4 {
  -webkit-line-clamp: 4;
  line-clamp: 4;
}
.dotdotdot--5 {
  -webkit-line-clamp: 5;
  line-clamp: 5;
}
.dotdotdot--6 {
  -webkit-line-clamp: 6;
  line-clamp: 6;
}
.dotdotdot--7 {
  -webkit-line-clamp: 7;
  line-clamp: 7;
}
.dotdotdot--8 {
  -webkit-line-clamp: 8;
  line-clamp: 8;
}
.dotdotdot--9 {
  -webkit-line-clamp: 9;
  line-clamp: 9;
}
.dotdotdot--10 {
  -webkit-line-clamp: 10;
  line-clamp: 10;
}
.dotdotdot--11 {
  -webkit-line-clamp: 11;
  line-clamp: 11;
}
.dotdotdot--12 {
  -webkit-line-clamp: 12;
  line-clamp: 12;
}
.dotdotdot--13 {
  -webkit-line-clamp: 13;
  line-clamp: 13;
}
.dotdotdot--14 {
  -webkit-line-clamp: 14;
  line-clamp: 14;
}
.dotdotdot--15 {
  -webkit-line-clamp: 15;
  line-clamp: 15;
}
.dotdotdot--16 {
  -webkit-line-clamp: 16;
  line-clamp: 16;
}
.dotdotdot--17 {
  -webkit-line-clamp: 17;
  line-clamp: 17;
}
.dotdotdot--18 {
  -webkit-line-clamp: 18;
  line-clamp: 18;
}
.dotdotdot--19 {
  -webkit-line-clamp: 19;
  line-clamp: 19;
}
.dotdotdot--20 {
  -webkit-line-clamp: 20;
  line-clamp: 20;
}
.dotdotdot--21 {
  -webkit-line-clamp: 21;
  line-clamp: 21;
}
.dotdotdot--22 {
  -webkit-line-clamp: 22;
  line-clamp: 22;
}
.dotdotdot--23 {
  -webkit-line-clamp: 23;
  line-clamp: 23;
}
.dotdotdot--24 {
  -webkit-line-clamp: 24;
  line-clamp: 24;
}
.dotdotdot--25 {
  -webkit-line-clamp: 25;
  line-clamp: 25;
}
.dotdotdot--26 {
  -webkit-line-clamp: 26;
  line-clamp: 26;
}
.dotdotdot--27 {
  -webkit-line-clamp: 27;
  line-clamp: 27;
}
.dotdotdot--28 {
  -webkit-line-clamp: 28;
  line-clamp: 28;
}
.dotdotdot--29 {
  -webkit-line-clamp: 29;
  line-clamp: 29;
}
.dotdotdot--30 {
  -webkit-line-clamp: 30;
  line-clamp: 30;
}
.dotdotdot--31 {
  -webkit-line-clamp: 31;
  line-clamp: 31;
}
.dotdotdot--32 {
  -webkit-line-clamp: 32;
  line-clamp: 32;
}
.dotdotdot--33 {
  -webkit-line-clamp: 33;
  line-clamp: 33;
}
.dotdotdot--34 {
  -webkit-line-clamp: 34;
  line-clamp: 34;
}
.dotdotdot--35 {
  -webkit-line-clamp: 35;
  line-clamp: 35;
}
.dotdotdot--36 {
  -webkit-line-clamp: 36;
  line-clamp: 36;
}
.dotdotdot--37 {
  -webkit-line-clamp: 37;
  line-clamp: 37;
}
.dotdotdot--38 {
  -webkit-line-clamp: 38;
  line-clamp: 38;
}
.dotdotdot--39 {
  -webkit-line-clamp: 39;
  line-clamp: 39;
}
.dotdotdot--40 {
  -webkit-line-clamp: 40;
  line-clamp: 40;
}
.dotdotdot--41 {
  -webkit-line-clamp: 41;
  line-clamp: 41;
}
.dotdotdot--42 {
  -webkit-line-clamp: 42;
  line-clamp: 42;
}
.dotdotdot--43 {
  -webkit-line-clamp: 43;
  line-clamp: 43;
}
.dotdotdot--44 {
  -webkit-line-clamp: 44;
  line-clamp: 44;
}
.dotdotdot--45 {
  -webkit-line-clamp: 45;
  line-clamp: 45;
}
.dotdotdot--46 {
  -webkit-line-clamp: 46;
  line-clamp: 46;
}
.dotdotdot--47 {
  -webkit-line-clamp: 47;
  line-clamp: 47;
}
.dotdotdot--48 {
  -webkit-line-clamp: 48;
  line-clamp: 48;
}
.dotdotdot--49 {
  -webkit-line-clamp: 49;
  line-clamp: 49;
}
.dotdotdot--50 {
  -webkit-line-clamp: 50;
  line-clamp: 50;
}
.dotdotdot--51 {
  -webkit-line-clamp: 51;
  line-clamp: 51;
}
.dotdotdot--52 {
  -webkit-line-clamp: 52;
  line-clamp: 52;
}
.dotdotdot--53 {
  -webkit-line-clamp: 53;
  line-clamp: 53;
}
.dotdotdot--54 {
  -webkit-line-clamp: 54;
  line-clamp: 54;
}
.dotdotdot--55 {
  -webkit-line-clamp: 55;
  line-clamp: 55;
}
.dotdotdot--56 {
  -webkit-line-clamp: 56;
  line-clamp: 56;
}
.dotdotdot--57 {
  -webkit-line-clamp: 57;
  line-clamp: 57;
}
.dotdotdot--58 {
  -webkit-line-clamp: 58;
  line-clamp: 58;
}
.dotdotdot--59 {
  -webkit-line-clamp: 59;
  line-clamp: 59;
}
.dotdotdot--60 {
  -webkit-line-clamp: 60;
  line-clamp: 60;
}
.dotdotdot--61 {
  -webkit-line-clamp: 61;
  line-clamp: 61;
}
.dotdotdot--62 {
  -webkit-line-clamp: 62;
  line-clamp: 62;
}
.dotdotdot--63 {
  -webkit-line-clamp: 63;
  line-clamp: 63;
}
.dotdotdot--64 {
  -webkit-line-clamp: 64;
  line-clamp: 64;
}
.dotdotdot--65 {
  -webkit-line-clamp: 65;
  line-clamp: 65;
}
.dotdotdot--66 {
  -webkit-line-clamp: 66;
  line-clamp: 66;
}
.dotdotdot--67 {
  -webkit-line-clamp: 67;
  line-clamp: 67;
}
.dotdotdot--68 {
  -webkit-line-clamp: 68;
  line-clamp: 68;
}
.dotdotdot--69 {
  -webkit-line-clamp: 69;
  line-clamp: 69;
}
.dotdotdot--70 {
  -webkit-line-clamp: 70;
  line-clamp: 70;
}
.dotdotdot--71 {
  -webkit-line-clamp: 71;
  line-clamp: 71;
}
.dotdotdot--72 {
  -webkit-line-clamp: 72;
  line-clamp: 72;
}
.dotdotdot--73 {
  -webkit-line-clamp: 73;
  line-clamp: 73;
}
.dotdotdot--74 {
  -webkit-line-clamp: 74;
  line-clamp: 74;
}
.dotdotdot--75 {
  -webkit-line-clamp: 75;
  line-clamp: 75;
}
.dotdotdot--76 {
  -webkit-line-clamp: 76;
  line-clamp: 76;
}
.dotdotdot--77 {
  -webkit-line-clamp: 77;
  line-clamp: 77;
}
.dotdotdot--78 {
  -webkit-line-clamp: 78;
  line-clamp: 78;
}
.dotdotdot--79 {
  -webkit-line-clamp: 79;
  line-clamp: 79;
}
.dotdotdot--80 {
  -webkit-line-clamp: 80;
  line-clamp: 80;
}
.dotdotdot--81 {
  -webkit-line-clamp: 81;
  line-clamp: 81;
}
.dotdotdot--82 {
  -webkit-line-clamp: 82;
  line-clamp: 82;
}
.dotdotdot--83 {
  -webkit-line-clamp: 83;
  line-clamp: 83;
}
.dotdotdot--84 {
  -webkit-line-clamp: 84;
  line-clamp: 84;
}
.dotdotdot--85 {
  -webkit-line-clamp: 85;
  line-clamp: 85;
}
.dotdotdot--86 {
  -webkit-line-clamp: 86;
  line-clamp: 86;
}
.dotdotdot--87 {
  -webkit-line-clamp: 87;
  line-clamp: 87;
}
.dotdotdot--88 {
  -webkit-line-clamp: 88;
  line-clamp: 88;
}
.dotdotdot--89 {
  -webkit-line-clamp: 89;
  line-clamp: 89;
}
.dotdotdot--90 {
  -webkit-line-clamp: 90;
  line-clamp: 90;
}
.dotdotdot--91 {
  -webkit-line-clamp: 91;
  line-clamp: 91;
}
.dotdotdot--92 {
  -webkit-line-clamp: 92;
  line-clamp: 92;
}
.dotdotdot--93 {
  -webkit-line-clamp: 93;
  line-clamp: 93;
}
.dotdotdot--94 {
  -webkit-line-clamp: 94;
  line-clamp: 94;
}
.dotdotdot--95 {
  -webkit-line-clamp: 95;
  line-clamp: 95;
}
.dotdotdot--96 {
  -webkit-line-clamp: 96;
  line-clamp: 96;
}
.dotdotdot--97 {
  -webkit-line-clamp: 97;
  line-clamp: 97;
}
.dotdotdot--98 {
  -webkit-line-clamp: 98;
  line-clamp: 98;
}
.dotdotdot--99 {
  -webkit-line-clamp: 99;
  line-clamp: 99;
}

.expandable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.expandable .expandable__item .expandable__title {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  height: 8rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.expandable .expandable__item .expandable__title span {
  width: 1.5rem;
  margin-right: 2rem;
}
.expandable .expandable__item .expandable__title::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: auto;
  aspect-ratio: 1/1;
  background: var(--color-secondary);
  -webkit-mask: url(../img/harb-next.svg) left calc(50% - 0.5rem) top var(--padding-inline)/var(--mask-size) no-repeat;
          mask: url(../img/harb-next.svg) left calc(50% - 0.5rem) top var(--padding-inline)/var(--mask-size) no-repeat;
  opacity: 0;
  -webkit-transition: var(--transition-slow);
  transition: var(--transition-slow);
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.expandable .expandable__item .expandable__title.active {
  color: var(--color-secondary);
}
.expandable .expandable__item .expandable__title.active::after {
  -webkit-mask-position: left 50% top var(--padding-inline);
          mask-position: left 50% top var(--padding-inline);
  -webkit-transform: rotate(90deg) scaleX(-1);
      -ms-transform: rotate(90deg) scaleX(-1);
          transform: rotate(90deg) scaleX(-1);
  opacity: 1;
}
.expandable .expandable__item .expandable__title:hover {
  cursor: pointer;
  color: var(--color-secondary);
}
.expandable .expandable__item .expandable__title:hover::after {
  -webkit-mask-position: left 50% top var(--padding-inline);
          mask-position: left 50% top var(--padding-inline);
  opacity: 1;
}
.expandable .expandable__item .expandable__text {
  padding-block: 2rem;
  display: none;
  position: relative;
  border-top: 0.0625rem solid var(--color-primary-light);
}
@media only screen and (min-width: 40rem) {
  .expandable .expandable__item .expandable__text {
    padding-block: 4rem;
  }
}
.expandable .expandable__item:not(:first-of-type) .expandable__title {
  border-top: 0.0625rem solid var(--color-primary-light);
}

.fancybox img {
  border-radius: 0;
}
.fancybox .fancybox__slide {
  padding: 0;
}
.fancybox .fancybox__nav svg {
  display: none;
}
.fancybox .fancybox__nav .f-button.is-next, .fancybox .fancybox__nav .f-button.is-prev {
  border: none;
  pointer-events: all;
  display: block;
  width: 3rem;
  height: 3rem;
  background: transparent;
  border-radius: var(--border-radius-round);
  -webkit-transition: var(--transition);
  transition: var(--transition);
  right: var(--padding-inline);
}
.fancybox .fancybox__nav .f-button.is-next::after, .fancybox .fancybox__nav .f-button.is-prev::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-light);
  -webkit-mask: url(../img/google-arrow_forward_ios_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg) center center/var(--mask-size) no-repeat;
          mask: url(../img/google-arrow_forward_ios_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg) center center/var(--mask-size) no-repeat;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.fancybox .fancybox__nav .f-button.is-next:hover, .fancybox .fancybox__nav .f-button.is-prev:hover {
  cursor: pointer;
  background: var(--color-secondary);
  -webkit-transform: translateY(-50%) var(--transform-scale-large);
      -ms-transform: translateY(-50%) var(--transform-scale-large);
          transform: translateY(-50%) var(--transform-scale-large);
}
.fancybox .fancybox__nav .f-button.is-next.disabled, .fancybox .fancybox__nav .f-button.is-prev.disabled {
  opacity: 0.25;
  pointer-events: none;
}
.fancybox .fancybox__nav .f-button.is-prev {
  right: auto;
  left: var(--padding-inline);
}
.fancybox .fancybox__nav .f-button.is-prev::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

.file {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  width: 100%;
}
.file .file__item {
  border: 0.0625rem solid var(--color-light);
  border-radius: var(--border-radius-large);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 1rem;
  position: relative;
  color: var(--color-black);
  font-weight: var(--font-weight-medium);
}
.file .file__item .file__extention {
  background: var(--color-secondary);
  border-radius: var(--border-radius-large);
  font-size: var(--font-size-small);
  padding-inline: 0.5rem;
  color: var(--color-black);
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.file .file__item .file__size {
  font-size: var(--font-size-small);
  color: var(--color-tertiary);
}
.file .file__item .file__text {
  width: 100%;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.file .file__item::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 3rem;
  height: 3rem;
  background: var(--color-black);
  -webkit-mask: url(../img/google-arrow_downward_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg) center center/var(--mask-size) no-repeat;
          mask: url(../img/google-arrow_downward_24dp_E3E3E3_FILL0_wght400_GRAD0_opsz24.svg) center center/var(--mask-size) no-repeat;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.file .file__item:hover .file__extention {
  background: var(--color-primary);
  color: var(--color-light);
}
.file .file__item:hover::after {
  background: var(--color-secondary);
}

.link, .text a:not(.button) {
  color: var(--color-secondary);
  -webkit-transition: var(--transition-slow);
  transition: var(--transition-slow);
}
.link:hover, .text a:hover:not(.button) {
  color: var(--color-tertiary);
}

.quote {
  position: relative;
  padding-left: max(2rem, var(--padding-inline));
  font-size: var(--font-size-medium);
  text-wrap: balance;
  border-left: 0.0625rem solid var(--color-light);
  z-index: 1;
  width: 100%;
}
.quote::before, .quote::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 3rem;
  height: 3rem;
  background: var(--color-light);
}
.quote::after {
  background: var(--color-secondary);
  -webkit-mask: url(../img/harb-quote.svg) center center/var(--mask-size) no-repeat;
          mask: url(../img/harb-quote.svg) center center/var(--mask-size) no-repeat;
}
.quote cite {
  font-size: var(--font-size-regular);
  font-weight: var(--font-weight-medium);
  font-style: normal;
  margin-top: 2rem;
}
.quote cite::before {
  content: "– ";
}

.text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  row-gap: 2rem;
  padding-inline: var(--padding-inline);
}
.text h1, .text h2, .text h3, .text h4 {
  font-family: var(--font-family-primary);
  line-height: var(--line-height-tiny);
  font-weight: var(--font-weight-bold);
  color: var(--color-light);
  text-wrap: balance;
}
.text h1 strong, .text h2 strong, .text h3 strong, .text h4 strong {
  font-weight: var(--font-weight-black);
}
.text h1 {
  font-size: var(--font-size-insane);
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  font-weight: bold;
  color: var(--color-secondary);
}
.text h2 {
  font-size: var(--font-size-huge);
  font-weight: var(--font-weight-black);
  color: var(--color-secondary);
  font-weight: var(--font-weight-bold);
}
.text h3 {
  font-size: var(--font-size-large);
  color: var(--color-light);
}
.text h4 {
  font-size: var(--font-size-medium);
  color: var(--color-secondary);
}
.text p {
  max-width: 40rem;
  color: var(--color-light);
}
.text > ul:not(.custom) {
  width: 100%;
}
.text > ul:not(.custom) > li {
  padding-left: 2rem;
  border-bottom: 0.0625rem solid var(--color-primary-light);
  padding-block: 1rem;
  position: relative;
}
.text > ul:not(.custom) > li:first-child {
  padding-top: 0;
}
.text > ul:not(.custom) > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.text > ul:not(.custom) > li::before {
  content: "•";
  font-weight: var(--font-weight-black);
  position: absolute;
  left: 1rem;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  color: var(--color-secondary);
}
.text > ul:not(.custom) > li ul > li {
  border: none;
  padding-left: 2rem;
  padding-block: 0.5rem;
  position: relative;
}
.text > ul:not(.custom) > li ul > li::before {
  content: "•";
  font-weight: var(--font-weight-black);
  position: absolute;
  left: 1rem;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  color: var(--color-primary);
}

.video {
  width: 100%;
  overflow: hidden;
  position: relative;
  border-radius: var(--border-radius-large);
}
.video img {
  position: absolute;
  inset: 0;
  z-index: 1;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.video iframe,
.video video {
  width: 100%;
  aspect-ratio: 16/9;
  pointer-events: none;
}
.video::before, .video::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 3rem;
  height: 3rem;
  background: var(--color-primary);
  pointer-events: none;
  z-index: 2;
  border-radius: var(--border-radius-round);
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.video::after {
  background: var(--color-light);
  -webkit-mask: url(../img/google-play_arrow_24dp_E3E3E3_FILL1_wght400_GRAD0_opsz24.svg) center center/var(--mask-size) no-repeat;
          mask: url(../img/google-play_arrow_24dp_E3E3E3_FILL1_wght400_GRAD0_opsz24.svg) center center/var(--mask-size) no-repeat;
}
.video:hover {
  cursor: pointer;
}
.video:hover::before {
  background: var(--color-secondary);
}
.video:hover::before, .video:hover::after {
  -webkit-transform: translate(-50%, -50%) var(--transform-scale-large);
      -ms-transform: translate(-50%, -50%) var(--transform-scale-large);
          transform: translate(-50%, -50%) var(--transform-scale-large);
}
.video.active img, .video.active::before, .video.active::after {
  opacity: 0;
  pointer-events: none;
}
.video.active iframe,
.video.active video {
  pointer-events: all;
}

.wrapper {
  --grid-columns: 4;
  --grid-column-gap: 0;
  --grid-side: 2rem;
  --grid-row-gap: 4rem;
  display: grid;
  grid-template-columns: 1fr repeat(var(--grid-columns), calc(min(100% - var(--grid-side) * 2, 100rem) / var(--grid-columns))) 1fr;
  row-gap: var(--grid-row-gap);
}
@media only screen and (min-width: 40rem) {
  .wrapper {
    --grid-side: 4rem;
  }
}
@media only screen and (min-width: 80rem) {
  .wrapper {
    --grid-side: 8rem;
    --grid-row-gap: 8rem;
  }
}
.wrapper > * {
  grid-column: 2/-2;
}
.wrapper > *.left,
.wrapper > * > *.left {
  grid-column: 2/-2;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media only screen and (min-width: 80rem) {
  .wrapper > *.left,
  .wrapper > * > *.left {
    grid-column: 2/4;
  }
}
.wrapper > *.center,
.wrapper > * > *.center {
  grid-column: 2/-2;
  justify-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.wrapper > *.center .text,
.wrapper > * > *.center .text {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.wrapper > *.center .text *,
.wrapper > * > *.center .text * {
  text-align: center;
}
.wrapper > *.right,
.wrapper > * > *.right {
  grid-column: 2/-2;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media only screen and (min-width: 80rem) {
  .wrapper > *.right,
  .wrapper > * > *.right {
    grid-column: 4/-2;
  }
}

/* ================================
   IMPORTS - COMPONENTS & PARTIALS
   ================================ */
.header {
  padding-block: 2rem;
  border-bottom: 1px solid var(--color-primary-light);
}
.header .header__logo {
  grid-row: 1/-1;
}
.header .header__logo img {
  height: 4rem;
  width: auto;
}
.header .header__social {
  justify-self: end;
  grid-row: 1/-1;
}
.header .header__social ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
.header .header__social ul li a {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: var(--color-primary-light);
  -webkit-transition: var(--transition-slow);
  transition: var(--transition-slow);
  position: relative;
  -webkit-mask: url(../img/icon.svg) center center/100% 100% no-repeat;
          mask: url(../img/icon.svg) center center/100% 100% no-repeat;
}
.header .header__social ul li a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-secondary);
}
.header .header__social ul li a.linkedin::after {
  -webkit-mask: url(../img/social-linkedin.svg) center center/25% 25% no-repeat;
          mask: url(../img/social-linkedin.svg) center center/25% 25% no-repeat;
}
.header .header__social ul li a.instagram::after {
  -webkit-mask: url(../img/social-instagram.svg) center center/25% 25% no-repeat;
          mask: url(../img/social-instagram.svg) center center/25% 25% no-repeat;
}
.header .header__social ul li a.facebook::after {
  -webkit-mask: url(../img/social-facebook.svg) center center/25% 25% no-repeat;
          mask: url(../img/social-facebook.svg) center center/25% 25% no-repeat;
}
.header .header__social ul li a:hover {
  -webkit-transform: var(--transform-scale-large);
      -ms-transform: var(--transform-scale-large);
          transform: var(--transform-scale-large);
}

.construction {
  min-height: calc(100vh - 16rem);
  min-height: calc(100svh - 16rem);
  padding-block: 4rem;
}
@media only screen and (min-width: 80rem) {
  .construction {
    padding-block: 8rem;
  }
}
.construction .construction__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  padding-block: 0rem;
  -ms-flex-item-align: center;
      align-self: center;
  justify-self: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-items: center;
}
.construction .text#feedback {
  display: none;
}
.construction .text#feedback.success {
  display: block;
}
.construction .form {
  padding-inline: var(--padding-inline);
}
.construction .form form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border: 1px solid var(--color-secondary);
  -webkit-transform: skew(-16deg);
      -ms-transform: skew(-16deg);
          transform: skew(-16deg);
}
.construction .form form > * {
  padding-block: 0.5rem;
  padding-inline: 2rem;
  border: none;
  width: 100%;
}
@media only screen and (min-width: 40rem) {
  .construction .form form > * {
    width: auto;
  }
}
.construction .form form input {
  background: transparent;
  color: var(--color-light);
  text-align: center;
}
@media only screen and (min-width: 40rem) {
  .construction .form form input {
    text-align: left;
  }
}
.construction .form form button {
  background: var(--color-secondary);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
.construction .form form button:hover {
  cursor: pointer;
}

.footer {
  padding-block: 2rem;
  border-top: 1px solid var(--color-primary-light);
}
.footer p {
  line-height: 4rem;
}