main {
    width: 1110px;
    display: grid;
    column-gap: 30px;
    grid-template-columns: repeat(12, 65px);
    margin: 0 auto;
}

section {
    margin: 24px 0;
}

.hero {
    display: grid;
    grid-template-columns: inherit;
    grid-gap: inherit;
    grid-column: span 12;
    margin: 48px 0;

    .hero-left {
        display: flex;
        flex-direction:column;
        align-items:start;
        justify-content:center;
        grid-column: 1/7;
        
        .hero-heading {
            font-size: 4rem;
        }

        .hero-sub-heading {
            font-size: 1.8rem;
        }

        .cta-socials {
            display: flex;
            justify-content: start;
            align-items: center;
            gap: 8px;
            padding: 12px 0;

            button.cta {
                border: none;
            }

            ul {
                display: flex;
                padding: 0;
                                
                li {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    list-style: none;
                    border-radius: 50%;
                    border: solid 2px var(--paragraph-text-color);
                    height: 32px;
                    width: 32px;
                    margin: 0 4px;
                    a {
                        width: 100%;
                        height: 100%;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                    .icon {
                        height: 50%;
                        width: auto;
                        filter: var(--svg-filter);
                        }
                }
            }
        }
    }

    .hero-right {
        display: flex;
        grid-column: 7/-1;
        align-items: center;
        justify-content: center;

        .right-background{
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            aspect-ratio: 1;
            border-radius: 50%;
            background-color: var(--primary-color);
            box-shadow:15px 12px 20px var(--hero-shadow);

            img {
                filter: drop-shadow(20px 30px 15px var(--hero-shadow-light-mode));
                animation: hero-head 6s infinite;
                animation-timing-function: linear;
            }
        }
    }
}

@keyframes hero-head {
    0% {
        translate: 0px 10px;
        transform: rotate(0);
    }
    25% {
        translate: 0px 0px;
        transform: rotate(2deg);
    }
    50% {
        translate: 0px -10px;
        transform: rotate(0);
    }
    75% {
        translate: 0px 0px;
        transform: rotate(-2deg);
    }
    100% {
        translate: 0px 10px;
        transform: rotate(0);
    }
}

.featured-projects {

    display: grid;
    grid-template-columns: inherit;
    grid-gap: inherit;
    grid-column: span 12;

    .header {
        grid-column: span 12;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 0;
    }

    .first {
        grid-column: 1/span 4;
    }

    .second {
        grid-column: 5/span 4;
    }

    .third {
        grid-column: 9/span 4;
    }
    .portfolio.card {
        border-radius: 1.5rem;
        background-color: var(--card-background);
        /* filter: drop-shadow(0px 0px 5px var(--hero-shadow-light-mode)); */
        overflow: hidden;

        img {
            background-color: var(--card-background);
            border-radius: 1rem;
            height: 320px;
            width: 100%;
        }
        .card-text {
            height: 100%;
            padding: 0px 12px 12px 12px;
            display: flex;
            flex-direction: column;
        }

        .sub-title {
            padding-bottom: 8px;
        }
        .technologies {
            padding: 12px 0;
            display: flex;
            flex-wrap: wrap;
            gap: 4px;

            .tech-tag {
                background-color: var(--tag-background);
                padding: 4px 8px;
                border-radius: 1rem;
                color: var(--paragraph-text-color);
            }
        }
        .links-info {
            display: flex;
            gap: 8px;
            padding-top: 6px;
            height: 100%;
            width: 100%;
            align-items: flex-end;
            a {
                text-decoration: none;

                button {
                    display: flex;
                    align-items: center;
                    justify-content: center;

                    .icon {
                        height: 1rem;
                    }
                }
            }
        }
    }
}

section.skills {
    display: flex;
    flex-direction: column;
    grid-column: span 12;
    justify-content: center;
    align-items: center;

    article.skills-cards-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        justify-content: center;
        max-width: 70%;
        padding: 24px 0;

        div.skill-cards {
            display: flex;
            background-color: var(--card-background);
            padding: 12px 24px;
            border-radius: 1rem;
            justify-content: center;
            align-items: center;
            gap: 24px;

            svg {
                height: 30px;
                width: 30px;
            }
            p {
                font-weight: bolder;
            }
        }
        
    }
}

section.about {
    display: flex;
    grid-column: span 12;
    padding: 60px 0;
    position: relative;
    min-height: 270px;

    .background {
        position: absolute;
        z-index: -1;
        background: var(--primary-color);
        width: 100vw;
        inset: 0;
        left: 50%;
        transform: translateX(-50vw);
    }

    article.text {
        
        h2 {
            color: var(--heading-text-color-light);
        }

        p {
            max-width: 65ch;
            color: var(--paragraph-text-color-light-grey);
        }
    }

    article.image {
        display: flex;
        flex: auto;
        justify-content: end;
        filter: drop-shadow(20px 30px 15px var(--hero-shadow-light-mode));
        width: 50%;

        img {
            display: flex;
            max-width: 100%;
            aspect-ratio: 437/270;
            object-fit: contain;
        }
    }
}

