main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-right: 2vw;
    padding-left: 2vw;


    .infoContainer {
        width: 100%;
        height: 20dvh;
        padding-top: 1dvh;
        min-height: max-content;

        display: grid;
        grid-template-columns: 2fr 1fr;

        .textContainer {
            grid-column: span 1;

            h2 {
                font-size: 2rem;
                font-weight: 800;
                margin: 0;
            }

            h3 {
                font-size: 0.9rem;
                font-weight: 400;
                margin-bottom: 0;
                color: var(--color-text-primary);
            }

            p {
                color: var(--color-text-secondary);
            }

        }
    }

    .skillsContainer {
        width: 100%;
        height: 60dvh;
        padding-top: 4dvh;
        display: flex;
        justify-content: center;

        .skillDeck {
            width: 20vw;
            height: 70%;
            padding: 0;
            margin-right: 2vw;

            display: flex;
            flex-direction: column;
            justify-content: space-between;
            align-items: center;
            background-color: var(--color-surface);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-md);

            &:nth-child(even) {
                .skillTitle {
                    background-color: var(--color-button-primary-bg);
                    color: var(--color-button-primary-text);
                    border-bottom: 2px solid var(--color-divider);

                    i {
                        color: var(--color-button-primary-text);
                    }
                }
            }

            &:nth-child(odd) {
                .skillTitle {
                    background-color: var(--color-button-secondary-bg);
                    color: var(--color-button-secondary-text);
                    border-bottom: 2px solid var(--color-divider);
                }
            }

            .skillTitle {
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                border-bottom: 2px solid var(--color-divider);
                border-top-left-radius: var(--radius-lg);
                border-top-right-radius: var(--radius-lg);



                i {
                    margin: 7px;
                    color: var(--color-text-primary);
                }
            }

            .skillTag {
                list-style: none;
                width: 80%;
                display: grid;
                grid-template-columns: 1fr 5fr;
                margin-top: 2rem;
                background-color: var(--color-bg);
                border-radius: var(--radius-md);
                color: var(--color-button-secondary-text);
                box-shadow: var(--shadow-md);

                .iconBox {
                    width: 100%;
                    aspect-ratio: 1 / 1;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                }

                .textBox {
                    font-weight: bold;
                    display: flex;
                    justify-content: center;
                    align-items: center;

                    .contactName {
                        color: var(--color-text-secondary);
                    }
                }
            }

            .skillDescription {
                padding: 1rem;
                justify-content: center;
                color: var(--color-text-secondary);
                font-weight: 600;
            }
        }
    }
}

@media (max-width: 768px) {
    main {
        .infoContainer {
            height: auto;
            padding-top: 2dvh;
        }

        .skillsContainer {
            height: auto;
            padding-top: 2dvh;
            flex-wrap: wrap;
            gap: 1.5rem;
        }

        .skillsContainer .skillDeck {
            height: auto;
            margin-right: 0;
            padding-bottom: 1rem;
            width: 100%;
        }

        .infoContainer .textContainer h2 {
            font-size: 1.7rem;
        }
    }
}

@media (max-width: 480px) {
    main {
        padding-right: 1rem;
        padding-left: 1rem;

        .infoContainer {
            height: auto;
        }

        .infoContainer .textContainer {
            h2 {
                font-size: 1.45rem;
            }

            p {
                font-size: 0.95rem;
                line-height: 1.6;
            }
        }

        .skillsContainer {
            padding-top: 1.5rem;
            gap: 1rem;
        }

        .skillsContainer .skillDeck {
            padding-bottom: 0.75rem;

            .skillTitle {
                padding: 0.25rem 0.75rem;
                text-align: center;
            }

            .skillTag {
                width: calc(100% - 2rem);
                margin-top: 1rem;
            }

            .skillDescription {
                padding: 0.9rem 1rem 0.5rem;
                font-size: 0.95rem;
                line-height: 1.5;
            }
        }
    }
}
