  
  body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  
/* overflow:hidden; */
}
body, html {
    height: 100%; /* Ensure full height */
    margin: 0; /* Remove default margin */
    padding: 0; /* Remove default padding */
    overflow: hidden;
}

main {
    height: 100vh; /* Set main height to full viewport height */
    overflow-x:hidden; /* Add scrollbars when content overflows */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    padding-bottom: 50px; /* Optional: Add padding to main content */
  }

html{
overflow-x: hidden;
}

header {
  position: fixed;
  background-color:black;
  width: 100%;
  color: #fff;
 position:flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  z-index:100;
}

header h1 {
  position: relative;
  text-align: start;
  left: 7%;
  width: 150px;
  margin: 0;
}
  #logo{
  text-decoration: none;
  font-size:30px;
  color: white;
  cursor:pointer;
}
.logo{
font-size: 30px;
}
nav a {
  color:#fff;
  text-decoration: none;
  margin-right: 1rem;
  display: block;
}
#menu{
  position:absolute;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap: 20px;
  top:0px;
  left:0;
  width:100%;
  height:80vh;
  display: none;
}
.active#menu{
  position:absolute;
  background:black;
  display:flex;
  flex-direction:column;
  gap: 30px;
  top:30px;
  left:0;
  width:50%;
  height:auto;
  padding-bottom:50px;
  display:block;
}
.active#menu #icon{
display:block;
 border: transparent;
}
.active#menu a{
  position:relative;
  left:-10px;
}
li{
  display: none;
}

#menu a{
  position:relative;
  top:20px;
  margin:20px;
}
#bars{
  width:30px;
  height:2px;
 top:30px;
  right:50px;
  position: absolute;
  background:red;
  cursor: pointer;
}
#bars::before{
  content:"";
  width:30px;
  height:2px;
  top:-5px;
  position:absolute;
  background:red;
  cursor: pointer;
}
#bars::after{
  content:"";
  width:30px;
  height:2px;
  top:5px;
  position:absolute;
  background:red;
  cursor: pointer;
}
.activ#bars::after{
  background:white;
}
main {
  padding: 1rem;
}
#hero h1{
  position: relative;
  width: 63%;
  left: 5%;
  top:30px;
  text-align: center;
}

h2{
  text-align: center;
}
#hero{
  position: relative;
  left: -20px;
  margin-top:20px;
  min-width:600px;
  min-height: 35vh;
  margin-bottom: 1rem;
  padding:5px;
  background:yellow;
  background-size: cover;
  background-size:cover;
  background-repeat: no-repeat;
  background-position-y:0px;
}
#hero P{
  position: relative;
    margin-top: 60px;
    margin-left: 5%;
    padding:15px;
    line-height: 25px;
    width:60%;

}

#learn-more{
  position:relative;
   left: 25%;
  top: 20px;
  margin-bottom: 40px;
  background:black;
  border: transparent;
  padding: 5px;
  color:yellow;
  font-size: 20px;
  width: 150px;
  cursor: pointer;
}
#learn-more:hover{
  background-color: yellow;
  color: #0e0a0a;
}
#about{
  position: relative;
  top: -10px;
}
#about h1{
  position: relative;
  text-align: center;
  left:2%;
}
#about p{
  position: relative;
  top: 10px;
  line-height: 25px;
  width: 90%;
  margin: 0 auto;
}
/* .animate#about p{
  position: relative;
  top: 0;
  opacity: 1;
  transition: 1s ease-in;
} */
#about h1{
  position: relative;
  left: -100%;
}
.animate#about h1{
  position: relative;
  left: 0%;
  transition: .3s;
}
#social-media{
  position:relative;
  display:grid;
  top: 100px;
  margin-bottom: 60vh;
  margin: 0 auto;
  min-width: 300px;
  height: 200px;
  box-shadow: 3px 3px 3px 3px;
  gap: 30px;
  opacity: 0;
  z-index: -10;
}
.animate#social-media{
 position: relative;
