@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@600&display=swap');
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: 'Josefin Sans', sans-serif;
}
header {
    width: 100%;
    background: white;
    top: 0;
    left: 0;
    padding: 35px;
}
nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 5%;
    right: 5%;
    padding: 10px;
}
.nav-link {
    display: block;
    position: static;
}
.hamburger {
    display: none;
    cursor: pointer;
}
.hamburger i {
    color: blue;
}
.nav-link li a {
    display: inline-block;
}

.logo {
    color: blue;
    padding: 10px;
    font-size: 28px;
    letter-spacing: 5px;
    cursor: pointer;
}

nav ul li {
    list-style-type: none;
    display: inline-flex;
    padding: 20px 25px;
}
nav ul li a {
    text-decoration: none;
    color: black;
    font-weight: bold;
    font-size: 18px;
    
}
.button {
    color: rgb(252, 249, 245);
    text-decoration: none;
    background-color: blue;
    padding: 10px;
    border: none;
    font-size: 18px;
    border-radius: 23px;
}

 #home {
     display: flex;
     align-content: center;
     background-color: rgb(236, 237, 250);
     background-image: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('images/laptop.webp');
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
     justify-content: center;
     padding: 100px 0;
 }
 a.link {
     text-decoration: underline rgb(121, 121, 252);
     color: white;
 }
 .content-text span {
     color: #252839;
     text-transform: uppercase;
     -webkit-text-stroke: 0.3vw #383d52;
     position: relative;
 }
 .content-text span::before {
     content: attr(data-text);
     position: absolute;
     top: 0;
     left: 0;
     width: 0;
     height: 100%;
     color: rgb(1, 22, 250);
     -webkit-text-stroke: 0vw rgb(60, 60, 83);;
     border-right: 2px solid rgb(1, 22, 250);
     overflow: hidden;
     animation: animate 3s linear infinite;

 }
 @keyframes animate {
     0%, 10%, 100% {
         width: 0;
     }
     70%, 90% {
         width: 100%;
     }
 }
 .content-text {
     font-size: 23px;
     font-weight: bold;
     width: 400px;
     color: white;
 }
 
 
 #home h1 {
     font-size: 60px;
     margin-top: 20px;
 }
 #home p {
     font-size: 23px;
     line-height: 25px;
     color: white;
     margin-top: 20px;
     margin-bottom: 55px;
 }
 
 #home image {
     height: auto;
     width: 100%;
 }
 .btn {
     cursor: pointer;
     border: none;
     text-decoration: none;
     background-color: blue;
     color: white;
     padding: 20px;
     margin-top: 50%;
     border-radius: 30px;
     transition: .4s;

 }
 #about {
     background-color: rgb(243, 250, 250);
     padding: 50px;
 }
 
 #about img {
     width: 400px;
     height: auto;
 }
 
 .main {
     display: flex;
     align-items: center;
     justify-content: space-evenly;
 }
 .about-text {
     width: 500px;
     
 }
 .about-text h2 {
     color: rgb(85, 85, 94);
     font-size: 25px;
     text-transform: capitalize;
     margin-bottom: 25px;
     border-left: 2px solid blue;
     padding: 8px;
     
 }
 .about-text h5 {
     color: black;
     font-size: 50px;
     text-transform: capitalize;
     letter-spacing: 2px;
 }
 .about-text span {
     color: blue;
 }
 .about-text p {
     color: rgb(77, 72, 72);
     line-height: 30px;
     font-size: 18px;
     margin-bottom: 50px;
     margin-top: 40px;
 }

 .skilltext {
     width: 400px;
     align-items: center;
 }
 .skilltext p {
      font-size: 20px;
      margin-top: 20px;
      color: rgb(20, 20, 20);
 }
 .skilltext h2 {
     font-size: 40px;
     border-left: 2px solid blue;
     padding: 8px;
 }
 .skillicon {
     display: grid;
     grid-template-columns: auto auto;
     grid-gap: 70px;

 }
 .skillicon i {
     font-size: 100px;
     /* text-align: justify; */
     /* font-weight: bold; */
     /* color: rgb(21, 21, 126); */
 }
 .skillicon i p {
     color: rgb(36, 35, 35);
     font-size: 25px;
     text-align: center;
 }
 .theskills {
     background-color: whitesmoke;
     padding: 50px;
     display: flex;
     justify-content: space-evenly;
     align-items: center;
 }
 
