@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

:root {
    --background: #272833;
    --section: #343442;
    --heading: #ffffff;
    --text: #afafaf;
    --primary: #f9c01b;
}

body {
    background: var(--background);
    font-family: "Inter", sans-serif;
}

h1,h2,h3,h4,h5,h6 {
    color: var(--heading);
}

p {
    color: var(--text);
}

a {
    text-decoration: none;
}

img {
    width: 100%;
    height: auto;
}

ul {
   color: var(--heading); 
    margin-bottom: 0;
}

.prim {
    color: var(--primary);
}

.title::after {
  content: "";
  display: block;
  width: 30%;
  height: 3px;
  background: var(--primary);
}

.title-2::after {
  content: "";
  display: block;
  width: 30%;
  height: 3px;
  margin-left: 50%;
  transform: translateX(-50%);
  background: var(--primary);
}

.pulse {
    color: var(--heading);
    animation: pulseColor 1.5s infinite;
    transition: 0.3s;
}

@keyframes pulseColor {
    0% {
        color: var(--heading);
    }
    50% {
        color: var(--primary);
    }
    100% {
        color: var(--heading);
    }
}



/* --- TOPMENU --- */

.navbar {
    background: var(--section);
    padding: 12px 5%;
}

.navbar .navbar-brand img {
    width: 40px;
    filter: brightness(0) invert(1);
}

.navbar .nav-link {
    color: var(--heading);
}

.navbar .nav-link:hover {
    color: #f9c01b;
}

.navbar .navbar-toggler-icon,
.navbar .btn-close {
    filter: brightness(0) invert(1);
}

.navbar .offcanvas {
    background: var(--section);
}

.nav-link.active {
    color: var(--primary) !important;
}



/* --- PROFILE --- */

.profile {
    background: var(--section);
    padding: 0 5%;
}

.profile .wrap {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 2fr 1.5fr 1fr;
    align-items: center;
}

.profile .cl-1 {
    padding-right: 30px;
}

.profile .cl-2 {
    align-self: flex-end;
}

.profile .cl-3 .link {
    margin-bottom: 12px;
}

.profile .cl-3 .link:last-child {
    margin-bottom: 0;
}

.profile .cl-3 .link a {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 12px;
}

@media (max-width: 600px) {

    .profile .wrap {
        grid-template-columns: 1fr;
    }

    .profile .cl-1 {
        order: 2;
        margin-top: -53%;
        padding: 6%;
        background: rgba(39, 40, 51, 0.7);
        border-radius: 12px;
    }

    .profile .cl-1 h2 {
        font-size: 24px;
    }

    .profile .cl-1 p {
        font-size: 14px;
    }

    .profile .cl-1 h5 {
        font-size: 14px;
    }

    .profile .cl-2 {
        order: 1;
        margin-top: 64px;
    }

    .profile .cl-3 {
        order: 3;
        padding: 60px 0;
        padding-left: 6%;
    }

    .profile .cl-3 .link a {
        justify-content: start;
    }

    .profile .cl-3 .link a i {
        order: 1;
    }

    .profile .cl-3 .link a p {
        order: 2;
    }

}



/* --- EDUCATION --- */

.education {
    min-height: calc(100vh - 64px);
    padding: 0 5%;
    display: flex;
    align-items: center;
}

.education .wrap {
    width: 100%;
}

.education .timeline {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.education .timeline .timeline-item {
    padding: 24px;
    border: 1px solid var(--primary);
}

@media (max-width: 600px) {

    .education {
        min-height: 100vh;
        padding: 60px 3%;
    }

    .education .timeline {
        grid-template-columns: 1fr;
    }
}



/* --- EXPERIENCE --- */

.experience {
    min-height: calc(100vh - 64px);
    background: var(--section);
    display: flex;
    align-items: center;
    padding: 60px 5%;
}

.experience .timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.experience .item {
    padding: 24px;
    background: var(--background);
}



/* --- SKILL --- */

.skill {
    padding: 60px 5%;
}

.skill .wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 24px;
}

.skill .item {
    padding: 24px;
    background: var(--background);
}



/* PORTOFOLIO */

.portofolio {
    padding: 60px 5%;
}

.portofolio .wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
}

.portofolio .item {
    background: var(--background);
}

@media (max-width: 600px) {

    .skill .wrap,
    .portofolio .wrap {
        grid-template-columns: 1fr;
    }
}