.jetbrains-mono-JetBrains {
  font-family: "JetBrains Mono", monospace;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}


* {
  margin: 0;
  padding: 0;
  box-sizing:border-box;  

}
html, body {
  max-width: 100%; 
}
body {
  font-family: "JetBrains Mono", monospace;
  
}
.dot {
  color: #00ff99;
}
a {
  
  color: #fff;
  text-decoration: none;
}

.navbar {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  padding: 25px 9%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  animation: show-content 1.5s linear forwards;
  animation-delay: 1.2s;
}
@keyframes show-content {
  100% {
    visibility: visible;
    opacity: 1;
  }
}
.sidebar-toggle-btn {
  cursor: pointer;
  font-size: 1.5rem;
  padding: 0.5rem;
  background-color: transparent;
  border: none;
  color: #fff;
  display: none;
}

.sidebar-reducer {
  position: fixed;
  top: 60px;
  right: 0;
  background-color: #1f242d;
  width: 200px;
  height:40%;
  display: none;
  flex-direction: column;
  padding: 1rem;
  z-index: 1000;
  backdrop-filter: blur(5px);
}

.sidebar-reducer nav a {
  color: #fff;
  font-size:20px;
  text-decoration: none;
  padding: 0.75rem 0;
  display: block;
  border-bottom: 1px solid #e5e7eb09;
  text-align:left;
}
.sidebar-reducer nav a.active,
.sidebar-reducer nav a:hover {
  color: #00ff99;
}


/* Show reducer when checkbox is checked */
.navbar #sidebar-toggle:checked ~ .sidebar-reducer {
  display: flex;
}

/* Show toggle button on small screens, hide navbar links */
@media (max-width: 1023px) {
  .navbar ul {
    display: none !important ;
  }
  .sidebar-toggle-btn {
    display: block !important; 
  }
}


/* Hide sidebar toggle and reducer on large screens */
@media (min-width: 1024px) {
  .navbar ul {
    display: flex;
  }

  .sidebar-reducer {
    display: none !important;
  }

  .sidebar-toggle-btn {
    display: none;
  }

  #sidebar-toggle {
    display: none;
  }
}


.navbar .logo {
  font-size: 30px;
  font-weight: 700;
}

.navbar ul {
  display: flex;
}

.navbar ul li {
  list-style: none;
  margin-left: 35px;
}

.navbar ul li a {
  font-size: 20px;
  font-weight: 500;
  transition: 0.5s;
}

.navbar ul li:hover a,
.navbar ul li.active a {
  color: #00ff99;
}


.home {
  display: flex;
  align-items: center;
  height: 100vh;
  gap: 50px;
  padding: 60px 9% 0;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  animation: show-content 1.5s linear forwards;
  animation-delay: 1.6s;
}
.home-info {
  display: flex;
  justify-content: space-between;
  align-items: center;  
  gap: 2rem;
  flex-wrap: wrap;
}
.text-content {
  flex: 1;
  min-width: 300px;
}
.home .home-info span {
  font-size: 20px;
}
.home-info h1 {
  font-size: 55px;
  margin-top: 0px;
}

.home-info p {
  font-size: 16px;
  margin: 10px 0 25px;
}

.home-info .btn-sci {
  display: flex;
  align-items: center;
}

.btn {
  display: inline-block;
  padding:10px 30px;
  background: #00ff99;
  border: 2px solid #00ff99;
  border-radius: 40px;
  box-shadow: 0 0 10px #00ff99;
  font-size: 16px;
  color: #1f242d;
  font-weight: 600;
  transition: 0.5s;
}

.btn:hover {
  background: transparent;
  color: #00ff99;
  box-shadow: none;
  cursor: pointer;
}

.home-info .btn-sci .sci {
  margin-left: 20px;
}

.home-info .btn-sci .sci a {
  display: inline-flex;
  padding: 8px;
  border: 2px solid #00ff99;
  border-radius: 50%;
  font-size: 20px;
  color: #00ff99;
  margin: 0 8px;
  transition: 0.5s;
  position: relative;
  z-index: 10;
}

.home-info .btn-sci .sci a:hover {
  background: #00ff99;
  color: #1f242d;
  box-shadow: 0 0 10px #00ff99;
}

.home-img  .img-box{
  position: relative;
  background-color: #1f242d;
  margin-left: 30px;
 width: 32vw;
height: 32vh;
max-height:300px;
max-width: 300px;
  border-radius: 50%;
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  
}

.home-img .img-box::before,
.home-img .img-box::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: conic-gradient(transparent, transparent, transparent, #00ff99);
  transform: rotate(0deg);
  animation: rotate-border 8s linear infinite;
}
.home-img .img-box::after {
  animation-delay: -4s;
}

