html {
  height: 100%;
}

body {
  
  width: 100vw;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: 'Roboto Flex';
  font-weight: 100;
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}



p h1 {
  
  font-family: 'Roboto Flex';
  z-index: 10;
}

section {
  scroll-snap-align: start;
}

.introvideo {
  pointer-events: none; 
  position: absolute; 
  top: 0; 
  z-index: 0;
}

.title {
  background: linear-gradient(0deg, #1f1f1f 0%, 75%, #454545 100%);
  padding-bottom: 20vh;
  position: relative;
}

#title {
  margin-right: -30vw;
  padding-top: 50;
  text-align: center;
  font-size: 50;
  scroll-snap-align: start;
  color: rgb(0, 0, 0);
}

.rectangle {
  position: relative;
  top: -197px;
  margin: 0;
  padding: 0;
  background-color: rgb(255, 255, 255);
  width: 75%;
  height: 135;
  z-index: 1;
  user-select: none;
}

.first-text {
  z-index: 5;
  user-select: none;
}

.sec-text {
  z-index: 3;
  user-select: none;
}

.subtitle-typing-text .text {
  position: relative;
  font-weight: 300;
  font-size: 30px;
  top: -77px;
  user-select: none;
}

.text.sec-text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  border-left: 2px solid rgb(84, 84, 84);
  animation: animate 4s steps(32) infinite;
  z-index: 5;
}
@keyframes animate{
  30%, 70%{
    left: 100%;
  }
  100%{
    left: 0%;
  }
}

.showreel-buttons {
  position: relative;
  margin-top: -7vh;
  z-index: 2;
}

.butpu {
  font-family: 'Roboto Flex';
  font-weight: 1000;
  font-size: 20px;
  border: none;
  padding: 16px 32px;
  border-color: white;
  background: black;
  color: white;
  border-radius: 15px;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  z-index: 10;
  order: 1;
}

.butp {
  font-family: 'Roboto Flex';
  font-weight: 1000;
  font-size: 20px;
  border: none;
  padding: 16px 32px;
  border-color: white;
  background: black;
  color: white;
  border-radius: 15px; 
  margin-left: 100px;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  z-index: 10;
  order: 1;
}

.containershowbuttons {
  position: relative;
  z-index: 1; 
  margin-top: 15vh;
}

#publicvideo {
  position: relative;
  display: none;
  justify-content: center;
  margin: 0;
  padding: 0;
  z-index: 0;
}

.reelvideo {
  z-index: 0;
  height: 110vh;
  margin: 0;
  padding: 0;
}

#privatevideo {
  position: relative;
  display: none;
  justify-content: center;
  margin: 0;
  padding: 0;
  z-index: 0;
}

.privateletters {
  font-size: 4.5vh;
  letter-spacing: 2px;
  word-spacing: 4px;
  color: #ffffff;
  font-weight: 700;
  font-style: normal;
  font-variant: small-caps;
  text-transform: none;
}

.privateletters2 {
  font-size: 4.5vh;
  letter-spacing: 2px;
  word-spacing: 4px;
  color: #ffffff;
  font-weight: 700;
  text-decoration: underline rgb(255, 255, 255);
  font-style: normal;
  font-variant: small-caps;
  text-transform: none;
}

.privateletters3 {
  font-size: 2.5vh;
  letter-spacing: 2px;
  word-spacing: 4px;
  color: #ffffff;
  font-weight: 700;
  font-style: normal;
  text-transform: none;
}

.privateletters4 {
  font-size: 2.5vh;
  letter-spacing: 2px;
  word-spacing: 4px;
  color: #ffffff;
  font-weight: 700;
  text-decoration: underline rgb(255, 255, 255);
  font-style: normal;
  font-variant: small-caps;
  text-transform: none;
}

.menu-container {
  height: 65;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  backdrop-filter: blur(50vh);
  box-shadow: 0px 0px 35px 0px rgba(255, 255, 255, 0.11);
  background-color: rgba(255, 255, 255, 0.068);
}

