@charset "UTF-8";
/* Box-sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Margem */
* {
  margin: 0;
}

/* Tipografia */
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* Mídia */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

/* Fontes */
input, button, textarea, select {
  font: inherit;
}

/* Overflow */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

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

/* Cores */
/* $bg-gold é uma graduação de cor para background das linhas douradas e do botão 'enviar' localizado no footer*/
/* Width */
/* Height */
/* Margem - Padding - Gap */
/* Gap */
/* Padding  */
/* Margin */
/* Famílias de Fontes */
/* Font Weight */
/* Icon Size */
/* Font Size - variáveis utilizadas no arquivo font-size */
/* H1 */
/* H2 */
/* 20px a 24px*/
/* 24px a 36px*/
/* 36px a 42px*/
/* 42px*/
/* H3 */
/* 18px a 22px*/
/* 22px a 28px*/
/* 28px a 34px*/
/* 34px*/
/* Parágrafos */
/* 16px */
/* 18.4px */
/* 20px */
/* 24px */
/* Breakpoints */
/* Terminar de Revisar com base no link - https://gist.github.com/halofx/635ac22fd88a45e06480 e https://www.smashingmagazine.com/2015/06/responsive-typography-with-sass-maps/*/
/* Mixin Display Flex */
/* Mixin para Grid */
body {
  font-family: "Noto Sans", sans-serif;
  font-weight: 300;
  background-color: #151515;
  color: white;
}

h1, h2 {
  font-family: "Noto Serif", serif;
}

h3, h4, h5, h6 {
  font-family: "Nunito Sans", sans-serif;
}

h1 {
  font-size: clamp(2rem, -2rem + 20vw, 2.5rem);
  margin: 1.6rem 0;
  font-weight: 700;
}
@media only screen and (min-width: 360px) {
  h1 {
    font-size: clamp(2.5rem, 0.731rem + 7.8624vw, 4.5rem);
  }
}
@media only screen and (min-width: 768px) {
  h1 {
    font-size: clamp(4.5rem, -2.0455rem + 13.6364vw, 7.5rem);
  }
}
@media only screen and (min-width: 1200px) {
  h1 {
    font-size: 7.5rem;
  }
}

h2 {
  font-size: clamp(1.25rem, -0.75rem + 10vw, 1.5rem);
  margin-bottom: 3.75rem;
  font-weight: 500;
}
@media only screen and (min-width: 360px) {
  h2 {
    font-size: clamp(1.5rem, 0.8382rem + 2.9412vw, 2.25rem);
  }
}
@media only screen and (min-width: 768px) {
  h2 {
    font-size: clamp(2.25rem, 1.5833rem + 1.3889vw, 2.625rem);
  }
}
@media only screen and (min-width: 1200px) {
  h2 {
    font-size: 2.625rem;
  }
}