@keyframes rotate-border {
  100% {
    transform: rotate(360deg);
  }
}

.home-img .img-box .img-item {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid #1f242d;
  background: #1f242d;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  overflow: hidden;
}

.home-img .img-box .img-item img {
  top: -30px;
  position: absolute;
  display: block;
  width: 85%;
  object-fit: cover;
  mix-blend-mode: lighten;
}
.bars-animation {
  position: absolute;
  width: 110%;
  height: 100%;
  display: flex;
  z-index: -1;
}
.bars-animation .bar {
  width: 100%;
  height: 500vh;
  background: #1f242d;
  transform: translateY(-100%);
  animation: show-bars 0.5s ease-in-out forwards;
  animation-delay: calc(0.1s * var(--i));
}

@keyframes show-bars {
  100% {
    transform: translateY(0%);
  }
}

section {
  height: 100vh;
  padding: 100px 20px 20px;
}

.about {
  height: 100vh;
  padding: 5rem 9% 0;
  align-items: center;
  gap: 50px;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  animation: show-content 1.5s linear forwards;
  animation-delay: 1.6s;
}
.about-info h1 {
  font-size: 30px;
  margin: 1rem 1rem 0rem;  
}
.about-info h2{
padding: 1rem; 
}
.about-info h2 span {
  position: relative;  
  display: inline-block;
  color: transparent;
  -webkit-text-stroke: 0.7px #00ff99;
  animation: display-text 9s linear infinite;
  animation-delay: calc(-3s * var(--i));
}
.about-details{    
  width:1200px;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.about-details p{
  height: 350px;
  overflow-y:auto;
  scroll-bar-width: thin;
  scrollbar-color: #00ff99;
  border: 2px solid #e5e7eb1d;
  border-radius: 0.5rem; 
  margin: 1rem 1rem 1rem;
  line-height: 2.5rem;
  word-spacing: 4px;
}
.about-details-p{ 
  padding: 1rem;
  font-size:17px;
}
.about-details-ul ul{  
  list-style:none;
  gap: 16px;
  margin: 1rem 1rem 2rem;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  border: 2px solid #e5e7eb1d;
  border-radius: 0.5rem;
}
.about-details-ul strong{
  color: #00ff99;
  font-size:20px;
}
.about-details-ul li{
  font-size:17px;
  padding:10px;
}
.about-info h2 span::before {
  content: attr(data-text);
  position: absolute;
  width: 0;
  border-right: 2px solid #00ff99;
  color: #00ff99;
  white-space: nowrap;
  overflow: hidden;
  animation: fill-text 2s linear infinite;
}
@keyframes fill-text {
  10%,
  100% {
    width: 0;
  }
  70%,
  90% {
    width: 100%;
  }
}

@keyframes display-text {
  25%,
  100% {
    display: none;
  }
}

.stats {
  padding: 20px;
  text-align: center;
  color: #fff;
}
.stats-info ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 20px;
}

.stats-info li span {
  font-size: 20px;
  margin-right: 5px;
}

.services-section {
  max-width:2000px;
  margin:auto;  
  padding: 5rem 4rem;
  
}
.services-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;  
  padding: 1rem;
}
.service-card {
  color: #fff;
  width: 90%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: all 0.4 ease;
}
.service-card:hover .service-num {
  color: #00ff99;
}
.service-card:hover .service-title {
  color: #00ff99;
}
.service-header {
  display: flex;
  justify-content: space-between;
  align-items-center;
  margin: -1rem 0 -1rem;
}
.service-num{
  font-size: 25px;
  font-weight: 800; 
}
.service-icon{
  width:40px;
  height:40px;
  display:flex;
  justify-content:center;
  align-items:center;
  transition: all 0.4s ease;
}
.service-icon:hover{
  transform:rotate(-45deg);
  color: #00ff99;  
}
.arrow {
  font-size: 25px;;
}
.service-title{
  font-size:25px;
  font-weight:bold;
  margin: -0.5rem 0 -0.5rem;
}
.service-description{
  width:100%;
  font-size:18px;
  padding: 5px 0 5px;
 text-align:justify;
 margin: -0.5rem 0 -0.5rem;
}
.service-divider{
  border-bottom: 3px solid rgba(255,255,255,0.2);  
  width: 100%;
}
.container{
  max-width:2000px;
  margin:auto; 
  color:white;
  
}

 .container h2{
  font-size: 21px;
  text-align:left;
  margin: 0.5rem 1rem 0rem ;
}

.container .list{
  padding: 1rem;
  grid-template-columns: 2fr: 1fr;
}