top: 13px;
 transition: 1s ease-in;
 opacity: 1;
 z-index: 10;
 
}
.items:nth-child(1){
position: absolute;
left: 20px;
top: -90px;
}
#social-media img{
  width:90px;
  height: 100px;
  top: 30px;
  left: -80%;
  margin-left: 20px;
  position: relative;
  
}
#social-media img:hover{
  box-shadow: 3px 3px 3px 10px #fe3;
}
#social-media i{
  position: relative;
  margin: 0 auto;
  height: 30px;
  top: 50px;
}
i{
  position: relative;
  top: 80px;
  font-size: 30px;
  left: 20%;
}
.items{
  position:absolute;
  display: flex;
  top: 10px;
  margin-left:5%;
  

} 


section {
  margin-bottom: 2rem;
}
#projects{
  position: relative;
  /* box-shadow: 3px 3px 30px; */
  margin-top: 80px;
  padding: 70px;
    display:grid;
    /* grid-template-columns: 3fr 3fr 10px;  */
  gap:5px;
}
#projects h2{
  position: absolute;
  /* left: 30%; */
  top: -40px;
  margin-bottom: 20px;
}
#projects video{
  position: relative;
  top: 30px;
  left:-25%;
  min-width:900px;
  display:none;
}
#projects img{
   position: relative;
  top: 30px;
  min-width:900px;
  left:-30%;
  min-width:900px;
display:block;
}

.project {
  position: relative;
  left:-5px;
  margin-bottom: 1rem;
}
#proj{
  position: relative;
  display: flex;
  margin: 0 auto;
  background-color: lightgray;
  box-shadow:3px 3px 3px;
  margin: 0 auto;
  padding: 30px;
  top: 50px;
}
#proj button{
  position: relative;
  padding: 5px;
  left: 3%;
  border: transparent;
  border-radius: 25px;
  background-color:lightgreen;
  box-shadow:2px 2px 2px 2px;
  width: 150px;
  color:rgb(0,0, 0);
  font-size: 18px;
  margin-left: 10px;
  cursor: pointer;
}
#proj button:hover{
  background-color:rgb(0,0, 0);
  color: #fff;
  box-shadow: 3px 3px 3px 3px;
}
#pro{
  position:relative;
 margin-left:-42px;
}
#open{
  position: relative;
  top: 80px;
}
#open{
line-height:30px;
}
.more-text p{
  width: 90%;
  margin: 0 auto;
  line-height: 30px;
}
.p{
  line-height: 30px;
}
#open p{
   width: 90%;
  margin: 0 auto;
}
#embed-video{
  min-width: 500px;
  padding-bottom: 20px;
  position: relative;
  display:grid;
  margin: 0 auto;
  left: -7%;
  margin-top:40px;
  background-color: #fe3;
}
#embed-video div p{
position: relative;
width:80%;
margin-bottom:10px;
line-height:25px;
padding:5px;
left:5%;
}
#embed-video iframe{
  position: relative;
  width:400px;
  margin: 0 auto;
  left:-7%;
}
#contact-side{
  position:relative;
  width: 80%;
  line-height: 25px;
  margin: 0 auto;
  /* top: 50px; */
}
#contact{
  margin-top: 130px;
  margin-bottom: 90px;
  max-width: 1300px;
  background-color: lightgray;
  padding: 2em;
  zoom: 0.8
}
#contact h2{
  position: relative;
  text-align: center;
  margin-top: 130px;
}
form {
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center;
	align-items: center;
   position: relative;
    min-width:400px;
    gap: 10px;
   margin-bottom: 100px;
  
	
}
.invalid{
    display: block;
    color: red;
}

label {
	font-size: 24px;
	margin: 20px 0 10px;
}

input[type="text"], input[type="email"], textarea {
	font-size: 18px;
	padding: 10px;
	border: 1px solid #ccc;
  background-color: white;
	border-radius: 5px;
	width: 80%;
	left: 50%;
	transform: translate(-50%,-20%);
    position: relative;
}

button[type="submit"] {
  position: relative;
	background-color: #f00;
	color: #fff;
	border: none;
	padding: 10px 20px;
	border-radius: 5px;
	font-size: 18px;
	margin-top: 10px;
	cursor: pointer;
left: 5%;
}
#btn{
	position: relative;
	margin: 0 auto;
	width: 200px;
}

