/*==========================COLORS==========================*/
:root {
  --bclr: #111111;
  --bclr2: #171617;
  --bclr3: black;
  --mclr: #A88E79;
  --mclr2: #DDCFC4;
  --wclr: #FFF;
  --gclr: #B7B7B7;

  --padding: 25px;
  --shadow: rgba(0, 0, 0, 0.16) 0 0px 10px 15px
}
/*==========================FONTS==========================*/
@font-face {
  font-family: 'nexabold';
  font-style: normal;
  font-weight: normal;
  src: url('../fonts/nexa-bold.woff') format('woff');
  font-display: swap
}
@font-face {
  font-family: 'texgyrepagellabold';
  font-style: normal;
  font-weight: normal;
  src: url('../fonts/texgyrepagella-bold.woff2') format('woff2');
  font-display: swap
}
@font-face {
  font-family: 'manrope';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/manrope-thin.woff2');
  font-display: swap
}
@font-face {
  font-family: 'manrope';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/manrope-regular.woff2');
  font-display: swap
}
@font-face {
  font-family: 'manrope';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/manrope-bold.woff2');
  font-display: swap
}
/*==========================ICONS==========================*/
@font-face {
  font-family: 'fontello';
  src: url('../fonts/fontello.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap
}

[class*="icon-"]:before {
  font-family: "fontello";
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1
}

.icon-twitter:before {content:'\f099'}
.icon-github:before {content:'\f09b'}
.icon-whatsapp:before {content:'\f232'}
.icon-hand-pointer:before {content:'\f25a'}
.icon-right-open:before {content:'\e800'}
.icon-link:before {content:'\e801'}
/*==========================MAIN==========================*/
html {
  position: relative;
  min-height: 100%
}
body {
  margin: 0;
  background: var(--bclr)
}

a, 
a:visited {
  color: inherit;
  text-decoration: none
}

[class*="animate"] {
  opacity: 0
}
/*==========================COMPONENTS==========================*/
.wrapper {
  display: flex;
  margin: auto;
  padding: var(--padding);
  min-height: calc(
    100vh - ((111px + (var(--padding) * 4)) + (var(--padding) * 2))
  )
}

.overlay {
  background-color: var(--bclr3);
  visibility: hidden;
  opacity: 0;
  width: 100vw;
  height: 100vh;
  top: 0;
  right: 0;
  position: fixed;
  z-index: 1;
  transition: all 400ms
}
.overlay.show {
  opacity: .5;
  visibility: visible
}

.contentFlex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: auto
}

.line { 
  height: 1px;
  background-color: var(--mclr);
  width: 100%;
  opacity: .5
}

[tooltip] {
  position: relative
}
[tooltip]::after {
  text-transform: none;
  font-size: 16px;
  line-height: 1.4;
  user-select: none;
  pointer-events: none;
  position: absolute;
  display: none;
  opacity: 0;
  left: 50%;
  transform: translate(-50%, .6px)
}
[tooltip]::after {
  content: attr(tooltip);
  font: 400 13px manrope;
  text-align: center;
  min-width: 200px;
  padding: 10px;
  border-radius: 5px;
  box-shadow: var(--shadow);
  background: var(--bclr3)!important;
  color: var(--wclr)!important;
  z-index: 1;
  top: calc(100% + 10px)
}
[tooltip]:hover::after {
  display: block;
  animation: animateTip 300ms ease-out forwards
}

@keyframes animateTip {to {opacity:1;transform: translate(-50%, 0)}}
/*==========================NAVIGATION==========================*/
.nav {
  min-height: 41px;
  padding: var(--padding)
}
.navBackground {
  position: fixed;
  width: 0%;
  right: 0;
  top: 0;
  height: 100vh;
  padding: 0;
  z-index: 2;
  overflow: hidden;
  transition: all 400ms
}
.navBackground.show {
  background-color: var(--bclr3);
  box-shadow: rgba(0, 0, 0, 0.64) 0 0px 24px 8px;
  width: 100vw
}
.navLogo, 
.navContent {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  z-index: 2
}
.navLogo {
  filter: brightness(0) invert(1);
  height: 38px
}
.navContent {
  text-align: right;
  margin-top: 5px;
  cursor: pointer
}
.navContent.show {
  position: fixed;
  top: var(--padding);
  right: var(--padding)
}
.navText {
  font: 400 18px manrope, sans-serif;
  text-transform: uppercase;
  color: var(--wclr)
}
.navText,
.navIcon {
  vertical-align: middle;
  display: inline
}
.navIcon {
  display: inline-block;
  padding: 10px 0 10px 10px;
  transition: all 200ms;
  width: 23px
}
.navIcon div {
  background-color: var(--wclr);
  border-radius: 3px;
  margin-bottom: 5px;
  display: block;
  width: 23px;
  height: 2px;
  transition: all 200ms
}
.navIcon div:nth-child(2) {
  width: 14px
}
.navIcon div:last-child {
  width: 18px;
  margin-bottom: 0
}
.navContent:hover > .navIcon div {
  width: 14px
}
.navContent:hover > .navIcon div:nth-child(2) {
  width: 19px
}
.navContent:hover > .navIcon div:last-child {
  width: 22px
}
.navBackgroundContainer {
  position: absolute;
  right: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}