#dmhome { 
  height: 60px;
  padding-top: 3px;
  margin-left: 10px;
  margin-right: 1vw;
}

.about-me {
  text-decoration: none;
  text-align: center;
  margin-top: 19;
  margin-right: 1vw;
  font-family: 'Roboto Flex';
  font-size: 20px;
  font-weight: 100;
  color: rgb(255, 255, 255);
}

.contact-me {
  text-decoration: none;
  text-align: center;
  margin-top: 19;
  font-family: 'Roboto Flex';
  font-size: 20px;
  font-weight: 100;
  color: rgb(255, 255, 255);
}

.rrss{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 1vw 0 35vw;
}

#rrssb {
  height: 18px;
  margin: 5px;
}

#yt {
  margin: 5px;
  width: 18px;
  height: auto;
  margin-bottom: 7px;
}


.mobtitle {
  color: rgb(255, 255, 255); text-align: center; margin: 0; padding-top: 10vh; padding-bottom: 6vh;
  font-size: 4vh;
}


.projects-container {
  padding-top: 0.1;
  background-color: #1f1f1f;
}

#section-title {
  color: #ffffff;
  text-align: center;
  margin-bottom: 50;
  margin-top: 50;
  text-transform: uppercase;
}

#subcatsec {
  color: white;
  text-align: center;
  font-weight: 500;
  font-size: 20;
  
  padding: 10 0;
}

.estepas {
  height: 500;
  
}

.fbwps {
  margin: 0 0 0 50;
}

.lineas {
  position: inherit; 
  height: 580; 
  width: 6000;
}

.vfxgrid {
  margin: 0;
  padding: 5vh 0;
  border-left: 1px solid;
  border-color: white;
  border-radius: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  pointer-events: none;

}

#vfxgrid {
  height: 15.5vw;
  pointer-events: none;

}

#vfxgrid > img {
  margin: 0 1vw;
  height: 100%;
  width: auto;
  pointer-events: none;
}

.habsvfx {
  margin-right: 2vw;
  
  padding-bottom: 2vh;
  justify-content: center;
  align-items: center;
 
}

.vfxhabs{
  color: white;
  margin-left: 3vw;
  margin-right: 5vw;

}

.knsoft {
  border-right: 1px solid;
  border-top: 1px solid;
  pointer-events: none;
  padding: 3vh 0 8vh 0vh;
}

.vfxhabs ul {
  
  border-radius: 5vh;
  padding: 5vh;
}

.vfxhabs1 {
  line-height: 1.8;
  pointer-events: none;

}

.vfxhabs1 > li {
  font-size: 2.2vh;
}

.vfxhabs2 {
  display: flex; 
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  user-select: none;
}

.iconvfxsoft {
  height: 8vh;
  margin: 2vh 1.5vw;
  user-select: none;
  pointer-events: none;

}



.projects {
  position: sticky;
  display: flex;
  justify-content: space-between;
  overflow-x: auto;
  margin: 0 3vw;
}

.indprojects > img {
  pointer-events: none;
}


.indprojects {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-left: 3vw;
}

.escacproj {
  display: flex;
  flex-direction: row;
  margin: 0;
  width: 500;
  justify-content: center;
  text-transform: uppercase;
}

#escacprojs {
  position: relative;
  top: -300;
  margin-bottom: -100;
  text-align: center;
  font-size: 25px;
  font-weight: 800;
}

.escimg {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: max-content;
  margin-left: 10vw;
  margin-right: 10vw;
}

.escimg > img {
  height: 500px;
  margin: 0 20 0 20;
  pointer-events: none;
}

.indprojects {
  width: max-content;
  margin-left: 10vw;
}


.indprojects > img {
  height: 500px;
  margin: 0 20 0 20;
}

.indprojectslinked > img {
  height: 500px;
  margin: 0 20 0 20;
}

