@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');

* {
    margin: 0;
    padding: 0;
    color: #1a1a1a;
    box-sizing: border-box;
}

body {
    font-family: "Manrope", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

h1 {
    margin: 0;
}

.flex {
    display: flex;
}

.center-txt {
    text-align: center;
}

.container {
    width: 100%;
    max-width: 790px;
    margin: 0 auto;
    padding: 12px;
}

.container-sm {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    padding: 12px;
}

.underlined {
    position: relative;

    &::after {
        content: url('/assets/underline.png');
        position: absolute;
        left: 0;
        bottom: -20px;
        z-index: -1;
        width: 100%;
    }
}

.md-title {
    font-size: 96px;
    font-weight: 800;
    letter-spacing: -8px;
    line-height: 112px;
    padding-bottom: 28px;
}

.title-underlined {
    display: block;
    position: relative;
    width: max-content;
    margin: 0 auto;

    &::after {
        content: "";
        background-image: url('/assets/underline.png');
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: contain;
        position: absolute;
        left: 0;
        bottom: 5px;
        z-index: -1;
        width: 100%;
        height: 100%;
    }
}

.mt {
    margin-top: 28px;
}

.mb-max {
    margin-bottom: 96px;
}

.mt-s {
    margin-top: 16px;
}

.mt-xs{
    margin-top: 8px;
}
.mt-m{
    margin-top: 24px;
}
.lh-160{
    line-height: 160%;
}

.cbox{
    border: dashed 1px black;
    padding: 12px 24px;
}

.rotated-bg {
    position: relative;

    &::after {
        content: "";
        width: 100%;
        height: 20px;
        background: #c53b4652;
        position: absolute;
        left: 0;
        bottom: 0px;
        z-index: -1;
        transform: rotateZ(0deg);
    }
}

.manrope {
    font-family: "Manrope", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}

/* NAV */
.nav {
    justify-content: space-between;
    padding: 8px;
    z-index: 100;
    position: relative;

    .un-logo {
        color: #101010;
        text-decoration: none;

        span {
            font-size: 12px;
            font-weight: 200;
        }
    }

    nav {
        a {
            padding: 8px;
            text-decoration: none;

            &:hover {
                text-decoration: wavy underline 2px #EF4A58;
            }
        }

        .active {
            text-decoration: wavy underline 2px #EF4A58;
        }
    }

    .hamburger {
        display: none;
        background: none;
        border: none;
        font-size: 32px;
        cursor: pointer;
    }
}

/* /NAV */

/* HOME */
.title {
    font-size: 128px;
    font-weight: 800;
    letter-spacing: -12px;
    line-height: 128px;
    padding-bottom: 28px;
    margin-top: -20px;
}

.topic {
    font-size: 32px;
}

.home {
    .top {
        display: flex;
        flex-direction: column;
        gap: 20px;
        min-height: calc(100vh - 50px);
        justify-content: center;
    }

    .content {
        font-size: 20px;
        font-weight: 400;
        line-height: 160%;
    }

    .form-wrap {
        form {
            width: 100%;
            max-width: max-content;
            margin: 0 auto;
            padding: 4px;
            border: solid 1px #101010;
            margin-top: 24px;
            position: relative;

            input,
            button {
                outline: 0;
                margin: 0;
                padding: 12px 24px;
                border: none;
                font-size: 18px;
                font-weight: 200;
            }


            input::placeholder {
                color: #969696;
                text-transform: capitalize;
            }

            input {
                padding-left: 30px;
                min-width: 250px;
            }

            button {
                text-transform: capitalize;
                background: #EF4A58;
                color: white;
                cursor: pointer;

                &:hover {
                    background: #c53b46;
                }
            }

            .arrow {
                position: absolute;
                transform: translate(60%, -15%);
                width: 60px;
                height: auto;
            }

            .nt-icon {
                position: absolute;
                width: 20px;
                top: 50%;
                transform: translateY(-50%);
                opacity: 0.8;
            }
        }

        .caption {
            font-weight: 400;
            color: #808080;
            margin-top: 12px;
        }
    }

    .info {
        background: #454545;
        padding: 48px 20px;

        h2,
        p {
            color: #e9e9e9;
        }

        h2 {
            font-size: 36px;
        }

        p {
            font-size: 18px;
            margin-top: 8px;
        }
    }

    .not-for {
        margin: 112px 0;

        .half {
            flex-grow: 1;
        }

        .list {
            margin-top: 12px;

            li {
                list-style: none;
                margin-bottom: 8px;
            }
        }

        .checkmark {
            li {
                &::before {
                    content: "✅";
                    padding-right: 10px;
                }
            }
        }

        .crossmark {
            li {
                &::before {
                    content: "❌";
                    padding-right: 10px;
                }
            }
        }
    }

    #projects {
        margin: 96px 0;

        ul {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;

            li {
                flex-basis: 350px;
                padding: 16px;
                flex-grow: 1;
                list-style: none;
                border: solid 1px #d8d8d8;

                span {
                    color: #808080;
                    font-size: 12px;
                }

                a {
                    text-decoration: none;

                    &:hover {
                        text-decoration: wavy underline 2px #EF4A58;
                    }
                }
            }
        }
    }

    .feed {
        margin: 96px 0;

        .read-btn button {
            background: transparent;
            border: none;
            outline: none;

            a {
                padding: 12px 24px;
                display: block;
                border: solid 1px #EF4A58;
                text-decoration: none;
                font-weight: 400;
                color: #EF4A58;

                &:hover {
                    background: #EF4A58;
                    color: white;

                }
            }
        }
    }

    #rss-feed {
        article {
            display: flex;
            gap: 12px;
            padding: 12px;
            border: solid 1px #dedede;

            p,
            small {
                color: #888888;
            }

            h3 {
                margin-bottom: 12px;
            }
        }

        img {
            width: 120px;
        }

        a {
            text-decoration: none;

            &:hover {
                text-decoration: wavy underline 2px #EF4A58;
            }
        }
    }

    .intro {
        gap: 24px;

        &-wrap {
            margin-top: 120px;

        }

        .img-wrap {
            width: 100%;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            border-radius: 16px;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        .left-box {
            flex-grow: 3;
            flex-basis: 60%;
            flex-shrink: 0;
            /* width: 100%; */
        }

        .right-box {
            flex-grow: 1;

            ul {
                padding-left: 16px;
            }
        }

        .txt-content {
            line-height: 160%;
        }
    }

    .whatis {
        margin: 96px 0;
    }
}

