* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
  overflow-x: hidden;
  cursor: url('data:image/svg+xml,<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_1206_2)"><path d="M30.5 12.5L6.99999 3.49999C2.99999 1.09999 2.33332 3.83333 2.49999 5.49999C4.99999 12.3333 10.4 26.8 12 30C13.6 33.2 15 31.3333 15.5 30C16 26 17.2 17.8 18 17C19 16 26 16 29 15.5C31.4 15.1 31 13.3333 30.5 12.5Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M1.06174 4.95838C0.149327 2.52531 2.52533 0.149331 4.95838 1.06174L30.8976 10.7889C33.7823 11.8707 33.3948 16.0681 30.3609 16.6035L18.6671 18.6671L16.6035 30.3609C16.0681 33.3948 11.8707 33.7823 10.7889 30.8976L1.06174 4.95838ZM3.89567 3.89567L13.6229 29.8349L15.6864 18.141C15.9075 16.8883 16.8883 15.9075 18.141 15.6864L29.8349 13.6229L3.89567 3.89567Z" fill="%230F0F0F"/></g><defs><clipPath id="clip0_1206_2"><rect width="33" height="33" fill="white"/></clipPath></defs></svg>'), auto;
}

body {
  background: #040405;
  font-family: "Plus Jakarta Sans", sans-serif;
  overflow-x: hidden;
}

a, button, input[type=radio], input[type=checkbox] {
  cursor: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_1206_6)"><path d="M12.0871 13.1628L24.9528 14.2349L22.2725 20.1317L9.94286 21.2038L8.33466 17.4513L12.0871 13.1628Z" fill="white"/><path d="M30.6709 19.2382C30.6709 22.2713 29.466 25.1801 27.3213 27.3248C25.1766 29.4695 22.2678 30.6744 19.2347 30.6744" stroke="black" stroke-width="2.68035" stroke-linecap="round" stroke-linejoin="round"/><path d="M24.9528 14.9497V13.5202C24.9528 12.7619 24.6516 12.0347 24.1154 11.4985C23.5792 10.9623 22.852 10.6611 22.0938 10.6611C21.3355 10.6611 20.6083 10.9623 20.0721 11.4985C19.536 12.0347 19.2347 12.7619 19.2347 13.5202" fill="white"/><path d="M24.9528 14.9497V13.5202C24.9528 12.7619 24.6516 12.0347 24.1154 11.4985C23.5792 10.9623 22.852 10.6611 22.0938 10.6611C21.3355 10.6611 20.6083 10.9623 20.0721 11.4985C19.536 12.0347 19.2347 12.7619 19.2347 13.5202" stroke="black" stroke-width="2.68035" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.2348 13.5202V12.0906C19.2348 11.3324 18.9335 10.6052 18.3974 10.069C17.8612 9.53282 17.134 9.2316 16.3757 9.2316C15.6175 9.2316 14.8903 9.53282 14.3541 10.069C13.8179 10.6052 13.5167 11.3324 13.5167 12.0906V13.5202" fill="white"/><path d="M19.2348 13.5202V12.0906C19.2348 11.3324 18.9335 10.6052 18.3974 10.069C17.8612 9.53282 17.134 9.2316 16.3757 9.2316C15.6175 9.2316 14.8903 9.53282 14.3541 10.069C13.8179 10.6052 13.5167 11.3324 13.5167 12.0906V13.5202" stroke="black" stroke-width="2.68035" stroke-linecap="round" stroke-linejoin="round"/><path d="M13.5167 14.2349V4.94305C13.5167 4.18479 13.2155 3.45758 12.6793 2.92141C12.1431 2.38523 11.4159 2.08401 10.6576 2.08401C9.89939 2.08401 9.17218 2.38523 8.63601 2.92141C8.09983 3.45758 7.79861 4.18479 7.79861 4.94305V19.2382" fill="white"/><path d="M13.5167 14.2349V4.94305C13.5167 4.18479 13.2155 3.45758 12.6793 2.92141C12.1431 2.38523 11.4159 2.08401 10.6577 2.08401C9.89939 2.08401 9.17218 2.38523 8.63601 2.92141C8.09983 3.45758 7.79861 4.18479 7.79861 4.94305V19.2382" stroke="black" stroke-width="2.68035" stroke-linecap="round" stroke-linejoin="round"/><path d="M24.9528 14.9497C24.9528 14.1914 25.254 13.4642 25.7902 12.928C26.3264 12.3919 27.0536 12.0906 27.8119 12.0906C28.5701 12.0906 29.2973 12.3919 29.8335 12.928C30.3697 13.4642 30.6709 14.1914 30.6709 14.9497V19.2382C30.6709 22.2713 29.466 25.1801 27.3213 27.3248C25.1766 29.4695 22.2678 30.6744 19.2348 30.6744H16.3757C12.3731 30.6744 9.94289 29.445 7.81291 27.3293L2.66665 22.183C2.1748 21.6383 1.91127 20.9253 1.93062 20.1916C1.94997 19.458 2.25072 18.7598 2.7706 18.2418C3.29048 17.7238 3.98967 17.4255 4.7234 17.4087C5.45713 17.392 6.1692 17.658 6.71218 18.1518L9.22813 20.6677" fill="white"/><path d="M24.9528 14.9497C24.9528 14.1914 25.254 13.4642 25.7902 12.928C26.3264 12.3919 27.0536 12.0906 27.8119 12.0906C28.5701 12.0906 29.2973 12.3919 29.8335 12.928C30.3697 13.4642 30.6709 14.1914 30.6709 14.9497V19.2382C30.6709 22.2713 29.466 25.1801 27.3213 27.3248C25.1766 29.4695 22.2678 30.6744 19.2348 30.6744H16.3757C12.3731 30.6744 9.94289 29.445 7.81291 27.3293L2.66665 22.183C2.1748 21.6383 1.91127 20.9253 1.93062 20.1916C1.94997 19.458 2.25072 18.7598 2.7706 18.2418C3.29048 17.7238 3.98967 17.4255 4.7234 17.4087C5.45713 17.392 6.1692 17.658 6.71218 18.1518L9.22813 20.6677" stroke="black" stroke-width="2.68035" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="clip0_1206_6"><rect width="32" height="32" fill="white"/></clipPath></defs></svg>'), auto;
}