button[type="submit"]:hover {
	background-color: #0e0a0a;
	color: #fff;
	
}
#fnameError{
	position: relative;
	color: red;
	margin: 0 auto;
}
#emailError{
	position: relative;
	color: red;
	top:-10px;
	margin: 0 auto;
}
#subjectError{
	position: relative;
	color: red;
	margin: 0 auto;
	top: -10px;
}
#messageError{
	position: relative;
	color: red;
	margin: 0 auto;
	top: -10px;
}
#textarea{
  width:80%;
  height: auto;
}
#icon{
  position: absolute;
  /* bottom:140px; */
  top: 0;
  font-size: 10px;
  left: 10%;
  font-size: 40px;
  color: #f00;
  border: 1px solid blue;
  border-radius: 5px;
  margin-top:10px;
  padding: 3px;
  display:none;

}
footer #icon{
  font-size: 30px;
}
footer {
  position: relative;
  background-color: #333;
  height:30px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  min-width: 500px;
  left: -10%;
  margin-top:-60px;
  margin-bottom: 20px;
 padding-top:40px;
 display:block;
}
footer p{
  position: relative;
  margin: 0 auto;
  top: -20px;
  
}

@media screen and (min-width:700px) {
 
.active#menu{
   width:25%;
   padding-bottom:40px;
}

#menu a{
  color: #fff;
}
#hero{
min-height:50vh;
min-width:720px;
  background:lightyellow;
left: -11px;
margin-top: 20px;
margin-bottom:30px;
background-size: 100% 100%;
}
#learn-more{
  position: relative;
  top:30px;
  margin-left:15%;
}

  #hero h1{
    position: relative;
    width:80%;
    margin-top: 90px;
    left: 9%;
    text-align:center;
  }
  #hero  p{
    position: relative;
    margin:0 auto;
    margin-top: 60px;
    /* opacity: 0; */
  }
  #about{
    margin-top: 90px;
  }
  #about img{
    height: 63vh;
  }
  #social-media img{
    margin: 0 auto;
    left: 30px;
    margin-left:70px ;
  }
 #projects h2{
  position:absolute;
    width: 80%;
    left: 7%;
    margin-top: -39px;
 }
#projects video{
  position: relative;
  min-width:1000px;
  height:80vh;
  margin-left:-5%;
  top: 90px;
  margin-bottom:5em;
  /* display: none; */
  /* margin: 0 auto; */
}
#video{
   position: relative;
  min-width:1000px;
  height:80vh;
  margin-left:-5%;
  top: 90px;
  margin-bottom:5em;
}

#projects img{
   position: relative;
  top: 30px;
  margin-left:15%;
  min-width:900px;
  left:-24%;
  min-width:900px;
/* display:none; */
}
#embed-video{
  min-width: 700px;
  padding-bottom: 20px;
  position: relative;
  display:grid;
  left:2%;
  margin-top:40px;
  background-color: #fe3;
}
#embed-video div{
  position: relative;
  margin: 0 auto;
}
#embed-video div p{
position: relative;
left: 5%;
margin: 0 auto;

}
#embed-video iframe{
  position: relative;
  min-width:80%;
  height: 300px;
  margin: 0 auto;
  left:0%;
}
#contact{
  position: relative;
  top: 100px;
  margin: 0 auto;
}
form input, textarea{
  max-width:700px;
  background-color: lightgray;
}
#subject{
  position: relative;
  top: -15px;
}
 #textarea{
  position:relative;
  margin-top: 10px;
  height: 100px;
  background-color:white;
  
}
footer{
  display: none;
}
}
@media  screen and (min-width:1000px) {
  header{
    position:fixed;
    max-width:1350px;
    margin:0 auto;
    background-color: rgb(9, 12, 15);
    color: #fff;
  }
   
  main{
    min-width: 1300px;
    margin: 0 auto;
  }
   #icon{
    display: none;
  }
 #logo{
  position: relative;
  font-size: 30px;
  left: 10%;
 }
  html{
    overflow-x: hidden;
    
  } 
  #learn-more{
    background-color:black;
    color: yellow;
    cursor: pointer;
    border: transparent;
    font-size: 20px;
    position:relative;
    padding: 10px;
     width: 150px;
    left: 10%;
    top:280px;
  }
  #learn-more:hover{
    background-color:yellow;
    color: black;
  }
  li{
    list-style-type: none;
    position: relative;
    line-height: 3;
    display: grid;
  }
  #projetos{
    width: 100px;
  }
   #projetos a{
    position: absolute;
    margin:-5px;
    margin-left: -90px;
    color: black;
    text-align: left;
    font-size: large;
  }
  li:hover{
 background-color: rgb(0,0, 0);
  }
  li a{
    display:none;
  }
  li:hover a{
    display: grid;
    /* width: 50px; */
    position:absolute;
    background-color: rgb(0,0, 0);
  }
  #bars{
    display: none;
  }