.navLinks {
  text-align: center;
  list-style-type: none;
  padding: 0
}
.navLink {
  font: 400 34px manrope, sans-serif;
  text-transform: uppercase;
  color: var(--wclr);
  letter-spacing: 1px;
  transition: all 200ms ease
}
.navLink a {
  display: block
}
.navLink a:hover {
  transition: all 200ms ease;
  padding-left: 5px
}
/*==========================FOOTER==========================*/
.footer {
  color: var(--mclr2);
  font: 200 16px manrope, sans-serif;
  text-align: center;
  animation-fill-mode: both;
  padding: var(--padding);
  display: block
}
.footerIcons, 
.footerText {
  display: inline-block
}
.footerText {
  margin-left: 5px
}
.footerIcons a {
  padding: 10px 7px;
  transition: all 200ms
}
.footerIcons a:hover {
  color: var(--mclr);
  transition: all 200ms
}
.footerIcons i {
  font-size: 24px
}
/*==========================LINKS==========================*/
.link {
  font-weight: 200;
  transition: all 200ms;
  text-decoration: underline;
  color: inherit
}
.link.main:hover {
  color: var(--mclr)
}
.link.white:hover {
  color: var(--wclr)
}
/*==========================TYPOGRAPHY==========================*/
.h1 {
  font: 56px texgyrepagellabold, serif
}
.h2 {
  font: 24px nexabold, sans-serif
}
.p {
  font: 400 15px manrope, sans-serif
}

.fs23 {
  font-size: 23px!important
}
.fs13 {
  font-size: 13px!important
}

.fwBold {
  font-weight: 700!important
}
.fwReg {
  font-weight: 400!important
}
.fwThin {
  font-weight: 200!important
}

.fs23,
.fs13,
.fwReg,
.fwThin,
.fwBold {
  font-family: manrope, sans-serif!important
}

.ffNexa {
  font-family: nexabold, sans-serif!important
}

.tmclr {
  color: var(--mclr)
}
.twclr {
  color: var(--wclr)
}
.tgclr {
  color: var(--gclr)
}

.bigText {
  font-family: texgyrepagellabold, serif;
  color: var(--bclr);
  text-shadow: -2px -2px 0 #a88e790a, 2px -2px 0 #a88e790a, -2px 2px 0 #a88e790a, 2px 2px 0 #a88e790a;
  position: fixed;
  z-index: -1;
  font-size: 310px
}
/*==========================BTNS==========================*/
.btn {
  cursor: pointer;
  background-color: var(--wclr);
  color: var(--bclr)!important;
  font: 400 16px manrope, sans-serif;
  padding: 2px 20px;
  border-radius: 20px;
  transition: all 200ms;
  display: inline-block;
  width: fit-content
}
.btn,
.btnIco {
  vertical-align: middle
}
.btnIco {
  width: 17px;
  height: 17px;
  margin-left: 5px
}
/*==========================LOADER==========================*/
#loader {
  position:fixed;
  z-index:99;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--bclr);
  display: flex;
  justify-content: center;
  align-items: center
}
#loader.fadeOutAnimation .preloader div {
  animation: none
}
#loader .preloader {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px
}
#loader .preloader div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 51px;
  height: 51px;
  margin: 6px;
  border: 6px solid var(--mclr);
  border-radius: 50%;
  animation: preloader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: var(--mclr) transparent transparent transparent
}
#loader .preloader div:nth-child(1) {
  animation-delay: -0.45s
}
#loader .preloader div:nth-child(2) {
  animation-delay: -0.3s
}
#loader .preloader div:nth-child(3) {
  animation-delay: -0.15s
}
@keyframes preloader {
  0% {
    transform: rotate(0deg)
  }
  100% {
    transform: rotate(360deg)
  }
}
/*==========================ANIMATIONS==========================*/
.fadeOutAnimation {
  animation: fadeOut 200ms forwards;
}
@keyframes fadeOut {
  100% {
    opacity: 0;
    visibility: hidden
  }
}

.slideDownAnimation {
  animation: slide 1.2s cubic-bezier(.165,.84,.44,1) 1 forwards reverse
}

.slideUpAnimation {
  animation: slide 1.2s cubic-bezier(.165,.84,.44,1) 1 forwards
}

@keyframes slide {
  0% {
    opacity: 0;
    transform:translateY(100px)
  }
  50% {
    opacity: 0;
    transform:translateY(50px)
  }
  100% {
    opacity:1;
    transform:translateY(0)
  }
}

.dragAnimation {
  animation: dragAnimation 4s cubic-bezier(0.5, 0, 0.5, 1) 2 forwards
}
@keyframes dragAnimation {
  0% {
    transform: translateX(50px) translateY(50px);
    opacity: 0
  }
  20% {
    transform: translateX(50px) translateY(15px);
    opacity: 1
  }
  50% {
    transform: translateX(250px) translateY(15px);
  }
  80% {
    transform: translateX(50px) translateY(15px);
    opacity: 1
  }
  100% {
    transform: translateX(50px) translateY(50px);
    opacity: 0
  }
}
/*==========================RESPONSIVE==========================*/
@media screen and (min-width: 1072px) {
  .wrapper {
    min-height: calc(
      100vh - ((83px + (var(--padding) * 4) + 20px) + ((var(--padding) * 2) + 10px))
    )
  }
  .wrapper,
  .nav,
  .footer {
    padding: calc(var(--padding) + 5px) calc((var(--padding) * 2) + 5px)
  }
  .footer {
    display: flex
  }
  .footerContent {
    display: inline-block
  }  
  .h1 {
    font-size: 84px
  }
  .h2 {
    font-size: 36px
  }
  .navBackground.show {
    width: 25%
  }
  .navContent.show {
    position: fixed;
    top: calc(var(--padding) + 5px);
    right: calc((var(--padding)*2) + 5px)
  }
}