* {
cursor: none;
}

body{
padding: 0;
margin: 0;
font-family: "Phantom Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Hide default cursor */
body {
  cursor: none;
}

/* Custom cursor */
.custom-cursor {
  width: 16px;
  height: 16px;
  border: 3px solid rgb(162, 0, 255);
  background: rgba(162, 0, 255, 0.32);
  border-radius: 50%;
  position: fixed;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease, background 0.1s ease;
  z-index: 10000;
}

.custom-cursor.hover {
  transform: translate(-50%, -50%) scale(1.3);
}

.custom-cursor.click {
  background: rgb(162, 0, 255);
  transform: translate(-50%, -50%) scale(0.8);
}

/* homepage - index.html */

/* navbar */
.main_nav{
    width: 80%;
    background: rgba(0, 0, 0, 0.63);
    border: solid 1px rgba(255, 255, 255, 0.311);
    border-radius: 50px;
    justify-self: center;
    display: flex;
    flex-direction: row;
    z-index: 0;
    padding: 1% 3% 1% 1%;
    backdrop-filter: blur(10px);  
    -webkit-backdrop-filter: blur(10px);
    z-index: 2;
    margin-top: 1%;
    position: fixed;
}

.main_nav a{
    text-decoration: none;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: white;
}

.main_nav_left{
    width: 50%;
}

.main_nav_right{
    width: 50%;
    text-align: right;
    display: flex;
    flex-direction: row;
    gap: 30px;
    justify-content: right;
}

.mainnav_profile_pic{
    width: 25px;
    border-radius: 50px;
}

/* page starter */
.index_main_cnt{
    width: 100%;
    height: 100vh;
    color: white;
    background: linear-gradient(135deg, #2a1e27 0%, #331b24 30%, #1b2633 60%, #15281e 100%);
    display: flex;
    flex-direction: row;
}

.index_main_left_cnt{
    width: 60%;
    padding: 5%;
}

.index_main_cnt h1{
    font-family: 'Jersey 20';
    color: rgba(140, 174, 255, 0.963);
    font-size: 85px;
    margin-top: 30px;
     text-shadow: 10px 6px 4px rgba(255, 255, 255, 0.03);
     animation: float 3s ease-in-out infinite;
     margin-top: 8%;
     text-shadow: 0 0 26px rgba(140, 174, 255, 0.648), 0 0 50px rgba(140, 174, 255, 0.575);
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

.index_main_cnt p{
    font-size: 24px;
    max-width: 700px;
}

.index_main_right_cnt{
  width: 40%;
  display: flex;
  justify-content: left;
  align-items: center;
  height: 100vh;
}

.scroll-wrapper {
  height: 310px;
  width: 85%;
  overflow: hidden;
}

.scroll-text {
  display: flex;
  flex-direction: column;
  animation: slideUp 15s infinite;
  gap: 10px;
}

.scroll-text div {
  height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.502);
  border-radius: 10px;
  padding-left: 10px;
  padding-right: 10px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

  position: relative;
  overflow: hidden;

  background: linear-gradient(135deg,
    rgba(255,255,255,0.208),
    rgba(255,255,255,0.002));
}

.scroll-text div::before{
   content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(255,255,255,0.002),
    rgba(255,255,255,0.208));

  opacity: 0;
  transition: opacity 0.5s ease;
  border-radius: 10px;
}

.scroll-text div:hover:before{
 opacity: 1;
}

.scroll-text i{
  font-size: 100px;
}

.scroll-text img{
  width: 200px;
}

.scroll-text h2{
  margin-top: 10px;
}

@keyframes slideUp {
  0%, 15% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(-310px);
  }
  20%, 35% {
    transform: translateY(-310px);
  }
  40% {
    transform: translateY(-620px);
  }
  40%, 55% {
    transform: translateY(-620px);
  }
  60% {
    transform: translateY(-930px);
  }
  60%, 75% {
    transform: translateY(-930px);
  }
  80% {
    transform: translateY(0);
  }
  80%, 100% {
    transform: translateY(0);
  }
}

