* {
     margin: 0;
     padding: 0;
     color: var(--black1);
}

:root {
     --white: rgba(240, 240, 240, 1);
     --white1: rgba(255, 255, 255, 0.8);
     --black: rgba(25, 25, 25, 1);
     --black1: rgba(25, 25, 25, 0.8);
     --hover: rgba(255, 255, 255, 0.5);
}


.container {
     display: grid;
     grid-template-columns: minmax(400px , 1fr);
}

.header {
     background: var(--white);
     display: flex;
     justify-content: space-between;
     align-items: center;
     left: 0;
     right: 0;
     position: fixed;
     padding: 0 100px;
     min-height: 60px;
     z-index: 10;
}

.navbar {
     display: flex;
     align-items: center;
     justify-content: space-between;
}

.toggle {
     display: none;
     flex-direction: column;
     height: 24px;
     justify-content: space-between;
     align-items: flex-end;
     cursor: pointer;
}

.toggle .menu {
     display: block;
     width: 28px;
     height: 4px;
     background-color: rgb(152, 149, 149);
     border-radius: 3px;
     transition: all 0.5s;
}

.menu.one {
     width: 30px;
}
.menu.two {
     width: 45px;
}
.menu.three {
     width: 35px;
}

.toggle.active .menu.one {
     width: 35px;
}

.toggle.active .menu.two {
     width: 30px;
}

.toggle.active .menu.three {
     width: 45px;
}

.header .logo a {
     text-decoration: none;
     font-size: 1.4em;
     padding: 10px 30px;
     border-radius: 30px;
     font-weight: 900;
}

.navbar li {
     list-style: none;
     margin-right: 10px;
     color: var(--black1);
     opacity: 0;
     visibility :hidden;
     transform: translateY(-40px);
     transition: 0.45s;
     transition-delay: calc(0.15s * var(--i)) ;
}

.header.active .navbar li {
     opacity: 1;
     visibility: visible;
     transform: translateY(0px);
}

.navbar li a {
     font-weight: 900;
     padding: 3px 20px;
     border-radius: 20px;
     text-decoration: none;
     font-size: 1.3em;
}

.navbar li a:hover {
     background: var(--black1);
     color: var(--white);
}

.main {
     background-image: url(../img/background.png);
     background-attachment: fixed;
     background-size: cover;
     background-position: 0 -200px;
     overflow: hidden;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(350px ,1fr));
     min-height: 550px;
     padding: 40px 10px;
     top: 60px;
     position: relative;
     justify-items: center;
     align-items: flex-end;
     bottom: 10px;
     transition: 0.4s;
}

.main.responsive .main-2 {
     top: -100px;
}
.main.responsive .main-1 {
     top:40px;
}
.main.responsive {
     align-items: flex-end;
}

.main .main-1 {
     position: relative;
     display: flex;
     flex-direction: column;
     justify-content:center;
     align-items: center;
     top: -100px;
}

.main-1 .contain {
     font-size: 2em;
     padding-bottom: 10px;
     border-bottom: 2px solid rgba(0, 0, 0, 0.3);
}

.contain span,
.contain h2 {
     text-shadow: 2px 5px 3px rgba(0, 0, 0, 0.2);
     color: var(--black1);
}

.main-2 {
     position: relative;
     display: flex;
     justify-content: center;
     align-items: center;
     top: -200px;
}

.main-2 .about-me {
     position: relative;
     width: 400px;
     z-index: 1;
     opacity: 0;
     transition: 1s;
     text-align: center;

}

.main-2 p {
     font-size: 1.2em;
     font-weight: 400;
     text-shadow: 2px 1px 3px rgba(0, 0, 0, 0.2);
}

.contain span {
     font-size: 0.8em;
     font-weight: 900;
}

.main-2 .skew {
     position: absolute;
     box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
     width: 430px;
     min-height: 130px;
     background: #fff;
     visibility: hidden;
     transform: translateX(550px);
     opacity: 0.8;
     transition: 0.7s;
     border-radius: 30px 0 30px 30px ;
}

.main-2 .skew.active {
     visibility: visible;
     transform: translateX(0px)
}

.sidebar {
     top: 60px;
     background: var(--hover);
     min-width: 300px;
     height: 100vh;
     position: fixed;
     display: none;
     flex-direction: column;
     z-index: 2;
     visibility: hidden;
     transform: translateX(-300px);
     transition: 0.5s;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
     background-color: rgba(0, 0, 0, 0.9);
}

.sidebar.active {
     visibility: visible;
     transform: translateX(0);
}     

.sidebar-img {
     margin: 10px auto;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-direction: column;
     box-sizing: border-box;
}

.sidebar-img img {
     width: 150px;
     height: 150px;
     background-color: var(--white1);
     border-radius: 50%;
}