.about {
    .listContainer {
        background: #f2f2f2;
        padding: 24px;
        padding-left: 40px;

        li {
            margin-bottom: 12px;
        }
    }

    .dos-n-donts {
        margin: 48px 0;

        ul {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin-top: 16px;
            margin-bottom: 40px;

            li {
                list-style: none;

                a {
                    padding: 8px 24px;
                    text-decoration: none;
                }

                .link {
                    border: solid 1px #2b8555;
                    display: block;

                    &:hover {
                        background: #e6f9ef;
                        color: #1e7747;
                    }
                }

                .dis-link {
                    border: solid 1px #8c3d3d;
                    display: block;
                    cursor: not-allowed;
                    background: #f3e2e2;

                    &:hover {
                        background: #f3e2e2;
                        border-color: #EF4A58;
                        color: #c53b46;
                    }
                }
            }
        }
    }
}

.manifesto {
    p {
        margin: 16px 0;
        line-height: 160%;
    }

    ul {
        padding-left: 16px;
    }
}

footer {
    justify-content: space-between;

    .copy {
        font-weight: 100;
    }

    .socials {
        align-items: center;
        gap: 8px;

        a {
            text-decoration: none;

            svg {
                path {
                    fill: #1a1a1a;
                }
            }
        }
    }
}

/* Subscribe Form */
.form-message {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    border-radius: 16px;
    box-shadow: 0px 2px 5px #00000333;
    padding: 8px 16px;
    margin-top: 16px;
}

.tech {
    .tech-wrap {
        display: flex;
        flex-direction: column;
        gap: 24px;

        section {
            display: flex;
            gap: 24px;
            padding: 12px;
            box-shadow: 0 0 2px #00000022;
            border-radius: 24px;

            div:first-child {
                width: 150px;
                height: 150px;
                flex-shrink: 0;
            }

            img {
                width: 100%;
                object-fit: cover;
                border-radius: 16px;
            }
        }
    }
}

@media (max-width: 768px) {
    .nav {
        .hamburger {
            display: block;
        }

        .nav-links {
            display: none;
            position: absolute;
            top: 70px;
            right: 0;
            background: white;
            padding: 20px;
            flex-direction: column;
            gap: 15px;
            width: 100%;
            text-align: left;
        }

        .nav-links.open {
            display: flex;
        }
    }

    .title {
        font-size: 74px;
        letter-spacing: -8px;
        line-height: 90px;
        padding-bottom: 28px;
    }

    .title-underlined {
        &::after {
            bottom: 20px;
        }
    }

    .md-title {
        font-size: 48px;
        letter-spacing: -4px;
        line-height: 80px;
        padding-bottom: 28px;
    }

    .home {
        .content {
            font-size: 16px;
        }

        .form-wrap {
            form {
                display: flex;

                input {
                    padding-left: 4px;
                    min-width: 200px;
                }

                input,
                button {

                    padding: 12px 26px;
                    border: none;
                    font-size: 14px;
                    font-weight: 200;
                }

                .arrow {
                    position: absolute;
                    width: 32px;
                    height: auto;
                    bottom: -59px;
                    right: -19px;
                    transform: rotate(44deg);
                }
            }

            .caption {
                font-size: 12px;
            }
        }

        .info {
            h2 {
                font-size: 28px;
            }
        }

        #projects {
            ul {
                li {
                    h3 {
                        font-size: 16px;
                    }

                    p {
                        font-size: 14px;
                    }

                    span {
                        font-weight: 12px;
                    }
                }
            }
        }

        .mb-flex {
            flex-direction: column;
            gap: 40px;
        }

        #rss-feed {
            h3 {
                font-size: 16px;
                margin-bottom: 8px;
            }

            p {
                font-size: 14px;
            }
        }

        .intro {
            .left-box {
                flex-basis: 100px;

                .img-wrap {
                    width: 150px;
                    margin: 0 auto;
                }
            }
        }
    }

    .tech {
        .tech-wrap {
            section {
                border-radius: 20px;

                div:first-child {
                    width: 60px;
                    height: 60px;
                }

                img {
                    border-radius: 12px;
                }
            }
        }
    }

}