.section {
  margin-bottom: 2rem;
}
.card {
  margin-bottom: 0.5rem;
  background: #e5e7eb01;
  border: 2px solid #e5e7eb18;
  border-radius: 0.5rem;
  padding: 0rem 0rem;
  
}
.grid-custom{
  width:100%;
}
.left-column .card{
  height:75%;
  overflow-y:auto;
  
}
.left-column .card span{
  color:#00ff99;
  font-size:17px;
  padding:0px 0px 1px;
  margin: 0.1rem 1rem -5rem;
}
.left-column .card p{
  font-size:17px;  
  border-bottom: 1px solid #e5e7eb1d;
  margin:-1rem 1rem 1rem;
}
.grid-custom{
  display: grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
 
}
.left-column{
  display:flex;
  flex-direction:column;
  gap: 1rem;
}
.right-column{
  display: flex;
  flex-direction:column;
  
}

.p-arrow{
  display:inline-block;
  transition: all 0.4s ease; 
}
.portfolio-icon .p-arrow:hover{
  transform: rotate(-45deg);
}

.right-column .card .r-span{
  color: #00ff99;
  font-size:20px;
  margin: 0rem 1rem;  
}

.card p{
  font-size:17px;
  padding: 18px 0px 18px;
  margin: -1rem 1rem;
  
}

.list{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px; 
  list-style: none;
  padding: 0; 
  font-size: 20px;
}

.list li{
  border 2px: solid #e5e7eb1d;
  padding:5px;
  background-color: #e5e7eb1d;
  border-radius: 8px;
  display:justify;
  text-align:center;
  color: #00ff99;
}
.list li:hover{
  background-color: #00ff99;
  color: #1f242d;
}
.list i{
  margin:5px;
}

.contact-container{ 
  width:100%;
  margin: 0rem 9% 0rem;
}
.contact-wrapper{
  display:grid;
  grid-template-columns: 1fr 1fr; 
}


.contact-info ul{
  list-style:none;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding: 20% 2%; 
}
.icon-box{
  padding: 1rem 1rem 1rem ;
  width:40px;
  height:40px;
  border-radius:0.5rem;
  background-color: #e5e7eb18;
  color: #00ff99;
  font-size:20px;
  display: flex;
  justify-content:center;
  align-items:center;
  margin-right:1rem;
}
.label{
  font-size:20px;
}
.icon-box:hover{
  background-color: #00ff99;
  color: #1f242d;
}
.contact-info li{
  display:flex;
  align-items:center;
}

.contact-form-box{
  background-color: #e5e7eb09;
  border: 2px solid #e5e7eb18;
  border-radius: 1.5rem;
  padding: 1rem;
  border-radius:24px;
  flex:1;
  width:600px;
}
.form-title{
  color:#00ff99;
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}
.form-description{
  color: #ccd8eeff;
  padding: -2rem 0rem 1rem;
}
select,textarea,input::placeholder {
  color: #ccd8eeff;
  font-size:17px;
  padding:2px;    
}
input{
 color: #ccd8eeff;
}
textarea::placeholder{
  color: #ccd8eeff;
  font-size:17px;
  padding:5px; 
}

input,
select,
textarea {
  background-color:  #1f242d;
  border: 2px solid  #e5e7eb09;
  padding: 0.5rem;
  gap:1 rem;
  border-radius: 8px;
  font-size: 16px;
}

