section {
    padding-top: 128px;
    padding-left: 48px;
    padding-right: 48px;
    position: relative;
}

.about::before, .portfolio::before, .contact::before {
    z-index: -1;
    content: attr(data-title);
    font-size: 64px;
    font-weight: 700;
    color: gray;
    opacity: 0.25;
    position: absolute;
    top: 20px;
    left: 35px;
}


.btn.button {
    border: 3px solid black;
    border-radius: 15px;
}

.btn.button:hover, 
.btn.button.active {
    border: 3px solid black;
    background-color: black;
    color: white;
}

.navbar {
    background-color: white;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.25);
}

.home h1{
    font-size: 72px;
}

.home h3{
    font-size: 48px;
}

.home img {
    width: 100%;
}

.home .arrow img {
    width: 60px;
}

.img-fluid {
    max-width: 80%;
    height: auto;
}

#arrow {
    animation: 2s upDown infinite;
}



.about-exp-item {
    margin-top: 24px;
}

.about-exp-item-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.about-skill-item-detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    padding: 0;
  }
  
.about-skill-item-detail li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; 
    margin: 15px;
    text-align: center; 
  }
  
.about-skill-item-detail img {
    display: block;
    margin-bottom: 5px;
    width: 50px; 
    height: auto;
}
  
.about-skill-item-detail p {
    margin-top: 5px;
    font-size: 14px;
    font-weight: 600;
} 

/* .about-exp-item-detail img {
    margin-right: 20px; 
    margin-bottom: 10px; 
   
    
  } */

.about::before {
    content: 'About';
}

p {
    text-align: justify;
}

.portfolio::before{
    content: 'Portfolio';
}

.portfolio-container .row {
    margin-bottom: 32px; 
}

.port-img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "port1 port2" "port3 port3";
    gap: 16px;
}

.port-img-item {
    position: relative;
    
}

.port-img-item:hover:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.25);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 24px;
}

.port-img img {
    content: 'Hello';
}

#port1 {
    grid-area: port1;
}

#port1:hover::after {
    content: 'Documentation Project';
}

#port2 {
    grid-area: port2;
}

#port2:hover::after {
    content: 'Web Project';
}

#port3 {
    grid-area: port3;
}

#port3:hover::after {
    content: 'Web Project';
}

.contact-container {
    position: relative;
    padding: 2rem;
}

.contact {
    padding: bottom 128px;
}

.contact::before {
    content: 'Get in Touch!';
    display: block;
    
    font-weight: bold;
    margin-bottom: 1rem; 
    text-align: center;
}

.contact-form {
    margin-top: 6rem; 
    width: 100%;
    border: 1px solid black;
    padding: 64px 32px 16px 32px; 
    border-radius: 20px 20px 20px 20px; 
    margin-bottom: 20px; 
}

.form-label {
    font-weight: 700;
}

.icon-small {
    width: 24px; 
}

.row.d-flex.flex-column {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.col-12.col-lg-6 {
    margin-bottom: 2rem; 
}

@media only screen and (max-width: 768px) {

    .navbar {
        width: 100%; 
        padding: 0 15px;
      }
    
      .container {
        width: 100%; 
        padding-left: 10px;
        padding-right: 10px;
      }
    
      .navbar-nav {
        padding-left: 0;
        margin: 0;
        flex-direction: row; 
      }
    
      .navbar-brand {
        font-size: 20px; 
      }
    
      .nav-item {
        padding: 10px 5px; 
      }
    
      img {
        max-width: 100%;
        height: auto;
      }
      
    .home img{
        width: 50%;
      }
}

@media only screen and (max-width: 567px) {
    .navbar {
        width: 100%;
        padding: 0 10px; 
      }
    
      .container {
        width: 100%; 
        padding-left: 5px;
        padding-right: 5px;
      }
    
      .navbar-nav {
        padding-left: 0;
        margin: 0;
        flex-direction: column; 
      }
    
      .navbar-brand {
        font-size: 18px; 
      }
    
      .nav-item {
        padding: 5px 0; 
      }
    
      img {
        max-width: 100%; 
        height: auto;
      }

    section::before {
        left: -10px;
        font-size: 50px;
    }
}

@keyframes upDown {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(10px);
    }

    100% {
        transform: translateY(0);
    }
}

@media only screen and (max-width: 425px) {

   
@media (max-width: 425px) {
    .navbar {
      width: 100%; 
      padding: 0 15px; 
    }
  
    .container {
      width: 100%;
      padding-left: 0;
      padding-right: 0;
    }
  
    .navbar-nav {
      padding-left: 0;
      margin: 0;
    }
    
    img {
      max-width: 100%;
      height: auto;
    }
  }
  
    .home-container,
    .about-container,
    .portfolio-container,
    .contact-container {
      padding: 15px;
    }
  
    .navbar-brand {
      font-size: 18px;
    }
  
    .navbar-nav .nav-link {
      font-size: 14px;
    }
  
    
    h1, h3, h5, p {
      text-align: center;
      font-size: 14px;
    }
  
    .portfolio h3 {
      font-size: 16px;
    }
  
    .btn.button {
      font-size: 12px;
      padding: 8px 16px;
    }
  
    .port-img img, .port-img video {
      width: 100%; 
      height: auto;
    }
  
    .port-img-item {
      margin: 0 auto; /
    }
  
    .contact-form .form-control {
      font-size: 12px;
    }
  
    .icon-small {
      width: 20px;
      height: 20px;
    }
  
    .col-md-6, .col-md-4, .col-12 {
      width: 100%; 
    }
  
    .portfolio-container .row {
      margin-bottom: 20px;
    }
  
    .about-exp-item {
      margin-bottom: 20px;
    }
  }
  