.indprojectslinked:hover > .darkenimg {
  -webkit-filter: brightness(50%);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.brandlogos {
  display: flex;
  flex-direction: column;
  width: 800;
  margin-left: 10%;
  margin-top: 50;
}

.brandlogos > div {
  pointer-events: none;
}

.brands {
  height: 100px;
  margin: 50 20 0 20 ;
}



.posters > img {
  height: 500px;
}

.experience-container {
  padding-top: 3vh;
  background-color: 0b0b0b;
}

.roe {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 5vh 5vw;
}

.roe > button {
  margin: 2vh;
  padding: 1vh;
  font-family: 'Roboto Flex';
  font-size: 2.2vh;
  font-weight: 400;
  width: max-content;
  color: rgb(255, 255, 255);
}

.roe > a {
  color: white;
}

#netitDIV {
  display: block;
}

.netdiv {
  display: flex;
  flex-direction: row;
}

.netdiv2 {
  flex-direction: row-reverse;
}

.opcam3 {
  display: flex; 
  flex-direction: row; 
  justify-content: space-between;
  margin: 0 5vw;
}

#opcam {
  display: none;
}

#webdev {
  display: none;
}

#gamedev {
  display: none;
}

#knowtitle {
  color: white;
  padding-top: 60px;
  padding-bottom: 60;
  font-weight: 700;
  font-size: 25;
  text-align: center;
}

#knowledgel {
  color: white;
  font-size: 2.2vh;
  font-weight: 100;
  text-align: justify;
  margin: 0 5vw;
}



.phgroup {
  display: flex;
  justify-content: end;
  align-items: center;
  margin-right: 2vw;
  padding: 0;
}



#phgroup > img {
  height: 50vh;
  margin: 0 2vw;
}


.copgroup {
  display: flex;
  flex-wrap: wrap;
  margin-left: 5vw;
}



#copgroup > img {
  height: 30vh;
  margin: 2vh;
}

#copgroup2 > img {
  height: 25vh;
  margin: 2vh;
}



.phgames {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#phgames > video {
  height: 30vh;
  margin: 2vh;

}

#phgames > img {
  height: 30vh;
  margin: 2vh;
}

.foot {
  margin-bottom: 100;
}

.kimg {

  padding-bottom: 30px;
  
}

.b1 {
  align-items: center;
  background-color: white;
  color: black;
  border: 0;
  border-radius: 8px;
  box-shadow: -5px -5px 1vh 0 #7fd8ff, 5px 5px 1vh 0 #464646;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  font-size: 50vh;
  justify-content: center;
  line-height: auto;
  padding: auto;
  position: relative;
  text-align: left;
  transition: .2s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: pre;
  width: max-content;
  word-break: normal;
  word-spacing: normal;
  }

.b2, .b3 {
  align-items: center;
  background-color: black;
  border: 0;
  border-radius: 8px;
  box-shadow: -5px -5px 1vh 0 #7fd8ff, 5px 5px 1vh 0 #464646;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  font-size: 50vh;
  justify-content: center;
  line-height: auto;
  padding: auto;
  position: relative;
  text-align: left;
  transition: .2s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: pre;
  width: max-content;
  word-break: normal;
  word-spacing: normal;
  }
  

  
  @media (min-width: 768px) {
  .button-67 {
  padding: 24px;
  }
}

.subline {
  margin-left: -5vw;
}


.difu {
  position: relative;
  background-color: #1f1f1f;
}

.difu::after {
  position: absolute;
  margin: 0 2.85vw;
  bottom: 0;  
  top: -10px;
  height: 510px;
  width: 95%;
  content: "";
  background-image: linear-gradient(90deg, #1f1f1f 6% 6%, #00f1f600 20% 80%, #1f1f1f 94% 94%);
  z-index: 5;
  pointer-events: none;
}





  
@media screen and (min-width: 1030px) {
  .navbar {
    display: none;
  }
}