#portfolio {
    padding: 30px;
    color: rgb(31, 30, 30);
}
.gridwrap {
    display: grid;
    grid-template-columns: auto auto;
    width: 100%;
    position: relative;   
}
.gridcol {
    padding: 30px;
}
.gridcol img {
    width: 100%;
    height: 370px;
}
 .pftitle h2 {
    text-align: center;
    font-size: 30px;
    color: blue;
    padding-top: 35px;
}
.gridcol img:hover {
    transform: scale(1.1);
}
.modal {
    position: absolute;
    top: 0;
    border-radius: 4px;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.7);
    transition: all 0.4s;
    visibility: hidden;
    opacity: 0;
}
.modal:target {
    visibility: visible;
    opacity: 1;
}
.card {
    position: relative;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  width: 700px;
  height: 700px;
  margin: auto;
  background-color: white;
  text-align: center;
  padding: 20px 0;
  border-radius: 4px;
}
.modal .title {
    color: rgb(32, 31, 31);
    font-size: 18px;
    text-align: justify;
    padding: 20px;
  }
  
  .card h1 {
      padding-top: 20px;
  }
.modalclose {
    position: absolute;
    top: 0;
    right: 15px;
    color: black;
    text-decoration: none;
    font-size: 50px;
}
.modal img {
    margin-top: 20px;
}
.contact-details {
    background-color: rgb(188, 192, 245);
    padding: 50px;
    text-align: center;
    font-size: 20px;
}
.contact-details h3 {
    text-decoration: underline blue;
    font-size: 30px;
}
.details {
    padding: 20px;
    line-height: 2;

}
.details h4 {
    text-transform: uppercase;
}
.details a {
    text-decoration: none;
    color: #252839;
}
.footer {
    padding: 50px;
    text-align: center;
    background-color: white;
}
.footer-links ul {
    display: flex;
    justify-content: center;
    list-style: none;

}
.footer-links li a {
    text-decoration: none;
    padding: 20px;
    color: hsl(180, 2%, 12%);
    border: 1px solid grey;
    border-radius: 50%;

    
}
.footer-links li {
    margin: 10px;
}
.footer-links li a i {
    font-size: 20px;
    
}
.footer-links li a:hover {
    background-color: blue;
    border: 1px solid blue;
    transition: all .4s ease-in;
    color: white;
}
.footer span {
    font-size: 16px;
    color: gray;
    margin-top: 35px;
}
.footer span a {
    color: blue;
    font-weight: 500;
    text-decoration: none;
}
.footer-notes {
    margin-top: 30px;
}
.footer-notes i {
    font-size: 16px;
    color: gray;
}


@media screen and (max-width: 600px) {
    header {
        padding: 35px;
    }
    .nav {
        top: 0;
        
    }
    .hide {
        display: none;
    }
    .hamburger {
         display: block;
        font-size: 20px;
        cursor: pointer;
    }
    .nav-link  a {
        text-align: center;
        padding: 20px 0;
        border-bottom: 2px solid blue;
        width: 100%;
        border-radius: 23px;
    }
    .nav-link  {
        position: absolute;
        width: 100%;
        text-align: center;
        border-radius: 25px;
        top: 5rem;
        background-color: aliceblue;
        z-index: 10;
    }
    nav ul li {
        display: block; 
    }
    #home {
        text-align: center;
    }
    
    .gridwrap {
        grid-template-columns: 100%;
    }
    .theskills {
        flex-wrap: wrap;
        align-items: center;
        /* width: 100%; */
    }
    .skillicon {
        padding-top: 20px;
    }
    
    .skillicon i p {
        font-size: 20px;
        text-align: center;
    }
    .main {
        flex-wrap: wrap;
    }
    .main img {
        margin-bottom: 50px;
    }
    #home {
        flex-wrap: wrap;
    }
    
    .gridcol {
        width: 100%;
    }
    .gridcol img {
        width: 100%;
        height: 100%;
    }
    .container {
        width: 400px;
    }
    .footer {
        padding: 20px;
    }
    .footer-links li a i {
        font-size: 15px;
    }
}