h3 {
  font-size: 1.5rem;
  font-weight: 400;
}
@media only screen and (min-width: 360px) {
  h3 {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 768px) {
  h3 {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 1200px) {
  h3 {
    font-size: 2rem;
  }
}

h4 {
  font-size: 1.2rem;
  font-weight: 400;
}
@media only screen and (min-width: 360px) {
  h4 {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 768px) {
  h4 {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 1200px) {
  h4 {
    font-size: 1.75rem;
  }
}

p {
  font-size: 1rem;
  margin-bottom: 3.75rem;
  font-weight: 300;
}
@media only screen and (min-width: 360px) {
  p {
    font-size: 1.15rem;
  }
}
@media only screen and (min-width: 768px) {
  p {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 1200px) {
  p {
    font-size: 1.5rem;
  }
}

.link {
  color: white;
  -webkit-text-decoration: underline #d4af37 solid 1.5px;
          text-decoration: underline #d4af37 solid 1.5px;
  text-underline-offset: 0.5rem;
  transition: all 0.3ms ease-in-out;
  padding-right: 2rem;
}

.link:hover {
  -webkit-text-decoration: underline white solid 1.5px;
          text-decoration: underline white solid 1.5px;
  cursor: pointer;
}

.link:active {
  -webkit-text-decoration: underline white solid 1.5px;
          text-decoration: underline white solid 1.5px;
  cursor: pointer;
}

/* Desktop - Header */
.header {
  max-width: 70rem;
  height: 50rem;
  position: relative;
  margin: 0 auto 7rem auto;
}
.header__social {
  position: absolute;
  top: 1.875rem;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  z-index: 2;
}
.header__icon {
  color: white;
  font-style: 1.5rem;
  padding-right: 1.5rem;
  font-size: 2rcap;
}
.header__icon:hover, .header__icon:active {
  color: #151515;
}
.header__presentation {
  width: 100%;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
.header__line-gold, .header__line-gold--short {
  height: 4px;
  background-image: radial-gradient(ellipse farthest-corner at right bottom, #FEDB37 0%, #FDB931 8%, #9f7928 30%, #8A6E2F 40%, transparent 80%), radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #D1B464 25%, #5d4a1f 62.5%, #5d4a1f 100%);
}
.header__figure {
  z-index: 0;
}
.header__photo {
  height: 50rem;
  position: absolute;
  bottom: 0;
  right: 0;
}

/* Desktop - Main */
.main {
  max-width: 70rem;
  margin: 0 auto 7rem auto;
  /* Lista de tecnologias na apresentação - article1 */
  /* article2 */
  /* Lista de tecnologias utilizadas em cada projeto - article2 */
}
.main__hard-skills {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: 7.15%;
       column-gap: 7.15%;
  margin-bottom: 7rem;
}
@media (min-width: 476px) {
  .main__container-grid {
    max-width: 70rem;
    display: grid;
    grid-template-columns: 48.57% 48.57%;
    grid-auto-rows: minmax(10rem, auto);
    -moz-column-gap: 2.86%;
         column-gap: 2.86%;
    row-gap: 4rem;
  }
}
@media (max-width: 475px) {
  .main__container-grid {
    grid-template-columns: 100%;
  }
}
.main__picture {
  margin-bottom: 1.75rem;
}
.main__hSkills {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: 7.15%;
       column-gap: 7.15%;
  margin-top: 0.75rem;
  margin-bottom: 1.5rem;
}
.main__links {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: 7.15%;
       column-gap: 7.15%;
  text-transform: uppercase;
  transition: all 0.3ms ease-in-out;
}

/* Desktop - Footer */
.footer {
  position: relative;
  background-color: #464646;
  margin: 0;
  /*
  &__bg-img {
      position: absolute;
      height: 100%;
      bottom: 0;
      z-index: 0;
      opacity: 0.75;
  } */
}
.footer__container-flex {
  max-width: 70rem;
  margin: 0 auto;
  padding: 7rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
.footer__container-contato {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  gap: 5.72%;
}
.footer__apresentacao {
  width: 60%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.footer p {
  font-size: 1.25rem;
}
.footer p, .footer h2, .footer form, .footer h4, .footer a {
  z-index: 1;
}
.footer__formulario {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
}
.footer__label {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.footer__email, .footer__textarea {
  width: 100%;
  margin: 0 0 0.5rem 0;
  color: white;
  background-color: #464646;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #d4af37;
}
.footer__button {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border: none;
  border-radius: 0.5rem;
  color: white;
  font-weight: 500;
  text-transform: uppercase;
  background-image: radial-gradient(ellipse farthest-corner at right bottom, #FEDB37 0%, #FDB931 8%, #9f7928 30%, #8A6E2F 40%, transparent 80%), radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #D1B464 25%, #5d4a1f 62.5%, #5d4a1f 100%);
  transition: all 0.3ms ease-in-out;
  /* Sombreado do botão */
  box-shadow: 6px 6px 16px 8px rgba(0, 0, 0, 0.5);
}
.footer__line-gold {
  width: 100%;
  height: 4px;
  margin-top: 3.5rem;
  margin-bottom: 1.75rem;
  background-image: radial-gradient(ellipse farthest-corner at right bottom, #FEDB37 0%, #FDB931 8%, #9f7928 30%, #8A6E2F 40%, transparent 80%), radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #D1B464 25%, #5d4a1f 62.5%, #5d4a1f 100%);
}
.footer__container-midia {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
.footer__social {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}
.footer__icon {
  color: white;
  font-style: 1.5rem;
  padding-left: 1.5rem;
  font-size: 2rcap;
}
.footer__icon:hover, .footer__icon:active {
  color: #d4af37;
}

/* Media query - mobiles */
@media (min-width: 320px) and (max-width: calc(768px - 1px)) {
  h2 {
    margin-bottom: 2rem;
  }
  p {
    margin-bottom: 2rem;
  }
  /* Mobile - Header */
  .header {
    max-width: 43.9375rem;
    height: 24rem;
    margin: 0 2rem 3.6rem 2rem;
  }
  .header__social {
    top: 1rem;
  }
  .header__photo {
    height: 24rem;
  }
  /* Mobile - Main */
  .main {
    max-width: 43.9375rem;
    margin: 0 2rem 3.6rem 2rem;
    /* Mobile - Lista de tecnologias na apresentação - article1 */
    /* article2 */
    /* Lista de tecnologias utilizadas em cada projeto - article2 */
  }
  .main__hard-skills {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 3.6rem;
  }
  .main__picture {
    margin-bottom: 0.9rem;
  }
  .main__hSkills {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }
  .main__links {
    margin-bottom: 3rem;
  }
  /* Mobile - Footer */
  .footer {
    max-width: 100vw;
    position: relative;
    background-color: #464646;
    margin: 0;
  }
  .footer__container-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    max-width: 43.9375rem;
    margin: 0 auto;
    padding: 3.6rem 2rem;
  }
  .footer__container-contato {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    gap: 2.86%;
  }
  .footer__formulario {
    width: 100%;
  }
  .footer__email, .footer__textarea {
    border-bottom: 1px solid #d4af37;
  }
  .footer__apresentacao {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .footer p {
    font-size: 1rem;
  }
  .footer__label {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  .footer__line-gold {
    width: 100%;
    height: 4px;
    margin-top: 1.8rem;
    margin-bottom: 3.6rem;
    background-image: radial-gradient(ellipse farthest-corner at right bottom, #FEDB37 0%, #FDB931 8%, #9f7928 30%, #8A6E2F 40%, transparent 80%), radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #D1B464 25%, #5d4a1f 62.5%, #5d4a1f 100%);
  }
  .footer__container-midia {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
  }
  .footer__social {
    margin-top: 0.9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }
  .footer__icon {
    color: white;
    font-style: 1.5rem;
    padding-right: 1.5rem;
    font-size: 2rcap;
  }
  .footer__icon:hover, .footer__icon:active {
    color: #d4af37;
  }
}
/* Media query - tablets */
@media (min-width: 768px) and (max-width: calc(1200px - 1px)) {
  h2 {
    margin-bottom: 2.5rem;
  }
  p {
    margin-bottom: 2.5rem;
  }
  /* Tablet - Header */
  .header {
    max-width: 70rem;
    height: 37.5rem;
    margin: 0 2.5rem 5rem 2.5rem;
  }
  .header__social {
    top: 1.25rem;
  }
  .header__photo {
    height: 37.5rem;
  }
  /* Tablet - Main */
  .main {
    max-width: 70rem;
    margin: 0 2.5rem 5rem 2.5rem;
    /* Mobile - Lista de tecnologias na apresentação - article1 */
    /* article2 */
    /* Lista de tecnologias utilizadas em cada projeto - article2 */
  }
  .main__hard-skills {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 5rem;
  }
  .main__picture {
    margin-bottom: 1.25rem;
  }
  .main__hSkills {
    margin-top: 0.625rem;
    margin-bottom: 1.25rem;
  }
  .main__links {
    margin-bottom: 3.75rem;
  }
  /* Tablet - Footer */
  .footer {
    width: 100vw;
    position: relative;
    background-color: #464646;
    margin: 0;
  }
  .footer__container-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    max-width: 70rem;
    margin: 0 auto;
    padding: 5rem 2.5rem;
  }
}/*# sourceMappingURL=style.css.map */