select{
  width:100%;
  padding: 5px;
  margin: 1rem 0rem 1rem;
}
textarea{
  width:100%;
}
button{
  padding:10px;
  font-size: 18px;
  border:2px solid #00ff99;
  background-color: #00ff99;
  border-radius:2rem;
  margin: 1rem 0rem 0rem;
}
button:hover{
  color:#00ff99;
  background-color:#1f242d;
}
@media (min-width: 391px) and (max-width: 768px) {
  /*home section responsiveness*/
  .home{
    margin: -5rem 9% 0;
  }
  .home-info {
    flex-direction: column-reverse;
    align-items: center;
    text-align:center;
    gap:1rem;    
  }
  .home-img .img-box{
   
    width: 50vw  ;
    height: 50vw ;
  }
 .home-img .img-box .img-item img{
    width: 90%;
    top: -20px;
  }
  .home-img {    
    display: flex;
    justify-content:center;
    margin: 0rem 0 1rem;
  }
.text-content h1{
  font-size: 35px;
}
.text-content p{
  font-size: 20px;
}

  .text-content,
  .stats-info {
    width: 100%;
    gap:1rem;
  }
  .btn-sci{       
    flex-direction:column;
    align-items:center;
    gap:1rem;
    margin: -1rem 3rem -1rem;
  }
  /*about section responsiveness*/
  .about{
    padding: 5rem 9% 0;
  }
  .about-details{
    width:100%;
    display: grid;
    grid-template-columns:1fr;
  }
  .about-details-p{
    height:350px;
     overflow-y: auto;
     padding-right: 10px;
     scroll-bar-width: thin;
     scrollbar-color: #00ff99;
 } 
 .about-details-ul li{
    padding:2px;
    margin: 0.3rem 0rem 0;
  }
  .about-details-ul ul{
    gap:10px;
  }

  //services section
 
  .services-container{
    gap:2rem;
    padding:1rem;
  }
  .service-card{
    width:100%;
    display:flex;
  }
  .service-header{
    margin: 0 0 -1rem;
  }
  .service-num{
    font-size: 25px;
  }
  .service-icon{
    width:40px;
    height:40px;
  }
  .arrow{
    font-size:25px;
  }
  .service-title{
    font-size:25px;
    margin: 0 0 1rem;
  }
  .service-description:{
    font-size:15px;
    padding: 1px;
  }
  .service-divider{
    margin: -0.5rem 0 -0.5rem;
  }
  /*portfolio section responsiveness*/
  .container{
    padding: 7rem 2% 0;
  }
.grid-custom{
  width:100%;
  padding:5rem -1rem 0;
}
.left-column{
  height: 82%;
}

/*contact section responsiveness*/
.contact-wrapper{
  display:flex;
  flex-direction:column-reverse;
  gap:5px;
 }
 .contact-container{
  width: 80%;
  margin: -7rem 2% 0;
 }
 .contact-form-box{
  margin: -3rem 0 0;
 }
}

@media (min-width: 375px) and (max-width:667px){
  /* Home section */
  .home-info {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
    padding:1rem -10rem;
  }

  .home-img .img-box {
    width: 65vw;
    height: 65vw;
    margin: 2rem 0 -3rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }

  .home-img {
    display: flex;
    justify-content: center;
    margin: 0 0 2rem;
  }

  .home {
    margin: 0 -5vw;
  }

  .text-content {
    width: 85%;
  }

  .text-content h1 {
    font-size: 26px;
  }

  .text-content p {
    margin: 0 1rem 1.5rem;
  }

  .btn-sci {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin: -1rem auto;
  }

  .stats {
    margin: 1rem auto;
    padding: 1rem;
  }

  .stats-info ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }

  .stats-info li span {
    margin-right: 2px;
  }

  /* About section */
  .about {
    padding: 3rem 1rem 0;
  }

  .about-info h1 {
    font-size: 22px;
    margin: 1rem 1rem -1rem;
  }

  .about-info h2{
    margin: 0 0 3rem;    
    height: 20px;
  } 

  .about-details {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .about-details-p {
    height: 250px !important;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-width: thin;
    scrollbar-color: #00ff99;
    text-align: justify;
  } 

  .about-details-ul{
    margin:-1rem 0 0;
  }

  .about-details-ul ul {
    gap: 0.5rem;
    grid-template-columns: repeat(2, 1fr);
    word-break: break-word;
  }

  .about-details-ul strong {
    font-size: 16px;
  }

  .about-details-ul li {
    font-size: 14px;
    padding: 1px 1px;
    margin: 0.1rem;
  }

  /* Services section */
  .services-section {
    width: 100%;
    padding: 5rem 1rem;
  }

  .services-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1rem 0;
    overflow-y: auto;
    max-height: 100vh;
  }

  .service-card {
    width: 100%;
    display: flex;
  }

  .service-header {
    margin-bottom: -1rem;
  }

  .service-num,
  .service-title {
    font-size: 17px;
    margin-bottom: 0.2rem;
  }

  .service-icon {
    width: 36px;
    height: 36px;
  }

  .arrow {
    font-size: 22px;
  }

  .service-description {
    font-size: 14px;
    padding: 2px;
  }

  .service-divider {
    margin: -0.3rem 0;
  }

  /* Portfolio section */
  .container {
    width: 100%;
    padding: 4rem 5% 0;
  }

  .grid-custom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .card {
    height: 100%;
    padding: 0.75rem;
    overflow-y: auto;
    scroll-bar-width:thin;
  }

  .left-column,
  .right-column {
    width: 100%;       
  }
  .left-column{
    height:300px;   
  }
  .skills{
    height:95px;
  }
  .right-column{
    margin: -6rem 0 ;
  }

  .left-column {
    margin: 1rem 0;
  }

  .left-column .card span,
  .right-column .card .r-span {
    font-size: 15px;
  }

  .left-column .card h2,
  .right-column .card h2 {
    font-size: 18px;
  }

  .right-column .card {
    margin: 0.3rem 0;
    height: 100%;
  }

  .list {
    gap: 6px;
    font-size: 12px;
    margin: -1rem 0 -0.5rem;
  }

  .list li {
    padding: 4px;
    margin: 3px;
  }

  /* Contact section */
  .contact-wrapper {
    display: flex;
    flex-direction: column-reverse;
  }

  .contact-container {
    width: 90%;
    margin: 0 auto;
  }

  .contact-info ul {
    margin: -5rem 0 -3rem;
    gap: 1rem;
    font-size: 14px;
  }

  .contact-form-box {
    width: 100%;
  }

  .form-title {
    font-size: 20px;
  }

  .form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .form-description {
    padding: 0 0 0.5rem;
    font-size:12px;
  }

  select,
  text {
    margin: 0.1rem 0;
  }