.sidebar-text {
     width: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
     margin: 10px auto;
}

.sidebar-text span {
     font-size: 1.8em;
     color: var(--white1);
}

.sidebar .sidebar-medsos {
     padding : 8px 5px ; 
     display: flex;
     justify-content: space-evenly;
     align-items: center;
}

.sidebar-medsos li {
     border-radius: 50%;
     box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
     background-color: var(--white1);
     list-style: none;
     height: 55px;
     width: 55px;
     display: flex;
     align-items: center;
     justify-content: center;
}

.sidebar-medsos li a {
     font-size: 2.2em;
}

.sidebar .sidebar-items {
     margin-top: 10px;
     display: flex;
     flex-direction: column;
     justify-content: center;
     width: 100%;
}

.sidebar-items li {
     padding : 8px 5px ;
     list-style: none;
     text-align: center;
     text-transform: uppercase;
     margin-bottom: 10px;
     padding: 10px 30px;
     border-radius: 30px;
}

.sidebar-items li:hover,
.sidebar-items li:hover a {
     background-color: var(--white);
     color: var(--black1);
}


.sidebar-items li a {
     font-size: 1.5em;
     text-decoration: none;
     color: var(--white1);
}

.portofolio {
     top: 60px;
     background: var(--white);
     position: relative;
     min-height: 400px;
     display: flex;
     flex-direction: column;
     padding: 30px 100px;
}

.portofolio .porto-text {
     margin: 0px auto;
     text-align: center;
     font-size: 1.5em;
     width: 200px;
     text-shadow: 2px 5px 3px rgba(0, 0, 0, 0.2);
     border-bottom: 2px solid rgba(0, 0, 0, 0.5);
     padding-bottom: 10px;
}

.portofolio .img {
     display: grid;
     grid-template-columns: repeat(auto-fit , minmax(200px ,1fr) );
     gap: 20px;
     width: 100%;
     position: relative ;
     top: 30px;
}

.img .isi {
     background-color: rgba(0, 0, 0, 0.2);
     height: 200px;
     width: inherit;
     list-style: none;
     box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
     opacity: 0;
     transform: translate(0px ,-50px);
     transition: 0.8s;
}

.img a {
     text-decoration: none;
}

.img .isi.satu {
     color: #fff;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 2em;
}


.img .isi.active {
     opacity: 1;
     transform: translate(0px,0px);
}

.skill {
     position: relative;
     margin: 50px 0px;
}

.skill .text {
     text-shadow: 2px 5px 3px rgba(0, 0, 0, 0.2);
     font-size: 1.5em;
     text-align: center;
     margin: 10px auto;
     border-bottom: 2px solid rgba(0, 0, 0, 0.5);
     width: 200px;
}

.skill ul {
     margin: 0 auto;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px ,1fr));
     padding: 5px 10px;
     justify-items: center;
}

.skill ul li {
     align-items: center;
     padding: 5px 0;
     list-style: none;
}

.skill img {
     height: 125px;
     width: inherit;
}

.contact {
     background: var(--black1);
     padding: 10px 10px;
     min-height: 50px;
     margin-top: 10px;
     position: relative;
}

.contact ul {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px ,1fr));
     row-gap: 15px;
     justify-items: center;
     margin: 0 auto;
}

.contact ul li {
     margin-left:8px ;
     list-style: none;
     display: flex;
     align-items: center;
}

.contact li .link-img {
     font-size: 1.5em;
     display: inline-flex;
     margin-right: 15px;
     width :40px;
     height: 40px;
     background: var(--white1);
     border-radius: 50%;
     align-items: center;
     justify-content: center;
}    

.contact li .link-img:hover {
     background-color: var(--hover);
}

.contact ul li a {
     text-decoration: none;
     color: var(--white1);
     align-items: center;
}

.contact li p {
     color: var(--white1);
}


@media (max-width : 990px) {
     .header {
          z-index: 2;
          min-height: 60px;
          background-color: var(--white);
          padding: 0 10px;
     }

     .navbar {
          display: none;
     }

     .toggle {
          display: flex;
          padding: 0 10px;
     }

     .portofolio {
          padding: 30px 10px;
      }
     .sidebar {
          display: flex;
     }

}

@media (max-width: 500px) {
     .sidebar {
          position: fixed;
          width: 100%;
          transform: translateX(-100%);
          top: 50px;
     }

     .main {
          min-height: 80vh;
          top: 50px;
     }

     .main.responsive .main-1{
          top: 100px
     }

     .main.responsive .main-2 {
          top: -20px;
     }

     .main-2 .skew {
          width: 350px;
          min-height: 180px;
     }

     .main-2 .about-me {
          width: 320px;
     }

     .header {
          min-height: 50px;
          padding: 0;
      }

      .contact ul {
           justify-items: start;
      }
      



}