input[type=text], p, h1, h2, h3, h4, h5, h6 {
  cursor: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.59999 2.13333C9.01089 2.13333 8.53333 2.6109 8.53333 3.2C8.53333 3.7891 9.01089 4.26666 9.59999 4.26666C11.5672 4.26666 12.8851 4.75848 13.6976 5.46942C14.4914 6.16403 14.9333 7.18135 14.9333 8.53333V14.9333H12.2667C11.6776 14.9333 11.2 15.4109 11.2 16C11.2 16.5891 11.6776 17.0667 12.2667 17.0667H14.9333V23.4667C14.9333 24.8186 14.4914 25.8359 13.6976 26.5306C12.8851 27.2416 11.5672 27.7333 9.59999 27.7333C9.01089 27.7333 8.53333 28.211 8.53333 28.8C8.53333 29.389 9.01089 29.8667 9.59999 29.8667C11.8994 29.8667 13.7815 29.2917 15.1024 28.1361C15.4489 27.833 15.7476 27.4978 16 27.1356C16.2524 27.4978 16.5511 27.833 16.8976 28.1361C18.2184 29.2917 20.1006 29.8667 22.4 29.8667C22.989 29.8667 23.4667 29.389 23.4667 28.8C23.4667 28.211 22.989 27.7333 22.4 27.7333C20.4327 27.7333 19.1149 27.2416 18.3024 26.5306C17.5086 25.8359 17.0667 24.8186 17.0667 23.4667V17.0667H19.7333C20.3224 17.0667 20.8 16.5891 20.8 16C20.8 15.4109 20.3224 14.9333 19.7333 14.9333H17.0667V8.53333C17.0667 7.18135 17.5086 6.16403 18.3024 5.46942C19.1149 4.75848 20.4327 4.26666 22.4 4.26666C22.989 4.26666 23.4667 3.7891 23.4667 3.2C23.4667 2.6109 22.989 2.13333 22.4 2.13333C20.1006 2.13333 18.2184 2.70818 16.8976 3.86391C16.5511 4.1671 16.2524 4.50225 16 4.86449C15.7476 4.50225 15.4489 4.1671 15.1024 3.86391C13.7815 2.70818 11.8994 2.13333 9.59999 2.13333Z" fill="black"/></svg>'), auto;
}