input{
  margin: 0.1rem 0 rem;
}
  .icon-box {
    padding: 0.5rem;
  }

  .label {
    font-size: 16px;
  }

  .icon-box h3 {
    font-size: 14px;
  }

  textarea {
    height: 80px;
  }

  button {
    padding: 8px 12px;
    margin: 0.1rem 0 -0.1rem;
  }
}



 
@media (min-width:414px) and (max-width:896px){
  /*home section*/
   .home-img .img-box {
    width: 45vw;
    height: 45vw;
    margin: 2rem 0 -3rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }
  /*services section*/
  .services-section{
    padding: 4.5rem 1rem;
  }

  /*contact section*/
  input{
    padding:6px;
  }
  .contact-form-box{
    margin: -0.5rem;
  }
}

@media (min-width: 390px) and (max-width: 844px){
  /*portfolio section*/

  .skills{
    height:80px;
    
  }
  
}

@media (min-width: 412px) and (max-width:915px){
  /*home section*/
  .home-img .img-box {
    width: 45vw;
    height: 45vw;
    margin: 2rem 0 -3rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }
  /*contact section*/

   input{
    padding:6px;
  }
  .contact-form-box{
    margin: -0.5rem;
  }

}

 @media (min-width:360px) and (max-width: 740px ){

  /*home section*/
  .home{
    width:50%;
    padding: 60px 1% 0;
  }
  .home-info {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
    padding:1rem 1rem;
  }

  .home-img .img-box {
    width: 60vw;
    height: 60vw;
    margin: 3rem -3rem -1.5rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }
  .text-content{
    width:100%;
  }
   .text-content h1 {
    font-size: 26px;
  }
   .text-content p {
    width: 100%;
    font-size:17px;
  }
    .btn-sci {    
    width:100%;
    display:flex;
    flex-direction:column;
    gap:12px;    
  }
  .btn{
    padding: 10px 20px;
  }
  .stats-info{
    width: 100%;
  }
   .stats-info ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /*about section*/
  .about{
    padding: 4rem 1% 0;
  }
    .about-details {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
    .about-info h2{
    margin: 0 0 3rem;    
    height: 20px;
  } 
    .about-details-p {
    height: 200px !important;
    width:91%;    
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-width: thin;
    scrollbar-color: #00ff99;
    text-align: justify;
  } 
  .about-details-ul{
    margin:-1rem 0 0;
  }

  .about-details-ul ul {
    gap: 0.5rem;
    grid-template-columns: repeat(2, 1fr);
    word-break: break-word;
  }

  .about-details-ul strong {
    font-size: 16px;
  }

  .about-details-ul li {
    font-size: 14px;
    padding: 1px 1px;
    margin: 0.1rem;
  } 
  /* Services section */
  .services-section {
    width: 100%;
    padding: 5rem 1rem;
  }

  .services-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1rem 0;
    overflow-y: auto;
    max-height: 100vh;
  }

  .service-card {
    width: 100%;
    display: flex;
  }

  .service-header {
    margin-bottom: -1rem;
  }

  .service-num,
  .service-title {
    font-size: 17px;
    margin-bottom: 0.2rem;
  }

  .service-icon {
    width: 36px;
    height: 36px;
  }

  .arrow {
    font-size: 22px;
  }

  .service-description {
    font-size: 14px;
    padding: 2px;
  }

  .service-divider {
    margin: -0.3rem 0;
  }

  
  /* Portfolio section */
  .container {
    width: 100%;
    padding: 4rem 5% 0;
  }

  .grid-custom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .card {
    height: 100%;
    padding: 0.75rem;
    overflow-y: auto;
    scroll-bar-width:thin;
  }

  .left-column,
  .right-column {
    width: 95%;       
  }
  .left-column{
    height:300px;   
  }
  .skills{
    height:95px;
  }
  .right-column{
    margin: -6rem 0 ;
  }

  .left-column {
    margin: 1rem 0;
  }

  .left-column .card span,
  .right-column .card .r-span {
    font-size: 15px;
  }

  .left-column .card h2,
  .right-column .card h2 {
    font-size: 18px;
  }

  .right-column .card {
    margin: 0.3rem 0;
    height: 100%;
  }

  .skills{
    height:60px;
  }
  .list {
    gap: 6px;
    font-size: 12px;
    margin: -1rem 0 -0.5rem;
  }

  .list li {
    padding: 4px;
    margin: 3px;
  }

  /* Contact section */
  .contact-wrapper {
    display: flex;
    flex-direction: column-reverse;
  }

  .contact-container {
    width: 90%;
    margin: 0 auto;
  }

  .contact-info ul {
    margin: -5rem 0 -3rem;
    gap: 1rem;
    font-size: 14px;
  }

  .contact-form-box {
    width: 100%;
  }

  .form-title {
    font-size: 20px;
  }

  .form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .form-description {
    padding: 0 0 0.5rem;
    font-size:12px;
  }

  select,
  text {
    margin: 0.1rem 0;
  }
input{
  margin: 0.1rem 0 rem;
}
  .icon-box {
    padding: 0.5rem;
  }

  .label {
    font-size: 16px;
  }

  .icon-box h3 {
    font-size: 14px;
  }

  textarea {
    height: 80px;
  }

  button {
    padding: 8px 12px;
    margin: 0.1rem 0 -0.1rem;
  }



 }


