:root {
    --header-height: 80px
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: var(--header-height);
    z-index: 50;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 7px 0px;
    border-bottom: 1px solid rgba(193, 193, 193, 0.5)
}

.header [data-btn="close"] {
    display: none
}

.header .constraint_header {
    max-width: 1200px;
    width: 100%;
    height: 100%;
    padding: 0 20px;
    margin: 0 auto
}

.header .logo {
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.1));
    height: 100%
}

.header .logo img {
    height: 100%
}

.header .menu {
    cursor: pointer;
    margin-left: 20px;
    user-select: none
}

.header .menu .icon {
    font-size: 20px;
    margin-right: 20px;
    transition: color .15s ease
}

.header .menu .icon.menu {
    margin-right: 10px
}

.header .menu .icon.close {
    margin-right: 0
}

.header .menu .txt {
    font-size: 26px;
    line-height: 16px;
    transition: color .15s ease
}

.header .menu .txt .txt-sub {
    font-size: 16px;
    line-height: 16px
}

.header .menu .txt .line {
    color: #FFA400;
    font-size: 20px;
    padding-left: 5px;
    padding-right: 5px;
}

.header.login-opened .menu[data-btn="login"] .icon,
.header.login-opened .menu[data-btn="login"] .txt {
    color: #FFA400
}

.popup_cate_menu {
    position: fixed;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    z-index: 45;
    padding: 80px 20px 0
}

.popup_cate_menu .wrap_box {
    position: relative;
    z-index: 300;
    max-width: 1240px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: flex-end
}

.icon-user {
    border: 1px #FFA400 solid;
    border-radius: 80px;
    background-color: #FFA400;
    width: 30px;
    height: 30px;
    padding-left: 6px;
    padding-top: 5px;
    margin-right: 8px
}

.icon-user-settings {
    border-radius: 80px;
    background-color: #F5F5F5;
    width: 30px;
    height: 30px;
    margin-left: 15px
}

.icon-user-settings img {
    width: 20px;
    height: auto;
    padding-top: 3px;
}

.user {
    font-size: 16px;
    color: #ffffff
}

.popup_login {
    position: fixed;
    top: -100%;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 45;
    padding-top: 80px;
    background-color: white;
    transition: top .7s cubic-bezier(.25, .46, .45, .94);
    -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.05);
    -moz-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.05)
}

.popup_login.open {
    top: 0%
}

.popup_login .col-50 {
    width: 50%
}

.popup_login .popup_content {
    position: relative;
    z-index: 4;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    padding: 60px 100px 40px
}

.popup_login .login-txt {
    font-size: 40px;
    line-height: 40px
}

.popup_login .login-txt .txt-big {
    font-size: 54px;
    line-height: 40px
}

.popup_login .wrap_close {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer
}

.popup_login .wrap-login-btn {
    width: 100%
}

.popup_login .wrap-login-btn .link-forget-password {
    color: #818181;
    font-size: 20px;
    line-height: 26px;
    padding-right: 50px;
}

.box_cate_menu {
    border-radius: 10px;
    overflow: hidden;
    margin-top: 10px;
    width: 300px;
    opacity: 0;
    transform: translateY(20px);
    transition: all .5s ease
}

.box_cate_menu .cate_menu {
    position: relative;
    height: 80px;
    padding: 10px 30px;
    background-color: white;
    cursor: pointer
}

.box_cate_menu .cate_menu.bear {
    background-color: #36B7DE
}

.box_cate_menu .cate_menu.whale {
    background-color: #106BAF
}

.box_cate_menu .cate_menu.elephant {
    background-color: #6DC169
}

.box_cate_menu .cate_menu .text {
    color: white;
    font-size: 26px;
    line-height: 26px
}

.box_cate_menu .cate_menu::after {
    content: "\e90b";
    font-family: 'icon-set-climate' !important;
    /* speak: never; */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: calc(50% - 14px);
    right: 30px;
    font-size: 30px;
    line-height: 28px;
    opacity: 0;
    transition: opacity .2s ease-in;
    color: white
}

.box_cate_menu .cate_menu:hover::after {
    opacity: 1
}

.box_cate_menu .wrap_character {
    height: 100%;
    margin-right: 18px;
    width: 58px
}

.box_cate_menu .wrap_character img {
    height: 100%;
    width: auto;
    object-fit: contain;
    margin: 0
}

.box_cate_menu .login_menu {
    padding: 25px 20px;
    background-color: white;
    cursor: pointer;
    margin-left: 0
}

.box_cate_menu .login_menu .icon {
    font-size: 20px;
    line-height: 20px;
    margin-right: 20px
}

.box_cate_menu .login_menu .txt {
    font-size: 26px;
    line-height: 26px
}

.active .box_cate_menu {
    opacity: 1;
    transform: translateY(0)
}

@media (max-width:940px) {
    .header {
        max-height: 65px
    }

    .header.menu-opened [data-btn="menu"] {
        display: none
    }

    .header.menu-opened [data-btn="close"] {
        display: flex
    }

    .popup_cate_menu {
        padding: 65px 0px 0
    }

    .popup_cate_menu .box_cate_menu {
        width: 100%;
        border-radius: 0;
        margin-top: 0
    }

    .popup_cate_menu .box_cate_menu .cate_menu {
        padding: 10px 25px
    }

    .popup_login {
        height: 100%;
        padding-top: 65px
    }

    .popup_login .col-50 {
        width: 100%
    }

    .popup_login .popup_content {
        padding: 30px 20px;
        width: 100%;
        height: 100%;
        flex-direction: column !important;
        justify-content: center
    }

    .popup_login .wrap_close {
        top: 13px;
        right: 10px
    }

    .popup_login .login-txt {
        text-align: center;
        font-size: 29px;
        line-height: 27px
    }

    .popup_login .login-txt .txt-big {
        font-size: 45px;
        margin-bottom: 10px
    }

    .popup_login .wrap-login-btn {
        flex-direction: column;
        margin-top: 30px
    }

    .popup_login .wrap-login-btn .link-forget-password {
        margin-bottom: 20px
    }

    .popup_login .txt-register {
        display: inline-block;
        font-size: 23px;
        line-height: 23px;
        margin-top: 100px;
        color: black
    }

    .ic-eye {
        top: 0px !important
    }
}

@media (max-width:767px) {
    .txt-log {
        font-size: 26px;
        line-height: 16px
    }

    .txt-log .txt-sub {
        font-size: 16px;
        line-height: 16px
    }
}

@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
    .header {
        background-color: rgba(255, 255, 255, 0.8);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px)
    }

    @media (min-width:768px) {
        .popup_login {
            background-color: rgba(255, 255, 255, 0.8);
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px)
        }

        .popup_login input {
            background-color: transparent !important
        }
    }
}