p, ul, li, input, label {
  font-family: "Plus Jakarta Sans", sans-serif;
}

h1 {
  font-size: 5em;
  margin-bottom: 2.4rem;
  line-height: 1.4;
  max-width: 50%;
}
h1:after {
  content: "";
  display: block;
  width: 100px;
  height: 8px;
  margin-top: 20px;
  background: #0762C8;
}

h2 {
  font-size: 4rem;
  margin-bottom: 4rem;
  line-height: 1.5;
}

h3 {
  font-size: 2.4rem;
  margin-bottom: 1.8rem;
  line-height: 1.5;
  font-weight: 600;
}

p {
  font-size: 2rem;
  max-width: 60rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}
p:last-of-type {
  margin-bottom: 0;
}

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

.fadeInLeft {
  animation-fill-mode: forwards;
}

.container {
  max-width: 1470px;
  margin: 0 auto;
  padding: 0 3rem;
  display: flex;
  width: 100%;
}
.container.main {
  position: relative;
  flex-direction: column;
}

header {
  background: #040405;
  padding: 3rem 0;
  position: sticky;
  z-index: 1;
  top: 0;
}
header img {
  max-width: 13rem;
}
header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header ul {
  list-style: none;
  padding: 0;
}
header ul li {
  display: inline-block;
  font-size: 2rem;
  margin-left: 3rem;
  vertical-align: middle;
}
header ul li a {
  color: white;
  text-decoration: none;
}
header ul li a i {
  color: #0762C8;
}
header ul .social {
  display: inline-block;
}

main {
  padding: 10rem 0;
  display: flex;
  color: #fff;
  justify-content: center;
  align-items: center;
}
main h1 {
  font-weight: 600;
}

blockquote {
  padding: 4rem;
  background: #0762C8;
  margin-bottom: 5rem;
  border-bottom-right-radius: 15rem;
}
blockquote p {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  color: white;
}
blockquote p .q1, blockquote p .q2 {
  color: white;
  font-family: "Plus Jakarta Sans", sans-serif;
}
blockquote cite {
  color: white;
  font-size: 1.6rem;
  margin-top: 2rem;
  display: block;
}

section {
  padding: 10rem 0;
}

#about {
  background: white;
}
#about p a {
  color: #0762c8;
  font-weight: 600;
}
#about .intro {
  flex: 0 0 50%;
  padding-right: 8rem;
}
#about .intro img[alt="Foto Douglas Oliveira"] {
  border-top-right-radius: 15rem;
}
#about .text {
  flex: 0 0 40%;
}
#about .text div {
  position: sticky;
  top: 0;
}
#about .text img {
  /*animation: rotate 2s ease 2s forwards infinite;*/
  margin-bottom: 3rem;
  max-width: 40px;
}
#about blockquote img {
  border-radius: 50%;
  max-width: 75px;
  margin-bottom: 2rem;
  border: 5px solid #C19636;
}

#services {
  background: #0762C8;
  color: white;
}
#services .container {
  flex-direction: column;
}
#services .container p {
  margin-bottom: 3rem;
}
#services .container .services-list {
  display: flex;
  justify-content: space-between;
  list-style: none;
  gap: 2rem;
}
#services .service {
  border: 4px solid white;
  padding: 3rem;
  flex: 1 0 0;
}
#services .service img {
  max-height: 5rem;
  margin-bottom: 2rem;
}
#services .service p {
  font-size: 1.8rem;
  line-height: 1.5;
}

#projects {
  background: white;
}
#projects .container {
  flex-direction: column;
}
#projects .container .projects-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 5rem 2%;
}
#projects .container .projects-list .project {
  flex: 0 0 32%;
}
#projects .container .projects-list .project a {
  transition: all 0.2s ease;
}
#projects .container .projects-list .project a:hover, #projects .container .projects-list .project a:focus {
  opacity: 0.75;
  transition: all 0.2s ease;
}
#projects .container .projects-list .project h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.25rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: #202020;
}
#projects .container .projects-list .project small {
  color: #666;
  font-size: 1.5rem;
}