@media (min-width: 768px ) and (max-width:1024px) {
 
  .home{
    width:87%;
     padding: 60px 2% 0;
  }
 
  .home-img .img-box{
    width: 32vw;
    height: 32vw;
    margin: 5rem 0 -1rem;
  }
  .btn-sci{
    display:flex;
    flex-direction:row;
    margin: 0rem 3rem;
    gap: 2rem;
  }
  .btn{
    padding: 10px 10px;
    display: inline-block
  }

  /*about section responsiveness*/
  .about{
    padding: 5rem 1% 0rem;
  }
  .about-details-p{
    height: 250px !important;
  }
  
  /*services section responsiveness*/
  .services-section{    
    padding: 5rem 5% 0rem;
    width: 100%;
  }
   .service-card {
    width: 100%;
    display: flex;
  }

  .service-header {
    margin-bottom: -1rem;
  }

  .service-num,
  .service-title {
    font-size: 25px;
    margin-bottom: 0.2rem;
  }

  .service-icon {
    width: 40px;
    height: 40px;
  }

  .arrow {
    font-size: 25px;
  }

  .service-description {
    font-size: 17px;
    padding: 2px;
  }

  .service-divider {
    margin: -0.3rem 0;
  }

  /*portfolio section responsiveness*/
  .container {
    width: 100%;
    padding: 3.5rem 5% 0;
  }

  .grid-custom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .card {
    height: 100%;
    padding: 0.75rem;
    overflow-y: auto;
    scroll-bar-width:thin;
  }

  .left-column,
  .right-column {
    width: 100%;       
  }
  .left-column{
    height:380px;   
  }
  .skills{
    height:95px;
  }
  .right-column{
    margin: -7rem 0 ;
    height: 350px;
  }

  .left-column {
    margin: 1rem 0;
  }

  .left-column .card span,
  .right-column .card .r-span {
    font-size: 15px;
  }

  .left-column .card h2,
  .right-column .card h2 {
    font-size: 18px;
  }

  .right-column .card {
    margin: 0.3rem 0;
    height: 100%;
  }

  .list {
    gap: 6px;
    font-size: 12px;
    margin: -1rem 0 -0.5rem;
  }

  .list li {
    padding: 4px;
    margin: 3px;
  }

 /* Contact section */
  .contact-wrapper {
    display: grid;
    grid-template-column: 1fr;
  }

  .contact-container {
    width: 90%;
    margin: 0 auto;
  }

  .contact-info ul {
    margin: 1.5rem 0 0;
    gap: 1rem;
    font-size: 14px;
  }

  .contact-form-box {
    width: 100%;
  }

  .form-title {
    font-size: 20px;
  }

  .form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .form-description {
    padding: 0 0 0.5rem;
    font-size:12px;
  }

  select,
  text {
    margin: 0.1rem 0;
  }
input{
  margin: 0.1rem 0 rem;
}
  .icon-box {
    padding: 0.5rem;
  }

  .label {
    font-size: 16px;
  }

  .icon-box h3 {
    font-size: 14px;
  }

  textarea {
    height: 80px;
  }

  button {
    padding: 8px 12px;
    margin: 0.1rem 0 -0.1rem;
  }


}
@media (min-width: 820px ) and (max-width:1180px) {
 
 .home-info {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
    padding:1rem -10rem;
  }

  .home-img .img-box {
    width: 40vw;
    height: 40vw;
    margin: -2rem 0 -1rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }

  .btn-sci{
    display:flex;
    flex-direction:row;
    margin: 0rem 3rem;
    gap: 2rem;
  }
  .btn{
    padding: 10px 10px;
    display: inline-block
  }

  /*about section responsiveness*/
  .about {
    padding: 5rem 1rem 0;
  }

  .about-info h1 {
    font-size: 22px;
    margin: 1rem 1rem -1rem;
  }

  .about-info h2{
    margin: 0 0 1rem;    
    height: 20px;
  } 

  .about-details {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .about-details-p {
    height: 300px !important;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-width: thin;
    scrollbar-color: #00ff99;
    text-align: justify;
  } 

  .about-details-ul{
    margin:-1rem 0 0;
  }

  .about-details-ul ul {
    gap: 0.5rem;
    grid-template-columns: repeat(2, 1fr);
    word-break: break-word;
  }

  .about-details-ul strong {
    font-size: 20px;
  }

  .about-details-ul li {
    font-size: 17px;
    padding: 10px 10px;
    margin: -0.1rem;
  }

  
  /*services section responsiveness*/
  .services-section{    
    padding: 5rem 5% 0rem;
    width: 100%;
  }
   .service-card {
    width: 100%;
    display: flex;
  }

  .service-header {
    margin-bottom: -1rem;
  }

  .service-num,
  .service-title {
    font-size: 25px;
    margin-bottom: 0.2rem;
  }

  .service-icon {
    width: 40px;
    height: 40px;
  }

  .arrow {
    font-size: 25px;
  }

  .service-description {
    font-size: 17px;
    padding: 2px;
  }

  .service-divider {
    margin: -0.3rem 0;
  }

  /*portfolio section responsiveness*/
  .container {
    width: 100%;
    padding: 3.5rem 5% 0;
  }

  .grid-custom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .card {
    height: 100%;
    padding: 0.75rem;
    overflow-y: auto;
    scroll-bar-width:thin;
  }

  .left-column,
  .right-column {
    width: 100%;       
  }
  .left-column{
    height:380px;   
  }
  .skills{
    height:95px;
  }
  .right-column{
    margin: -7rem 0 ;
    height: 350px;
  }

  .left-column {
    margin: 1rem 0;
  }

  .left-column .card span,
  .right-column .card .r-span {
    font-size: 15px;
  }

  .left-column .card h2,
  .right-column .card h2 {
    font-size: 18px;
  }

  .right-column .card {
    margin: 0.3rem 0;
    height: 100%;
  }

  .list {
    gap: 6px;
    font-size: 12px;
    margin: -1rem 0 -0.5rem;
  }

  .list li {
    padding: 4px;
    margin: 3px;
  }

 /* Contact section */
  .contact-wrapper {
    display: grid;
    grid-template-column: 1fr;
  }

  .contact-container {
    width: 90%;
    margin: 0 auto;
  }

  .contact-info ul {
    margin: 1.5rem 0 0;
    gap: 1rem;
    font-size: 14px;
  }

  .contact-form-box {
    width: 100%;
  }

  .form-title {
    font-size: 20px;
  }

  .form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .form-description {
    padding: 0 0 0.5rem;
    font-size:12px;
  }

  select,
  text {
    margin: 0.1rem 0;
  }
input{
  margin: 0.1rem 0 rem;
}
  .icon-box {
    padding: 0.5rem;
  }

  .label {
    font-size: 16px;
  }

  .icon-box h3 {
    font-size: 14px;
  }

  textarea {
    height: 80px;
  }

  button {
    padding: 8px 12px;
    margin: 0.1rem 0 -0.1rem;
  }

}

@media (min-width:1024px) and (max-width:1028px) {
  .btn-sci{
    width: 100%;
    align-items:center;
    text-align:center;
    margin: 0 20rem 0;
  }
    .home-info {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
    padding:1rem -10rem;
  }

  .home-img .img-box {
    width: 32vw;
    height: 32vw;
    margin: 1rem 0 1rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }

   .form-description {
    padding: 0 0 0.5rem;
    font-size:20px;
  }

   .label {
    font-size: 20px;
  }

  .icon-box h3 {
    font-size: 17px;
  }

   button {
    padding: 10px 20px;
    margin: 1rem 0 -0.1rem;
  }

  .form-grid{
    font-size: 20px;
  }

  input,select,textarea{
    padding: 10px!important ;
  }

}

@media (min-width:540px) and (max-width:720px){
    /*home section*/
    .home{
      width: 100%;
    }
  .home-img .img-box {
    width: 45vw;
    height: 45vw;
    margin: 2rem 0 -3rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }

/*about section*/
.about-details-p{
   height: 300px !important ;
}

  /*contact section*/

   input{
    padding:6px;
  }
  .contact-form-box{
    margin: -0.5rem;
  }


  .contact-form-box{
    margin: -2rem 0 0;
  }


}

@media (min-width:344px) and (max-width:882px){
  /* Home section */
  .home-info {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
    padding:1rem -10rem;
  }

  .home-img .img-box {
    width: 65vw;
    height: 65vw;
    margin: 2rem 0 -3rem;
  }

  .home-img .img-box .img-item img {
    width: 95%;
    top: -20px;
  }

  .home-img {
    display: flex;
    justify-content: center;
    margin: 0 0 2rem;
  }

  .home {
    margin: 0 -5vw;
  }

  .text-content {
    width: 85%;
  }

  .text-content h1 {
    font-size: 26px;
  }

  .text-content p {
    margin: 0 1rem 1.5rem;
  }

  .btn-sci {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin: -1rem auto;
  }

  .stats {
    margin: 1rem auto;
    padding: 1rem;
  }

  .stats-info ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }

  .stats-info li span {
    margin-right: 2px;
  }

  /* About section */
  .about {
    padding: 3rem 1rem 0;
  }

  .about-info h1 {
    font-size: 22px;
    margin: 1rem 1rem -1rem;
  }

  .about-info h2{
    margin: 0 0 3rem;    
    height: 20px;
  } 

  .about-details {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .about-details-p {
    height: 250px !important;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-width: thin;
    scrollbar-color: #00ff99;
    text-align: justify;
  } 

  .about-details-ul{
    margin:-1rem 0 0;
  }

  .about-details-ul ul {
    gap: 0.5rem;
    grid-template-columns: repeat(2, 1fr);
    word-break: break-word;
  }

  .about-details-ul strong {
    font-size: 16px;
  }

  .about-details-ul li {
    font-size: 14px;
    padding: 1px 1px;
    margin: 0.1rem;
  }

  /* Services section */
  .services-section {
    width: 100%;
    padding: 5rem 1rem;
  }

  .services-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1rem 0;
    overflow-y: auto;
    max-height: 100vh;
  }

  .service-card {
    width: 100%;
    display: flex;
  }

  .service-header {
    margin-bottom: -1rem;
  }

  .service-num,
  .service-title {
    font-size: 17px;
    margin-bottom: 0.2rem;
  }

  .service-icon {
    width: 36px;
    height: 36px;
  }

  .arrow {
    font-size: 22px;
  }

  .service-description {
    font-size: 14px;
    padding: 2px;
  }

  .service-divider {
    margin: -0.3rem 0;
  }

  /* Portfolio section */
  .container {
    width: 100%;
    padding: 4rem 5% 0;
  }

  .grid-custom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .card {
    height: 100%;
    padding: 0.75rem;
    overflow-y: auto;
    scroll-bar-width:thin;
  }

  .left-column,
  .right-column {
    width: 100%;       
  }
  .left-column{
    height:300px;   
  }
  .skills{
    height:95px;
  }
  .right-column{
    margin: -6rem 0 ;
  }

  .left-column {
    margin: 1rem 0;
  }

  .left-column .card span,
  .right-column .card .r-span {
    font-size: 15px;
  }

  .left-column .card h2,
  .right-column .card h2 {
    font-size: 18px;
  }

  .right-column .card {
    margin: 0.3rem 0;
    height: 100%;
  }

  .list {
    gap: 6px;
    font-size: 12px;
    margin: -1rem 0 -0.5rem;
  }

  .list li {
    padding: 4px;
    margin: 3px;
  }

  /* Contact section */
  .contact-wrapper {
    display: flex;
    flex-direction: column-reverse;
  }

  .contact-container {
    width: 90%;
    margin: 0 auto;
  }

  .contact-info ul {
    margin: -8rem 0 -3rem;
    gap: 1rem;
    font-size: 14px;
  }

  .contact-form-box {
    width: 100%;
  }

  .form-title {
    font-size: 20px;
  }

  .form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .form-description {
    padding: 0 0 0.5rem;
    font-size:12px;
  }

  select,
  text {
    margin: 0.1rem 0;
  }
input{
  margin: 0.1rem 0 rem;
}
  .icon-box {
    padding: 0.5rem;
  }

  .label {
    font-size: 16px;
  }

  .icon-box h3 {
    font-size: 14px;
  }

  textarea {
    height: 80px;
  }

  button {
    padding: 8px 12px;
    margin: 0.1rem 0 -0.1rem;
  }
}