/* about section */
.about_cnt{
  padding: 5%;
  background: #071522;
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.137);
}

.about_1{
  display: flex;
  flex-direction: row;
  border: 1px solid rgba(255, 255, 255, 0.578);
  border-radius: 20px;
  padding: 1.5%;
  padding-right: 5%;
  padding-left: 3%;  
  gap: 5%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.119), rgba(255, 255, 255, 0.002));
}

.about_1 p{
  font-size: 20px;
  height: fit-content;
  margin-top: auto;
  margin-bottom: auto;
  color: #e9fbff;
  font-weight: 500;
}

.about_1 img{
  width: 250px;
}

.about_1 a{
  text-decoration: none;
  font-size: 20px;
  font-weight: 600;
  color: rgb(77, 95, 255);
}

.about_1 a:hover{
  text-decoration: wavy underline;
}

.what_we_do {
    display: flex;
    gap: 16px;
    margin-top: 18px;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 50px;   
}

.what_card {
    flex: 1 1 30%;
    min-width: 200px;
    background: rgba(0, 0, 27, 0.482);
    border: 1px solid rgba(255, 255, 255, 0.094);
    padding: 16px;
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.559);
}

.what_card:hover {
    transform: translateY(-6px);
    transition: transform 220ms ease;
}

.card_title {
    margin: 0 0 8px 0;
    font-size: 18px;
    color: #ffffff;
    font-weight: 700;
}

.card_text {
    margin: 0;
    font-size: 14px;
    color: #688497;
}

.what_card a{
    text-decoration: none;
    color: rgb(77, 95, 255);
    font-weight: 600;
}

.what_card a:hover{
   text-decoration: wavy underline;
}

/* projects section */
.projects_cnt{
  padding: 5%;
  background: #071522;
  color: white;
  width: 90%;
}

.projects_row{
  width: 100%;
  height: fit-content;
  display: flex;
  flex-direction: row;
  gap: 15px;
  margin-top: 30px;
}

.projects_card{
  background: rgba(255, 255, 255, 0.194);
  border: 1px solid rgba(255, 255, 255, 0.434);
  height: 400px;
  width: 350px;
  border-radius: 20px;
}

.projects_card img{
  width: 100%;
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
}

.projects_card h3{
  font-size: 25px;
}

.projects_card p{
  font-size: 18px;
}

.projects_card_bottom{
  padding: 5%;
  margin-top: -5%;
}

.projects_card_bottom a{
  color: white;
  text-decoration: none;
  background: rgb(127, 125, 255);
  padding-left: 35%;
  padding-right: 35%;
  padding-top: 1%;
  padding-bottom: 1%;
  border-radius: 20px;
  font-weight: bold;
  text-align: center;
  transition: background 0.3s ease;
}

.projects_card_bottom a:hover{
  background: rgb(77, 95, 255);
}

/* leave a note section */
#notes{
  padding: 40px;
  text-align:center;
  background: #071522;
  color: white;
}

#notes h1{
  font-size: 36px;
  background: linear-gradient(90deg, rgb(64, 64, 255), rgb(157, 157, 255), rgb(64, 64, 255));
  border: 1px solid white;
  box-shadow: 0px 0px 40px rgb(51, 78, 255);
  padding-bottom: 1%;
  padding-top: 0.5%;
  border-radius: 20px;
}

.note_input{
  display:flex;
  flex-direction:column;
  width: 80%;
  margin:auto;
  gap: 10px;
  background: rgb(0, 5, 28);
  padding: 2%;
  margin-top: 30px;
  border: 1px solid rgba(255, 255, 255, 0.301);
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.559);
  border-radius: 10px;
}

.note_input button{
  font-size: 16px;
  padding: 1%;
  background: rgb(116, 116, 255);
  border: none;
  border-radius: 20px;
  margin-top: 10px;
  font-weight: bold;
  color: white;
  transition: background 0.3s ease;
}