#contact {
  padding-top: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}
#contact a {
  color: white;
  text-decoration: none;
  font-size: 3rem;
  margin-bottom: 2rem;
  word-break: break-word;
  font-family: "Plus Jakarta Sans", sans-serif;
}
#contact a.btn-secondary {
  font-size: 1.8rem;
  color: #0762C8;
  margin-bottom: 4rem;
  margin-top: 0;
  display: flex;
  align-items: center;
  width: fit-content;
}
#contact a.btn-secondary img {
  margin-right: 2rem;
  max-width: 3.25rem;
}
#contact a i {
  color: #0762C8;
  margin-right: 1.5rem;
}
#contact p {
  margin-bottom: 3rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 3rem;
}
#contact p strong {
  font-weight: 500;
}
#contact .container {
  flex-direction: column;
  text-align: left;
}
#contact ul {
  list-style: none;
  padding-top: 3rem;
  border-top: 3px solid white;
}
#contact ul li {
  display: inline-block;
  font-size: 2rem;
  margin-left: 3rem;
  margin-bottom: 2rem;
}
#contact ul li:first-child {
  margin-left: 0;
}

#line {
  background: #e4e4e4;
  padding: 2rem 0;
  overflow: hidden;
  white-space: nowrap;
}
#line span {
  animation: marquee 15s linear infinite;
  color: #b5b5b5;
  display: inline-block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  padding-left: 100%;
  font-size: 3rem;
  max-width: initial;
}

.btn-whatsapp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1;
  width: 60px;
  height: 60px;
  display: block;
  height: block;
}
.btn-whatsapp img {
  max-width: 60px;
}

.btn {
  display: inline-block;
  font-size: 1.75rem;
  font-family: "Plus Jakarta Sans";
  padding: 1.25rem 3rem;
  font-weight: 500;
  text-decoration: none;
  margin-top: 3rem;
  width: fit-content;
  border-radius: 10rem;
}
.btn.btn-secondary {
  background: white;
  color: #0762C8;
  transition: background-color 0.2s ease;
  padding: 1.2rem 2.2rem;
  font-size: 1.75rem;
}
.btn.btn-secondary i {
  margin-right: 1rem;
}
.btn.btn-primary {
  background: #0762C8;
  transition: background-color 0.2s ease;
  color: white;
}
.btn.btn-primary:hover, .btn.btn-primary:focus {
  background: #264BB2;
  transition: background-color 0.2s ease;
}

.btn-link {
  display: inline-block;
  font-size: 1rem;
  color: #fff;
  font-weight: 400;
  font-size: 1.25rem;
  text-decoration: none;
  margin-top: 1rem;
}
.btn-link .fas {
  margin-left: 0.5rem;
  transform: rotate(-45deg);
}

.arrow {
  color: #333;
  font-size: 4rem;
  animation: 0.5s intro ease;
  position: absolute;
  position: absolute;
  bottom: -40%;
  left: 0;
}
.arrow:hover {
  color: #666;
}

