/* HEADER ==== */
.header{
  position: sticky;
  top: 0;
  width: 100%;
  height: 70px;
  background: linear-gradient(0deg, rgba(0,5,101,1) 0%, rgba(0,2,37,1) 30%);
  z-index: 3;
}
.header-wrapp{
  height: 100%;
  width: 100%;
  max-width: var(--max-content);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
.header-logo img{
  width: 150px;
}
@media(min-width: 768px){
  .header .nav-btn-home {
    width: 50px;
    display: flex;
    align-items: center;
  }
}



/* NAV ===== */
.nav{
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  background-color: var(--bkg-modal-color);
  transform: translate(-100%, 70px);
  transition: transform .5s ease;
}
.nav.isActive{
  transform: translate(0,70px);
}
.nav-list{
  width: 100%;
  margin-top: -15%;
}
.nav-item{
  width: 100%;
  text-align: center;
  display: inline-block;
  border-bottom: 1px solid var(--secondary);
}
.nav-item:nth-child(1){
  border-top: 1px solid var(--secondary);
}
.nav-a{
  width: 100%;
  display: block;
  padding: 30px 0;
  font-size: 2rem;
}
@media(min-width: 768px){
  .nav-a{
    background-color: transparent;
    transition: background-color .5s ease;
  }
  .nav-a:hover{
    background-color: var(--terciary);
    color: var(--bkg-color);
  }
}



/* NAV BTN ===== */
.nav-btn{
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 2px solid var(--secondary);
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-btn-img{
  width: 40px;
}
.btn-1{
  position: fixed;
  bottom: 2vh;
  right: 2vh;
  z-index: 3;
  background: linear-gradient(0deg, rgba(0,5,101,1) 0%, rgba(0,2,37,1) 100%);
}
.btn-2{
  display: none;
}
@media(min-width: 768px){
  .btn-1{
    display: none;
  }
  .btn-2{
    display: block;
    border-radius: 0;
    border: none;
    background-color: transparent;
    cursor: url(../img/c-pointer.png), auto;
  }
  .nav-btn-img{
    width: 40px;
  }
}



/* MAIN ===== */
main{
  position: relative;
  top: -70px;
  left: 0;
}



/* HOME ===== */
.home{
  width: 100%;
  height: 100vh;
  position: relative;
  padding: 0;
  overflow: hidden;

  display: flex;
  justify-content: center;
  align-items: center;

  background-image: url(../img/bkg_home.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.home-container{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-image{
  width: 250px;
  z-index: 1;
}
.home-marquee{
  position: absolute;
  display: flex;
  z-index: 0;
  transform: rotate(-4deg);
}
.home-track{
  white-space: nowrap;
  min-width: 100%;
  backdrop-filter: blur(20px);
}
.home-track p{
  font-size: 3rem;
  position: relative;
  display: flex;
  align-items: center;
  color: var(--secondary);
  animation: toLeft 30s linear infinite;
}
.home-marquee .home-track p:nth-child(2){
  color: var(--principal);
  animation: toRight 30s linear infinite;
}
.home-marquee .home-track p:nth-child(3){
  animation: toLeft 30s linear infinite;
}
.home-marquee .home-track p:nth-child(4){
  color: var(--principal);
  animation: toRight 30s linear infinite;
}
.home-track p i{
  font-size: 1.4rem;
  margin: 10px;
}
@keyframes toLeft {
  0%{left: 0; opacity: 0;}
  0.9%{opacity: 1;}
  99.9%{opacity: 1;}
  100%{left: -25%; opacity: 0;}
}
@keyframes toRight {
  0%{left: 0; opacity: 0;}
  0.9%{opacity: 1;}
  99.9%{opacity: 1;}
  100%{left: 25%; opacity: 0;}
}
@media(min-width: 768px){
  .home-image{
    width: 350px;
  }
  .home-track p{
    font-size: 4rem;
  }
  .home-track p i{
    font-size: 2rem;
    margin: 15px;
  }
}



/* ABOUT ===== */
.about-role{
  text-align: center;
}
.about-objetive,
.about-skills,
.about-contact{
  margin-top: 100px;
}
.about-objetive{
  text-align: center;
}
.about-objetive > p > i{
  font-size: 3rem;
}
.about-skills-detail{
  text-align: center;
  margin-bottom: 20px;
}
.about-contact{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.about-contact-p{
  text-align: center;
}
.about-contact a > img{
  height: 25px;
  margin-right: 15px;
}
.about-contact .btn{
  margin-top: 15px;
}
@media(min-width: 768px){
  .about-objetive > p{
    font-size: 1.2rem;
  }
  .about-skills{
    display: flex;
    justify-content: center;
  }
  .about-skills-detail{
    border-bottom: 1px solid transparent;
    padding: 5px 20px;
    margin-right: 20px;
  }
  .about-contact{
    margin-bottom: 10px;
  }
  .about-contact-p{
    width: 100%;
    margin-bottom: 10px;
  }
  .about-contact .btn{
    margin-right: 10px;
  }
}



/* TECH ==== */
.tech p{
  text-align: center;
}
.tech-list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-evenly;
  margin-bottom: 50px;
}
.tech-list img{
  padding: 10px;
  height: 70px;
}
@media(min-width: 768px){
  .tech p{
    margin-top: 30px;
  }
  .tech-list img{
    height: 100px;
  }
  .tech-software{
    font-size: 2.3rem;
  }
}



/* WORK ===== */
.work h3{
  margin: 0;
  width: 100%;
  padding: 15px;
  font-size: 1rem;
  text-align: center;
  background-color: var(--terciary);
}
.work-list{
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.work-list .btn{
  margin-top: 15px;
}
.work-places{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 10px;
}
.work-place{
  display: grid;
  grid-row: span 3;
  grid-template-rows: repeat(1, auto 1fr auto);

  margin-top: 20px;
  border: 1px solid var(--terciary);
}
.work-role{
  padding: 2px 10px;
  width: 100%;
}
.work-functions,
.work-goals{
  padding: 15px;
}
.web-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
}
.web-card{
  height: 250px;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.evotech{
  background-image: url('../img/web-evotech.jpg');
}
.tamales{
  background-image: url('../img/web-tamales.jpg');
}
.geekode{
  background-image: url('../img/web-geekode.jpg');
}
.dicard{
  background-image: url('../img/web-dicard.jpg');
}
.enal{
  background-image: url('../img/web-enal.jpg');
}
.cadpa{
  background-image: url('../img/web-cadpa.jpg');
}
.parismabel{
  background-image: url('../img/web-parismabel.jpg');
}
.terehaw{
  background-image: url('../img/web-terehaw.jpg');
}
.web-card-detail{
  height: 100%;
  padding-top: 10%;
  text-align: center;
  background: var(--bkg-modal-color);
  transform: translate(0, 45%);
}
.web-card-detail img{
  height: 20px;
  margin-bottom: 10px;
}
.web-card-tech{
  display: inline-block;
  background-color: var(--principal);
  color: var(--bkg-color);
  border-radius: 3px;
  padding: 2px 5px;
  margin: 5px;
}
.web-card-detail p,
.web-card-detail a{
  font-size: 1rem;
}
.web-card-detail .btn{
  width: 130px;
  padding: 3px 0;
}
@media(min-width: 768px){
  .work-list .btn{
    margin-right: 10px;
  }
  .work-role{
    padding: 3px 6px;
  }
  .web-grid{
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
  }
  .web-card-detail{
    padding-top: 15%;
    transform: translate(0, 100%);
    transition: transform .5s ease; 
  }
  .web-card:hover .web-card-detail{
    transform: translate(0,0);
  }
  .web-card-detail p,
  .web-card-detail a{
    font-size: 1.25rem;
  }
  .web-card-detail img{
    height: 35px;
  }
}



/* COURSES ===== */
.courses-card{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  text-align: center;
}
.courses-card-title{
  margin: 5px 0;
}
.courses-card-title i{
  font-size: 1.3rem;
}
.courses .btn{
  margin-top: 10px;
}
@media(min-width: 768px){
  .courses .wrapp{
    display: grid;
    justify-content: center;
  }
  .courses-card{
    justify-content: unset;
    align-items: baseline;
    margin-top: 5px;
  }
  .courses-card-desc{
    display: inline-flex;
    align-items: baseline;
  }
  .courses-card-desc > p{
    margin-left: 20px;
  }
  .courses-card a{
    margin-left: 15px;
  }
}



/* FOOTER ===== */
footer{
  text-align: center;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
footer h2{
  font-size: 2rem;
  -webkit-text-stroke: 1px var(--secondary);
  text-transform: none;
  animation: beat 4s ease infinite;  
}
@keyframes beat {
  0%{transform: scale(1);}
  4%{transform: scale(1.1);}
  8%{transform: scale(1);}
  12%{transform: scale(1.1);}
  16%{transform: scale(1);}
  100%{transform: scale(1);}
}
@media(min-width: 768px){
  footer h2{
    -webkit-text-stroke: 2px var(--secondary);
    font-size: 3rem;
  }
}