.note_input button:hover{
  background: rgb(72, 72, 255);
}

.note_input input,
.note_input textarea{
  padding:10px;
  border-radius:6px;
  font-size: 16px;
  border: 1px solid rgba(255, 255, 255, 0.393);
  background: rgba(0, 0, 0, 0);
  color: white;
  transition: border 0.2s ease;
}

.note_input input:focus, .note_input textarea:focus{
  outline: none;
  border: 1px solid rgb(77, 95, 255);
}

#notesContainer{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  justify-content:center;
  margin-top:30px;
}

.note_card{
  background: rgb(0, 5, 28);
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.559);
  color:white;
  width: 220px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.347);
}

.note_card h4{
  margin: 0;
  color: white;
  background: rgb(64, 64, 255);
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  padding: 5px 0px;
}

.note_card p{
  margin-top: 8px;
}

.footer{
  background: #041016;
  color: #cfe8f8;
  margin-top: -15px;
  padding: 10px;
  display: flex;
  flex-direction: row;
  height: fit-content;
  font-size: 12px;
}

.footer_right{
  width: 50%;
  text-align: right;
  padding-right: 8%;
}

.footer_left{
  width: 50%;
  padding-left: 1%;
  font-size: 15px;
}


/* Media query for mobile */
@media (max-width: 450px){
  .custom-cursor{
    display: none;
  } 

  .custom-cursor.click{
    display: none;
  }

  .custom-cursor .hover{
    display: none;
  }
  
  .index_main_cnt{
     display: flex;
     flex-direction: column;
     height: auto;
     padding-bottom: 5%;
   }

   .main_nav_left{
     width: 10%;
   }

   .main_nav_right{
      width: 90%;
      gap: 12px;
      justify-content: center;
   }

   .main_nav_right a{
      font-size: 15px;
      margin-top: auto;
      margin-bottom: auto;
   }

   .index_main_left_cnt{
     width: 90%;
     padding: 5%;
   }
   
   .index_main_cnt h1{
     font-size: 85px;
   }

   .index_main_cnt p{
     font-size: 25px;
     margin-top: -10px;
     width: 100%;
   }

   .index_main_right_cnt{
    width: 100%;
    margin-top: 0;
    height: fit-content;
    justify-content: center;
    padding: 0;
   }

   #about_0{
    flex-direction: column;
   }

   #about_2{
    flex-direction: column-reverse;
   }

   .about_1{
    justify-content: center;
    text-align: center;
   }

   .about_1 img{
    margin-left: auto;
    margin-right: auto;
   }

   .about_1 p{
    margin-top: 10px;
   }

   .projects_cnt{
     width: 90%;
   }
   
   .projects_row{
     flex-direction: column;
     align-items: center;
   }
}

/* Media query for tab */
@media (max-width: 1024px){
  .custom-cursor{
    display: none;
  } 

  .custom-cursor.click{
    display: none;
  }

  .custom-cursor.hover{
    display: none;
  }

   .main_nav_left{
     width: 30%;
   }

   .main_nav_right{
     width: 70%;
   }

   .index_main_cnt{
    flex-direction: column;
    height: fit-content;
    padding-bottom: 5%;
   }

   .index_main_cnt h1{
     font-size: 110px;
     width: 90%;
   }

   .index_main_cnt p{
    font-size: 30px;
    width: 90%;
   }

   .index_main_left_cnt{
    width: 100%;
   }

   .index_main_right_cnt{
    width: 100%;
    height: fit-content;
   }

   .scroll-wrapper{
     margin-left: auto;
     margin-right: auto;
   }

   #about_0{
     flex-direction: column;
   }

   #about_2{
    flex-direction: column-reverse;
   }

   .about_1{
     text-align: center;
   }

   .about_1 img{
    margin-left: auto;
    margin-right: auto;
   }

   .projects_row{
    flex-direction: column;
    width: 100%;
   }

   .projects_card{
    width: 100%;
    height: fit-content;
    text-align: center;
   }
}