@font-face {
    font-family: source sans pro;
    font-weight: bold;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/source-sans-pro/source-sans-pro-latin-700-normal.ttf') format('truetype');
}

@font-face {
    font-family: Nunito;
    font-weight: 400;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Nunito/Nunito-VariableFont_wght.ttf') format('truetype');
}

@font-face {
    font-family: Nunito;
    font-weight: bold;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Nunito/Nunito-VariableFont_wght.ttf') format('truetype');
}

@font-face {
    font-family: Alfa Slab One;
    font-weight: normal;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Alfa_Slab_One/AlfaSlabOne-Regular.woff2') format('woff2');
}

@font-face {
    font-family: Noto Sans;
    font-weight: 500;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Noto_Sans/NotoSans-Regular.woff2') format('woff2');
}

[v-cloak] {
    display: none !important;
}

[flex-center] {
    display: flex;
    align-items: center;
    justify-content: center;
}

html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    position: relative;
    background: #826CFF;
    font-family: Nunito, 'sans-serif';
}

* {
    box-sizing: border-box;
}

a {
    color: #000000;
    display: inline-block;
    text-decoration: none;
}

div > img {
    width: 100%;
    display: block;
}

main {
    width: 100%;
    min-height: calc(100vh - 2rem);
    padding-top: 1.0625rem;

    .guide-content {
        width: 21.25rem;
        height: 16rem;
        padding: 0.6875rem 0.5625rem 1.625rem;
        margin: 0 auto;
        border-radius: 0.8125rem;
        background: #FFFFFF;
        box-sizing: border-box;
        border: 0.125rem solid #EFD7EF;

        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: space-between;

        .guide-mark {
            width: 100%;
            font-family: source sans pro, 'sans-serif';
            font-size: 1.125rem;
            font-weight: bold;
            line-height: normal;
            text-transform: uppercase;
            letter-spacing: 0;
            font-feature-settings: "kern" on;
            color: rgba(65, 55, 141, 0.6);
            text-align: left;
        }

        .guide-title {
            font-size: 26px;
            font-weight: bold;
            line-height: normal;
            text-align: center;
            text-transform: capitalize;
            font-feature-settings: "kern" on;
        }

        .guide-subtitle {
            font-size: 1rem;
            font-weight: normal;
            text-align: center;
            text-transform: capitalize;
            font-feature-settings: "kern" on;
            color: #AA74FF;
        }

        .guide-btn {
            width: 14.6875rem;
            height: 3.75rem;
            border-radius: 7.375rem;
            background: linear-gradient(270deg, #B774FF 0%, #8A75FE 100%);


            font-size: 1.3125rem;
            font-weight: bold;
            line-height: 150.25%;
            text-transform: uppercase;
            font-feature-settings: "kern" on;
            color: #FFFFFF;
        }
    }

    .MBTI {
        width: 35.06rem;
        margin: 1.78rem calc(50% - 17.53rem) 0;

        position: relative;

        img {
            width: 100%;
        }

        div {
            width: 2.75rem;
            height: 2.56rem;
            padding-top: .5rem;
            background: url("../resources/tag-bg.webp") no-repeat center/cover;

            left: 50%;
            bottom: 0;
            transform: translate(-50%, 30%);
            position: absolute;

            font-family: Alfa Slab One, sans-serif;
            font-size: 4.5rem;
            font-weight: normal;
            line-height: 100%;
            text-align: center;
            letter-spacing: normal;
            color: #FFFFFF;
        }
    }

    .flip_card {
        width: 20.94rem;
        height: 19.59rem;
        perspective: 1000px;
        margin: 2.91rem auto 0;

        .flip_inner {
            width: 100%;
            height: 100%;
            position: relative;
            transition: transform .6s;
            transform-style: preserve-3d;

            .flip_front,
            .flip_back {
                width: 100%;
                height: 100%;
                overflow: hidden;
                text-align: center;
                border-radius: 0.63rem;
                padding: 1.25rem .81rem 0;
                background: #FFFFFF;
                backface-visibility: hidden;

                position: absolute;

                .title {
                    font-size: 0.81rem;
                    line-height: 150.25%;
                    text-transform: uppercase;
                    color: #FFCE6C;
                }
            }

            .flip_front {
                .question {
                    margin-top: .94rem;

                    font-weight: bold;
                    line-height: 150.25%;
                    text-transform: capitalize;
                }

                .opt {
                    height: 3.88rem;
                    padding: 0 .84rem;
                    margin-top: 1.16rem;
                    background: #FAFBFC;
                    border: 0.06rem solid transparent;

                    font-family: Noto Sans, sans-serif;
                    font-size: 0.88rem;
                    font-weight: 500;
                    line-height: normal;
                    color: #333333;

                    position: relative;

                    svg {
                        fill: #FFCE6C;
                    }

                    & > :first-child {
                        width: 1.52rem;
                        height: 1.45rem;

                        top: -.47rem;
                        left: -.34rem;
                        position: absolute;

                        font-family: Noto Sans, sans-serif;
                        font-size: 0.88rem;
                        font-weight: 500;
                        line-height: normal;
                        text-align: center;
                        text-transform: capitalize;
                        letter-spacing: normal;
                        color: #FFFFFF;

                        svg {
                            width: 100%;
                            height: 100%;
                        }

                        &:after {
                            inset: 0;
                            content: "A";
                            padding-right: .1rem;
                            position: absolute;
                        }
                    }

                    &.active {
                        color: #FFCE6C;
                        border-radius: 0.31rem;
                        border-color: #FFCE6C;
                    }
                }

                > :nth-child(2 of .opt) {
                    & > :first-child {
                        &:after {
                            content: "B";
                        }
                    }
                }
            }

            .flip_back {
                transform: rotateY(180deg);

                .res {
                    margin-top: .94rem;

                    font-weight: bold;
                    line-height: 150.25%;
                    text-transform: capitalize;
                }

                .des {
                    margin-top: 2.5rem;

                    font-weight: 500;
                    line-height: 140%;
                    color: #333333;
                }
            }
        }

        &.flip .flip_inner {
            transform: rotateY(180deg);
        }
    }

    .division {
        margin-top: 2.09rem;

        position: relative;

        div {
            width: 2.75rem;
            height: 2.56rem;
            padding-top: .5rem;
            background: url("../resources/tag-bg.webp") no-repeat center/cover;

            left: 50%;
            bottom: 0;
            z-index: 9;
            position: absolute;
            transform: translate(-50%, 30%);

            font-family: Alfa Slab One, sans-serif;
            font-size: 4.5rem;
            font-weight: normal;
            line-height: 100%;
            text-align: center;
            letter-spacing: normal;
            color: #FFFFFF;
        }
    }

    .card2 {
        background: #F5F3FF;
        padding: 2.97rem 0 4.6rem;

        .flip_card {
            margin-top: 0;
            margin-bottom: 1.88rem;

            .flip_front, .flip_back {

                .title {
                    color: #6CAEFF !important;
                }

                .opt {
                    svg {
                        fill: #736CFF !important;
                    }

                    &.active {
                        color: #736CFF;
                        border-color: #736CFF;
                    }
                }
            }
        }
    }

    .card2 + .division {
        margin-top: -1.97rem;;
    }

    .card3 {
        background: #FFFFFF;
        padding: 2.53rem 0 2.38rem;

        .flip_card {
            margin-top: 0;

            .flip_front, .flip_back {
                background: #F5F3FF;

                .title {
                    color: #6CAEFF !important;
                }

                .opt {
                    background: #ECE9FF;

                    svg {
                        fill: #736CFF !important;
                    }

                    &.active {
                        color: #736CFF;
                        background: #FFFFFF;
                        border-color: #736CFF;
                    }
                }
            }
        }
    }

    .card3 + .division {
        margin-top: 0;
    }

    .card4 {
        margin-bottom: 2.78rem;
    }
}


footer {
    height: 2rem;
    color: #4c4c4c;
    padding: 0 2.6rem;
    font-size: 0.74rem;
    text-align: center;
    border-top: 1px solid #3a3a3a;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 4px 1fr;
}

footer a {
    color: #3a3a3a;
    text-align: center;
}