@media screen and (max-width: 767px) {
  html {
    font-size: 8px;
  }
  h1 {
    font-size: 4.5rem;
    margin-bottom: 3rem;
    max-width: inherit;
  }
  h2 {
    font-size: 3rem;
    margin-bottom: 2rem;
  }
  p {
    font-size: 2.5rem;
  }
  #line span {
    font-size: 2rem;
  }
  #about .intro {
    padding-right: 0;
  }
  #about .intro img {
    margin-bottom: 4rem;
  }
  #services .service p {
    font-size: 2rem;
  }
  #projects .container .projects-list {
    flex-direction: column;
    gap: 3rem;
  }
  ul#social li {
    margin-right: 0;
    margin-left: 0;
    display: block;
  }
  ul#social li a {
    font-size: 2rem;
  }
  #contact {
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 1000px) {
  header .container {
    flex-direction: row;
  }
  header nav.menu-open ul {
    left: 0;
    transition: all 0.4s ease-out;
  }
  header nav ul {
    position: absolute;
    display: flex;
    top: 0;
    left: 100%;
    transition: all 0.4s ease-in;
    width: 100%;
    height: 100vh;
    justify-content: center;
    align-items: center;
    background: #0762C8;
    z-index: 1;
    flex-direction: column;
  }
  header nav ul li {
    display: block;
    font-size: 3.5rem;
    margin-left: 0;
    margin-top: 2rem;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 500;
  }
  header nav ul li::first-child {
    margin-top: 0;
  }
  header nav ul .social {
    display: flex;
    width: 50%;
    align-items: center;
    justify-content: space-evenly;
    margin-top: 2rem;
  }
  header nav ul a[rel=external] {
    margin-top: 1rem;
    display: inline-block;
  }
  header nav ul a i {
    color: white;
  }
  header nav {
    cursor: pointer;
  }
  header nav::before, header nav::after {
    content: "";
    display: block;
    height: 2px;
    background: white;
    position: relative;
    z-index: 2;
  }
  header nav::before {
    width: 30px;
    transition: all 0.2s ease;
  }
  header nav::after {
    width: 25px;
    margin-top: 6px;
    transition: all 0.2s ease 0.3s;
  }
  header nav.menu-open::before {
    transform: rotate(45deg);
    top: 8px;
    transition: all 0.2s ease;
  }
  header nav.menu-open::after {
    transform: rotate(-45deg);
    width: 30px;
    transition: all 0.2s ease 0.3s;
    box-shadow: 0px -2px 0px #0762c8, 0px -3px 0px #0762c8;
  }
  .container {
    padding: 0 4rem;
    flex-direction: column;
  }
  #services .container .services-list {
    flex-direction: column;
    gap: 3rem;
  }
}
@media screen and (min-width: 1001px) {
  header nav ul li a:after, #social li a:after {
    content: "";
    height: 3px;
    width: 0;
    display: block;
    background: #0762C8;
    margin-top: 0.5rem;
    transition: width 0.2s ease;
  }
  header nav ul li a:hover::after, #social li a:hover::after {
    width: 100%;
    transition: width 0.2s ease;
  }
}
@media screen and (min-width: 767px) and (max-width: 1200px) {
  h1 {
    font-size: 5rem;
  }
  .rotate {
    right: -140px;
    top: 50%;
    margin-top: -175px;
  }
  .rotate, .rotate .circle {
    width: 350px;
    height: 350px;
  }
  .rotate img {
    width: 35px;
  }
  #projects .container .projects-list .project {
    flex: 0 0 48%;
  }
}
@keyframes intro {
  0% {
    opacity: 0;
    transform: translateX(-2rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}
@keyframes rotate360 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.animate-rotate-360 {
  transform-origin: center;
  animation: rotate360 13s infinite linear;
}

@keyframes marquee {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}
.cookies {
  position: fixed;
  pointer-events: none;
  display: flex;
  flex-direction: row;
  align-items: end;
  justify-content: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
  animation: 0.5s intro ease;
}

.cookie-box {
  pointer-events: all;
  max-width: 70rem;
  background: #fff;
  border: 3px solid #000;
  margin-bottom: 2rem;
  padding: 2rem;
  text-align: center;
  align-self: flex-end;
  font-size: 1rem;
  font-family: sans-serif;
}

.cookie-box p {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 2rem;
  font-weight: 500;
}

.cookie-box .buttons-choice {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.cookie-box button.button-cookie-choice {
  border: 2px solid #ddd;
  font-size: 1.5rem;
  font-weight: 600;
  display: inline-block;
  padding: 1rem 3rem;
  color: #000;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  font-family: "Sora", sans-serif;
}
.cookie-box button.button-cookie-choice:hover {
  background: #ddd;
  border-color: #ddd;
}

.cookie-box button.button-cookie-choice:last-child {
  background: #333;
  margin-left: 1.5rem;
  color: #fff;
  border-color: #333;
}
.cookie-box button.button-cookie-choice:last-child:hover {
  background: #000;
  border-color: #000;
}

@media screen and (max-width: 767px) {
  .cookie-box {
    max-width: initial;
    margin-bottom: 0;
    border-width: 3px 0px 0px 0px;
  }
}