#menu{
  display: flex;
  flex-direction: row;
  background-color:transparent;
  width: auto;
  height: auto;
  left: 50%;
  top: -10px;
}
#menu a{
  position:relative;
  left: 0%;
  color: white;
  top: -3px;
}
#menu a:hover{
  text-decoration: underline;
  color:#fe3;
}
h2{
  text-align: center;
}
#hero{
  max-width: 1200px;
  top: -15px;
  margin: 0 auto;
  margin-bottom: 70px;
  background-color: lightyellow;
  right:10px;
  padding: 4em;
}
 #hero h1{
 position:absolute;
 color: #000;
 /* left: 5%; */
}
#hero p{
  position: relative;
  width:60%;
  top: 120px;
  padding: 10px;
  /* margin-left:15% ; */
  margin: 0 auto;
  line-height: 25px;
  display: block;
}
#learn-more{
  position: absolute;
  background-color:black;
  margin-top: 60px;
  left:25%;
  padding: 10px;
  cursor: pointer;
}
#hero .button:hover{
  background-color: #333;
  color: #fe3;
  text-transform:uppercase;
}

#about{
  max-width:800px;
  position: relative;
  left: -5%;
  top: 70px;
  margin-bottom: 180px;
  margin: 0 auto;
}
#about h1{
  position: relative;
  text-align: center;
  top: -40px;
  
}
.animate#about h1{
  top: -40px;
}
#about p{
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  top: 90px;
  padding: 10px;
  opacity: 1;
  transition: .1s;
}
.animate#about p{
  transition: .3s ease-in-out;
   top: -50px;
  padding: 30px;
  animation: .3 ease-in-out;
}
#social-media{
  position:relative;
  top: -10px;
  margin-bottom: 60px;
  margin: 0 auto;
  min-width: 300px;
  height: 200px;
  /* transition: opacity 1s ease-in-out; */
  box-shadow: 3px 3px 3px 3px;
  gap: 20px;
}
#social-media img{
  position: relative;
  margin-left: -40%;
}
.animate#social-media{
  position: relative;
top: -15px;
transition: 1s ease-in;
}
#social-media i{
  position: relative;
  margin: 0 auto;
  height: 30px;
  top: 50px;
}
i{
  position: relative;
  top: 80px;
  font-size: 30px;
  left: 40%;
}
.items{
  position:absolute;
  top: 10px;
  left: -5%;

} 
section {
  margin-bottom: 2rem;
opacity: 0;
}
.animate{
transition: 1s ease-in-out;
  margin-top:-300px;
opacity: 1;
}

