/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
@import url('https://fonts.googleapis.com/css2?family=Coiny&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');




:root {
    --primary-color: #ed2a30;
    --secondary-color: #f99c1f;
    --yellow-color: #FFE290;
    --bg-light: #FFF8E8;
    --font-title: "Coiny", system-ui;
    --font-body: "Roboto", sans-serif;
    --box-shadow: 2px 2px 10px #33333352;
}

.absolute-footer,
.wpcf7-spinner {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-title);
    font-weight: 400;
    line-height: 1.3;
}

body {
    font-family: var(--font-body);
}

p:last-child {
    margin-bottom: 0;
}

.ss-pd {
    padding-top: 60px !important;
    padding-bottom: 30px !important;
}

.ss-footer {
    .ux-logo-link {
        padding: 0 !important;
    }

    .ul-footer {
        i {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
        }
    }

    .btn-advisor {
        background-color: var(--secondary-color);
        color: #fff;
        padding: 10px 20px;
        border-radius: 8px;
        font-weight: bold;
    }
}

.ss-absolute-footer {
    .ux-menu-link__link {
        padding: 0;
        min-height: unset;
    }
}


* {
    box-sizing: border-box;
}

img {
    max-width: 100%;
}

.col-inner:last-child {
    padding-bottom: 0;
}

a {
    transition: all .25s ease;
}

p:last-child {
    margin-bottom: 0;
}

.off-canvas-left .mfp-content,
.off-canvas-right .mfp-content {
    max-width: 350px;
    width: 100%;
}

.off-canvas:not(.off-canvas-center) .nav-vertical li>a {
    font-size: 16px;
    text-transform: math-auto;
    color: #000;
}

