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

    color: var(--paragraph-text-color);
}

section {
    grid-column: span 12;
    margin: 36px 0px;
}

.page-header {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 120px;
    
    .hero-heading {
        font-size: 3rem;
    }

    .background {
        position: absolute;
        z-index: -1;
        background: var(--sub-banner-background);
        height: 168px;
        width: 100vw;
    }
}

.summary {
    position: relative;

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

    p {
        color: var(--paragraph-text-accent-color);

        a:link {
            color: var(--paragraph-link-text-accent-color);
            font-weight: 700;
        }

        a:visited   {
            color: var(--paragraph-link-text-visited-accent-color);
        }

        a:hover {
            color: var(--paragraph-text-accent-color);
        }

        a:active {
            color: var(--paragraph-text-accent-color);
        }
    }

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

.expertise-wrapper {
    padding: 8px 0 24px 0;

    h3 {
        padding: 8px 0;
    }
}

.skills-wrapper {
    padding: 8px 0;
}

.work-experience-card {
    background-color: var(--card-background);
    padding: 12px 24px;
    border-radius: 1rem;
    margin: 24px 0px;

    h3 {
        padding: 12px 0px;
    }
}

.skills-cards-wrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 24px;
    padding: 12px 0;

    .skill-cards-section-wrapper {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        padding: 12px 0 24px 0;
        border-bottom: var(--paragraph-text-color) 1px solid;

        h3 {
            padding-bottom: 12px;
        }

        .skill-card-section-cards {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
        }
    }

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

        svg {
            height: 30px;
            width: 30px;
        }

        .icon {
            position: relative;
            height: 1rem;
            width: 1rem;
            padding: 2px;
            border-radius: 50%;
        }

        p {
            font-weight: bolder;
        }

        .dialog {
            display: flex;
            position: absolute;
            padding: 6px 10px 12px 24px;
            top: calc(100% - 12px);
            left: 0px;
            z-index: 2;
            border-left: solid var(--tag-background) 2px;
            border-right: solid var(--tag-background) 2px;
            border-bottom: solid var(--tag-background) 2px;
            background-color: var(--card-background);
            border-radius: 0 0 1rem 1rem;

            span {
                display: flex;
                font-weight: 900;
                justify-content: end;
                padding-right: 2px;
            }

            p {
                font-weight: 400;
                font-size: .75rem;
            }
        }
        .dialog.hidden {
            display: none !important;
        }
    }
}

.experience {

    h2 {
        display: flex;
        gap: 8px;
    }

    a {
        text-decoration: none;
        button.cta {
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 4px;

            .icon {
            filter: var(--svg-filter-light);
            }
        }
    }
}

.hobbies {
    margin: 24px 0px
}

.hobby-cards {
    width: 100%;
    display: flex;
    gap: 12px;
}

.card.hobbies {
    display: flex;
    flex-direction: column;
    width: 350px;

    .card-text {
        display: flex;
        flex-direction: column;
        flex: 1;

        .links-info {
            display: flex;
            height: 100%;
            align-items: end;
        }
    }
}

.technologies {
        padding: 12px 0;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;

        .tech-tag {
            background-color: var(--tag-background);
            padding: 4px 8px;
            border-radius: 1rem;
            color: var(--paragraph-text-color);
        }
    }

@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;

        .page-header {
            text-align: center;
        }
    }

    section {
        grid-column: 1/span 8;
        margin: 36px 0px;
    }

    .hobby-cards {
        flex-wrap: wrap;
    }
}

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

        .page-header {
            text-align: center;
        }
    }

    section {
        grid-column: 1/span 4;
        margin: 36px 0px;
    }

    .skills-cards-wrapper {
        justify-content: center;
        gap: 6px;
        padding: 6px 0;

        .skill-cards {
            padding: 4px 8px 4px 8px;
            border-radius: 1rem;
            justify-content: center;
            align-items: center;
            gap: 8px;
        }

        .dialog-svg {
            display: none;
        }
    }

    .hobby-cards {
        flex-wrap: wrap;
    }
}