/* h1{
  position: relative;
  left: -100%;
  opacity: 0;
} */
.animate  h1{
  position: relative;
  transition: 1s ease-in-out;
   left: 0%;
   opacity: 1;
}
.fa-facebook{
  position: relative;
  margin-top: -60px;
  
}
.items a{
  margin-left: 100px;
}
.proj1{
  width: 100px;
  height: 100px;
}
.proj2{
   width: 100px;
  height: 100px;
}
#projects{
  max-width: 1200px;
  background-color: #fe3;
  position: relative;
  top: 80px;
  padding-bottom: 150px;
  transition: 1s ease-in;
  margin: 0 auto;
}
.animate#projects{
transition: 1s ease-in-out;
}
#projects video{
  position: relative;
  max-width: 1200px;
  height:80vh;
  left:-2%;
  top: 90px;
  margin-bottom:50px;
  margin: 0 auto;
  display: block;
  /* margin: 0 auto; */
}
#projects img{
display:none;
}
#projects img{
  display: none;
}
#projects h2{
  position: relative;
  top: 50px;
  margin-left: 2%;
}
.more-text{
  max-width: 1000px;
  margin: 0 auto;
}
#proj{
  max-width:1000px;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
}
.slide-in p{
  transition: .2s ease-in-out;
  opacity: 1;
}
#proj button{
  position: relative;
 background-color:lightgreen;
  left: 20%; 
  padding: 5px;
  border: transparent;
  border-radius: 25px;
  width: 150px;
  color:rgb(0,0, 0);
  font-size: 18px;
  margin-left: 40px;
  cursor: pointer;
}
#proj h2{
position:relative;
left:20%;
}
#open{
  position: relative;
  max-width: 1000px;
  padding: 5px;
  margin: 0 auto;
  top: 90px;
  margin-bottom: 20px;
}
#open p{
  padding: 5px;
  line-height: 27px;
}
#embed-video{
max-width: 1200px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  left: 0%;
  margin-top:40px;
  background-color:transparent;
}
#embed-video div{
  position: relative;
  width:35%;
  line-height: 30px;
  padding: 10px;
  height:auto;
  left: -13%;
  top: 20px;
}
#embed-video div p{
  position: relative;
  top: 25%;
  width: 80%;
}
#embed-video iframe{
  position: relative;
  min-width:300px;
  height: 300px;
  left: -13%;
  padding-bottom: 30px;
  margin-right:5%;
  margin-top:40px;
  /* margin: 20px; */
} 
#contact{
  margin: 0 auto;
}

#contact{
  background-color:lightgray;
  margin-bottom: 140px;
}
#contact h2{
  position: relative;
  left: 0%;
  top: -120px;
}
form input, textarea{
  background-color: transparent;
  width:80%;
}

#contact form{
  position: relative;
  background-color: white;
  padding-top: 40px;
  width: 500px;
  left: 50%;
}
#contact-side{
  position: absolute;
  left: 10%;
  top: 260px;
  /* background-color: red; */
  line-height: 25px;
  width: 400px;
  height:auto;
}
#contact-side p{
  position: relative;
  top: -120px;
  /* background-color: aqua; */
  opacity: 0;
}
.animate #contact-side p{
  opacity: 1;
  transition: 2s ease-in-out;
}
}
footer{
  position:relative;
  background-color: rgb(0, 0,0);
  margin-top: 190px;
  padding-top: 40px;
  max-width:1200px;
  margin: 0 auto;
  left: 1%;
  display: block;
}
footer p{
  position: absolute;
margin: 0 auto;
top:10px;
right: 40%;
}
footer #icon{
  /* position: absolute;
  bottom:140px; */
  top: 10px;
  left: 30%;
  font-size: 30px;
  color: #f00;
  border: 1px solid blue;
  border-radius: 5px;
  padding: 5px;

}
@media  screen and (min-width:1300px) {
  header{
    position: fixed;
    min-width:100%;
  }
  main{
    min-width: 100%;
  }
  #hero{
    min-width: 100%;
  }
  #hero h1{
    position: relative;
    margin: 0 auto;
    left:-5%;
  }
  #about{
    min-width: 100%;
  }
  #projects{
    min-width: 100%;
  }
 #social-media{
  background-color: lightyellow;
  min-width: 100%;
 }
#embed-video {
  min-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* centers the items horizontally */
}

#embed-video div {
  position: relative;
  min-width:200px; /* adjust this percentage as needed */
  max-width:30%; /* set a maximum width to maintain readability */
  height: auto;
  padding: 50px;
  /* margin-left:7%; add some margin for spacing between items */
}
#embed-video div p{
  width: 400px;
  padding: 50px;
  line-height: 35px;
  margin-left: 20%;
}
#embed-video iframe {
  position: relative;
  /* right:7%; */
  top: 40px;
  min-width:550px; /* adjust this percentage as needed */
 max-width: 80%;
  height: 400px;
  /* margin: 0 auto; */
}

  section{
    min-width: 100%;
  }
  #contact{
  min-width:90%;
  }
  #contact-side{
    position:absolute;
    margin-left: 10%;
  }
  footer{
    min-width:100%;
  }
}