.mfp-bg.mfp-ready {
    background-color: rgba(0, 0, 0, 0.4) !important;
    opacity: 1 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.mfp-wrap.mfp-ready {
    backdrop-filter: none !important;
}

.nav:not(.nav-slide) .active>.children {
    padding-bottom: 0;
}

.icon-box-img img,
.icon-box-img svg {
    padding-top: 0;
}

.autocomplete-suggestion img+.search-name {
    font-size: 16px;
}

.header-nav .sub-menu .menu-item-has-children:after {
    content: '\f105';
    font-family: "FontAwesome";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-size: 11px;
}

.header-nav .sub-menu .menu-item-has-children {
    position: relative;
    width: 100%;
}

.header-nav .sub-menu .menu-item-has-children .sub-menu {
    display: none;
    opacity: 0;
    transition: all 0.25s ease;
    position: absolute;
    left: 100%;
    background: #fff;
    border-radius: 5px;
    top: 0;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.header-nav .sub-menu .menu-item-has-children:hover .sub-menu {
    display: block;
    opacity: 1;
}

.header-nav .sub-menu .menu-item-has-children:hover .sub-menu .sub-menu {
    display: none;
    opacity: 0;
}

.header-nav .sub-menu .menu-item-has-children:hover .sub-menu .menu-item-has-children:hover .sub-menu {
    display: block;
    opacity: 1;
}

.header-nav .sub-menu.nav-dropdown-default {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.sub-menu li a {
    min-width: 150px;
    font-weight: 400 !important;
    text-transform: math-auto !important;
    color: initial !important;
    font-size: 14px !important;
}


.nav-uppercase li a,
.nav-uppercase li>a,
ul.nav-uppercase>li>a {
    text-transform: none !important;
    letter-spacing: normal !important;
}

.flickity-button {
    opacity: 1;
}

.flickity-button svg {
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    padding: 10px;
    border-radius: 4px;
    min-width: 30px;
    max-width: 30px;
    height: 30px;
}

.row-slider .flickity-prev-next-button svg {
    padding: 10px !important;
    border: 0;
}

.slider-nav-light .flickity-prev-next-button .arrow,
.slider-nav-light .flickity-prev-next-button svg {
    fill: #333;
}

.flickity-page-dots {
    background: #ffffff30;
    width: max-content;
    margin: auto;
    border-radius: 16px;
    padding: 0px 4px;
    padding-bottom: 2px;

}

.flickity-page-dots .dot {
    width: 8px;
    height: 8px;
    background-color: #fff;
}

.wpcf7 div.wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
    background: #fddddd;
    border: 1px solid red;
    color: red;
    box-shadow: none;
    font-size: 14px;
    padding: 15px;
    border-radius: 6px;
    margin: 0;
    margin-top: 15px;
}

.wpcf7 form.sent .wpcf7-response-output {
    background: #ebfee3;
    color: #398f14;
    border-color: #398f142e;
}

ul:last-child,
li:last-child {
    margin-bottom: 0;
}


.header-inner.flex-row.container.logo-left {
    background-color: #fff;
    border-radius: 50px;
    padding: 0px 24px;
    margin-top: 24px;
}

.header-main .nav>li>a {
    color: #181D27;
    font-weight: bold;

    &:hover {
        color: var(--primary-color);
    }
}

.stuck {
    .header-inner.flex-row.container.logo-left {
        margin-top: 0;
    }
}

.ss-banner {
    .frame-title {
        h1 {
            font-size: 60px;
            text-shadow: 2px 4px 0px #fff;
            color: var(--primary-color);
            margin: 0;
            font-weight: bold;
        }

        p {
            font-size: 20px;
            font-weight: bold;
        }
    }

    .icon-box {
        align-items: center;
        margin-bottom: 12px;

        .icon-box-text {
            p {
                margin-top: 0;
            }
        }
    }

    a.button {
        margin-top: 0;
    }

    a.button.white {
        box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;

        &:hover {
            background-color: var(--primary-color) !important;
            color: #fff !important;
        }
    }
}

.frame-title {
    h2 {
        font-size: 48px;
        margin-bottom: 0;
        font-weight: 400;

        strong {
            color: var(--primary-color);
            font-weight: 400;
        }
    }
}

.ss-benefit {
    .item-box {
        .col-inner {
            position: relative;
            background: transparent !important;

            /* Layer 1: nền trắng có lõm */
            &::before {
                content: '';
                position: absolute;
                inset: 0;
                background: white;
                border-radius: 20px;
                mask-image: radial-gradient(circle 35px at 50% 0%, transparent 46px, black 36px);
                z-index: 0;
            }

            /* Layer 2: viền cam riêng */
            &::after {
                content: '';
                position: absolute;
                inset: 0;
                border-radius: 20px;
                border: 2px solid #F99C1F;
                mask-image: radial-gradient(circle 46px at 50% 0%, transparent 46px, black 47px);
                -webkit-mask-image: radial-gradient(circle 46px at 50% 0%, transparent 46px, black 47px);
                z-index: 1;
                pointer-events: none;
            }
        }

        .icon-box {
            position: relative;
            z-index: 2;

            .icon-box-img {
                position: absolute;
                top: -120px;
                left: 50%;
                transform: translateX(-50%);
                margin: 0;
                z-index: 3;
            }

            .icon {
                position: relative;
                z-index: 1;
                background-color: var(--secondary-color);
                padding: 15px;
                border-radius: 50px;

                &:after {
                    content: '';
                    position: absolute;
                    width: 130%;
                    height: 130%;
                    border: 2px solid var(--secondary-color);
                    top: -10px;
                    left: -10px;
                    transform: rotate(45deg);
                    border-radius: 50px;
                    border-top: transparent;
                    border-left: transparent;
                }
            }

            .icon-box-text {
                margin-top: 65px;

                p {
                    font-weight: bold;
                }
            }
        }
    }

    .icon-box-medal {
        .icon-box-text {
            text-align: center;

            h3 {
                margin-bottom: 0;
                font-size: 24px;
            }
        }
    }
}

.ss-trainning {
    .left-column {
        .icon-box {
            align-items: center;
            background-color: #FFE290;
            padding: 15px;
            border-radius: 12px;
            box-shadow: var(--box-shadow);
            margin-bottom: 30px;

            &:last-child {
                margin-bottom: 0;
            }

            .icon-box-text {
                font-weight: bold;
            }
        }
    }

    .img {
        margin-bottom: 0 !important;
    }

    .icon-box {
        align-items: center;

        h3 {
            margin-bottom: 0;
        }

    }
}

.ss-diffirent {
    padding-bottom: 0 !important;

    .frame-title {
        background-image: url(/wp-content/uploads/2026/06/frame-title.png);
        width: 100%;
        height: auto;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;

        h2 {
            color: #fff;

            strong {
                color: var(--yellow-color);
            }
        }
    }

    h3 {
        font-size: 30px;
        color: var(--primary-color);
    }

    .content-trainning {
        ul {
            position: relative;

            &:after {
                content: '';
                position: absolute;
                left: 52px;
                top: 0;
                width: 1px;
                height: 100%;
                border: 1px dashed #000;
            }
        }

        li {
            position: relative;
            margin-left: 0;
            list-style-type: none;
            background-color: var(--bg-light);
            border: 2px solid var(--secondary-color);
            border-radius: 8px;
            padding: 20px;
            margin-left: 100px;
            padding-left: 50px;
            margin-bottom: 20px;


            &::before {
                content: '';
                position: absolute;
                left: -50px;
                top: 50%;
                width: 30px;
                height: 30px;
                background-color: var(--bg-light);
                border: 5px solid var(--secondary-color);
                border-radius: 50%;
                transform: translate(-50%, -50%);
                z-index: 2;
            }

            h5 {
                text-shadow: 2px 2px 6px var(--secondary-color);
                color: #fff;
                position: absolute;
                top: 50%;
                left: 0;
                font-size: 46px;
                width: max-content;
                margin: 0;
                transform: translate(-50%, -50%);
            }

            h4 {
                font-size: 20px;
                margin-bottom: 0;
                font-family: var(--font-body);
                font-weight: bold;
            }

            &:last-child {
                &:after {
                    content: none;
                }
            }
        }

    }
}

.ss-direction {
    .frame-title {
        position: relative;

        h2 {
            color: #fff;
            width: max-content;
            margin: auto;
            margin-top: 50px;

            strong {
                color: var(--yellow-color);
            }
        }

        &:after {
            content: '';
            position: absolute;
            top: -37px;
            left: 0;
            background-image: url(/wp-content/uploads/2026/06/frame-title-v2.png);
            width: 100%;
            height: 130px;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            z-index: -1;
        }
    }
}

.o-hidden {
    overflow: hidden;
}

.ss-direction {
    .column-left>.col-inner {
        border-radius: 24px;
        overflow: hidden;
        border: 1px solid var(--secondary-color);
    }

    h3 {
        font-size: 30px;
        margin-bottom: 0;
    }

    .condition {
        background-image: url(/wp-content/uploads/2026/06/Star-2.png);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        padding: 10px;

        p {
            margin-bottom: 0;
            color: var(--primary-color);
            padding: 10px;
            line-height: 1.4;
            font-weight: 500;
        }
    }

    .icon-box {
        margin-bottom: 10px;

        &:last-child {
            margin-bottom: 0;
        }
    }

    .price {
        p {
            margin-bottom: 0;
        }

        h4 {
            color: var(--primary-color);
            font-size: 30px;
            margin-bottom: 0;
        }

        h5 {
            font-family: var(--font-body);
            margin-bottom: 0;
            text-decoration: line-through;
        }
    }
}

.ss-enjoy {
    .icon-box {
        align-items: center;
        background-color: var(--bg-light);
        border-radius: 12px;
        padding: 15px;
        border: 2px solid var(--secondary-color);
        margin-bottom: 20px;

        &:last-child {
            margin-bottom: 0;
        }
    }
}

.ss-after-training {
    position: relative;

    &:after {
        content: '';
        position: absolute;
        top: -30px;
        left: 40px;
        width: 215px;
        height: 185px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url(/wp-content/uploads/2026/06/graphic.png);
    }

    .box.box-text-bottom {
        display: flex;
        flex-direction: column-reverse;
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid var(--secondary-color);

        .box-image {
            width: 100%;
        }

        .text {
            display: flex;
            align-items: center;
            gap: 8px;

            h3 {
                width: max-content;
                font-size: 30px;
            }
        }
    }
}

.ss-builder {
    position: relative;
    padding-bottom: 0 !important;

    .frame-title {
        position: relative;

        h2 {
            color: #fff;
            width: max-content;
            margin: auto;

            strong {
                color: var(--yellow-color);
            }
        }

        &:after {
            content: '';
            position: absolute;
            top: -5px;
            left: 0;
            background-image: url(/wp-content/uploads/2026/06/frame-title-v3.png);
            width: 100%;
            height: 160px;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            z-index: -1;
        }
    }

    .comment-builder h3 {
        font-size: 24px;
        color: var(--secondary-color);
    }

    h3 {
        font-size: 30px;
        margin-bottom: 0;
    }

    .certificate {
        ul {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;

            li {
                display: flex;
                align-items: center;
                justify-content: center;
                list-style-type: none;
                position: relative;
                margin-left: 0;
                margin-bottom: 0;
                text-align: center;
                font-size: 24px;
                color: var(--yellow-color);
                font-family: var(--font-title);

                &:after {
                    content: '';
                    position: absolute;
                    left: 0px;
                    top: 0;
                    width: 50px;
                    height: 70px;
                    background-image: url(/wp-content/uploads/2026/06/Isolation_left.png);
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: center;
                }

                &:before {
                    content: '';
                    position: absolute;
                    right: 0px;
                    top: 0;
                    width: 50px;
                    height: 70px;
                    background-image: url(/wp-content/uploads/2026/06/Isolation_right.png);
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: center;
                }
            }
        }

    }

    .note-center {
        p {
            margin-bottom: 0;
        }
    }

    &:after {
        content: '';
        position: absolute;
        width: 100%;
        height: 130px;
        bottom: 0;
        left: 0;
        background-image: url(/wp-content/uploads/2026/06/graphic_2.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: top;
    }

    &:before {
        content: '';
        position: absolute;
        width: 200px;
        height: 220px;
        bottom: 0;
        left: 10%;
        background-image: url(/wp-content/uploads/2026/06/graphic_3.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 2;
    }
}

.ss-form-course {
    .column-text {
        .col-inner {
            position: relative;

            &:after {
                content: '';
                position: absolute;
                top: 50%;
                right: -50px;
                border: 16px solid transparent;
                border-left-color: var(--primary-color);
                transform: translate(-50%, -50%);
            }
        }

        p {
            font-size: 20px;
            font-weight: bold;
            margin-bottom: 0;
        }
    }

    .column-text.v2 {
        & .col-inner {
            &:after {
                right: unset;
                left: -18px;
                border-left-color: transparent;
                border-right-color: var(--primary-color);
            }
        }
    }

    .number {
        position: relative;

        &:after {
            content: '';
            position: absolute;
            bottom: -140px;
            left: 50%;
            width: 1px;
            height: 100px;
            border: 1px dashed var(--primary-color);
        }

        p {
            margin: 0 auto;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            align-content: center;
            background-color: #fff;
            border: 2px solid var(--primary-color);
            border-radius: 50px;
            color: var(--primary-color);
            font-size: 26px;
            font-weight: bold;
        }
    }

    .number.last {
        &:after {
            content: none;
        }
    }
}

.ss-evidence {
    .frame-cirle {
        border: 1px solid var(--primary-color);
        border-radius: 50px;
        background-color: #fff;
        padding: 4px;
        margin-top: 15px;

        p {
            margin-bottom: 0;
            background-color: var(--primary-color);
            border-radius: 50px;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 5px;
        }
    }

    .gallery-box {
        .box-text {
            display: none;
        }
    }

    .slider-nav-push:not(.slider-nav-reveal) .flickity-prev-next-button {
        margin-top: -2%;
    }
}

.ss-faq {
    padding-bottom: 0 !important;
}


.accordion-item {
    margin-bottom: 15px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid var(--secondary-color);

    &:last-child {
        margin-bottom: 0;
    }

    .accordion-title {
        border-top: 0;
        background-color: var(--bg-light);
        padding-left: 20px;
        font-weight: 500;
        margin-bottom: 0;
    }

    .accordion-title.active {
        color: var(--primary-color);
    }

    .accordion-title.active i {
        transform: rotate(180deg);
    }

    .toggle {
        left: unset;
        right: 0;
        margin-left: 0;
        top: 50%;
        transform: translateY(-50%);

        i {
            font-size: 18px;
        }
    }

    .accordion-inner {
        padding: 20px;
        background-color: var(--bg-light);
        border-top: 2px dashed var(--secondary-color);
    }
}

.ss-cta {

    .column-bg {
        .col-inner {
            backdrop-filter: blur(8px);
        }

        h3 {
            font-size: 30px;
            margin-bottom: 0;
        }
    }

    form {
        margin-bottom: 0;

        .grid-1 {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 15px;
            margin-bottom: 15px;
        }

        .grid-2 {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
            margin-bottom: 15px;
        }

        label {
            font-weight: 400;
            font-size: 16px;
            margin-bottom: 0;
            color: #111;


            span {
                color: red;
            }
        }

        input,
        select {
            width: 100%;
            box-shadow: none !important;
            min-height: 30px;
            border: 1px solid #ddd;
            border-radius: 8px;
            overflow: hidden;
            margin: 0;
        }

        .commit {
            display: grid;
            grid-template-columns: 1fr 1fr;
            align-items: center;
            gap: 15px;

            p {
                font-weight: bold;
                color: #111;
            }
        }

        .wpcf7-submit {
            margin: 0;
            background-color: var(--secondary-color) !important;
        }

        .wpcf7-not-valid-tip {
            display: none;
        }
    }
}


.logo img {
    transform: translateY(-5px);
}







@media(max-width:1000px) {
    .ss-form-course {
        & .number {
            &:after {
                bottom: -100px;
                height: 80px;
            }
        }
    }

    .ss-cta {
        .column-bg {
            h3 {
                font-size: 24px;
            }
        }
    }

    .ss-form-course {
        & .column-text {
            p {
                font-size: 18px;
            }
        }
    }

    .ss-builder {
        &:before {
            width: 150px;
            height: 170px;
            left: 5%;
        }
    }

    .ss-builder {
        & .frame-title {
            &:after {
                top: -10px;
                height: 110px;
            }
        }
    }

    .ss-after-training {
        &:after {
            width: 160px;
            height: 125px;
        }
    }

    .ss-direction {
        & .frame-title {
            &:after {
                top: -30px;
                height: 85px;
            }
        }
    }

    .ss-benefit {
        & .icon-box-medal {
            & .icon-box-text {
                h3 {
                    font-size: 20px;
                }
            }
        }
    }

    .frame-title {
        h2 {
            font-size: 26px;
        }
    }

    .ss-banner {
        & .frame-title {
            h1 {
                font-size: 54px;
            }

            p {
                font-size: 18px;
            }
        }
    }

    .transparent .header-main {
        margin: 0px 15px;
        height: 70px !important;
    }
}

@media(max-width:600px) {
    .ss-form-course {
        & .number {
            &:after {
                content: none;
            }
        }
    }

    .ss-direction {
        .condition {
            padding: 30px;
            width: max-content;
            margin: auto;

            p {
                padding: 30px;
            }
        }
    }

    .ss-cta {
        & form {
            .grid-1 {
                grid-template-columns: repeat(2, 1fr);
            }

            .grid-2 {
                grid-template-columns: 1fr;
            }

            .commit {
                grid-template-columns: 1fr;
            }
        }
    }

    .ss-builder {
        & .certificate {
            ul {
                grid-template-columns: 1fr;
                gap: 20px;

                li {
                    min-height: 76px;
                }
            }
        }
    }

    .ss-builder {
        & .frame-title {
            h2 {
                font-size: 20px;
            }

            &:after {
                height: 82px;
            }
        }

        .comment-builder h3 {
            font-size: 18px;
        }

        h3 {
            font-size: 24px;
        }
    }

    .ss-after-training {
        &:after {
            content: '';
            top: -40px;
            left: 20px;
            width: 100px;
            height: 100px;
        }
    }

    .ss-direction {
        h3 {
            font-size: 24px;
        }

        & .frame-title {
            h2 {
                margin-top: 0;
                font-size: 20px;
            }
        }
    }

    .ss-direction {
        & .frame-title {
            &:after {
                top: -25px;
                height: 70px;
            }
        }
    }

    .ss-diffirent {
        & .content-trainning {
            & ul {
                &:after {
                    left: 12px;
                }
            }
        }
    }

    .ss-diffirent {
        & .content-trainning {
            li {
                margin-left: 60px;
            }
        }
    }

    .ss-diffirent {
        h3 {
            font-size: 20px;
        }

        & .frame-title {
            h2 {
                font-size: 18px;
            }
        }
    }

    .ss-benefit {
        & .icon-box-medal {
            & .icon-box-text {
                text-align: left;
            }
        }
    }

    .frame-title {
        h2 {
            font-size: 24px;
        }
    }

    .ss-banner {
        & .frame-title {
            h1 {
                font-size: 30px;
            }
        }
    }

    .ss-banner {
        a.button {
            margin-top: 0;
            font-size: 14px;
        }
    }
}