section.contact {
    display: flex;
    grid-column: span 12;
    flex-direction: column;
    align-items: center;
    padding-bottom: 48px;

    article {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;

        .title {
            width: 100%;
            height: fit-content;
            padding-bottom: 24px;
        }
        
        .contact-left {
            width: fit-content;
            height: fit-content;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 12px 24px;
            gap: 2px;
            margin-right: 120px;

            .email-contact {
                display: flex;
                flex-direction: column;
                justify-content: center;
                gap: 8px;
                .button-wrapper {
                    display: flex;
                    gap: 8px;
                    align-items: center;

                    .button-link {
                        a {
                            text-decoration: none;
                        }

                        button {
                            border: none;
                            svg {
                                filter: var(--svg-filter-light);
                            }
                        }
                    }
                    button {
                            transition: background-color 2s;
                        }
                    button.confirm {
                            background-color: rgb(170, 255, 148);
                            transition: background-color .5s;
                        }
                }
            }
        }

        .contact-right {
            width: 48%;
            display: flex;
            flex-direction: column;

                .bento-button {
                    padding: 8px;
                    background-color: var(--banner-background);
                    border-radius: 1.5rem;
                    margin: 8px;
                    
                    a {
                        display: flex;
                        align-items: center;
                        color: var(--paragraph-text-color);
                        text-decoration: none;
                        font-size: 1rem;

                        .icon {
                            height: 2rem;
                            width: 2rem;
                            padding: 4px;
                            filter: var(--svg-filter);
                        }

                        .bento-description {
                            padding-left: 8px;
                        }
                    }
                    a:hover {
                        text-decoration: underline 1px var(--paragraph-text-color);
                        text-underline-offset: 2px;
                    }
                }
            }
    }
}

@media (max-width: 1110px) and (min-width: 730px ){
    main {
        width: 730px;
        display: grid;
        column-gap: 30px;
        grid-template-columns: repeat(8, 65px);
        margin: 0 auto;
    }

    .hero {
        grid-column: span 8;

        .hero-left {
            grid-column:1/6;
        }

        .hero-right {
            grid-column:6/-1;

            .right-background {
                aspect-ratio: 1;
                height: 250px;
                background-color: unset;
                box-shadow: none;

                img {
                    filter: none;
                }
            }
        }
    }

    .featured-projects {
        grid-column: span 8;
        
        .header {
            grid-column: span 8;
        }

        .first {
            grid-column: 1/span 4;
        }

        .second {
            grid-column: 5/span 4;
        }

        .third {
            display: none;
        }
    }

    section.skills {
        grid-column: span 8;
    }

    section.about {
        grid-column: span 8;
        display: flex;
        flex-direction: column;

        article.text {
            width: 100%;
            padding-left: 4%;
            p {
                width: 100%;
            }
        }

        article.image {
            display: flex;
            justify-content: center;
            width: 100%;

            img {
                width: 50%;
                height:fit-content;
            }
        }
    }

    section.contact {
        grid-column: span 8;

        article {
            width: 80vw;
            .contact-left {
                padding: 0;
                margin: 0 4% 0 0;
            }
            
        }
    }
}

@media (width <= 730px ){
    main {
        width: 350px;
        display: grid;
        column-gap: 30px;
        grid-template-columns: repeat(4, 65px);
        margin: 0 auto;
    }

    .hero {
        grid-column: span 4;

        .hero-left {
            grid-column:1/-1;
            align-items: center;

            .hero-sub-heading {
                text-align: center;
                font-size: 1.4rem;
            }
            .cta-socials {
                gap: 8px;
            }
        }

        .hero-right {
            grid-column:1/-1;
            padding-top: 12px;

            .right-background {
                aspect-ratio: 1;
                height: 250px;
                background-color: unset;
                box-shadow: none;

                img {
                    pointer-events: none;
                    filter: none;
                }
            }
        }
    }

    .featured-projects {
        grid-template-rows: auto 1fr 1fr;
        grid-column: 1/-1;
        
        .header {
            display: flex;
            flex-direction: column;
            grid-row: 1;
            grid-column: 1/span 4;
        }

        .first {
            grid-row: 2;
            grid-column: 1/span 4;
        }

        .second {
            grid-row: 3;
            margin-top: 24px;
            grid-column: 1/span 4;
        }

        .third {
            display: none;
        }
    }

    section.skills {
        grid-column: 1/-1;

        article.skills-cards-wrapper {
            gap: 12px;
            padding: 12px 0;

            div.skill-cards {
                gap: 12px;
                padding: 6px 10px 6px 6px;
            }
        }
    }

    section.about {
        grid-column: 1/span 4;
        display: flex;
        flex-direction: column;

        article.text {
            width: auto;
            p {
                width: auto;
            }
        }

        article.image {
            display: none;
        }
    }

    section.contact {
        grid-column: 1/span 4;

        article {
            width: 100%;
            flex-direction: column;

            .contact-left {
                padding: 0;
                margin: 0;
            }
            .contact-right {
                margin-top: 48px;
                width: 100%;
            }
        }
    }
}
