@charset "utf-8";

:root {
    --primary-color: #977F68;
    --secondary-color: #BB9A47;
    --primary-deep-color: #705741;

    --background-color: #f8f8f8;
    --button-active-color: #f2f2f2;
    --white-color: #ffffff;
    --orange-color: #EF8625;
    --navy-color: #394674;
    --blue-color: #6593F5;
    --red-color: #FF0000;
    --green-color: #19D200;
    --dark-grey-color: #7D7D7D;
    --enabled-grey-color: #CCCCCC;
    --light-grey-color: #F5F5F5;
    --input-box-color: #F0ECE9;

    --chat-auto-color: #FAF8F2;
    --chat-my-color: #EEF7FF;

    --border-color: #EEEBE9;
    --input-line-color: #B9B7B7;
    --box-shadow-color: #977f682b;
    --box-shadow-color02: #5e46303c;

    --font-brown-100: #222222;
    --font-brown-200: #2F2A27;
    --font-brown-800: #9F9893;
    --font-brown-900: #999088;
    --dim-color: rgb(33 31 22 / 40%)
}

input::placeholder,
input[type=date] {
    font-family: 'Pretendard', sans-serif;
}

textarea::placeholder {
    font-family: 'Pretendard', sans-serif;
}

#modal_common {
    position: absolute;
    z-index: 999;
}

body {
    background: #F9F9F9;
    width: 100%;
    height: 100vh;
    color: var(--font-brown-200);
    overflow-x: hidden;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
b,
table,
th,
tr,
td,
strong,
footer,
div,
input,
button,
select,
textarea {
    font-family: 'Pretendard';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.5px;
}

b {
    font-weight: 700;
}

body {
    position: relative;
    /* height: 100%; */
}

button {
    background: none;
}

.allow-to-drag-text {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text
}

input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: none;
    appearance: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


/* modal */
.modal {
    display: none;
    position: fixed;
    width: 100%;
    min-height: 100%;
    min-width: 100%;
    overflow: hidden;
    background: var(--dim-color);
    z-index: 201;
}

.modal_wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    background: var(--white-color);
    z-index: 101;
    border-radius: 20px;
    box-shadow: 0px 3px 9px rgba(0, 0, 0, .5);
}

.modal_wrap.warning {
    width: 350px;
    padding: 30px;
    text-align: center;
}

.modal_wrap img {
    width: 50px;
}

.modal_wrap .text {
    font-size: 17px;
    line-height: 1.6;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal_wrap .btn {
    padding: 13px 45px;
    border-radius: 8px;
    font-size: 16px;
}

.modal_wrap .btn.ok {
    background: var(--primary-color);
    color: var(--white-color);
}

#modalSelectAccount {
    p {
        margin: 30px 0;
    }

    .select_account_w {
        padding: 20px;
        margin-bottom: 25px;
    }

    .select_account_w button {
        border: 1px solid var(--primary-color);
        border-radius: 10px;
        padding: 30px 0;
    }

    .select_account_w button:hover {
        background: var(--primary-color);
        color: var(--white-color);
        font-weight: 500;
    }

    .select_account_w button.user::before {
        display: block;
        content: "";
        width: 100%;
        height: 50px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_account_user.svg) 50% no-repeat;
        margin-bottom: 20px;
    }

    .select_account_w button.user:hover::before {
        background: url(https://s1.unipware.com/AILawyer/images/ico_account_user_w.svg) 50% no-repeat;
    }

    .select_account_w button.lawyer::before {
        display: block;
        content: "";
        width: 100%;
        height: 50px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_account_lawyer.svg) 50% no-repeat;
        margin-bottom: 20px;
    }

    .select_account_w button.lawyer:hover::before {
        background: url(https://s1.unipware.com/AILawyer/images/ico_account_lawyer_w.svg) 50% no-repeat;
    }
}

#modalEditPassword,
#modalDeleteAccount {
    dl {
        display: flex;
        align-items: center;
    }

    dl+dl {
        margin-top: 10px;
    }

    dt {
        color: var(--navy-color);
        background: none;
        font-size: 16px;
        font-weight: 700;
        display: inline-block;
        min-width: 55px;
        text-align: right;
        margin-right: 20px;
        min-width: 100px;
    }

    input {
        border: 0;
        background: var(--white-color);
        padding: 12px 5px;
        font-size: 15px;
        min-width: 280px;
        box-sizing: border-box;
        border-bottom: 1px solid var(--input-line-color);
    }

    span.warning_text {
        display: block;
        color: var(--red-color);
        margin-left: 5px;
        font-size: clamp(11px, 2vw, 13px);
        margin-top: 5px;
        text-align: left;
    }

    p span {
        color: var(--red-color);
        font-size: 17px;
    }

    .delete_account.warning_text {
        text-align: center;
    }
}

#modalDeclineConsultation {
    p {
        margin-bottom: 20px;
    }

    .dropdown_w .selected {
        background: var(--white-color);
        padding: 8px 10px 8px 10px;
        font-size: 15px;
        border: 1px solid var(--border-color);
        border-radius: 4px;
        display: flex;
        align-items: center;
        color: #000;
        justify-content: space-between;
        min-width: 300px;
        margin-right: 0;
    }

    .dropdown_w .selected::after {
        width: 10px;
        height: 10px;
        display: block;
        content: "";
        background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down.svg) 50% no-repeat;

    }

    .dropdown_w .sel_w {
        display: none;
    }

    .dropdown_w.active .sel_w {
        position: absolute;
        display: block;
        background: var(--white-color);
        border-radius: 4px;
        padding: 7px 5px;
        max-height: 150px;
        z-index: 1;
        min-width: 300px;
        box-shadow: -3px 3px 15px var(--box-shadow-color);
        top: 35px;
    }

    .dropdown_w.active .sel_w button {
        display: block;
        font-size: 15px;
        padding: 3px 10px 5px 5px;
        font-weight: 500;
        text-align: left;
        width: 100%;
        color: #000;

    }

    .dropdown_w.active .sel_w button:hover {
        background: var(--primary-color);
        color: var(--white-color);
        border-radius: 4px;
    }

    textarea {
        background: var(--white-color);
        padding: 8px 10px 8px 10px;
        font-size: 15px;
        border: 1px solid var(--border-color);
        border-radius: 4px;
        color: #000;
        min-width: 300px;
        height: 100px;
        resize: none;
    }
}

.modal_popup .modal_wrap.case_law_wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 30px 30px 18px;
    text-align: center;
    background: var(--white-color);
    max-width: 900px;
    width: 100%;
    border-radius: 12px;

    .tooltip {
        opacity: 0;
        transition: opacity 0.5s ease;
        position: absolute;
        left: 50%;
        top: 30px;
        border-radius: 4px;
        background: var(--dim-color);
        min-width: 170px;
        font-size: 15px;
        color: var(--white-color);
        padding: 5px 0;
        line-height: 1.3;
        transform: translateX(-50%);
    }

    .scroll {
        max-height: 500px;
    }

    h2 {
        text-align: left;
    }

    img {
        width: 27px;
        height: 27px;
        padding-top: 0;
        margin-right: 5px;
        cursor: pointer;
        margin-top: 2px;
    }

    .case_info dt {
        font-weight: 700;
        min-width: 100px;
        text-align: left;
        margin-left: 10px;
    }

    .case_info dl {
        display: flex;
        font-size: 16px;
    }

    .case_info dl+dl {
        margin-top: 10px;
    }

    .case_info dl+dl {
        margin-top: 10px;
    }

    .case_contents dl+dl {
        margin-top: 15px;
    }

    .case_contents dt {
        font-size: 17px;
        color: var(--secondary-color);
        font-weight: 600;
        margin-bottom: 15px;
        text-align: left;
        background: var(--background-color);
        padding: 10px;
        border-radius: 4px;
    }

    .case_contents dd {
        font-size: 16px;
        text-align: left;
        font-weight: 500;
        line-height: 1.5;
        margin: 0 10px;
    }
}

/* left-side-menu */
#law_user_aside {
    padding: 24px 28px 0 28px;
    width: 416px;
    height: 100dvh;
    z-index: 99;
    position: fixed;
    left: 0;
}

#law_user_aside .tit_box,
#law_user_aside .history {
    position: relative;
    padding: 24px 28px 24px;
    border: 1px solid var(--border-color);
    background: var(--white-color);
    border-radius: 12px;
    flex-direction: column;
}

.login_signup_wrap {
    order: 3;
    margin-top: 20px;
    display: flex;

    button {
        width: 100%;
        border: 1px solid var(--primary-color);
        border-radius: 20px;
        padding: 8px;
        font-size: 15px;
        background: var(--white-color);
        color: var(--primary-color);
        font-weight: 700;
    }

    button+button {
        margin-left: 10px;
    }

    button:hover {
        background: var(--primary-color);
        color: var(--white-color);
        font-weight: 500;
    }
}

.law_aside_button {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 48px;
    height: 48px;
    padding: 0;
    background: none;
}

.law_aside_button:hover {
    background: #f5f5f5;
    border-radius: 24px;
}

.law_user_tooltip,
.tool_copy_complete {
    display: none;
    position: absolute;
    padding: 8px 12px;
    background: #333;
    font-size: 14px;
    font-weight: 500;
    color: var(--white-color);
    border-radius: 4px;
    z-index: 99;
}

.tool_copy_complete {
    top: 32px;
    right: 0px;
    text-align: center;
}

.tool_copy_complete.visible {
    display: block !important;
}

.law_user_tooltip.side_tool_close {
    top: 60px;
    left: 240px
}

.law_user_tooltip.side_tool_open {
    top: 90px;
    left: 20px;
}

.law_user_tooltip.tool_search {
    top: 44px;
    right: 0;
}

.law_user_tooltip.tool_history_del {
    top: 32px;
    right: 0;
    width: 44px;
    padding: 8px 0;
    text-align: center;
}

.law_user_tooltip.tool_history_del.link {
    width: 66px;
}

.law_user_tooltip.tool_history_del.newtab {
    width: 96px;
}

#aside_open {
    display: none;
    position: absolute;
    top: 34px;
    left: 20px;
    z-index: 98;
}

#aside_open:hover {
    background: #f2f2f2;
}

.law_aside_button img {
    width: 24px;
}

#law_user_aside .tit_box h1 {
    order: 2;
    font-family: "Noto Serif KR";
    font-size: 36px;
    font-weight: 500;
    line-height: -2px;
}

#law_user_aside .tit_box h1 b {
    font-family: "Noto Serif KR";
    color: var(--secondary-color)
}

#law_user_aside .tit_box p,
#law_user_content .content_wrap span {
    order: 1;
    font-weight: 600;
    color: #9F9893;
}

#law_user_aside .tit_box p b,
#law_user_content .content_wrap span b {
    color: #56504C;
}

.history button.new_chat {
    order: 3;
    width: 100%;
    padding: 14px 0;
    margin-bottom: 15px;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 600;
    color: var(--white-color);
    background: var(--primary-color);

    img {
        width: 15px;
    }
}

#law_user_aside .tit_box .new_chat img {
    width: 12px;
    margin-right: 12px;
    opacity: 65%;
}

#law_user_aside .history h2 {
    position: relative;
    font-size: 16px;
    line-height: 34px;
    padding-left: 36px;
    color: var(--font-brown-100);
}

#law_user_aside .history h2::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 24px;
    height: 24px;
    background: url("https://s1.unipware.com/AILawyer/images/ico_history.svg") no-repeat;
}

#law_user_aside .all_delete {
    padding: 8px 12px;
    border: 1px solid #e9e9e9;
    border-radius: 17px;
    color: #3E4045;
    font-size: 14px;
    font-weight: 600;
    background: var(--white-color);
}

#law_user_aside .all_delete:hover {
    border: 1px solid #e9e9e9;
    background: var(--background-color);
}

#law_user_aside .all_delete:active {
    background: var(--button-active-color)
}


#law_user_aside .history .search_btn_wrapper {
    margin-top: 15px;
}

#law_user_aside .history .his_input_wrapper {
    position: relative;
    display: inline-block;
}

#law_user_aside .history .his_input_wrapper:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #d6cfc7;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
}

#law_user_aside .history .his_input_wrapper.focused::before {
    transform: scaleX(1);
    transition: transform 0.5s ease;
}

#law_user_aside .history input {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 4px;
    outline: none;
    background: var(--background-color);
}

#law_user_aside .history input:focus {
    border-bottom-color: transparent;
}

#law_user_aside .history .search {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    padding: 0;
    background: var(--background-color);
}

#law_user_aside .history .search img {
    width: 20px;
}

#law_user_aside .history input::placeholder {
    font-size: 14px;
    font-weight: 500;
    color: var(--font-brown-800);
}

#law_user_aside .history ul {
    margin-top: 10px;
    /* padding-bottom: 36px; */
    height: 28dvh;
    overflow-y: auto;
}

#law_user_aside .history ul::-webkit-scrollbar {
    display: none;
}

#law_user_aside .history ul.show-scrollbar::-webkit-scrollbar {
    display: block;
}

#law_user_aside .history ul li {
    width: 100%;
    position: relative;
    font-size: 14px;
    padding: 8px 2px 8px 35px;
    font-weight: 600;
    cursor: pointer;
}

#law_user_aside .history ul li.no_list {
    padding-left: 0;
    font-size: 15px;
    text-align: center;
    line-height: 1.5;
    color: #999;
    cursor: default;
}

#law_user_aside .history ul li.no_list::before {
    display: none;
}

#law_user_aside .history ul li.no_list:hover {
    background: var(--white-color);
}

#law_user_aside .history ul li:hover {
    background: #f5f5f5;
    border-radius: 4px;
}

#law_user_aside .history ul li.on {
    background: #f5f5f5;
}

#law_user_aside .history ul li.no_list.on {
    background: var(--white-color);
}

#law_user_aside .history ul li a {
    position: relative;
    display: block;
    white-space: nowrap;
    overflow: hidden;
}

#law_user_aside .history ul li::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 8px;
    width: 20px;
    height: 20px;
    background: url("https://s1.unipware.com/AILawyer/images/ico_history-list.svg") 50% no-repeat;
}

#law_user_aside .history ul li a span {
    display: inline-block;
    line-height: 20px;
}

#law_user_aside .history ul li.hover a span {
    animation: scrollText 5s linear infinite;
}

@keyframes scrollText {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

#law_user_aside .history ul li a span b {
    border: 20px;
    padding: 4px 8px;
    border-radius: 6px;
    background: #f5f5f5;
}

#law_user_aside .history ul li a span b.s_offense {
    background: #f9ebeb;
}

#law_user_aside .history ul li a span b.divorce {
    background: #efeaef;
}

#law_user_aside .history ul li a span b.driving {
    background: #fff3e0;
}

#law_user_aside .history ul li a span b.property {
    background: #e4f1e3;
}

#law_user_aside .history ul li a span b.bullying {
    background: #e3edf1;
}

#law_user_aside .history ul li .h_buttons {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 96;
}

#law_user_aside .history ul li .h_buttons.h_copy {
    right: 27px;
}

#law_user_aside .history ul li .copy_popup_wrap {
    display: none;
    position: absolute;
    top: 36px;
    right: 0;
    z-index: 97;
    cursor: default;
}

#law_user_aside .history ul li .copy_popup {
    padding: 4px 4px 4px 8px;
    width: max-content;
    font-size: 13px;
    color: var(--font-brown-200);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--white-color);
}

#law_user_aside .history ul li .copy_popup span {
    width: 220px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#law_user_aside .history ul li .copy_popup button {
    margin-left: 8px;
    font-size: 14px;
    color: var(--white-color);
    background: #444;
    padding: 6px 8px;
    border-radius: 4px;
}

#law_user_aside .history ul li .h_buttons.h_delete {
    right: 0;
}

#law_user_aside .history ul li .h_buttons.h_newtab {
    right: 54px;
}

#law_user_aside .history ul li .h_buttons button {
    padding: 0;
    width: 28px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f5f5f5;
}

#law_user_aside .history ul li .h_buttons button:hover {
    background: #e6e6e6;
    border-radius: 14px;
}

#law_user_aside .history ul li .h_buttons button img {
    width: 28px;
    height: 28px;
    padding: 4px;
}

#law_user_aside .info {
    position: absolute;
    bottom: 2dvh;
}

#law_user_aside .info p {
    color: var(--font-brown-900);
    font-size: 14px;
    font-weight: 600;
}

#law_user_aside .info dl {
    display: flex;
    margin-top: 6px;
    font-size: 14px;
    font-weight: 400;
}

#law_user_aside .info dl:first-of-type {
    margin-top: 12px;
}

#law_user_aside .info dl dt {
    color: #B8AEA8;
}

#law_user_aside .info dl dd {
    margin-left: 4px;
    color: #9F9893;
}

#law_user_aside .info .d-flex dl {
    margin-top: 6px;
}

#law_user_aside .info .d-flex dl:nth-of-type(2) {
    margin-left: 6px;
}

#law_user_aside .info p.copyright {
    font-size: 12px;
    color: #B8AEA8;
}

.law_dim {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    z-index: 98;
    background: var(--dim-color);
}

.info_qna {
    display: flex;
    margin-top: 20px;

    button {
        width: 100%;
        padding: 12px;
        font-size: 16px;
        color: var(--primary-color);
        font-weight: 600;
        border-radius: 12px;
        border: 1px solid var(--border-color);
        background: var(--white-color);
        display: flex;
        justify-content: center;
    }

    button+button {
        margin-left: 10px;
    }

    button:first-child::before {
        content: "";
        width: 20px;
        height: 20px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_info.svg) 50% no-repeat;
        display: block;
        margin-right: 5px;
    }

    button:last-child::before {
        content: "";
        width: 20px;
        height: 20px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_qna.svg) 50% no-repeat;
        display: block;
        margin-right: 5px;
    }

    button:hover {
        border: 1px solid var(--primary-color);
    }
}



/* contents */
#law_user_content {
    position: relative;
    display: flex;
    justify-content: center;
    /* padding-top: 20dvh; */
    margin: 0 auto;
    max-width: 1920px;
    height: 100%;
    overflow: hidden;
}

#law_user_content.link_newTab_cont {
    max-width: none;
}

#law_user_content .content_chat_wrap {
    position: relative;
    display: flex;
    margin-left: 416px;
    width: 90%;
    justify-content: center;
}

#law_user_content .content_chat_wrap.link_newTab {
    margin-left: 0;
}

#law_user_content .content_container {
    position: relative;
    padding: 18dvh 4% 0;
    width: 100%;
    text-align: center;
}

#law_user_content .content_wrap {
    flex-direction: column;
}

#law_user_content .content_wrap h1 {
    order: 2;
    margin-top: 18px;
    font-family: "Noto Serif KR";
    font-size: 52px;
    font-weight: 400;
    letter-spacing: -2px;
}

#law_user_content .content_wrap h1 b {
    font-family: "Noto Serif KR";
    color: var(--secondary-color);
}

#law_user_content .content_wrap p {
    order: 2;
    margin-top: 18px;
    height: 84px;
    font-size: 18px;
    font-weight: 600;
    color: var(--font-brown-800);
    letter-spacing: -1px;
    line-height: 1.5;
    word-break: keep-all;
}

.dots_blinking {
    animation: blink 1s infinite;
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

#law_user_content .content_wrap span.sub-tit {
    width: fit-content;
    padding: 12px 28px;
    margin: 0 auto;
    border-radius: 22px;
    background: var(--white-color);
    font-weight: 700;
}

#law_user_content .law_category {
    margin-top: 64px;
}

#law_user_content .law_category li {
    padding: 64px 0 56px;
    width: 18.814%;
    color: #45403E;
    border-radius: 4px;
    cursor: pointer;
    background: #f5f5f4;
    transition: all 0.1s ease;
}

/* #law_user_content .law_category li.on {
    background: var(--primary-color);
    color: var(--white-color);
    box-shadow: 6px 8px 24px rgba(151, 127, 104, 0.45);
} */

#law_user_content .law_category li.on {
    background: var(--primary-color);
    color: var(--white-color);
    box-shadow: 6px 8px 24px rgba(151, 127, 104, 0.45);
}

#law_user_content .law_category li figure img {
    width: 40px;
    height: 40px;
}

#law_user_content .law_category li figure img.none {
    display: none;
}

#law_user_content .law_category li figure figcaption {
    margin-top: 28px;
    font-size: 18px;
    font-weight: 700;
}

#law_user_content #chat_input_wrap {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 80px 4% 3dvh;
    width: 100%;
    z-index: 11;
    background: linear-gradient(rgba(255, 255, 255, 0) 0, rgba(249, 249, 249, 0.8) 25%, #F9F9F9 35% 100%);
}


#law_user_content #chat_input_wrap p {
    font-weight: 500;
    color: var(--white-color);
    text-align: center;
}

#law_user_content #chat_input_wrap .chat_input {
    position: relative;
    align-items: start;
    padding: 16px 24px;
    width: 100%;
    background: var(--white-color);
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

#law_user_content #chat_input_wrap .chat_input.disabled {
    background: rgba(239, 239, 239, 0.3);
}

#law_user_content #chat_input_wrap .chat_input.disabled textarea::placeholder {
    color: #bbb;
}

#law_user_content .chat_input ul {
    position: absolute;
    top: -208px;
    left: 0;
    padding: 12px 8px;
    background: var(--white-color);
    border-radius: 4px;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
}

#law_user_content .chat_input ul li {
    font-weight: 500;
    color: #666;
    padding: 8px 28px;
    cursor: pointer;
}

#law_user_content .chat_input ul li:hover {
    background: #f5f5f5;
}

#law_user_content .chat_input span.category {
    position: relative;
    padding: 8px 12px;
    margin-right: 24px;
    font-size: 16px;
    font-weight: 600;
    color: var(--white-color);
    border-radius: 18px;
    background: var(--orange-color);
}

#law_user_content .chat_input textarea {
    flex-grow: 1;
    height: 28px;
    max-height: 18dvh;
    border: none;
    font-size: 16px;
    resize: none;
    line-height: 1.5;
}

#law_user_content .chat_input textarea::placeholder {
    font-size: 16px;
    font-weight: 500;
    color: var(--font-brown-800);
}

#law_user_content .chat_input textarea::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

#law_user_content .chat_input textarea::-webkit-scrollbar-track {
    background-color: #fff;
    border-radius: 5px;
}

#law_user_content .chat_input textarea::-webkit-scrollbar-thumb {
    background: #d2d2d2;
    border-radius: 5px;
    height: 10%;
}

#law_user_content .chat_input textarea::-webkit-scrollbar-thumb:hover {
    background: #d2d2d2;
}

#law_user_content .chat_input button.enter {
    background: var(--white-color);
    margin-top: 4px;
    opacity: 0.45;
}

#law_user_content .chat_input button.enter.disabled {
    cursor: not-allowed;
    background: #f6f6f6;
}

/* fade-up */
.fade-up {
    opacity: 0;
    position: relative;
    top: 32px;
    /* 애니메이션 시작 위치 */
}

/*scroll*/
.scroll {
    margin: 0 2px;
    overflow-y: auto;
}

.scroll::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

.scroll::-webkit-scrollbar-track {
    background-color: #fff;
    border-radius: 5px;
}

.scroll::-webkit-scrollbar-thumb {
    background: #d2d2d2;
    border-radius: 5px;
    height: 10%;
}

.scroll::-webkit-scrollbar-thumb:hover {
    background: #d2d2d2;
}


#law_user_content.chat_cont {
    padding-top: 0;
}

#law_user_content .content_container.chat_wrap {
    position: relative;
    overflow: hidden;
    max-width: 1710px;
    padding: 0.5dvh 4% 32dvh;
    text-align: initial;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

#law_user_content .content_chat_wrap.link_newTab .content_container.chat_wrap {
    padding: 0.5dvh 12% 16dvh;
}

#law_user_content p.warning {
    padding-top: 100px;
    margin-bottom: -120px;
    text-align: center;
    color: #b5b0ab;
    font-weight: 600;
}

#law_user_content .content_container.chat_wrap .title_container {
    position: sticky;
    top: -7px;
    padding: 12px 0;
    width: 100%;
    background: #f8f8f8;
    z-index: 97;
    border-bottom: 1px solid #ededed;
}

#law_user_content .content_container.chat_wrap .title_container .tool_copy_complete {
    top: 56px;
    right: 12px;
}

#law_user_content .content_container.chat_wrap .title_container .title_wrap {
    flex-grow: 1;
    justify-content: center;
}

#law_user_content .content_container.chat_wrap .title_container .title_wrap span {
    font-size: 16px;
    font-weight: 700;
    transform: rotate(-0.09deg);
}

#law_user_content .content_container.chat_wrap .title_container .title_wrap span img,
.link_newTab .chat_bundle .tit img {
    margin-right: 14px;
    width: 36px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
}

#law_user_content .content_container.chat_wrap .title_container .title_wrap p,
.link_newTab .chat_bundle .tit p {
    font-size: 18px;
    font-weight: 700;
    transform: rotate(-0.05deg);
}

#law_user_content .content_container.chat_wrap .title_container button {
    position: absolute;
    right: 0;
    padding: 8px 4px;
    width: 98px;
    font-size: 14px;
    font-weight: 600;
    background: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 6px;
}

#law_user_content .content_container.chat_wrap .title_container button:hover {
    border: 1px solid #e9e9e9;
    background: var(--background-color)
}

#law_user_content .content_container.chat_wrap .title_container button:active {
    background: var(--button-active-color)
}

#law_user_content .content_container.chat_wrap .title_container button img {
    float: left;
    margin: 0 6px;
    width: 20px;
}

#law_user_content .content_container.chat_wrap .title_container button p {
    float: left;
    line-height: 20px;
}


#law_user_content .content_container.chat_wrap::-webkit-scrollbar {
    display: none;
}

#law_user_content .chat_wrap .chat_bundle:first-of-type {
    margin-top: 0;
}

#law_user_content .chat_wrap .chat_bundle {
    margin-top: 17px;
    min-height: 760px;
}

#law_user_content .chat_wrap .chat_user {
    position: relative;
    padding: 24px 32px;
    border-radius: 12px;
    background: #f4f4f4;
}

#law_user_content .chat_wrap .chat_user p {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
}

#law_user_content .chat_wrap .chat_user img,
#law_user_content .chat_cont .chat_ai img {
    margin-right: 20px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
}

#law_user_content .chat_wrap .chat_user img {
    border: 2px solid var(--border-color);
}


#law_user_content .chat_wrap .chat_ai {
    padding: 32px 32px 24px 32px;
    margin-top: 16px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--white-color);
}

#law_user_content .chat_wrap .chat_ai .ai_name img {
    margin-right: 20px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
}

#law_user_content .chat_wrap .chat_ai .ai_name span {
    color: #2F2A27;
    font-size: 18px;
    font-weight: 700;
}

#law_user_content .chat_wrap .chat_ai .ai_name span b {
    color: var(--secondary-color);
}

#law_user_content .chat_wrap .chat_ai .terms_tag {
    padding: 6px 8px;
    width: fit-content;
    justify-content: start;
    font-size: 12px;
    font-weight: 600;
    color: #999;
    border-radius: 4px;
    background: var(--background-color);
}

#law_user_content .chat_wrap .chat_ai .lawyer_answer {
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
}

#law_user_content .chat_wrap .chat_ai p.lawyer_answer_loading {
    color: #888;
}

#law_user_content .chat_wrap .chat_ai .lawyer_answer strong {
    font-weight: 800;
}

#law_user_content .chat_wrap .chat_ai .lawyer_answer h1 {
    font-size: 22px;
}

#law_user_content .chat_wrap .chat_ai .lawyer_answer h2 {
    font-size: 20px;
}

#law_user_content .chat_wrap .chat_ai .lawyer_answer h3 {
    font-size: 18px;
}

#law_user_content .chat_wrap .chat_ai p.terms_text {
    font-size: 15px;
    line-height: 1.6;
    font-weight: 500;
    flex-wrap: wrap;
}

/* 답변 생성 로딩 애니메이션 */
@-webkit-keyframes whirl-color-range {
    0% {
        -webkit-box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #e2d9d0, 60px 20px 0 0 #dfd4cb;
        box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #dfd4cb;
    }

    20% {
        -webkit-box-shadow: 0px 20px 0 0 #b1967d, 15px 20px 0 0 #bba48e, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #977f68;
        box-shadow: 0px 20px 0 0 #b1967d, 15px 20px 0 0 #bba48e, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #977f68;
    }

    40% {
        -webkit-box-shadow: 0px 20px 0 0 #bba48e, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #977f68, 60px 20px 0 0 #806851;
        box-shadow: 0px 20px 0 0 #bba48e, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #977f68, 60px 20px 0 0 #806851;
    }

    100% {
        -webkit-box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #977f68, 45px 20px 0 0 #b1967d, 60px 20px 0 0 #c2a991;
        box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #977f68, 45px 20px 0 0 #b1967d, 60px 20px 0 0 #c2a991;
    }

    80% {
        -webkit-box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #977f68, 30px 20px 0 0 #b1967d, 45px 20px 0 0 #bba48e, 60px 20px 0 0 #dfd4cb;
        box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #977f68, 30px 20px 0 0 #b1967d, 45px 20px 0 0 #bba48e, 60px 20px 0 0 #dfd4cb;
    }

    100% {
        -webkit-box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #dfd4cb;
        box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #dfd4cb;
    }
}

@keyframes whirl-color-range {
    0% {
        -webkit-box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #dfd4cb;
        box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #dfd4cb;
    }

    20% {
        -webkit-box-shadow: 0px 20px 0 0 #b1967d, 15px 20px 0 0 #bba48e, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #977f68;
        box-shadow: 0px 20px 0 0 #b1967d, 15px 20px 0 0 #bba48e, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #977f68;
    }

    40% {
        -webkit-box-shadow: 0px 20px 0 0 #bba48e, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #977f68, 60px 20px 0 0 #806851;
        box-shadow: 0px 20px 0 0 #bba48e, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #dfd4cb, 45px 20px 0 0 #977f68, 60px 20px 0 0 #806851;
    }

    100% {
        -webkit-box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #977f68, 45px 20px 0 0 #b1967d, 60px 20px 0 0 #c2a991;
        box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #dfd4cb, 30px 20px 0 0 #977f68, 45px 20px 0 0 #b1967d, 60px 20px 0 0 #c2a991;
    }

    80% {
        -webkit-box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #977f68, 30px 20px 0 0 #b1967d, 45px 20px 0 0 #bba48e, 60px 20px 0 0 #dfd4cb;
        box-shadow: 0px 20px 0 0 #dfd4cb, 15px 20px 0 0 #977f68, 30px 20px 0 0 #b1967d, 45px 20px 0 0 #bba48e, 60px 20px 0 0 #dfd4cb;
    }

    100% {
        -webkit-box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #dfd4cb;
        box-shadow: 0px 20px 0 0 #977f68, 15px 20px 0 0 #b1967d, 30px 20px 0 0 #bba48e, 45px 20px 0 0 #dfd4cb, 60px 20px 0 0 #dfd4cb;
    }
}

.loading_wrap .color-range:before, .loading_wrap_width .color-range:before {
    display: block;
    -webkit-animation: whirl-color-range .6s infinite ease;
    animation: whirl-color-range .6s infinite ease;
    content: '';
    height: 10px;
    -webkit-transform: translate(14px, -11px);
    transform: translate(14px, -11px);
    width: 10px;
}

#law_user_content .chat_wrap .chat_ai ul {
    padding: 24px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

#law_user_content .chat_wrap .chat_ai ul li {
    position: relative;
    font-size: 16px;
    line-height: 26px;
    color: #45403E;
    font-weight: 500;
}

#law_user_content .chat_wrap .chat_ai ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    float: left;
}

#law_user_content .chat_wrap .chat_ai ul li span img {
    width: 16px;
}

#law_user_content .chat_wrap .chat_ai ul li b {
    font-weight: 700;
}

#law_user_content .chat_wrap .chat_ai button {
    padding: 16px 0;
    margin-top: 16px;
    width: 100%;
    font-size: 15px;
    color: var(--white-color);
    background-color: #312d2a;
    border-radius: 6px;
}

#law_user_content .chat_wrap .chat_ai button.btn_talk_lawyer {
    padding: 12px 0;
    margin-top: 32px;
    background: var(--orange-color);
    font-size: 16px;
    font-weight: 600;
}

#law_user_content .chat_wrap .chat_ai button.btn_talk_lawyer:hover {
    background: #fa8f2b;
    ;
}

#law_user_content .chat_wrap .chat_ai button.btn_signup {
    width: 15%;
    background-color: var(--orange-color);
    font-weight: 600;
    font-size: 17px;
}

#law_user_content .chat_wrap .chat_ai button:disabled {
    cursor: not-allowed;
    /* 비활성화된 버튼의 커서를 '금지' 모양으로 변경 */
}


#law_user_content .chat_wrap .chat_ai dl dt {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 700;
    color: #111;
    background: #f6f6f6;
    border-radius: 17px;
}

#law_user_content .chat_wrap .chat_ai dl dd {
    font-size: 14px;
    font-weight: 500;
    color: #888;
}

#law_user_content .chat_wrap .chat_ai .answer_options {
    padding: 0;
    border: none;
}

#law_user_content .chat_wrap .chat_ai .answer_options li {
    display: flex;
    align-items: center;

}

#law_user_content .chat_wrap .chat_ai .answer_options button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    background: var(--white-color);
}

#law_user_content .chat_wrap .chat_ai .answer_options button:hover {
    background: #f5f5f5;
    border-radius: 24px;
}

#law_user_content .chat_wrap .chat_ai .answer_options button img {
    width: 20px;
}

.btn_like {
    position: relative;
    overflow: visible;
}

.sparkle {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: rgba(255, 221, 0, 0.9);
    animation: sparkle-animation 1.5s forwards;
}

@keyframes sparkle-animation {
    0% {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(calc(50px - 100px * var(--randomX)), calc(50px - 100px * var(--randomY))) scale(0);
    }
}


.law_user_tooltip.anwser_tool_options {
    bottom: -36px;
}

#law_user_content .chat_wrap .chat_ai ul li span {
    width: max-content;
    border: none;
    border-radius: 4px;
}

#law_user_content .chat_wrap .chat_ai ul li span.tool_copy_complete {
    display: none;
    padding: 0 12px;
    height: 28px;
    top: 48px;
    right: -10px;
    margin: 0;
}

#law_user_content .law_reservation {
    padding: 8px 12px 8px 28px;
    grid-template-columns: 32px auto 1fr;
    gap: 16px;
    background: url('https://s1.unipware.com/AILawyer/images/reserv_bg.svg') var(--orange-color) no-repeat;
    background-position: 300px 0;
    border-radius: 8px;
}

#law_user_content .law_reservation img {
    width: 32px;
    opacity: 60%;
}

#law_user_content .law_reservation p {
    font-size: 18px;
    font-weight: 500;
    color: var(--white-color);
    justify-self: start;
}

#law_user_content .law_reservation p br {
    display: none;
}

#law_user_content .law_reservation p b {
    font-weight: 700;
}

#law_user_content .law_reservation button {
    --font-size: 16px;
    --duration: .5s;
    --move-hover: -3px;
    --shadow-hover: 0 4px 20px -2px rgba(250, 95, 5, 0.8);
    justify-self: end;
    padding: 16px 32px;
    font-weight: 600;
    line-height: var(--font-size);
    border-radius: 4px;
    display: block;
    text-decoration: none;
    font-size: var(--font-size);
    letter-spacing: 0.5px;
    background: #312d2a;
    color: var(--white-color);
    box-shadow: var(--shadow);
    transform: translateY(var(--y));
    transition: transform var(--duration) ease, box-shadow var(--duration) ease;
}

#law_user_content .law_reservation button div {
    display: flex;
}

#law_user_content .law_reservation button div span {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    font-style: normal;
}

#law_user_content .law_reservation button div span:nth-child(1) {
    --d: 0.05s;
}

#law_user_content .law_reservation button div span:nth-child(2) {
    --d: 0.1s;
}

#law_user_content .law_reservation button div span:nth-child(3) {
    --d: 0.15s;
}

#law_user_content .law_reservation button div span:nth-child(4) {
    --d: 0.2s;
}

#law_user_content .law_reservation button div span:nth-child(5) {
    --d: 0.25s;
}

#law_user_content .law_reservation button div span:nth-child(6) {
    --d: 0.3s;
}

#law_user_content .law_reservation button div span:nth-child(7) {
    --d: 0.35s;
}

#law_user_content .law_reservation button div span:nth-child(8) {
    --d: 0.4s;
}

#law_user_content .law_reservation button div span:nth-child(9) {
    --d: 0.45s;
}

#law_user_content .law_reservation button div span:nth-child(10) {
    --d: 0.5s;
}

#law_user_content .law_reservation button div span:nth-child(11) {
    --d: 0.55s;
}

#law_user_content .law_reservation button:hover {
    --y: var(--move-hover);
    --shadow: var(--shadow-hover);
    --move: -4px;
    --shadow-active: 0 3px 1px rgba(0, 0, 0, .2);
}

#law_user_content .law_reservation button:hover span {
    -webkit-animation: move var(--duration) linear var(--d);
    animation: move var(--duration) linear var(--d);
}

@-webkit-keyframes move {
    40% {
        transform: translateY(var(--move));
        text-shadow: var(--shadow-active);
    }
}

@keyframes move {
    40% {
        transform: translateY(var(--move));
        text-shadow: var(--shadow-active);
    }
}

.ico_bottom_arrow {
    opacity: .4;
    width: 45px;
    height: 45px;
    position: absolute;
    z-index: 998;
    right: 50%;
    bottom: 80px;
    border-radius: 50%;
    box-shadow: 3px 3px 5px rgba(119, 119, 119, 0.25);
    transition: all 0.4s;
    cursor: pointer;
}

.ico_bottom_arrow:hover {
    opacity: 1;
}

/* 플로팅 버튼 */
.floating_btn {
    position: fixed;
    right: 60px;
    bottom: 80px;
    width: 72px;
    height: 72px;
    background: linear-gradient(152.08deg, #FFAD3A 8.14%, #fd9b40 50%, #ffa825 91.86%);
    border-radius: 40px;
    box-shadow: 4px 8px 12px 3px rgba(239, 134, 37, 0.25);
    transition: all 0.4s;
    cursor: pointer;
    z-index: 998;

    span {
        position: absolute;
        right: 4%;
        bottom: 50px;
        width: 72px;
        height: 72px;
        background: var(--red-color);
        width: 25px;
        height: 25px;
        border-radius: 50%;
        color: var(--white-color);
        font-size: 14px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500;
    }
}

/* 플로팅 버튼 */
.floating_btn.ai_chat.bottom {
    bottom: 50px;
}

.floating_btn:hover {
    width: 180px;
    transition: all 0.4s;
}

.floating_btn:hover p {
    margin-left: 12px;
    width: fit-content;
    visibility: visible;
    opacity: 1;
    transition: all 1.5s;
}

.floating_btn img {
    width: 32px;
}

.floating_btn p {
    margin-left: 0;
    width: 0;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    visibility: hidden;
    opacity: 0;
}

.floating_btn.ai_chat {
    bottom: 120px;
}



#law_user_content .chat_wrap .chat_ai.lawyer_suggest {
    padding: 20px 32px 32px;
    overflow: hidden;
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest>p {
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--font-brown-900);
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest>p span {
    color: #222;
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest>p span b {
    color: var(--secondary-color);
}

#law_user_content .chat_wrap .lawyer_suggest .sug_txt {
    padding: 12px 0;
    background: var(--background-color);
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    border-radius: 4px;
}

#law_user_content .chat_wrap .lawyer_suggest .sug_txt span {
    padding: 4px 12px;
    font-size: 16px;
    color: var(--secondary-color);
    border: 1px solid var(--secondary-color);
    border-radius: 16px;
    background: #FFF8E5;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card {
    grid-template-rows: 120px 90px auto 76px;
    padding: 48px 20px 20px;
    width: 32.016%;
    height: auto;
    min-height: 420px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}


#law_user_content .chat_wrap .lawyer_kakao .lawyer_card {
    width: 324.64px;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card:not(:last-of-type) {
    margin-right: 1.975%;
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card img {
    justify-self: center;
    align-self: start;
    margin: 0;
    width: 112px;
    height: 112px;
    border-radius: 40px;
    border: 1px solid var(--border-color);
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card dl {
    align-self: start;
    margin-top: 20px;
    text-align: center;
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card dl dt {
    font-size: 20px;
    background: var(--white-color);
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card dl dt b {
    color: var(--primary-color);
}

#law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card dl dd {
    font-size: 16px;
    color: var(--font-brown-200);
}


#law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_txt {
    align-self: start;
    margin-top: 16px;
    text-align: center;
    color: #888;
    line-height: 1.4;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button {
    padding: 14px 0;
    margin-top: 0;
    align-self: end;
    font-weight: 600;
    border-radius: 4px;
    background: var(--orange-color);
    --font-size: 16px;
    --duration: .5s;
    --move-hover: -3px;
    --shadow-hover: 0 4px 20px -2px rgba(239, 134, 37, 0.6);
    padding: 16px 32px;
    font-weight: 600;
    line-height: var(--font-size);
    display: block;
    text-decoration: none;
    font-size: var(--font-size);
    letter-spacing: 0.5px;
    color: var(--white-color);
    box-shadow: var(--shadow);
    transform: translateY(var(--y));
    transition: transform var(--duration) ease, box-shadow var(--duration) ease;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div {
    display: flex;
    justify-content: center;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    font-style: normal;
}


#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(1) {
    --d: 0.05s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(2) {
    --d: 0.1s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(3) {
    --d: 0.15s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(4) {
    --d: 0.2s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(5) {
    --d: 0.25s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(6) {
    --d: 0.3s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(7) {
    --d: 0.35s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(8) {
    --d: 0.4s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(9) {
    --d: 0.45s;
}

#l#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(10) {
    --d: 0.5s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button div span:nth-child(11) {
    --d: 0.55s;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button:hover {
    --y: var(--move-hover);
    --shadow: var(--shadow-hover);
    --move: -4px;
    background: #fa8f2b;
    --shadow-active: 0 3px 1px rgba(0, 0, 0, .2);
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button.disabled {
    background: #ccc;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button.disabled:hover {
    --y: none;
    --shadow: none;
    --move: 0;
    cursor: default;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_card button:hover span {
    -webkit-animation: move var(--duration) linear var(--d);
    animation: move var(--duration) linear var(--d);
}

#law_user_content .chat_wrap .lawyer_suggest .swiper-container {
    position: relative;
}

#law_user_content .chat_wrap .lawyer_suggest .swiper-container .swiper-wrapper {
    height: fit-content;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_prev.swiper-button-prev,
#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_next.swiper-button-next {
    display: none;
    width: 56px;
    height: 56px;
    border-radius: 28px;
    background: var(--white-color);
    box-shadow: 0px 0px 8px rgba(0, 0, 1, 0.15);
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_prev.swiper-button-prev {
    /* left: -20px; */
    left: 2px;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_next.swiper-button-next {
    /* right: -20px; */
    right: 2px;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_prev.swiper-button-prev::before,
#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_next.swiper-button-next::before {
    content: '';
    position: absolute;
    width: 56px;
    height: 56px;
    left: 0;
}

#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_prev.swiper-button-prev::before {
    background: url('/images/lawyer_slide_prev.svg') no-repeat;
    background-position: 50% 50%;
}


#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_next.swiper-button-next::before {
    background: url('/images/lawyer_slide_next.svg') no-repeat;
    background-position: 50% 50%;
}


#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_prev.swiper-button-prev::after,
#law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_next.swiper-button-next::after {
    display: none;
}


#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap {
    flex-direction: column;
    flex-grow: 1;
    text-align: center;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap p {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 24px;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl {
    position: relative;
    padding: 16px 12px;
    margin: 0 auto;
    max-width: 580px;
    width: 100%;
    border-radius: 12px;
    background: #FFE858;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dt {
    font-size: 16px;
    font-weight: 700;
    background: none;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dt img {
    width: 24px;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dd {
    cursor: pointer;
    padding: 24px 0;
    font-size: 18px;
    font-weight: 600;
    color: #222;
    border-radius: 8px;
    background: var(--white-color);
    word-break: break-all;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dd:hover {
    text-decoration: underline;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dd.floating {
    cursor: initial;
    position: absolute;
    padding: 8px 16px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    font-weight: 600;
    color: var(--white-color);
    background: #222;
    border-radius: 6px;
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.25);
    animation: motion 0.4s linear 0s infinite alternate;
}

@keyframes motion {
    0% {
        bottom: -20px;
    }

    100% {
        bottom: -14px;
    }
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dd.floating:hover {
    text-decoration: none;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dd.floating span {
    position: relative;
}

#law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dd.floating span::before {
    content: '';
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    width: 0px;
    height: 0px;
    border-bottom: calc(6px * 1.732) solid #222;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
}

.modal_popup {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 50%);
    z-index: 999;
}

.modal_popup .modal_wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px 18px 18px;
    text-align: center;
    background: var(--white-color);
    max-width: 440px;
    width: 100%;
    border-radius: 12px;
}

.modal_popup .modal_wrap img {
    width: 56px;
    padding-top: 24px;
}

.modal_popup .modal_wrap p {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    margin: 30px 0 40px;
}

.modal_popup .modal_wrap button {
    padding: 16px 0;
    width: 49.027%;
    font-size: 16px;
    font-weight: 700;
    border-radius: 8px;
}

.modal_popup .modal_wrap button:first-of-type {
    margin-right: 1.946%;
}

.modal_popup .modal_wrap button.modal_btn_ok {
    color: #fff;
    background: var(--primary-color);
    font-weight: 400;
}

.modal_popup .modal_wrap button.modal_btn_ok:hover {
    background: #816d5a;
}

.modal_popup .modal_wrap button.btn_close_modal {
    color: var(--font-brown-200);
    background-color: var(--border-color);
}

.chat_link_tit {
    position: fixed;
    top: 0;
    padding: 16px 0;
    width: 100%;
    background: var(--background-color);
    border: 1px solid var(--border-color);
    z-index: 999;
    text-align: center;
}

.chat_link_tit h1 {
    font-size: 20px;
    font-weight: 600;
    font-family: "Noto Serif KR";
    letter-spacing: -1px;
}

.chat_link_tit h1 span {
    color: var(--secondary-color);
}

.link_newTab .chat_bundle .tit {
    padding: 100px 0 28px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
}

.link_newTab .chat_bundle .tit h2 {
    font-size: 32px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.link_newTab .chat_bundle .tit>p {
    font-size: 14px;
    color: #726A66;
    font-weight: 600;
}

.link_newTab .chat_bundle .tit>p span {
    color: var(--font-brown-800);
    font-weight: 400;
    margin-left: 8px;
}

.agree_alert {
    display: none;
    position: absolute;
    bottom: 116px;
    padding: 12px 24px;
    background: #333;
    font-size: 14px;
    font-weight: 500;
    color: var(--white-color);
    border-radius: 8px;
    z-index: 999;
}

.agree_alert.visible {
    display: block;
}


/* 로그인 */
body.login>section {
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: 987px;
    height: 565px;
    background: var(--white-color);
    box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);

    .login_area {
        display: flex;
        justify-content: center;
    }

    .login_area .login_w {
        position: absolute;
        right: 40%;
        top: 50%;
        transform: translateY(-50%);
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: right 0.6s ease-in-out;
    }

    h1 {
        color: var(--primary-color);
        font-size: 32px;
        font-weight: 500;
        margin-bottom: 60px;
    }

    h1 b {
        font-family: "Noto Serif KR";
        color: var(--secondary-color);
    }

    .login_area label {
        background: var(--primary-color-light02);
        color: var(--dark-grey);
        padding: 6px 12px;
        border-radius: 20px;
        font-weight: 500;
        font-size: 13px;
        max-width: 115px;
    }

    .login_area label {
        background: var(--primary-color-light02);
        color: var(--dark-grey);
        padding: 6px 12px;
        border-radius: 20px;
        font-weight: 500;
        font-size: 13px;
    }

    .login_area .login_input_w label {
        color: var(--navy-color);
        background: none;
        font-size: 16px;
        font-weight: 700;
        display: inline-block;
        min-width: 55px;
        text-align: right;
        padding: 0;
    }

    .login_video {
        position: absolute;
        top: 0;
        left: 60%;
        height: 100%;
        transition: left 0.6s ease-in-out;

        .login_video_w {
            position: relative;
            height: 100%;
        }

        .video_text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 30;
            width: 100%;
        }

        .video_text dl {
            text-align: center;
            color: var(--white-color);
        }

        .video_text dl dt {
            font-family: "Noto Serif KR";
            font-size: 30px;
            margin-bottom: 20px;
        }

        .video_text dl dd {
            font-family: "Noto Serif KR";
            font-size: 15px;
            margin-bottom: 40px;
            line-height: 1.5;
        }

        .video_text button {
            color: var(--white-color);
            border: 1px solid var(--white-color);
            border-radius: 20px;
            font-size: 15px;
            padding: 8px 16px;
        }

        .video_text button:hover {
            background: #ffffff3d;
        }

        .video_cover {
            position: absolute;
            background: #443424c3;
            z-index: 20;
            width: 100%;
            height: 100%;
        }
    }

    .login_area .login_w.active {
        right: 0;
    }

    .login_video.active {
        left: 0;
    }

    .login_video video,
    .login_video img {
        max-width: 400px;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .btn_login {
        background: var(--primary-color);
        color: var(--white-color);
        padding: 15px 0px;
        border-radius: 5px;
        font-weight: 500;
        font-size: 16px;
        width: 100%;
        margin-bottom: 70px;
    }

    .btn_login:hover {
        background: var(--primary-deep-color);

    }

    .account_actions {
        button {
            background: none;
            color: var(--font-brown-800);
        }

        button:hover {
            color: var(--primary-color);
            font-weight: 500;
        }

        button:not(:nth-child(1)):before {
            content: "";
            margin-right: 18px;
            border-left: 1px solid var(--input-line-color);
        }
    }

    input {
        border: 0;
        background: var(--white-color);
        padding: 12px 5px;
        font-size: 15px;
        min-width: 280px;
        box-sizing: border-box;
        border-bottom: 1px solid var(--input-line-color);
    }

    input::placeholder {
        font-size: 13px;
        font-weight: 300;
    }

    input::placeholder {
        font-size: 13px;
        font-weight: 300;
    }

    input:focus,
    input:hover {
        border-bottom: 1px solid var(--primary-color);
        outline-offset: -1px;
    }
}

.select_user {
    display: none;
    justify-content: center;
    margin-bottom: 30px;

    .switch_w {
        position: relative;
        display: flex;
        justify-content: space-between;
        width: 100%;
        border: 1px solid var(--primary-color);
        border-radius: 30px;
        overflow: hidden;
    }

    .switch_w .btn {
        flex: 1;
        padding: 8px 16px;
        background-color: transparent;
        border: none;
        cursor: pointer;
        position: relative;
        z-index: 1;
        font-size: 15px;
        color: var(--primary-color);
        font-weight: 500;
    }

    .switch_w .btn.active {
        color: var(--white-color);
    }

    .switch_w .background {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 3px;
        width: 48%;
        height: 85%;
        background-color: var(--primary-color);
        border-radius: 30px;
        transition: all 0.3s ease;
        z-index: 0;
    }

    .active .background {
        left: 50%;
    }
}

.select_user>div {
    min-width: 200px;
}

/* 회원 유형 선택 */
.main_logo {
    font-family: "Noto Serif KR";
    font-size: 32px;
    font-weight: 500;

    b {
        font-family: "Noto Serif KR";
        color: var(--secondary-color)
    }
}

.main_logo_wrap {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    padding: 16px 0 16px 32px;
    background: #f9f9f9;
    z-index: 99;
}

.select_signup {
    margin-bottom: 20px;

    h1 {
        text-align: center;
    }

    .select_option {
        flex-direction: column;
        padding: 40px 0 28px;
        width: 256px;
        text-align: center;
        border: 2px solid var(--border-color);
        border-bottom: none;
        border-radius: 8px 8px 0 0;
        background: var(--white-color);
        transition: all 0.2s ease;

        h2 {
            font-size: 20px;
            font-weight: 600;
            color: var(--font-brown-200);
        }

        span {
            width: 80px;
            height: 80px;
            background: #F2EFED;
            border-radius: 40px;
        }

        img {
            width: 24px;
        }

        img.lawyer {
            width: 28px;
        }

        p {
            font-size: 16px;
            line-height: 1.5;
            color: var(--font-brown-800);
            font-weight: 500;
        }
    }

    .select_option.hover {
        border-color: var(--primary-color);
        transition: all 0.2s ease;
    }

    button {
        padding: 15px 0;
        width: 100%;
        color: var(--white-color);
        font-size: 16px;
        font-weight: 600;
        background: var(--primary-color);
        border-radius: 0 0 8px 8px;
        transition: all 0.1s ease;
    }

    button:hover {
        background: var(--primary-deep-color);
        transition: all 0.1s ease;
    }

    ul {

        li:not(:last-of-type) {
            margin-right: 24px;
        }
    }
}

body.login>section {
    .select_signup {
        h1 {
            margin-bottom: 40px;
            font-size: 24px;
            color: #000;
            word-break: keep-all;

            span {
                color: var(--primary-color);
                font-weight: 600;
            }
        }
    }

}

/* 아이디 찾기 */
.login_w.find_account {
    h1 {
        font-family: 'Pretendard';
        font-size: 23px;
        color: var(--primary-color);
        font-weight: 700;
        margin-bottom: 10px;
    }

    span {
        display: inline-block;
        font-size: 15px;
        margin-bottom: 40px;
    }

    .login_input_w .find_account {
        display: flex;
        justify-content: left;
        align-items: center;
        position: relative;
    }

    .login_input_w .find_account.change_pw {
        justify-content: space-between;
    }

    .login_input_w .find_account label {
        min-width: 70px;
        justify-content: right;
    }

    .login_input_w .find_account input {
        min-width: 70px;
    }

    .login_input_w .find_account button {
        background: var(--white-color);
        border: 1px solid var(--primary-color);
        padding: 6px;
        min-width: 90px;
        border-radius: 20px;
        font-size: 12px;
        font-weight: 600;
        color: var(--primary-color);
        margin-left: 10px;
    }

    .login_input_w .find_account button:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }

    .warning_text {
        position: absolute;
        color: var(--red-color);
        font-size: 13px;
        left: 90px;
        bottom: -20px;
        display: none;
        margin-bottom: 0;
    }

    .btn_w button {
        min-width: 200px;
        margin-bottom: 0;
    }

    .btn_w button+button {
        margin-left: 10px;
    }
}

.login_input_w.id_info {
    margin: 50px 0 70px 0;

    span.id_info {
        display: block;
        margin-bottom: 0;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.5;
    }

    span {
        margin-bottom: 0;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.5;
    }

    .id {
        color: var(--orange-color);
        font-size: 20px;
    }

    span+span {
        margin-top: 10px;
    }
}


/* 회원가입 */
body.my_page {
    position: relative;

    header {
        position: absolute;

    }

    .header_bg {
        position: absolute;
        background: var(--primary-color);
        width: 100%;
        height: 500px;
        top: 0;
        z-index: -999;
    }

    .header_bg img {
        position: absolute;
        width: 400px;
        right: 0;
        top: 100px;
    }

    .pc_header ul {
        display: flex;
        color: var(--white-color);
        font-size: 16px;
    }

    .pc_header li {
        font-weight: 500;
        padding: 8px 26px;
        cursor: pointer;
        word-break: keep-all;
        white-space: nowrap;
        font-size: clamp(13px, 6vw, 16px);
    }

    .info_qna {
        margin-top: 0;
    }

    .info_qna button+button {
        margin-left: 0px;
    }

    .info_qna button {
        background: none;
        border: 0;
        color: var(--white-color);
        font-size: 13px;
        font-weight: 300;
        align-items: center;
        word-break: keep-all;
    }

    .info_qna button:first-child::before {
        background: url(https://s1.unipware.com/AILawyer/images/ico_info_w.svg) 50% no-repeat;
    }

    .info_qna button:last-child::before {
        background: url(https://s1.unipware.com/AILawyer/images/ico_qna_w.svg) 50% no-repeat;
    }

    .info_qna button:last-child {
        min-width: 120px;
    }

    .btn_login {
        color: var(--white-color);
        border: 1px solid var(--white-color);
        padding: 5px 20px;
        border-radius: 4px;
    }

    .btn_login:hover {
        background: var(--white-color);
        color: var(--primary-color);
    }
}

header {
    width: 100%;
    height: 90px;
    padding: 20px 40px;
    transition: all 0.3s ease-in-out;

    img {
        width: 150px;
    }

    h1,
    b {
        font-family: "Noto Serif KR";
        color: var(--white-color);
        font-size: 28px;
        word-break: keep-all;
    }
}

.mobile_header {
    display: none;

    img {
        width: 40px;
    }

    hr {
        border-bottom: 3px solid var(--white-color);
        border-radius: 3px;
        transition: all 0.3s ease-in-out;
        cursor: pointer;
    }

    hr+hr {
        margin-top: 6px;
    }

    div {
        width: 35px;
        padding: 10px 0;
    }

    .btn_burger {
        position: relative;

    }

    .mobile_modal {
        position: absolute;
        opacity: 0;
        padding: 10px 5px;
        right: 0;
        top: 55px;
        background: var(--white-color);
        min-width: 170px;
        border-radius: 12px;
        box-shadow: 3px 3px 15px rgba(0, 0, 0, .3);
        transition: all 0.3s ease-in-out;
        z-index: 10;
        pointer-events: none;

        hr {
            width: 130px;
            margin: 10px 0 10px 10px;
            border-bottom: 1px solid var(--primary-color);
        }
    }

    .btn_burger.active .mobile_modal {
        opacity: 1;
        pointer-events: auto;
    }

    .mobile_modal button {
        font-size: 16px;
        background: none;
        text-align: left;
        font-weight: 600;
        display: flex;
        align-items: center;
        padding: 8px 12px;
    }

    .mobile_modal button+button {
        margin-top: 5px;
    }

    .mobile_modal button.ai::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_burger_ai.svg) 50% no-repeat;
    }

    .mobile_modal button.my::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_burger_my.svg) 50% no-repeat;
    }

    .mobile_modal button.case_law::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_burger_case_law.svg) 50% no-repeat;
    }

    .mobile_modal button.document::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_burger_document.svg) 50% no-repeat;
    }

    .mobile_modal button.info::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_burger_info.svg) 50% no-repeat;
    }

    .mobile_modal button.qna::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_burger_qna.svg) 50% no-repeat;
    }

    .mobile_modal button.login::before,
    .mobile_modal button.btn_logout::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_burger_login.svg) 50% no-repeat;
    }

    .btn_burger.active .burger01 {
        transform: rotate(45deg);
        position: relative;
        top: 8px;
    }

    .btn_burger.active .burger02 {
        opacity: 0;
    }

    .btn_burger.active .burger03 {
        transform: rotate(-45deg);
        position: relative;
        top: -12px;
    }
}

header {
    li {
        position: relative;
        transition: all 0.3s ease;
    }

    li::after {
        position: absolute;
        top: 100%;
        left: 50%;
        right: 50%;
        width: 80px;
        height: 5px;
        background: #fff;
        content: '';
        opacity: 0;
        -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
        -moz-transition: height 0.3s, opacity 0.3s, -moz-transform 0.3s;
        transition: height 0.3s, opacity 0.3s, transform 0.3s;
        -webkit-transform: translateY(-10px);
        -moz-transform: translateY(-10px);
        transform: translate(-50%, -10px);
    }

    li.active::after {
        position: absolute;
        top: 100%;
        left: 50%;
        right: 50%;
        width: 80px;
        height: 3px;
        background: #fff;
        content: '';
        opacity: 1;
        -webkit-transform: translate(-50%, 0px);
        -moz-transform: translateY(-50%, 0px);
        transform: translateY(-50%, 0px);
    }

    li:hover::after,
    li:focus::after {
        height: 3px;
        opacity: 1;
        -webkit-transform: translate(-50%, 0px);
        -moz-transform: translateY(-50%, 0px);
        transform: translateY(-50%, 0px);
    }
}


header .btn_logout {
    position: relative;
    background: var(--primary-color-light02);
    padding: 10px 30px;
    border-radius: 20px;
    color: var(--dark-grey);
    cursor: pointer;
    word-break: keep-all;

    .account_hover {
        display: block;
        background: var(--white-color);
        padding: 5px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%) translateY(-10px);
        top: 40px;
        border-radius: 10px;
        opacity: 0;
        visibility: hidden;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .account_hover button {
        display: block;
        font-size: 15px;
        padding: 5px 0;
        width: 100%;
        min-width: 100px;
    }

    .account_hover button:hover {
        background: var(--primary-color);
        color: var(--white-color);
        border-radius: 5px;
    }
}

.btn_logout:hover .account_hover {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

label.account {
    color: var(--white-color);
    font-size: 20px;
    font-weight: 500;
    transition: opacity 0.3s ease;
    cursor: pointer;
}

header .logout {
    opacity: 0;
    position: absolute;
    display: flex;
    left: -30px;
    top: 30%;
    transition: opacity 0.3s ease, left 0.3s ease;
    cursor: pointer;
    font-weight: 500;
    color: var(--white-color);
}

header .logout::before {
    content: "";
    width: 20px;
    height: 20px;
    margin-right: 5px;
    background: url(https://s1.unipware.com/AILawyer/images/ico_header_logout_w.svg) 50% 50% no-repeat;
}

/* .btn_logout:hover label.account {
    opacity: 0;
}

.btn_logout:hover label.logout {
    opacity: 1;
    left: 45px;
} */

main.signup {
    width: 100%;
    padding: 120px 12vw;

    .signup_title {
        color: var(--white-color);
        margin-bottom: 30px;
    }

    .signup_title span {
        display: block;
        font-size: clamp(14px, 3vw, 17px);
        line-height: 1.5;
    }

    .signup_title .title {
        font-size: clamp(18px, 5vw, 30px);
        font-weight: 600;
    }
}

/* 내 정보 */
main.my {
    width: 100%;
    padding: 150px 12vw 5vw 12vw;
    display: flex;
}

main.my .my_content {
    background: var(--white-color);
    width: 65%;
    box-shadow: -3px 3px 15px var(--box-shadow-color);
    padding: 40px;
    justify-content: end;

    .my_content_top {
        button {
            border: 1px solid var(--primary-color);
            padding: 8px 16px;
            color: var(--primary-color);
            border-radius: 4px;
            font-size: 15px;
            min-width: 120px;
            margin-left: 10px;
        }

        button:hover {
            background: var(--primary-color);
            color: var(--white-color);
        }

        span {
            color: var(--primary-color);
            background: #F4EFE4;
            display: inline-block;
            padding: 4px 16px;
            width: fit-content;
            font-weight: 600;
            border-radius: 18px;
        }
    }

    .btn_wrap {
        display: flex;
        justify-content: end;
    }

    .btn_wrap button {
        border: 1px solid var(--primary-color);
        padding: 8px 16px;
        color: var(--primary-color);
        border-radius: 4px;
        font-size: 15px;
    }

    .btn_wrap button:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }

    .btn_wrap button+button {
        margin-left: 10px;
    }

    .profile_photo {
        display: flex;
        align-items: center;
    }

    .photo_w {
        border-radius: 100%;
        height: 110px;
        width: 110px;
        background: var(--white-color);
        box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);
        background: url(https://s1.unipware.com/AILawyer/images/img_profile.svg) 50% 50% no-repeat;
        background-size: cover;
    }

    .ico_image_edit {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 30px;
        cursor: pointer;
    }

    .name_id_area div:first-child {
        font-size: clamp(15px, 6vw, 27px);
        font-weight: 600;
        margin-bottom: 10px;
    }

    .name_id_area div:last-child {
        font-size: 20px;
        font-weight: 500;
        color: var(--dark-grey-color);
    }

    .section_title {
        display: block;
        font-size: 16px;
        font-weight: 600;
        color: var(--primary-color);
        margin-bottom: 10px;
    }

    hr {
        border-bottom: 1px solid var(--primary-color);
        margin-bottom: 30px;
    }

    dl {
        display: flex;
        margin-bottom: 20px;
        align-items: center;
    }

    dl.align_top {
        align-items: start;
    }

    dl.align_top dt {
        padding-top: 6px;
    }

    dt {
        font-weight: 600;
        font-size: 15px;
        min-width: 60px;
    }

    dt.basic {
        min-width: 100px;
    }

    dd button {
        border-radius: 4px;
        border: 1px solid var(--primary-color);
        padding: 5px 16px;
        color: var(--primary-color);
        font-weight: 600;
    }

    dd {
        display: flex;
        flex-wrap: wrap;
        line-height: 2;
        width: 100%;
    }

    dd button:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }

    label {
        background: var(--navy-color);
        color: var(--white-color);
        padding: 0px 16px;
        border-radius: 20px;
        word-break: keep-all;
        margin-right: 5px;
        margin-bottom: 5px;
    }

    .delete_account {
        border: 1px solid var(--primary-color);
        border-radius: 4px;
        padding: 4px 10px;
        color: var(--primary-color);
    }

    .delete_account:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }
}

main.my .my_preview {
    background: var(--white-color);
    width: 35%;
    box-shadow: -3px 3px 15px var(--box-shadow-color);
    height: fit-content;

    .top {
        background: #BFBFBF;
        width: 100%;
        text-align: center;
        padding: 15px 0;
        color: var(--white-color);
    }

    .my_preview_contents {
        padding: 50px;
    }

    .profile_photo {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .photo_w {
        border-radius: 100%;
        height: 70px;
        width: 70px;
        background: var(--white-color);
        box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);
        background: url(https://s1.unipware.com/AILawyer/images/img_profile.svg) 50% 50% no-repeat;
        background-size: cover;
    }

    .name_id_area div:first-child {
        font-size: 15px;
        font-weight: 600;
        margin-bottom: 5px;
        color: var(--dark-grey-color);
        word-break: keep-all;
    }

    .name_id_area div:last-child {
        font-size: 23px;
        font-weight: 500;
    }

    .name_id_area div:last-child span {
        color: var(--primary-color);
        word-break: keep-all;
    }

    hr {
        width: 15%;
        border-bottom: 1px solid var(--dark-grey-color);
        margin-bottom: 10px;
    }

    dl {
        text-align: center;
        margin-bottom: 30px;
        align-items: center;
    }

    .preview_title {
        background: var(--primary-color);
        padding: 5px 16px;
        border-radius: 20px;
        color: var(--white-color);
        margin-bottom: 10px;
    }

    .preview_contents span {
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 30px;
        line-height: 1.8;
    }
}

/* 내 정보 수정 */
main.my.edit section {
    width: 100%;
    padding: 2vw 12vw;
    display: flex;
    background: var(--white-color);
    box-shadow: -3px 3px 15px var(--box-shadow-color);
    padding: 40px 50px;
    justify-content: end;

    .btn_wrap {
        display: flex;
        justify-content: end;
    }

    .btn_wrap button {
        border: 1px solid var(--primary-color);
        padding: 8px 16px;
        color: var(--primary-color);
        border-radius: 4px;
        font-size: 15px;
    }

    .btn_wrap button:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }

    .btn_wrap button+button {
        margin-left: 10px;
    }

    .profile_photo {
        display: flex;
        align-items: center;
    }

    .photo_w {
        border-radius: 100%;
        height: 110px;
        width: 110px;
        background: var(--white-color);
        box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);
        background: url(https://s1.unipware.com/AILawyer/images/img_profile.svg) 50% 50% no-repeat;
        background-size: cover;
    }

    .ico_image_edit {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 30px;
        cursor: pointer;
    }

    .name_id_area div:first-child {
        font-size: clamp(15px, 6vw, 27px);
        font-weight: 600;
        margin-bottom: 10px;
    }

    .name_id_area div:last-child {
        font-size: 20px;
        font-weight: 500;
        color: var(--dark-grey-color);
    }

    .section_title {
        display: block;
        font-size: 16px;
        font-weight: 600;
        color: var(--primary-color);
        margin-bottom: 10px;
    }

    hr {
        border-bottom: 1px solid var(--primary-color);
        margin-bottom: 30px;
    }

    dl {
        display: flex;
        margin-bottom: 20px;
        align-items: center;
    }

    dl.align_top {
        align-items: start;
    }

    dl.align_top dt {
        padding-top: 6px;
    }

    dt {
        font-weight: 600;
        font-size: 15px;
        min-width: 60px;
    }

    dt.basic {
        min-width: 100px;
    }

    dd button {
        border-radius: 4px;
        border: 1px solid var(--primary-color);
        padding: 5px 16px;
        color: var(--primary-color);
        font-weight: 600;
    }

    dd {
        display: flex;
        flex-wrap: wrap;
        line-height: 2;
    }

    dd button:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }

    label {
        background: var(--navy-color);
        color: var(--white-color);
        padding: 0px 16px;
        border-radius: 20px;
        word-break: keep-all;
        margin-right: 5px;
        margin-bottom: 5px;
    }
}

main.signup .signup_content {
    background: var(--white-color);
    width: 100%;
    box-shadow: -3px 3px 15px var(--box-shadow-color);
    padding: 50px 70px;

    .signup_content_wrap {
        width: 100%;
        margin-right: 100px;
        margin-bottom: 50px;
    }

    .section_title {
        display: block;
        font-size: 16px;
        font-weight: 600;
        color: var(--primary-color);
        margin-bottom: 10px;
    }

    .section {
        width: 33.3%;
    }

    hr {
        border-bottom: 1px solid var(--primary-color);
        margin-bottom: 30px;
    }

    dl {
        margin-bottom: 20px;
    }

    dt {
        font-weight: 600;
        font-size: 15px;
        margin-bottom: 10px;
    }

    dd {
        display: flex;
    }

    dd .char_count {
        position: absolute;
        right: 0;
        bottom: 0;
        padding: 10px;
        font-size: 14px;
        color: var(--dark-grey-color);
    }

    dd button {
        background: none;
        border-radius: 4px;
        border: 1px solid var(--primary-color);
        padding: 6px 8px;
        min-width: 90px;
        color: var(--primary-color);
        font-weight: 500;
        font-size: 13px;
    }

    dd button:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }

    input::placeholder {
        font-size: 13px;
        font-weight: 400;
    }

    .gender input[type=radio] {
        appearance: none;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        padding: 0;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        outline: none;
        border: 1px solid #dcdcdc;
    }

    .gender input[type=radio]:checked {
        border: 2px solid var(--white-color);
        background-color: var(--primary-color);
        box-shadow: 0 0 0 1px var(--primary-color);
        padding: var(--chat-auto-color);
    }

    input:not(input[type=checkbox]),
    textarea {
        border: 1px solid var(--border-color);
        padding: 8px 16px;
        border-radius: 4px;
        width: 100%;
        font-size: 16px;
        font-weight: 500;
        resize: none;
    }

    textarea {
        min-height: 65px;
    }

    input:hover:not(.not_hover),
    input:focus:not(.not_hover) {
        border: 1px solid var(--primary-color);
    }

    .file_guide {
        font-size: 13px;
        font-weight: 400;
        color: var(--navy-color);
        margin-left: 10px;
    }

    .check_w input {
        position: absolute;
        opacity: 0;
    }

    .check_w input:checked+label:before {
        background: url(https://s1.unipware.com/AILawyer/images/ico_checked.svg) 50% 50% no-repeat var(--primary-color);
        border-color: var(--primary-color);
        background-size: 10px auto;
    }

    .check_w label {
        display: inline-block;
        position: relative;
        padding: 0 0 0 25px;
        line-height: 18px;
        cursor: pointer;
        font-weight: 600;
        font-size: 16px;
        line-height: 1.5;
    }

    .check_w input+label:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        border: 1px solid var(--primary-color);
        width: 16px;
        height: 16px;
        overflow: hidden;
        border-radius: 4px;
        margin-top: 3px;
    }

    dt.check_w label {
        font-size: clamp(13px, 6vw, 14px);
        font-weight: 400;
    }

    .field_area {
        flex-wrap: wrap;
    }

    .field_area button {
        margin-right: 8px;
        font-size: 15px;
        border-radius: 20px;
        border: 1px solid var(--navy-color);
        color: var(--navy-color);
        min-width: 80px;
        margin-bottom: 10px;
    }

    .field_area button:hover {
        background: #C4C8D6;
        color: var(--navy-color);
    }

    .field_area button.active {
        background: var(--navy-color);
        color: var(--white-color);
    }

    textarea.career {
        min-height: 200px;
    }

    .terms_privacy {
        margin-top: 30px;
    }

    .terms_privacy dt {
        color: var(--font-brown-800);
        font-weight: 400;
        font-size: 14px;
    }

    .terms_privacy .check_w p {
        cursor: pointer;
        margin-left: 5px;
    }

    .terms_privacy .terms_privacy_box {
        display: block;
        margin-top: 10px;
        overflow-y: auto;
        line-height: 1.5;
        font-size: 14px;
        max-height: 0px;
        overflow: hidden;
        transition: max-height 0.5s ease;
        color: var(--white-color);
    }

    .terms_privacy_box.show {
        display: block;
        margin-top: 10px;
        padding: 20px;
        border: 1px solid var(--border-color);
        max-height: 150px;
        overflow-y: auto;
        line-height: 1.5;
        font-size: 14px;
        color: #000;
        margin-bottom: 20px;
    }

    .terms_privacy .terms_privacy_box span {
        display: block;
    }

    .btn {
        font-size: clamp(14px, 6vw, 20px);
        border-radius: 4px;
        padding: 1vw 6vw;
        margin: 50px 0 30px 0;
        word-break: keep-all;
    }

    .btn.signup {
        background: var(--primary-color);
        color: var(--white-color);
    }

    .btn.signup:hover {
        background: var(--primary-deep-color);
    }

    span.warning_text {
        display: block;
        color: var(--red-color);
        margin-left: 10px;
        font-size: clamp(11px, 2vw, 13px);
        margin-top: 5px;

    }

    .btn+.btn {
        margin-left: 10px;
    }

    span.required_fields {
        color: var(--red-color);
        margin-left: 3px;
    }
}

.btn.cancel {
    color: var(--font-brown-200);
    background-color: var(--border-color);
}

.count_time {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    font-size: 14px;
    color: var(--red-color);
    margin-bottom: 0;
}

/* 로그인 후 인덱스 */
#law_user_aside.folded {
    transform: translateX(-100%);
}

#law_user_aside .account_wrap {
    order: 3;
    margin-top: 20px;
    display: flex;
    align-items: center;

    .account_img {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        overflow: hidden;
        box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);

        div {
            border-radius: 100%;
            height: 40px;
            width: 40px;
            background: var(--white-color);
            background: url(https://s1.unipware.com/AILawyer/images/ico_profile.svg) 50% 50% no-repeat;
            background-size: cover;
        }
    }

    label.name {
        color: #000;
        font-size: 18px;
        font-weight: 700;
    }

    .dropdown_w {
        width: 20px;
        height: 20px;
        background: var(--box-shadow-color);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        position: relative;
    }

    .dropdown_w:before {
        content: "";
        width: 10px;
        height: 10px;
        margin-top: 3px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down.svg) 50% no-repeat;
        transition: transform 0.5s ease;
    }

    .sel_w {
        opacity: 0;
        position: absolute;
        background: var(--white-color);
        min-width: 120px;
        left: 0;
        top: 25px;
        z-index: 1;
        border-radius: 4px;
        box-shadow: 0px 3px 9px var(--box-shadow-color);
        padding: 5px 8px;
        transition: opacity 0.3s ease;
        pointer-events: none;
    }

    .dropdown_w.active .sel_w {
        opacity: 1;
        pointer-events: auto;
    }

    .dropdown_w.active:before {
        transform: rotate(180deg);
    }


    .sel_w button {
        background: none;
        display: block;
        font-size: 15px;
        border-radius: 4px;
        padding: 5px;
        width: 100%;
        text-align: left;
        font-weight: 500;
    }

    .sel_w button:hover {
        background: var(--primary-color);
        color: var(--white-color);
    }

    .info_wrap {
        position: relative;

        .alert_wrap {
            display: flex !important;
            justify-content: space-between;
        }

        .alert {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 18px;
            height: 18px;
            border-radius: 10px;
            font-size: 15px;
            color: var(--white-color);
            background: var(--red-color);
        }
    }

    .badge {
        position: absolute;
        top: -16px;
        left: 132px;
        padding: 4px 8px;
        display: flex;
        align-items: center;
        width: 20px;
        height: 20px;
        border-radius: 14px;
        background: var(--red-color);
        box-shadow: 2px 2px 8px rgb(209 26 26 / 20%);
        animation: badge_move 1.1s infinite;
        transition: width 0.3s ease;
        margin: 0;


        span {
            color: var(--white-color);
            font-size: 14px;
        }

        span:nth-of-type(1) {
            font-size: 16px;
            font-weight: 400;
        }

        span.badge_txt {
            width: 0;
            visibility: hidden;
            opacity: 0;
            font-size: 14px;
            font-weight: 600;
        }
    }

    .badge.hover {
        width: 242px;
        transition: width 0.5s ease;

        span.badge_txt {
            width: fit-content;
            margin-left: 8px;
            transition: all 0.8s ease;
        }
    }
}

@keyframes badge_move {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(8px);
    }

    100% {
        transform: translateY(0px);
    }
}

@-webkit-keyframes badge_move {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(8px);
    }

    100% {
        transform: translateY(0px);
    }
}


/* 서비스이용동의 */
#law_user_content .chat_wrap .chat_ai .lawyer_answer,
#law_user_content .chat_wrap .chat_ai .lawyer_answer_prev,
#law_user_content .chat_wrap .chat_ai .terms_txt {
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    text-align: left;
}

/* 채팅 */

/* 이용안내 */
main.signup.info {
    padding: 120px 12vw;

    .info_box {
        background: #F9F9F9;
        width: 100%;
        border-radius: 10px;
        padding: 40px 30px 40px;
        opacity: 0;
        transform: translateY(50px);
        transition: all 0.5s ease;
    }

    .info_box.show {
        opacity: 1;
        transform: translateY(0);
    }

    .info_box+.info_box {
        margin-left: 30px;
    }

    img {
        height: 40px;
    }

    hr {
        margin: 40px 0;
        width: 15%;
        border-bottom: 2px solid var(--primary-color);
        display: flex;
        justify-content: center;
    }

    p {
        text-align: center;
        font-weight: 600;
        font-size: clamp(14px, 4vw, 17px);
        line-height: 1.8;
        word-break: keep-all;
    }

    .signup_content span {
        color: var(--orange-color);
    }
}

.search_w {
    position: relative;
    /* width: calc(100% - 75px); */
    width: 100%;

    input {
        padding: 12px 20px;
        min-width: 20vw;
        border: 1px solid var(--chat-auto-color);
        background-color: var(--chat-auto-color);
        font-size: 16px;
    }

    img {
        position: absolute;
        width: 20px;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
    }
}

/* 자주하는 질문 */
main.signup.qna {
    .search_top {
        margin-bottom: 100px;
    }

    img {
        position: absolute;
        width: 20px;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
    }

    dl {
        display: flex;
    }

    dt {
        font-size: 40px;
        color: var(--primary-color);
        font-weight: 700;
        margin-right: 10px;
        word-break: keep-all;
        margin-bottom: 0;
    }

    dd>div>span {
        display: block;
        font-size: clamp(14px, 6vw, 18px);
        color: var(--primary-color);
        font-weight: 600;
        word-break: keep-all;
        margin-bottom: 10px;
    }

    dd>div {
        font-size: clamp(14px, 6vw, 16px);
        font-weight: 500;
        line-height: 1.8;
        color: #00000099;
        word-break: keep-all;
    }

    hr {
        margin: 50px 0 20px;
    }
}

.no_result {
    position: relative;
    text-align: center;
    height: fit-content;

    p {
        padding: 120px 0 76px;
        color: var(--dark-grey-color);
    }
}

.no_result::before {
    content: '';
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 80px;
    background: url('../images/ico_no-result.svg');
}

/* 상담 채팅 aside */

#chat_aside_area.chat_aside_area.visible {
    transform: translateX(0);
    transition: transform 0.7s;
    box-shadow: -10px 0px 15px var(--box-shadow-color02);
    justify-content: space-between;
}

#chat_aside_area.chat_aside_area {
    position: fixed;
    /* transform: translateX(800px); */
    transform: translateX(700px);
    right: 0;
    z-index: 98;
    min-width: 600px;
    width: 700px;
    transition: transform 0.7s ease;
    height: 100vh;

    .user_info_area {
        background: var(--chat-auto-color);
        padding: 50px 30px;
        display: flex;
        justify-content: center;
    }

    .chat_area {
        width: 100%;
    }
}

#chat_aside_area .user_info_area {
    .lawyer_profile {
        width: 80px;
        border-radius: 50%;
    }

    .user_profile {
        display: flex;
        justify-content: center;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        overflow: hidden;
        width: 100%;
    }

    .name {
        font-size: 20px;
        font-weight: 600;
        margin: 20px 0;
        text-align: center;
    }

    .section_title {
        display: flex;
        justify-content: center;
        position: relative;
        margin-bottom: 20px;
    }

    .section_title p {
        text-align: center;
        position: inherit;
        z-index: 1;
        background: var(--chat-auto-color);
        padding: 0 10px;
    }

    .section_title hr {
        position: absolute;
        width: 100%;
        top: 50%;
        left: 50%;
        transform: translateX(-50%);
    }

    .select_day button {
        width: 35px;
        height: 35px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
        font-weight: 600;
        padding: 10px;
        border: 1px solid var(--primary-color);
        border-radius: 50%;
        background: var(--white-color);
        color: var(--primary-color);
    }

    .select_day button+button {
        margin-left: 10px;
    }

    .select_day>div {
        display: flex;
    }

    .select_day>div+div {
        margin-top: 10px;
    }

    .select_day button.active {
        background: var(--primary-color);
        color: var(--white-color);
    }

    .switch_w {
        padding: 10px 0 40px;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .checkbox-switch {
        cursor: pointer;
        display: inline-block;
        overflow: hidden;
        position: relative;
        text-align: left;
        -webkit-border-radius: 30px;
        border-radius: 30px;
        line-height: 1.2;
        font-size: 14px;
    }

    .checkbox-switch input.input-checkbox {
        position: absolute;
        left: 0;
        top: 0;
        width: 110px;
        height: 30px;
        padding: 0;
        margin: 0;
        opacity: 0;
        z-index: 2;
        cursor: pointer;
    }

    .checkbox-switch .checkbox-animate {
        position: relative;
        width: 110px;
        height: 30px;
        background-color: var(--font-brown-800);
        -webkit-transition: background 0.25s ease-out 0s;
        transition: background 0.25s ease-out 0s;
    }

    .checkbox-switch .checkbox-animate:before {
        content: "";
        display: block;
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        -webkit-border-radius: 50;
        background-color: #7f8c8d;
        top: 5px;
        left: 7px;
        -webkit-transition: left 0.3s ease-out 0s;
        transition: left 0.3s ease-out 0s;
        z-index: 10;
    }

    .checkbox-switch input.input-checkbox:checked+.checkbox-animate {
        background-color: var(--green-color);
    }

    .checkbox-switch input.input-checkbox:checked+.checkbox-animate:before {
        left: 85px;
        background-color: var(--white-color);
    }

    .checkbox-switch .checkbox-off,
    .checkbox-switch .checkbox-on {
        float: left;
        color: #fff;
        font-weight: 500;
        padding-top: 5px;
        font-size: 16px;
        word-break: keep-all;
        -webkit-transition: all 0.3s ease-out 0s;
        transition: all 0.3s ease-out 0s;
    }

    .checkbox-switch .checkbox-off {
        margin-left: 35px;
        opacity: 1;
    }

    .checkbox-switch .checkbox-on {
        display: none;
        float: right;
        margin-right: 35px;
        opacity: 0;
    }

    .checkbox-switch input.input-checkbox:checked+.checkbox-animate .checkbox-off {
        display: none;
        opacity: 0;
    }

    .checkbox-switch input.input-checkbox:checked+.checkbox-animate .checkbox-on {
        display: block;
        opacity: 1;
    }

    .dropdown_w {
        position: relative;
    }

    .dropdown_w .selected {
        word-break: keep-all;
        font-size: 16px;
        display: flex;
        align-items: center;

    }

    .dropdown_w .selected:after {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down.svg) 50% no-repeat;
        margin-left: 10px;
    }

    .dropdown_w.active .sel_w {
        top: 25px;
        position: absolute;
        display: block;
        background: var(--white-color);
        border-radius: 4px;
        padding: 3px 5px;
        max-height: 150px;
        z-index: 1;
        min-width: 60px;
    }

    .dropdown_w.active .sel_w button {
        display: block;
        font-size: 14px;
        padding: 3px 10px 5px 3px;
        font-weight: 500;
        text-align: left;
        width: 100%;
    }

    .dropdown_w.active .sel_w button:hover {
        background: var(--primary-color);
        color: var(--white-color);
        border-radius: 5px;
    }

    .sel_w {
        display: none;
    }

    .time_w {
        padding: 20px;
    }

    .time_w p {
        min-width: 40px;
        opacity: .5;
    }

    .btn_w {
        position: absolute;
        bottom: 0;
        width: 100%;
    }

    .btn_w button {
        width: 100%;
        border: 1px solid var(--primary-color);
        border-radius: 4px;
        color: var(--primary-color);
        font-size: 15px;
        padding: 8px 0;
        font-weight: 600;
    }

    .btn_w button+button {
        margin-left: 10px;
    }

    .btn_w button:hover {
        background-color: var(--primary-color);
        color: var(--white-color);
        font-weight: 400;
    }

    .toast_message {
        position: absolute;
        bottom: 50px;
        left: 50%;
        width: 70%;
        transform: translateX(-50%);
        word-break: keep-all;
    }
}

#chat_aside_area .chat_area {
    /* padding: 30px; */
    padding: 20px;
    background: var(--white-color);

    .search_w input {
        /* min-width: 25vw; */
        margin-right: 5px;
        border-radius: 4px;
        padding: 9px 12px;
        font-size: 14px;
    }

    .chat_search_area button {
        word-break: keep-all;
        color: var(--font-brown-800);
        min-width: 70px;
        max-width: 70px;
    }

    .chat_search_area {
        min-width: 300px;

        .selected {
            min-width: 90px;
        }
    }

    .chat_search_area>div {
        max-width: 460px;
    }

    .chat_search_detail {
        display: none;
    }

    .chat_search_detail.active {
        display: flex;
    }

    .chat_search_detail input {
        border: 1px solid var(--input-box-color);
        padding: 8px 8px;
        border-radius: 4px;
    }

    .dropdown_w .selected {
        background: var(--white-color);
        padding: 8px 10px 8px 10px;
        font-size: 15px;
        border: 1px solid var(--border-color);
        border-radius: 4px;
        display: flex;
        align-items: center;
        color: #000;
    }

    .dropdown_w .selected::after {
        width: 10px;
        height: 10px;
        display: block;
        content: "";
        background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down.svg) 50% no-repeat;
        margin-left: 8px;
    }

    .sel_w {
        display: none;
    }

    .dropdown_w.active .sel_w {
        position: absolute;
        display: block;
        background: var(--white-color);
        border-radius: 4px;
        padding: 7px 5px;
        max-height: 150px;
        z-index: 1;
        min-width: 90px;
        box-shadow: -3px 3px 15px var(--box-shadow-color);
    }

    .dropdown_w.active .sel_w button {
        display: block;
        font-size: 15px;
        padding: 3px 10px 5px 3px;
        font-weight: 500;
        text-align: left;
        width: 100%;
        color: #000;
    }

    .dropdown_w.active .sel_w button:hover {
        background: var(--border-color);
        border-radius: 4px;
    }

    .btn_search {
        background: var(--primary-color);
        padding: 8px 14px;
        color: var(--white-color) !important;
        border-radius: 4px;
        font-size: 16px;
    }

    .tap_area {
        position: relative;
        width: 100%;
        display: flex;
    }

    .tap_area label {
        cursor: pointer;
        font-size: 16px;
        color: var(--font-brown-800);
        position: relative;
    }

    .tap_area label span {
        font-size: 13px;
    }

    .tap_area label.active {
        color: var(--primary-color);
        font-weight: 700;
    }

    .tap_area label+label {
        margin-left: 20px;
    }

    .underline {
        position: absolute;
        bottom: -10px;
        height: 2px;
        left: 50%;
        background-color: var(--primary-color);
        transition: width 0.3s ease, left 0.3s ease;
    }
}

#chat_aside_area .chat_list {
    ul {
        max-height: 730px;
    }

    img {
        width: 20px;
        cursor: pointer;
    }

    li {
        cursor: pointer;
        padding-top: 20px;
    }

    li:hover {
        background: var(--background-color);
    }

    dl {
        display: flex;
        align-items: center;
    }

    .name {
        font-weight: 700;
        margin-right: 10px;
        font-size: 17px;
    }

    .tag {
        border-radius: 4px;
        padding: 3px 5px;
        font-size: 13px;
    }

    .tag.request {
        background: #E3EDF1;
    }

    .tag.counseling {
        background: #E4F1E3;
    }

    .tag.incomplete {
        background: #F9EBEB;
    }

    .tag.done {
        background: #CCCCCC;
    }

    .date {
        font-size: 14px;
        margin-right: 10px;
    }

    .uncheked_message {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 25px;
        height: 25px;
        background: var(--red-color);
        padding: 10px;
        border-radius: 50%;
        color: var(--white-color);
        font-size: 13px;
        font-weight: 600;
    }

    hr {
        margin-top: 15px;
        border: 1px solid var(--border-color);
    }

    p {
        height: 25px;
        font-size: 15px;
        line-height: 1.5;
        max-width: 600px;
        height: auto;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
    }
}

#chat_aside_area .tap_contents_area {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#chat_aside_area .tap_contents_area.empty {
    cursor: initial;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 268px 0 0;

    .tap_contents_area.empty>div {
        text-align: center;
    }

    img {
        cursor: initial;
        width: 100px;
    }
}

#chat_aside_area .tap_contents_area.empty:hover {
    background: var(--white-color);
}

#chat_aside_area .chat_list {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    transition: transform 0.1s ease, opacity 0.3s ease;
    opacity: 0;
    pointer-events: none;
    /* 비활성화 */
}

#chat_aside_area .chat_list.active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
    /* 활성화 */
}

#chat_aside_area .chat_aside.info {
    background: var(--white-color);
    position: relative;
    width: 100%;
    /* max-width: 800px; */
}

#chat_aside_area .chat_aside_header {
    background: var(--primary-color);
    /* min-width: 800px; */
    width: 100%;
    min-height: 65px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--white-color);
    padding: 0 20px;

    .back_to_chat_list {
        height: 30px;
        margin-right: 20px;
        cursor: pointer;
    }

    label {
        font-size: 20px;
        font-weight: 600;
    }

    p {
        font-size: 20px;
    }

    button {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        position: relative;
    }

    span {
        position: absolute;
        word-break: keep-all;
        background: var(--dim-color);
        border-radius: 4px;
        color: var(--white-color);
        width: 100%;
        top: 45px;
        padding: 3px;
        text-align: center;
        width: fit-content;
        white-space: nowrap;
        opacity: 0;
        font-size: 14px;
        transition: opacity 0.3s ease;
        z-index: 10;
    }

    button:hover span {
        opacity: 1;
    }

    button+button {
        margin-left: 5px;
    }

    button.active,
    button:hover {
        box-shadow: inset 3px 5px 6px var(--primary-deep-color);
    }

    button.info::before {
        content: "";
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_chat_info.svg) 50% no-repeat;
        width: 20px;
        height: 20px;
    }

    button.search::before {
        content: "";
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_chat_search.svg) 50% no-repeat;
        width: 20px;
        height: 20px;
    }

    button.file::before {
        content: "";
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_chat_file.svg) 50% no-repeat;
        width: 20px;
        height: 20px;
    }

    button.image::before {
        content: "";
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_chat_image.svg) 50% no-repeat;
        width: 20px;
        height: 20px;
    }

    button.stamp::before {
        content: "";
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_chat_stamp.svg) 50% no-repeat;
        width: 20px;
        height: 20px;
    }

    button.pen::before {
        content: "";
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_chat_pen.svg) 50% no-repeat;
        width: 20px;
        height: 20px;
    }

    button.exit::before {
        content: "";
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_chat_exit.svg) 50% no-repeat;
        width: 20px;
        height: 20px;
    }
}

#chat_aside_area .chat_section,
#chat_aside_area .function_section {
    padding: 20px;
}

#chat_aside_area .function_section {
    display: none;
}

#chat_aside_area .function_section.active {
    display: block;
}

#chat_aside_area .chat_aside_bottom {
    height: 100%;
}

#chat_aside_area .chat_section {
    width: 70%;
    position: relative;
    height: 95%;
    border-right: 1px solid var(--border-color);
    padding: 30px 20px;

    .scroll {
        max-height: 750px;
        padding-right: 10px;
    }

    .date {
        display: flex;
        justify-content: center;
        position: relative;
        margin-bottom: 20px;
    }

    .date p {
        text-align: center;
        position: inherit;
        z-index: 1;
        background: var(--white-color);
        padding: 0 20px;
        font-size: 13px;
        color: var(--dark-grey-color);
    }

    .date hr {
        position: absolute;
        width: 100%;
        top: 50%;
        left: 50%;
        transform: translateX(-50%);
        border: 0;
        border-bottom: 1px solid var(--border-color);
    }

    .auto_chat_bubble {
        background: var(--chat-auto-color);
        padding: 20px;
        border-radius: 4px;
    }

    button {
        background: var(--primary-color);
        color: var(--white-color);
        padding: 6px 16px;
        border-radius: 4px;
        font-size: 16px;
    }

    button:last-child {
        background: var(--dark-grey-color);
        color: var(--white-color);
        padding: 6px 16px;
        border-radius: 4px;
        font-size: 16px;
    }

    button.move_to_chat_link {
        padding: 6px 8px;
        font-size: 15px;
        color: var(--primary-color);
        font-weight: 600;
        border-radius: 5px;
        border: 1px solid var(--border-color);
        background: var(--white-color);
        display: flex;
        justify-content: center;
        align-items: center;

        img {
            width: 15px;
            margin-right: 7px;
        }
    }

    button.move_to_chat_link:hover {
        background: var(--background-color);
    }

    button+button {
        margin-left: 10px;
    }

    dl {
        display: flex;
        align-items: center;
    }

    dl+dl {
        margin-top: 10px;
    }

    dt {
        min-width: 110px;
        color: var(--primary-color);
        font-weight: 600;
        margin-right: 10px;
    }

    dt::before {
        content: "";
        border-left: 3px solid var(--primary-color);
        margin-right: 10px;
    }

    dd {
        line-height: 1.7;
    }

    p.auto_chat {
        display: flex;
        justify-content: center;
        margin: 20px 0;
        font-size: 13px;
        color: var(--dark-grey-color);
    }

    .chat_warp {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
    }

    .chat_warp p {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30px;
        height: 30px;
        background: var(--chat-my-color);
        border-radius: 50%;
        margin-right: 15px;
        font-size: 13px;
        line-height: 1;
        text-align: center;
    }

    .bubble {
        width: 90%;
    }

    .bubble div {
        border-radius: 4px;
        width: 100%;
        background: var(--chat-my-color);
        padding: 10px;
        line-height: 1.5;
        margin-bottom: 10px;
        font-weight: 500;
        font-size: 15px;

        img {
            width: 100px;
        }


    }

    .bubble .search_highlight.blue {
        border: 2px solid #81b8e7;
        box-shadow: 0 2px 10px rgb(26 115 191 / 20%);
    }

    .bubble .search_highlight.grey {
        border: 2px solid #a79f9f;
        box-shadow: 0 2px 10px rgb(81 69 69 / 20%);
    }

    .bubble span {
        display: block;
        width: 100%;
        text-align: right;
        font-size: 13px;
        color: var(--dark-grey-color);
    }

    .bubble span.thumb_img_wrap {
        width: 100px;
        text-align: left;
    }

    .chat_warp.other p,
    .bubble.other div {
        background: var(--light-grey-color);
    }

    .chat_file {
        cursor: pointer;
        display: flex;
        flex-wrap: wrap;
        align-items: center;

        p {
            display: initial;
            margin-top: 6px;
            width: 100%;
            height: fit-content;
            font-size: 15px;
            line-height: 1.5;
            text-align: left;

            .file {
                transform: translateY(6px);
            }
        }

        img.file {
            margin-left: 6px;
            width: 20px;
        }
    }

    .chat_file:hover {
        text-decoration: underline;
    }

    .chat_file::before {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        margin-right: 8px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_bubble_file.svg) 50% no-repeat;
    }

    .chat_file.thumb_img_cont::before {
        display: none;
    }

    .thumb_img_wrap {
        width: 100px;
        position: relative;

        span {
            opacity: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 40px;
            height: 40px;
            border-radius: 20px;
            background: var(--dim-color);

            img {
                width: 20px;
            }
        }
    }

    .thumb_img_wrap:hover {
        span {
            opacity: 1;
        }
    }

    .chat_input_area {
        position: absolute;
        bottom: 0px;
        width: 100%;
        left: 0;
        padding: 0 40px;
        height: 12%;
        z-index: 10;
        background: var(--white-color);
    }
    .chat_input_area .ico_bottom_arrow{
        bottom: 50px;
    }
    .chat_input_area .ico_bottom_arrow img{
        width: 100%;
        top: 0;

    }
    .chat_input_area::before {
        content: '';
        position: absolute;
        bottom: 80px;
        left: 0;
        width: 100%;
        height: 50%;
        background: linear-gradient(to top, rgb(255, 255, 255), rgba(255, 255, 255, 0));
    }

    .chat_input_area input {
        width: 100%;
        border: 1px solid var(--input-box-color);
        padding: 12px 16px;
        border-radius: 4px;
    }

    .chat_input_wrap {
        top: 10%;
    }

    .chat_input_area img {
        position: absolute;
        top: 25%;
        width: 20px;
        cursor: pointer;
    }

    .input_file {
        right: 45px;
    }

    .send_message {
        right: 15px;
    }
}

button.move_to_chat_link {
    padding: 6px 8px;
    font-size: 15px;
    color: var(--primary-color);
    font-weight: 600;
    border-radius: 5px;
    border: 1px solid var(--border-color);
    background: var(--white-color);
    display: flex;
    justify-content: center;
    align-items: center;

    img {
        width: 15px;
        margin-right: 7px;
    }
}

button.move_to_chat_link:hover {
    background: var(--background-color);
}

#chat_aside_area .function_section {
    width: 30%;

    .function_title {
        color: var(--primary-color);
        font-weight: 600;
        margin-bottom: 30px;
    }

    .function_content label {
        width: 100%;
        display: block;
        background: var(--primary-color);
        color: var(--white-color);
        padding: 3px 5px;
        margin-bottom: 15px;
    }

    .basic dl {
        display: flex;
    }

    dl+dl {
        margin-top: 15px;
    }

    dt {
        color: var(--primary-color);
        font-weight: 500;
        min-width: 70px;
        font-size: 15px;
    }

    dt::before {
        content: "";
        border-left: 3px solid var(--primary-color);
        margin-right: 10px;
    }

    dd {
        font-weight: 400;
        line-height: 1.5;
        font-size: 15px;
        word-break: break-all;
    }

    .request dt {
        margin-bottom: 10px;
    }
}

#chat_aside_area .function_section.search,
#chat_aside_area .function_section.file,
#chat_aside_area .function_section.image {
    .scroll {
        max-height: 650px;
        padding-right: 10px;
    }

    .search_w {
        margin-bottom: 20px;
    }

    .search_w input {
        width: 100%;
        min-width: auto;
        padding: 8px 10px;
        font-size: 14px;
        border-radius: 4px;
    }

    .search_w img {
        right: 10px;
    }

    .search_w img.btn_search_cancel {
        width: 18px;
        right: 35px;
    }

    span {
        display: block;
        width: 100%;
        font-size: 13px;
        color: var(--dark-grey-color);
        margin-bottom: 20px;
    }

    span.search_result {
        text-align: center;
    }

    .bubble .bubble_content {
        border-radius: 4px;
        width: 100%;
        padding: 10px;
        line-height: 1.5;
        margin-bottom: 10px;
        font-weight: 500;
        font-size: 15px;
    }

    .bubble.my .bubble_content {
        background: var(--chat-my-color);
    }

    .bubble.other .bubble_content {
        background: var(--light-grey-color);
    }

    span {
        display: block;
        text-align: right;
    }

    .bubble+.bubble {
        margin-top: 10px;
    }
}

#chat_aside_area .function_section.file {
    .bubble .bubble_content {
        cursor: pointer;
        display: flex;
        justify-content: space-between;
    }

    .bubble .bubble_content:hover {
        text-decoration: underline;
    }

    .request_review {
        text-align: left;
        background: var(--primary-color);
        color: var(--white-color);
        max-width: fit-content;
        padding: 3px 6px;
        border-radius: 10px;
        text-align: center;
        cursor: pointer;
    }

    .request_review.approval {
        text-align: left;
        color: var(--green-color);
        background: none;
        min-width: 100px;
        text-align: center;
        cursor: auto;
        display: flex;
        align-items: center;
        min-width: 100px;
    }

    .request_review.approval::before {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        background: url(../../AILawyer/images/ico_approval.svg) 50% 50% no-repeat;
        background-size: 15px auto;
        margin-right: 3px;
    }

    .ico_download {
        margin: 5px 0 0 5px;
        width: 12px;
        height: 12px;
    }

    .image_preview {
        width: 30px;
        height: 30px;
        background: var(--primary-color);
    }
}

#chat_aside_area .function_section.image {
    .bubble .bubble_content {
        cursor: pointer;
        display: flex;
        justify-content: space-between;
    }

    .search_chat_area .bubble_content {
        display: block;
    }

    .search_chat_area .bubble_content .file {
        display: flex;
        justify-content: space-between;
        margin-bottom: 5px;
        word-break: break-word;
    }

    .image_preview {
        position: relative;
        background: var(--primary-color);
        width: 60px;
        height: 60px;
        background: url(https://s1.unipware.com/AILawyer/images/img_exfile.jpg);
        background-size: cover;
        border: 1px solid var(--border-color);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .image_preview:hover .image_preview_hover {
        opacity: 1;
    }

    .image_preview.second {
        background: url(https://s1.unipware.com/AILawyer/images/img_exfile02.jpg);
    }

    .image_preview_hover {
        opacity: 0;
        position: absolute;
        width: 60%;
        height: 60%;
        border-radius: 50%;
        background: var(--dim-color);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .image_preview_hover::before {
        content: "";
        width: 20px;
        height: 20px;
        display: block;
        background: url(https://s1.unipware.com/AILawyer/images/ico_preview_hover.svg) 50% no-repeat;
        background-size: cover;

    }

    .ico_download {
        margin: 5px 0 0 5px;
        width: 12px;
        height: 12px;
    }
}

.image_view {
    .img_slide {
        display: flex;
        align-items: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 99;
        width: 70%;
        /* height: 60%; */
    }

    .swiper-wrapper {
        display: flex;
        align-items: center;
    }

    .swiper-slide {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        height: fit-content;
        background: #444;
    }

    img {
        max-width: 500px;
        width: auto;
        max-height: 800px;
    }

    .btn_close_modal {
        position: absolute;
        top: 12px;
        right: 12px;
        width: 32px;
    }

    .swiper-button-next {
        background: url(https://s1.unipware.com/AILawyer/images/customer_slide_next.svg) no-repeat center center;
    }

    .swiper-button-prev {
        background: url(https://s1.unipware.com/AILawyer/images/customer_slide_prev.svg) no-repeat;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        display: none;
    }
}

.function_section.stamp {
    position: relative;

    .stamp_btn_w button {
        width: 100%;
        background: var(--light-grey-color);
        padding: 10px 0;
    }

    .stamp_btn_w button:hover,
    .stamp_btn_w button.active {
        background: var(--primary-color);
        color: var(--white-color);
    }

    .stamp_btn_w button+button {
        margin-left: 10px;
    }

    .check_w input {
        position: absolute;
        opacity: 0;
    }

    .check_w label {
        display: inline-block;
        position: relative;
        padding: 0 0 0 25px;
        line-height: 18px;
        cursor: pointer;
        font-weight: 400;
        font-size: 16px;

    }

    .check_w+.check_w {
        margin-top: 10px;
    }

    .check_w input:checked+label:before {
        background: url(https://s1.unipware.com/AILawyer/images/ico_checked.svg) 50% 50% no-repeat var(--primary-color);
        border-color: var(--primary-color);
        background-size: 10px auto;
    }

    .check_w input+label:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        border: 1px solid var(--primary-color);
        width: 16px;
        height: 16px;
        overflow: hidden;
        border-radius: 4px;
        margin-top: 3px;
    }

    .check_list {
        display: none;
    }

    .check_list.active {
        display: block;
    }

    .selected_item_w {
        position: absolute;
        top: 45%;

        label {
            font-size: 14px;
            color: var(--dark-grey-color);
            margin-bottom: 10px;
            display: block;
        }
    }

    .selected_item {
        width: 100%;
        padding: 10px;
        background: var(--light-grey-color);
        border-radius: 4px;

        p {
            font-size: 14px;
        }

        div {
            display: flex;

        }

        img {
            width: 10px;
            margin-left: 5px;
            cursor: pointer;
        }

        div+div {
            margin-top: 10px;
        }
    }

    button.send {
        position: absolute;
        min-width: 200px;
        bottom: 100px;
        background: var(--primary-color);
        color: var(--white-color);
        padding: 10px 0;
        border-radius: 4px;
    }

    button.send:hover {
        background: var(--primary-deep-color);
    }

}

.function_section.pen,
.function_section.exit {
    button {
        width: 100%;
        background: var(--primary-color);
        color: var(--white-color);
        padding: 10px 0;
        border-radius: 4px;
    }

    button:hover {
        background: var(--primary-deep-color);
    }

    span {
        line-height: 1.5;
    }
}

/* 관심 판례 보관함 */
main.my.case_law section {
    background: var(--white-color);
    box-shadow: -3px 3px 15px var(--box-shadow-color);
    padding: 40px 40px;

    .search_w input {
        min-width: 100%;
        border-radius: 4px;
    }

    .dropdown_w {
        position: relative;
        margin: 25px 0 10px;
    }

    .dropdown_w .selected {
        word-break: keep-all;
        font-size: 15px;
        display: flex;
        align-items: center;
    }

    .dropdown_w .selected:after {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down.svg) 50% no-repeat;
        margin-left: 10px;
    }

    .sel_w {
        display: none;
    }

    .sel_w button {
        display: block;
        font-size: 15px;
        text-align: left;
        width: 100%;
        padding: 3px 5px;
    }

    .sel_w button+button {
        margin-top: 5px;
    }

    .sel_w button:hover {
        background: var(--primary-color);
        border-radius: 3px;
        color: var(--white-color);
    }

    .dropdown_w.active .sel_w {
        top: 26px;
        position: absolute;
        display: block;
        background: var(--white-color);
        border-radius: 4px;
        padding: 3px 5px;
        max-height: 150px;
        z-index: 1;
        min-width: 100px;
        box-shadow: 0px 0px 10px var(--box-shadow-color);
    }

    ul.scroll {
        max-height: 500px;
        overflow: hidden;
    }

    .scroll.visible-scroll {
        overflow-y: auto;
    }

    li {
        border-radius: 4px;
        border: 1px solid var(--border-color);
        padding: 15px;
        cursor: pointer;
        max-width: 260px;
    }

    li:hover,
    li.active {
        border: 1px solid var(--primary-color);
        background: var(--box-shadow-color);
    }

    li+li {
        margin-top: 20px;
    }

    ul li>div {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 10px;
    }

    ul li span {
        font-size: 14px;
        color: var(--dark-grey-color);
        display: flex;
    }

    ul li span.memo:after {
        content: "";
        display: block;
        width: 15px;
        height: 15px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_pen.svg) 50% no-repeat;
        margin-left: 5px;
        cursor: pointer;
    }

    ul li img {
        width: 25px;
        cursor: pointer;
        margin-left: 10px;
    }

    ul li p {
        line-height: 1.5;
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 10px;
        cursor: pointer;
    }

    .memo_input {
        border: 1px solid var(--border-color);
        padding: 2px 6px;
        border-radius: 4px;
        max-width: 195px;
    }
}

main.my.case_law {
    padding: 150px 12vw 2vw 12vw;
    min-height: 780px;

    section.list_wrap {
        width: 25%;

        .empty_case_law {
            text-align: center;
            margin-top: 20px;
        }
    }

    section.contents_wrap {
        width: 75%;

        img {
            width: 28px;
            cursor: pointer;
            margin-left: 10px;
        }

        span.memo:after {
            content: "";
            display: block;
            width: 18px;
            height: 18px;
            background: url(https://s1.unipware.com/AILawyer/images/ico_pen.svg) 50% no-repeat;
            margin-left: 5px;
            cursor: pointer;
        }

        span {
            font-size: 16px;
            color: var(--dark-grey-color);
            display: flex;
        }

        .case_info dl {
            display: flex;
            font-size: 16px;
        }

        .case_info dl+dl {
            margin-top: 7px;
        }

        .case_info dt {
            font-weight: 700;
            min-width: 100px;
        }

        .case_contents dt {
            font-size: 17px;
            color: var(--secondary-color);
            font-weight: 600;
            margin-bottom: 15px;
        }

        .case_contents dd {
            font-size: 16px;
            font-weight: 500;
            line-height: 1.5;
        }

        .case_contents dl+dl {
            margin-top: 25px;
        }

        .memo_input.contents {
            border: 1px solid var(--border-color);
            padding: 3px 10px;
            font-size: 15px;
            border-radius: 4px;
        }

        .scroll {
            max-height: 500px;
        }

        .empty_case_law {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100%;
        }

        .empty_case_law img {
            width: 70px;
            margin-left: -10px;
            pointer-events: none;
        }

        .empty_case_law span {
            font-size: 16px;
        }

    }
}

/* 문서관리 */
main.my.document {
    padding: 150px 12vw 2vw 12vw;
    min-height: 780px;

    section {
        background: var(--white-color);
        box-shadow: -3px 3px 15px var(--box-shadow-color);
        padding: 40px 40px;
        width: 50%;
    }

    table {
        width: 100%;
        margin-top: 16px;
    }

    table thead tr th {
        background: var(--primary-color);
        color: var(--white-color);
        font-weight: 400;
        font-size: 16px;
        padding: 10px;
        border-bottom: 1px solid var(--border-color);
    }

    table tbody tr {
        background-color: var(--white-color);
    }

    table tbody tr:hover,
    table tbody tr.active {
        background: var(--box-shadow-color);
    }

    table tbody tr td {
        padding: 7px;
        text-align: center;
        align-content: center;
        font-size: 15px;
        border-bottom: 1px solid var(--border-color);
        height: 50px;
    }

    .text_left {
        text-align: left;
    }

    .file {
        cursor: pointer;
    }

    .file:hover {
        text-decoration: underline;
    }

    .empty {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .empty img {
        width: 50px;
    }

    .empty span {
        color: var(--dark-grey-color);
    }
}

/* 기본 스타일 */
.overflow_text {
    position: relative;
    max-width: 140px;
    /* 텍스트의 최대 너비 */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.text_wrapper {
    display: inline-flex;
    /* 이미지와 텍스트를 한 줄로 배치 */
    align-items: center;
    white-space: nowrap;
    transition: transform 0.3s ease;
}

/* hover 애니메이션 */
.overflow_text.active:hover .text_wrapper {
    animation: scroll-text 5s linear infinite;
}

@keyframes scroll-text {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}




main.my.document section.all_list {
    width: 40%;

    .tap_area {
        position: relative;
    }

    .tap_area label {
        font-weight: 500;
        cursor: pointer;
    }

    .tap_area label+label {
        margin-left: 30px;
    }

    .tap_area label.active {
        color: var(--primary-color);
    }

    .tap_area label span {
        font-size: 18px;
        margin-left: 5px;
        font-weight: 600;
    }

    .underline {
        position: absolute;
        bottom: -10px;
        height: 2px;
        background-color: var(--primary-color);
        transition: width 0.3s ease, left 0.3s ease;
    }

    input {
        padding: 8px 10px;
        border-radius: 4px;
        min-width: 260px;
    }

    input::placeholder {
        font-size: 14px;
    }

    input.date {
        border: 1px solid var(--input-line-color);
        max-width: 100px;
        min-width: auto;
    }

    .search_area button {
        border: 1px solid var(--primary-color);
        border-radius: 4px;
        padding: 10px;
        width: 37px;
        height: 37px;
    }

    .search_area button:hover {
        background: var(--box-shadow-color);
    }

    .search_area button+button {
        margin-left: 5px;
    }

    .search_area button img {
        width: 15px;
    }
}

main.my.document section.personal_list {
    width: 58%;

    .user_info {
        background: var(--chat-auto-color);
        padding: 16px 12px 16px 26px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .title {
        color: var(--primary-color);
        font-size: 17px;
        font-weight: 600;
        margin-right: 1vw;
        word-break: keep-all;
    }

    .content {
        /* border-left: 2px solid var(--primary-color); */
        margin-right: 1vw;
    }

    .content>div {
        margin-left: 2vw;
    }

    dl {
        display: flex;
        align-items: center;
    }

    dt {
        font-size: 16px;
    }

    dd {
        font-size: 16px;
        word-break: keep-all;
        font-weight: 600;
    }

    .dropdown_w {
        position: relative;
    }

    .dropdown_w.active .sel_w {
        display: block;
    }

    dd button.selected {
        position: relative;
        width: 100%;
        min-width: 50px;
        color: var(--font-brown-800);
        font-size: 16px;
        text-align: left;
        color: #000;
        padding: 0;
        font-weight: 600;
    }

    dd button.selected::before {
        content: '';
        position: absolute;
        top: 50%;
        right: -20px;
        transform: translateY(-50%);
        width: 12px;
        height: 12px;
        background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down.svg) 50% no-repeat;
    }

    .sel_w {
        display: none;
        position: absolute;
        top: 25px;
        left: -5px;
        padding: 3px 5px;
        min-width: 80px;
        max-height: 150px;
        background: var(--white-color);
        border: 1px solid var(--border-color);
        border-radius: 4px;
        z-index: 1;

        button {
            padding: 3px 10px 5px 3px;
            width: 100%;
            font-size: 15px;
            font-weight: 500;
            text-align: left;
            border: none;
        }

        button:hover {
            background: var(--primary-color);
            color: var(--white-color);
            border-radius: 4px;
        }
    }

    td.file img {
        width: 15px;
        height: 15px;
        margin-right: 5px;
        vertical-align: middle;
    }

    td.file.upload button {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 80px;
        height: 32px;
        border: 1px solid #ccc;
        border-radius: 4px;
        background: var(--white-color);

        p {
            font-size: 14px;
            font-weight: 500;
        }

        img {
            margin: 0;
        }
    }

    td.file.button_wrap:hover {
        text-decoration: none;
    }
}

.pagination {
    display: flex;
    font-size: 15px;
    padding: 35px 0 0 0;

    ul {
        display: flex;
        margin: 0;
        padding: 0;
        list-style-type: none;
    }

    li {
        display: inline-block;
        width: 35px;
        height: 35px;
        line-height: 35px;
        padding: 0;
        text-align: center;
        margin: 0 2px;
        color: #a3a3a3;
        cursor: pointer;
    }

    .init {
        background: url(https://s1.unipware.com/unipware/images/ico_arrow_double_left.svg) no-repeat right;
    }

    .prev {
        background: url(https://s1.unipware.com/unipware/images/ico_arrow_left.svg) no-repeat center;
    }

    li.is-active {
        border-radius: 100%;
        color: var(--white-color);
        background: var(--primary-color);
        font-weight: 400;
    }

    .next {
        background: url(https://s1.unipware.com/unipware/images/ico_arrow_left.svg) no-repeat center;
        transform: rotate(180deg);
    }

    .last {
        background: url(https://s1.unipware.com/unipware/images/ico_arrow_double_right.svg) no-repeat left;
    }
}



/* 토스트 메시지 */
.toast_message {
    background-color: var(--dim-color);
    text-align: center;
    padding: 5px;
    border-radius: 3px;
    font-size: 14px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s, visibility 0.5s;
}

.toast_message.active {
    opacity: 1;
    visibility: visible;
}







/* 404 */
.error_wrap {
    max-width: 1000px;
    margin: 150px auto;
    text-align: center;
}

.error_wrap .title_num {
    font-size: clamp(25px, 40vw, 300px);
    font-weight: 100;
    color: var(--primary-color);

    span {
        content: '';
        display: inline-block;
        width: 200px;
        height: 200px;
        background: var(--primary-color);
        border-radius: 50%;
        animation: bounce 1.5s infinite;
        /* 애니메이션 적용 */
    }
}

@keyframes bounce {

    0%,
    100% {
        transform: translateY(0);
        /* 원래 위치 */
    }

    50% {
        transform: translateY(-30px);
        /* 위로 이동 */
    }
}

.error_wrap .title_ko {
    font-size: clamp(20px, 6vw, 32px);
    position: relative;
    display: inline;

    img {
        width: 30px;
    }
}

.error_wrap .title_ko::after {
    content: '';
    width: 100%;
    height: 14px;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #c5920538;
    z-index: -1;
}

.error_wrap .sub_title_ko {
    font-size: clamp(12px, 3vw, 16px);
    margin-top: 10px;
    line-height: 1.5;
}

.error_wrap .btn_home {
    display: inline-block;
    margin-top: 30px;
    cursor: pointer;
    padding: 10px 20px;
    background-color: var(--dark-grey);
    color: var(--white-color);
    width: 18vw;
}



footer {
    padding: 20px 0;

    hr {
        border: 1px solid var(--border-color);
        margin-bottom: 20px;
    }

    p {
        font-size: 14px;
        color: var(--font-brown-900);
        font-weight: 500;
    }

    .info {
        display: flex;
        justify-content: center;
    }

    dl {
        display: flex;
    }

    dt {
        font-size: 13px;
        color: var(--font-brown-800);
        margin-right: 10px;
    }

    dd {
        font-size: 13px;
        color: var(--font-brown-900);
        margin-right: 10px;
        font-weight: 500;
    }
}

/* 일반회원 - 회원가입 */
main.signup .signup_content.user {
    input[type=radio] {
        appearance: none;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        padding: 0;
        width: 12px;
        height: 12px;
        border-radius: 6px;
        outline: none;
        border: 1px solid #dcdcdc;
    }

    input[type=radio]:checked {
        border: 2px solid var(--white-color);
        background-color: var(--primary-color);
        box-shadow: 0 0 0 1px var(--primary-color);
    }

    .dropdown_w {
        position: relative;
    }

    dd button.selected {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px;
        width: 100%;
        min-width: auto;
        color: var(--font-brown-800);
        font-size: 14px;
        border: 1px solid var(--border-color);
        text-align: left;

        img {
            width: 12px;
            transition: all 0.4s ease;
        }

        img.flipped {
            transform: rotate(-180deg);
            transition: all 0.4s ease;
        }
    }


    dd button.selected:hover {
        background: var(--white-color);
        color: var(--font-brown-800);
    }

    .sel_w {
        display: none;
        position: absolute;
        top: 36px;
        padding: 3px 5px;
        width: 100%;
        max-height: 150px;
        background: var(--white-color);
        border: 1px solid var(--border-color);
        border-radius: 4px;
        z-index: 1;

        button {
            padding: 3px 10px 5px 3px;
            width: 100%;
            font-size: 14px;
            font-weight: 500;
            text-align: left;
            border: none;
        }
    }

    .sel_w.upper {
        z-index: 2;
    }


}

/* 일반회원 - 법률문서검토 */
#law_user_content {
    .chat_wrap {
        .chat_ai {
            .doc_category {
                display: flex;
                flex-direction: row;
                justify-content: space-between;
                padding: 0;
                margin-top: 20px;
                border: none;

                li {
                    cursor: pointer;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 19.392%;
                    border: 1px solid var(--border-color);
                    border-radius: 4px;
                    box-sizing: border-box;
                    height: 87px;
                }

                li:hover {
                    border: 2px solid var(--primary-color);
                }

                li.active {
                    border: 2px solid var(--primary-color);
                }

                img {
                    margin-right: 12px;
                    width: 32px;
                }

                p {
                    font-size: 16px;
                    font-weight: 700;
                }
            }
        }
    }
}


/* 일반회원 - 판례 */
#law_user_content {
    .chat_wrap {
        .chat_ai ul.user_caselaw {
            padding: 0;
            border: none;

            li {
                cursor: pointer;
                padding: 14px;
                border: 1px solid var(--border-color);
                border-radius: 8px;

                p {
                    text-decoration: underline;
                }

                img {
                    width: 20px;
                }

                img.detail {
                    margin-left: auto;
                }
            }
        }
    }
}

button.disable {
    background: var(--dark-grey-color) !important;
    pointer-events: none;
    color: var(--white-color) !important;
}

button.completed {
    border: 1px solid var(--green-color) !important;
    pointer-events: none;
    color: var(--green-color) !important;
}

input.disable {
    color: var(--dark-grey-color);
}

input.disable:hover {
    border-bottom: 1px solid var(--input-line-color) !important;
    border: 1px solid var(--input-box-color) !important;
}

.send_code.completed {
    background: var(--primary-color) !important;
    color: var(--white-color) !important;
    border: 1px solid var(--primary-color) !important;

}


.legal_document_review button {
    background: var(--blue-color);
    padding: 10px 15px;
    color: var(--white-color);
    font-size: 16px;
    border-radius: 4px;
    font-weight: 500;
    display: flex;
    align-items: center;
    margin: 0 auto;
}

.legal_document_review button:hover {
    background: #466AE2;
}

.legal_document_review button::before {
    display: flex;
    content: "";
    width: 13px;
    height: 20px;
    background: url('/images/ico_index_document.svg') 50% no-repeat;
    margin-right: 10px;
}

p.legal_document_review {
    span {
        font-weight: 600;
        white-space: nowrap;
    }
}


/* user css 추가 */
body#user {
    #chat_aside_area .function_section.scroll {
        max-height: 850px;
        margin: 0 -2px;
    }

    #chat_aside_area .function_section {
        & .function_content {
            .photo_w {
                display: flex;
                justify-content: center;
                width: 100%;
                border-radius: 100%;
                height: 70px;
                width: 70px;
                background: var(--white-color);
                box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);
                background: url(https://s1.unipware.com/AILawyer/images/lawyer_profile-img_1.svg) 50% 50% no-repeat;
                background-size: cover;
            }

            .name_id_area div:first-child {
                font-size: 15px;
                font-weight: 600;
                margin-bottom: 5px;
                color: var(--dark-grey-color);
                word-break: keep-all;
            }

            .name_id_area {
                text-align: center;
            }

            .name_id_area div:nth-child(2) {
                font-size: 18px;
            }

            .name_id_area div:nth-child(2) span {
                color: var(--primary-color);
                word-break: keep-all;
                font-weight: 700;
            }
        }
    }

    #chat_aside_area .function_section {
        .function_content label {
            width: 100%;
            display: flex;
            background: var(--primary-color);
            color: var(--white-color);
            padding: 3px 5px;
            margin-bottom: 15px;
            justify-content: space-between;
        }

        .function_content label:after {
            content: "";
            display: block;
            width: 20px;
            background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down_w.svg) 50% no-repeat;
            cursor: pointer;
            transition: transform 0.3s;
            transform: rotate(180deg);
        }

        .function_content label.rotate:after {
            transform: rotate(0deg);
        }

        .basic dl {
            display: block;
        }

        dt {
            color: var(--primary-color);
            font-weight: 500;
            min-width: 70px;
            font-size: 15px;
            margin-bottom: 7px;
        }

        .chat_input_area input {
            width: 100%;
            border: 1px solid var(--input-box-color);
            padding: 12px 16px;
            border-radius: 4px;
        }
    }


    #chat_aside_area .chat_aside_header {
        & .chat_search_area {
            button {
                color: var(--white-color);
                font-size: 16px;
                font-weight: 400;
            }
        }
    }

    #chat_aside_area .chat_aside.init {
        .bottom {
            height: 100%;
        }

        .chat_aside_header {
            font-size: 20px;
        }
    }

    #chat_aside_area .chat_area {
        .search_w input {
            min-width: 13vw;
            margin-right: 5px;
            border-radius: 4px;
            padding: 9px 12px;
            font-size: 14px;
        }
    }

    #chat_aside_area .chat_list {
        p {
            height: 25px;
            font-size: 15px;
            line-height: 1.5;
            max-width: 600px;
            height: auto;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: normal;
        }

        span {
            border: 1px solid var(--enabled-grey-color);
            border-radius: 4px;
            color: var(--red-color);
            font-size: 14px;
            padding: 6px 8px;
            font-weight: 600;
            min-width: 76px;
            margin-left: 5px;
        }

        span:hover {
            background: #ffdfdf;
        }
    }

    #chat_aside_area .chat_area {
        .chat_search_area button {
            word-break: keep-all;
            color: var(--white-color);
            min-width: 70px;
            max-width: 70px;
        }

        .chat_search_area button:hover {
            box-shadow: none;
        }
    }

    #law_user_content .content_container {
        position: relative;
        padding: 10dvh 4% 0;
        width: 100%;
        text-align: center;
    }

    #law_user_content .chat_wrap .lawyer_suggest .lawyer_card button {
        position: absolute;
        margin-top: 0;
        align-self: end;
        border-radius: 4px;
        --font-size: 16px;
        padding: 16px 32px;
        font-weight: 600;
        line-height: var(--font-size);
        display: block;
        text-decoration: none;
        font-size: var(--font-size);
        letter-spacing: 0.5px;
        color: var(--white-color);
        box-shadow: var(--shadow);
        transform: translateX(-50%);
        left: 50%;
        width: 95%;
        bottom: 10px;
    }

    /* #law_user_content .law_category li {
        padding: 64px 0 56px;
        width: 18.814%;
        color: #45403E;
        border-radius: 4px;
        cursor: pointer;
        background: #f5f5f4;
        transition: all 0.1s ease;
    } */

    #law_user_content .law_category li.on {
        background: var(--primary-color);
        color: var(--white-color);
        box-shadow: 6px 8px 24px rgba(151, 127, 104, 0.45);
    }

    #law_user_content .chat_input button.enter.disabled {
        cursor: not-allowed;
        background: #f6f6f6;
    }

    .legal_document_review {
        /* display: flex; */
        /* align-items: center; */
        /* justify-content: center; */

        button {
            background: var(--blue-color);
            padding: 10px 15px;
            color: var(--white-color);
            font-size: 16px;
            border-radius: 4px;
            font-weight: 500;
            display: flex;
            align-items: center;
            margin: 0 auto;
        }

        button:hover {
            background: #466AE2;
        }

        button::before {
            display: flex;
            content: "";
            width: 13px;
            height: 20px;
            background: url(https://s1.unipware.com/AILawyer/images/ico_index_document.svg) 50% no-repeat;
            margin-right: 10px;
        }
    }

    p.legal_document_review {
        span {
            font-weight: 600;
            white-space: nowrap;
        }
    }

    .fade-up {
        opacity: 0;
        position: relative;
        top: 32px;
    }

    .floating_btn:hover {
        width: 210px;
    }

    /* .floating_btn.ai_chat {
        bottom: 120px;
    } */



    #law_user_content .chat_wrap .chat_ai.lawyer_suggest {
        padding: 32px;
    }

    #law_user_content .chat_wrap .lawyer_suggest .lawyer_card {
        padding: 50px 24px 20px;
        width: 32.016%;
        border: 1px solid var(--border-color);
        border-radius: 12px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    }

    #law_user_content .chat_wrap .lawyer_suggest .lawyer_card.seleted_com {
        width: 50%;
    }


    #law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_txt {
        align-self: start;
        margin-top: 16px;
        text-align: center;
        color: #888;
        line-height: 1.4;
    }

    .lawyer_card {
        position: relative;

        .profile_photo {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .photo_w {
            border-radius: 100%;
            height: 70px;
            width: 70px;
            min-width: 70px;
            background: var(--white-color);
            box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);
            background: url(https://s1.unipware.com/AILawyer/images/lawyer_profile-img_1.svg) 50% 50% no-repeat;
            background-size: cover;
        }

        .name_id_area div:first-child {
            font-size: 15px;
            font-weight: 600;
            margin-bottom: 5px;
            color: var(--dark-grey-color);
            word-break: keep-all;
            text-align: left;
        }

        .name_id_area div:last-child {
            font-size: 23px;
            font-weight: 500;
        }

        .name_id_area div:last-child span {
            color: var(--primary-color);
            word-break: keep-all;
            font-weight: 700;
        }

        .lawyer_intro {
            font-weight: 500;
            color: var(--dark-grey-color);
            line-height: 1.5;
        }

        hr {
            width: 15%;
            border: 1px solid var(--primary-color);
            margin-bottom: 15px;
            margin-top: 15px;
        }

        .preview_title {
            color: var(--primary-color);
            font-weight: 700;
        }

        .preview_title::before {
            content: "";
            border-left: 2px solid var(--primary-color);
            margin-right: 5px;
        }

        .preview_contents span {
            display: block;
            width: 100%;
            margin-bottom: 15px;
            line-height: 1.5;
            margin-left: 6px;
            text-align: left;
        }

        .top_wrap {
            min-height: 150px;
        }
    }

    .check_chat_text {
        padding: 0 20px;
        width: 100%;

        img {
            width: 70px;
        }

        p {
            text-align: center;
            font-size: 17px;
            font-weight: 600;
            line-height: 1.5;
        }
    }

    #law_user_content .chat_wrap .lawyer_suggest .lawyer_card.side {
        width: 100%;
    }

    #law_user_content .chat_wrap .lawyer_suggest .lawyer_card button.modified.complete {
        background: var(--enabled-grey-color);
        pointer-events: none;
    }

    #law_user_content .chat_wrap .lawyer_suggest .swiper-container {
        position: relative;
        width: 100%;
        margin-top: 20px;
    }

    .modal_popup .modal_wrap {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 20px 18px 18px;
        text-align: center;
        background: var(--white-color);
        max-width: 440px;
        width: 100%;
        border-radius: 12px;
    }

    .modal_popup .modal_wrap.case_law_wrap {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 30px 30px 18px;
        text-align: center;
        background: var(--white-color);
        max-width: 900px;
        width: 100%;
        border-radius: 12px;

        .tooltip {
            opacity: 0;
            transition: opacity 0.5s ease;
            position: absolute;
            left: 50%;
            top: 30px;
            border-radius: 4px;
            background: var(--dim-color);
            min-width: 170px;
            font-size: 15px;
            color: var(--white-color);
            padding: 5px 0;
            line-height: 1.3;
            transform: translateX(-50%);
        }

        .scroll {

            max-height: 500px;
        }

        h2 {
            text-align: left;
        }

        img {
            width: 27px;
            height: 27px;
            padding-top: 0;
            margin-right: 5px;
            cursor: pointer;
            margin-top: 2px;
        }

        .case_info dt {
            font-weight: 700;
            min-width: 100px;
            text-align: left;
            margin-left: 10px;
        }

        .case_info dl {
            display: flex;
            font-size: 16px;
        }

        .case_info dl+dl {
            margin-top: 10px;
        }

        .case_info dl+dl {
            margin-top: 10px;
        }

        .case_contents dl+dl {
            margin-top: 15px;
        }

        .case_contents dt {
            font-size: 17px;
            color: var(--secondary-color);
            font-weight: 600;
            margin-bottom: 15px;
            text-align: left;
            background: var(--background-color);
            padding: 10px;
            border-radius: 4px;
        }

        .case_contents dd {
            font-size: 16px;
            text-align: left;
            font-weight: 500;
            line-height: 1.5;
            margin: 0 10px;
        }
    }

    body#user #chat_aside_area .chat_list {
        ul {
            max-height: 650px;

        }
    }

    body#user #chat_aside_area .chat_list {
        ul {
            max-height: 650px;

        }

        img {
            width: 20px;
            cursor: pointer;
        }

        li {
            cursor: pointer;
            padding-top: 20px;
        }

        li:hover {
            background: var(--background-color);
        }

        dl {
            display: flex;
            align-items: center;
        }

        .name {
            font-weight: 700;
            margin-right: 10px;
            font-size: 17px;
        }

        .tag {
            border-radius: 4px;
            padding: 3px 5px;
            font-size: 13px;
        }

        .tag.request {
            background: #E3EDF1;
        }

        .tag.counseling {
            background: #E4F1E3;
        }

        .tag.incomplete {
            background: #F9EBEB;
        }

        .tag.done {
            background: #CCCCCC;
        }

        .date {
            font-size: 14px;
            margin-right: 10px;
        }

        .uncheked_message {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 25px;
            height: 25px;
            background: var(--red-color);
            padding: 10px;
            border-radius: 50%;
            color: var(--white-color);
            font-size: 13px;
            font-weight: 600;
        }

        hr {
            margin-top: 15px;
            border: 1px solid var(--border-color);
        }

        p {
            height: 25px;
            font-size: 15px;
            line-height: 1.5;
            max-width: 600px;
            height: fit-content;
        }
    }

    body#user #chat_aside_area .tap_contents_area {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    body#user #chat_aside_area .tap_contents_area.empty {
        display: flex;
        justify-content: center;
        align-items: center;

        .tap_contents_area.empty>div {
            text-align: center;
        }

        img {
            width: 100px;
        }
    }

    body#user #chat_aside_area .chat_list {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        transition: transform 0.1s ease, opacity 0.3s ease;
        opacity: 0;
        pointer-events: none;
        /* 비활성화 */
    }

    body#user #chat_aside_area .chat_list.active {
        opacity: 1;
        transform: translateX(0);
        pointer-events: auto;
        /* 활성화 */
    }

    body#user #chat_aside_area .chat_aside.info {
        background: var(--white-color);
        position: relative;
        max-width: 800px;
    }

    body#user #chat_aside_area .chat_aside_header {
        background: var(--primary-color);
        min-width: 800px;
        min-height: 65px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--white-color);
        padding: 0 20px;

        .chat_search_area {
            button {
                color: var(--white-color);
                font-size: 16px;
                font-weight: 400;
            }
        }
    }

    body#user #chat_aside_area .chat_aside.init .chat_aside_header .chat_search_area {

        button.active,
        button:hover {
            box-shadow: none;
        }
    }

    body#user #chat_aside_area .chat_section,
    body#user #chat_aside_area .function_section {
        padding: 20px;
    }

    body#user #chat_aside_area .function_section {
        display: none;
    }

    body#user #chat_aside_area .function_section.active {
        display: block;
    }

    body#user #chat_aside_area .chat_aside_bottom {
        height: 100%;
    }

    body#user #chat_aside_area .chat_section {
        width: 70%;
        position: relative;
        height: 95%;
        border-right: 1px solid var(--border-color);
        padding: 30px 40px;
    }

    p.auto_chat {
        display: flex;
        justify-content: center;
        margin: 20px 0;
        font-size: 13px;
        color: var(--dark-grey-color);
        text-align: center;
        line-height: 1.5;
    }

    .bubble .btn_w {
        margin-bottom: 0;
    }

    .bubble .btn_w button {
        min-width: 70px;
    }

    .bubble span {
        display: block;
        width: 100%;
        text-align: right;
        font-size: 13px;
        color: var(--dark-grey-color);
    }

    body#user #chat_aside_area .function_section {
        width: 30%;

        .function_title {
            color: var(--primary-color);
            font-weight: 600;
            margin-bottom: 30px;
        }

        .function_content {
            .photo_w {
                display: flex;
                justify-content: center;
                width: 100%;
                border-radius: 100%;
                height: 70px;
                width: 70px;
                background: var(--white-color);
                box-shadow: 0px 3px 9px rgba(151, 127, 104, .25);
                background: url(https://s1.unipware.com/AILawyer/images/lawyer_profile-img_1.svg) 50% 50% no-repeat;
                background-size: cover;
            }

            .name_id_area {
                text-align: center;
            }

            .name_id_area div:first-child {
                font-size: 15px;
                font-weight: 600;
                margin-bottom: 5px;
                color: var(--dark-grey-color);
                word-break: keep-all;
            }

            .name_id_area div:nth-child(2) {
                font-size: 18px;
            }

            .name_id_area div:nth-child(2) span {
                color: var(--primary-color);
                word-break: keep-all;
                font-weight: 700;
            }
        }

        .function_content label {
            width: 100%;
            display: flex;

            background: var(--primary-color);
            color: var(--white-color);
            padding: 3px 5px;
            margin-bottom: 15px;
            justify-content: space-between;
        }

        .function_content .request>div {
            display: none;
        }

        .function_content label:after {
            content: "";
            display: block;
            width: 20px;
            background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down_w.svg) 50% no-repeat;
            cursor: pointer;
            transition: transform 0.3s;
            transform: rotate(180deg);
        }

        .function_content .request label:after {
            content: "";
            display: block;
            width: 20px;
            background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down_w.svg) 50% no-repeat;
            cursor: pointer;
            transition: transform 0.3s;
            transform: rotate(0deg);
        }

        .function_content label.rotate:after {
            transform: rotate(0deg);
        }

        .function_content .request label.rotate:after {
            transform: rotate(180deg);

        }

        dl+dl {
            margin-top: 15px;
        }

        dt {
            color: var(--primary-color);
            font-weight: 500;
            min-width: 70px;
            font-size: 15px;
            margin-bottom: 7px;

        }

        dt::before {
            content: "";
            border-left: 3px solid var(--primary-color);
            margin-right: 10px;
        }

        dd {
            font-weight: 400;
            line-height: 1.5;
            font-size: 15px;
        }

        .request dt {
            margin-bottom: 10px;
        }
    }

    body#user #chat_aside_area .function_section.scroll {
        max-height: 850px;
        margin: 0 -2px;
    }

    body#user #chat_aside_area .function_section.search,
    body#user #chat_aside_area .function_section.file,
    body#user #chat_aside_area .function_section.image {
        .scroll {
            max-height: 650px;
            padding-right: 10px;
        }
    }

    body#user #chat_aside_area .function_section.file {
        .bubble .bubble_content {
            text-decoration: underline;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
        }
    }

    body#user #chat_aside_area .function_section.image {
        .bubble .bubble_content {
            text-decoration: underline;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
        }
    }

    /* 일반회원 - 회원가입 */
    main.signup .signup_content.user {
        input[type=radio] {
            appearance: none;
            cursor: pointer;
            -webkit-appearance: none;
            -moz-appearance: none;
            padding: 0;
            width: 12px;
            height: 12px;
            border-radius: 6px;
            outline: none;
            border: 1px solid #dcdcdc;
        }

        input[type=radio]:checked {
            border: 2px solid var(--white-color);
            background-color: var(--primary-color);
            box-shadow: 0 0 0 1px var(--primary-color);
        }

        .dropdown_w {
            position: relative;
        }

        dd button.selected {
            position: relative;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px;
            width: 100%;
            min-width: auto;
            color: var(--font-brown-800);
            font-size: 14px;
            border: 1px solid var(--border-color);
            text-align: left;

            img {
                width: 12px;
                transition: all 0.4s ease;
            }

            img.flipped {
                transform: rotate(-180deg);
                transition: all 0.4s ease;
            }
        }


        dd button.selected:hover {
            background: var(--white-color);
            color: var(--font-brown-800);
        }

        .sel_w {
            display: none;
            position: absolute;
            top: 36px;
            padding: 3px 5px;
            min-width: 60px;

            max-height: 150px;
            background: var(--white-color);
            border: 1px solid var(--border-color);
            border-radius: 4px;
            z-index: 1;

            button {
                padding: 3px 10px 5px 3px;
                width: 100%;
                font-size: 14px;
                font-weight: 500;
                text-align: left;
                border: none;
            }
        }

        .delete_account {
            border-radius: 4px;
            padding: 4px 10px;
            color: var(--primary-color);
        }
    }

    /* 일반회원 - 판례  */
    #law_user_content {
        .chat_wrap {
            padding: 0.5dvh 4% 23dvh;

            .chat_ai ul.user_caselaw {
                padding: 0;
                border: none;

                li {
                    cursor: pointer;
                    padding: 14px;
                    border: 1px solid var(--border-color);
                    border-radius: 8px;

                    p {
                        text-decoration: underline;
                    }

                    img {
                        width: 20px;
                    }

                    img.detail {
                        margin-left: auto;
                    }
                }
            }
        }
    }

    button.disable {
        background: var(--dark-grey-color) !important;
        pointer-events: none;
        color: var(--white-color) !important;
    }

    button.completed {
        border: 1px solid var(--green-color) !important;
        pointer-events: none;
        color: var(--green-color) !important;
    }

    input.disable {
        color: var(--dark-grey-color);
    }

    input.disable:hover {
        border-bottom: 1px solid var(--input-line-color) !important;
        border: 1px solid var(--input-box-color) !important;
    }

    .send_code.completed {
        background: var(--primary-color) !important;
        color: var(--white-color) !important;
        border: 1px solid var(--primary-color) !important;


    }

    /* 만족도 조사 팝업 */
    #modalSatisfactionSurvey {
        p {
            font-weight: 400;
        }

        span {
            font-weight: 600;
        }

        span.color {
            color: var(--secondary-color);
        }

        .star_wrap {
            border-radius: 20px;
            border: 1px solid var(--border-color);
            padding: 20px;
        }

        .star {
            transition: all 0.3s;
        }

        .star_wrap img {
            padding-top: 0;
            width: 35px;
            cursor: pointer;
        }

        .star_wrap img+img {
            margin-left: 10px;
        }

        .content_wrap textarea {
            border-radius: 20px;
            border: 1px solid var(--border-color);
            padding: 20px;
            width: 100%;
            min-height: 200px;
            resize: none;
            font-size: 15px;
        }

        .content_wrap textarea::placeholder {
            font-size: 15px;
        }
    }

    .modal_popup .modal_wrap img {
        width: 56px;
        padding-top: 24px;
    }

    .account_hover {
        display: block;
        background: var(--white-color);
        padding: 5px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%) translateY(-10px);
        top: 40px;
        border-radius: 10px;
        opacity: 0;
        visibility: hidden;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .btn_logout:hover .account_hover {
        opacity: 1;
        visibility: visible;

        transform: translateX(-50%) translateY(0);
    }

    label.account {
        color: var(--white-color);
        font-size: 20px;
        font-weight: 500;
        transition: opacity 0.3s ease;
        cursor: pointer;
    }

    .btn.signup.edit {
        margin: 30px 0 0;
    }

    #modalEditPassword,
    #modalDeleteAccount {
        dl {
            display: flex;
            align-items: center;
        }

        dl+dl {
            margin-top: 10px;
        }

        dt {
            color: var(--navy-color);
            background: none;
            font-size: 16px;
            font-weight: 700;
            display: inline-block;
            min-width: 55px;
            text-align: right;
            margin-right: 20px;
            min-width: 100px;
        }

        input {
            border: 0;
            background: var(--white-color);
            padding: 12px 5px;
            font-size: 15px;
            min-width: 280px;
            box-sizing: border-box;
            border-bottom: 1px solid var(--input-line-color);
        }

        span.warning_text {
            display: block;

            color: var(--red-color);
            margin-left: 5px;
            font-size: clamp(11px, 2vw, 13px);
            margin-top: 5px;
            text-align: left;
        }

        p span {
            color: var(--red-color);
            font-size: 17px;
        }

        .delete_account.warning_text {
            text-align: center;

        }
    }

    #law_user_aside .account_wrap {
        order: 3;
        margin-top: 20px;
        display: flex;
        align-items: center;

        .account_img {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            overflow: hidden;
        }

        label.name {
            color: #000;
            font-size: 18px;
            font-weight: 700;
        }

        .dropdown_w {
            width: 20px;
            height: 20px;
            background: var(--box-shadow-color);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            position: relative;
        }

        .dropdown_w:before {
            content: "";
            width: 10px;
            height: 10px;
            margin-top: 3px;
            background: url(https://s1.unipware.com/AILawyer/images/ico_arrow_down.svg) 50% no-repeat;
            transition: transform 0.5s ease;
        }

        .sel_w {
            opacity: 0;
            position: absolute;
            background: var(--white-color);
            min-width: 120px;
            left: 0;
            top: 25px;
            z-index: 1;
            border-radius: 4px;
            box-shadow: 0px 3px 9px var(--box-shadow-color);
            padding: 5px 8px;
            transition: opacity 0.3s ease;
            pointer-events: none;

        }

        .dropdown_w.active .sel_w {
            opacity: 1;
            pointer-events: auto;

        }

        .dropdown_w.active:before {
            transform: rotate(180deg);
        }


        .sel_w button {
            background: none;
            display: block;
            font-size: 15px;
            border-radius: 4px;
            padding: 5px;
            width: 100%;
            text-align: left;
            font-weight: 500;
        }

        .sel_w button:hover {
            background: var(--primary-color);
            color: var(--white-color);
        }
    }

    /* 상담 채팅 aside */

    body#user #chat_aside_area.chat_aside_area.visible {
        transform: translateX(0);
        transition: transform 0.7s;
        box-shadow: -10px 0px 15px var(--box-shadow-color02);
        justify-content: space-between;
    }

    body#user #chat_aside_area .chat_aside.init {
        min-width: 800px;

        .chat_aside_header {
            font-size: 20px;
        }

        .bottom {
            height: 100%;
        }
    }

    body#user #chat_aside_area.chat_aside_area {
        position: fixed;
        transform: translateX(800px);
        right: 0;
        z-index: 98;
        min-width: 790px;
        transition: transform 0.7s ease;
        height: 100vh;

        .user_info_area {
            background: var(--chat-auto-color);
            padding: 50px 20px;
            display: flex;
            justify-content: center;
        }

        .chat_area {
            width: 100%;
        }
    }

    body#user #chat_aside_area .user_info_area {
        .user_profile {
            display: flex;
            justify-content: center;
            width: 80px;
            height: 80px;
            border-radius: 50%;
            overflow: hidden;
            width: 100%;
        }
    }

}

body#user #chat_aside_area .chat_area {
    padding: 0;
    background: var(--white-color);

    .top {
        width: 100%;
        background: var(--primary-color);
        color: var(--white-color);
    }
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    50% {
        transform: translateX(5px);
    }

    75% {
        transform: translateX(-5px);
    }

    100% {
        transform: translateX(0);
    }
}

.shake {
    animation: shake 0.5s ease-in-out;
}

.contents_loading_conts {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100%;
    min-height: 100%;
    min-width: 100%;
    background: rgb(249 249 249 / 100%);
    z-index: 999;
    .sub-tit {
        width: fit-content;
        padding: 12px 28px;
        margin: 0 auto;
        border-radius: 22px;
        font-weight: 700;
    }
    .content_wrap h1 {
        order: 2;
        margin-top: 18px;
        font-family: "Noto Serif KR";
        font-size: 42px;
        font-weight: 400;
        letter-spacing: -2px;
    }
     .content_wrap h1 b {
        font-family: "Noto Serif KR";
        color: var(--secondary-color);
    }
    
}

.contents_loading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: -52px;
    width: 100%;
    text-align: center;

    p {
        margin-top: 32px;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.5;
        color: var(--font-brown-800);
    }

    b {
        color: #776e67;
    }
}

.loading_wrap_width {
    position: relative;
    width: 120px;
    height: 60px;
    border-radius: 60px;

    .color-range {
        position: absolute;
        top: 48px;
        left: 7%;
    }
}


/* 미디어쿼리 */
@media (max-height: 850px) {
    #law_user_aside {
        overflow: scroll;
        -ms-overflow-style: none;
    }
    #law_user_aside::-webkit-scrollbar{
        display:none;
    }

    #law_user_aside .info {
        position: unset !important;
        margin-top: 20px;
        padding-bottom: 20px;
    }

    #law_user_content .content_container {
        padding-top: 5dvh;
    }

    #law_user_content .law_category {
        margin-top: 30px;
    }

    #law_user_content .law_category li {
        padding: 44px 0 36px;
    }

    #law_user_content #chat_input_wrap {
        padding-top: 60px;
    }

    #law_user_content .content_container {
        /* padding-top: 5dvh !important; */
    }



}

@media (max-width:1670px) {
    main.my.document {
        padding: 150px 6vw 2vw 6vw;
    }
}

@media (max-width:1600px) {}

@media (max-width:1520px) {
    .signup_content.user {
        .section {
            .count_time {
                background: var(--white-color);
            }
        }
    }
}

@media (max-width:1480px) {
    #law_user_content .content_container.chat_wrap {
        padding: 1dvh 0 220px;
    }

    #law_user_content #chat_input_wrap {
        padding: 0 0 3dvh;
    }

    main.signup .signup_content section>div:not(:last-child) {
        display: block;
    }

    .signup_content_wrap02 {
        width: 100%;
        margin-bottom: 50px;
    }

    main.signup .signup_content {
        .signup_content_wrap {
            margin-right: 0;
        }
    }

    main.my .my_content {
        dl {
            align-items: start;
        }

        dt:not(dl.align_top dt) {
            margin-top: 5px;
        }

        dd {
            /* display: block; */
            margin-top: -4px;
        }

        dd label {
            padding: 0px 16px;
            display: block;
            text-align: center;
            min-width: 90px;
            margin-top: 10px;
        }

        /* dd label+label {
            margin-left: 0;
            margin-top: 10px;
        } */
    }

    main.my.case_law {
        padding: 150px 6vw 2vw 6vw;

        section {
            padding: 25px;

        }
    }

    main.my.document {
        display: block;

        section {
            width: 100%;
            min-width: 700px;
        }

        .all_list {
            margin-bottom: 40px;
        }
    }

    .signup_content.user {
        .section:not(:last-of-type) {
            margin-right: 1.5rem !important;
        }

        .section {
            .count_time {
                background: var(--white-color);
            }
        }
    }

    body#user main.signup .signup_content section>div:not(.signup_btn_w) {
        display: block;
    }

    main.my.document section.all_list,
    main.my.document section.personal_list {
        width: 100%;
    }
}

@media (max-width:1280px) {

    #law_user_aside .tit_box,
    #law_user_aside .history {
        padding: 20px 24px 20px;
    }

    #law_user_aside .history {
        margin-top: 12px;
    }

    #law_user_aside .history ul {
        height: calc(98dvh - 630px)
    }

    #law_user_aside .tit_box h1 {
        font-size: 28px;
    }

    #law_user_aside .tit_box p {
        margin-top: 20px;
    }

    #law_user_aside .tit_box .new_chat {
        margin-top: 20px;
        font-size: 16px;
    }

    #law_user_aside .tit_box .new_chat:active {
        background-color: #201e1b;
    }

    #law_user_aside .history .search_btn_wrapper {
        margin-top: 16px;
    }

    #law_user_aside .info dl {
        font-size: 12px;
    }

    #law_user_content .content_wrap h1 {
        margin-top: 12px;
        font-size: 44px;
    }

    #law_user_content .content_wrap p {
        margin-top: 12px;
    }

    #law_user_content .law_category li {
        padding: 28px 0 24px 0;
    }

    #law_user_content .law_category li.img-off {
        display: none;
    }

    #law_user_content .law_category li figure figcaption {
        margin-top: 16px;
        font-size: 16px;
    }

    #law_user_content .content_container.chat_wrap .title_container .title_wrap p {
        max-width: 80%;
    }

    #law_user_content .chat_input {
        padding: 12px 20px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao {
        padding: 20px 32px 64px;
    }

    #law_user_content .chat_wrap .kakao_container {
        flex-direction: column;
    }

    #law_user_content .chat_wrap .lawyer_kakao .lawyer_card {
        grid-template-columns: 0.4fr 0.4fr 1fr 0.4fr;
        width: 100%;
        min-height: inherit;
        padding: 20px 24px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao .lawyer_card img {
        width: 100px;
        height: 100px;
        justify-self: start;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao .lawyer_card dl {
        justify-self: start;
        text-align: left;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card dl dt {
        margin-top: 0;
        padding: 0 0 6px 0;
        font-size: 18px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao .lawyer_txt {
        margin-top: 0;
        padding: 0 12px 0 0;
        text-align: left;
        font-size: 15px;
        white-space: wrap;
        word-break: keep-all;
    }

    #law_user_content .chat_wrap .lawyer_kakao .lawyer_card:not(:last-of-type) {
        margin-right: 0;
    }

    #law_user_content .chat_wrap .lawyer_kakao .kakao_wrap {
        margin-top: 40px;
    }

    #law_user_content .chat_wrap .lawyer_kakao .lawyer_card button {
        margin-top: 0;
        align-self: center;
        padding: 12px 8px;
    }

    #law_user_content .chat_wrap .lawyer_kakao .kakao_wrap dl {
        max-width: 100%;
    }

    #law_user_content .chat_wrap .lawyer_kakao .kakao_wrap p {
        margin-bottom: 18px;
    }

    #law_user_content .content_chat_wrap.link_newTab .content_container.chat_wrap {
        padding: 0.5dvh 0 16dvh;
    }

    #law_user_content p.warning {
        margin-bottom: -100px;
        word-break: keep-all;
        line-height: 1.4;
    }

    .info_box_w {
        display: block;
    }

    main.signup.info {
        .info_box+.info_box {
            margin-left: 0px;
            margin-top: 20px;
        }
    }

    main.my {
        width: 100%;
        /* padding: 21vw 5vw; */
        display: flex;
    }

    .basic_affiliation {
        display: block;
    }

    .basic_affiliation div:first-child {
        margin-right: 0;
        margin-bottom: 30px;
    }

    .basic_affiliation div:nth-child(2) {
        margin-bottom: 30px;
    }

    .chat_aside_area {
        /* max-width: 700px !important; */
    }

    main.my .my_preview {
        .my_preview_contents {
            padding: 20px;
        }
    }

    .signup_content.user {
        .section_wrap {
            flex-wrap: wrap;
            justify-content: space-between;

            .section {
                width: 48%;
            }

            .section:nth-of-type(2) {
                margin-right: 0 !important;
                order: 3;
            }

            .section:last-of-type {
                order: 2;
            }
        }
    }

    #law_user_content {
        .chat_wrap {
            .chat_ai {
                .doc_category {
                    li {
                        height: 72px;
                    }

                    img {
                        width: 24px;
                    }
                }
            }
        }
    }
}

@media (max-width:1200px) {
    #law_user_aside {
        width: 380px;
        padding: 20px 20px 0;
        background-color: #f9f9f9;
    }

    #law_user_content .law_category {
        margin-top: 52px;
    }

}

@media (max-width:1100px) {
    #law_user_aside .history h2 {
        font-size: 14px;
        line-height: 28px;
    }

    #law_user_aside .all_delete {
        padding: 4px 12px;
    }

    #law_user_aside .history input {
        padding: 12px 16px;
    }

    #law_user_aside .history .search_btn_wrapper {
        margin-top: 12px;
    }

    #law_user_aside .history ul {
        margin-top: 12px;
        height: calc(98dvh - 600px);
        max-height: 580px;
    }

    #law_user_aside .info {
        bottom: 1dvh;
    }

    #aside_open {
        background: #f1f1f1;
        border-radius: 40px;
    }

    #law_user_content .law_category {
        margin-top: 40px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao {
        padding: 20px 32px 80px;
    }

    #law_user_content .chat_wrap .lawyer_kakao .lawyer_card {
        grid-template-columns: 0.4fr 1fr 0.4fr;
        padding: 28px 32px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao .lawyer_card img {
        grid-column: 1 / 1;
        justify-self: center;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao .lawyer_card dl {
        grid-column: 1 / 2;
        justify-self: center;
        text-align: center;
        margin-top: 16px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_kakao .lawyer_txt {
        grid-column: 2 / 2;
        grid-row: 1 / 3;
        padding: 0 24px;

    }

    #law_user_content .chat_wrap .lawyer_kakao .lawyer_card button {
        grid-column: 3 / 3;
        grid-row: 1 / 3;
    }

    .signup_content_wrap>div {
        display: block;
    }

    main.my {
        display: block;

        .my_content {
            margin-right: 0;
            width: 100%;
            margin-bottom: 50px;
        }

        .my_preview {
            width: 100%;
        }

        .my_preview .my_preview_contents {
            padding: 50px 20px;
        }
    }

    main.my.case_law {
        display: grid;

        section.list_wrap {
            order: 2;
            width: 100%;

            ul li {
                max-width: 100%;
            }
        }

        section.contents_wrap {
            order: 1;
            width: 100%;
            margin-bottom: 50px;
        }
    }

    .signup_content.user {
        .section_wrap {
            .section {
                width: 100%;
            }

            .section:nth-of-type(2) {
                order: 2;
            }

            .section:last-of-type {
                order: 3;
            }
        }
    }
}

@media (max-width:1100px) {
    #law_user_content {
        .chat_wrap {
            .chat_ai {
                .doc_category {
                    flex-wrap: wrap;
                    justify-content: center;

                    li {
                        width: 30%;
                        height: 64px;
                        margin-bottom: 6px;
                    }

                    li:not(:last-of-type) {
                        margin-right: 6px;
                    }
                }
            }
        }
    }

    #law_user_content .content_chat_wrap {
        margin-left: 0 !important;
    }
}

@media (max-width:1024px) {

    body.login>section {
        background: none;
        box-shadow: none;
        /* justify-content: center; */
        width: auto;
        height: auto;

        input {
            background: #F9F9F9;
        }

        .login_video {
            display: none;
        }

        .login_area .login_w {
            width: 100%;
            right: 0;
        }

        .select_user {
            display: flex;
        }
    }

    body#user.login>section {
        background: none;
        box-shadow: none;
        justify-content: center;
        width: auto;
        height: auto;

        input {
            background: #F9F9F9;
        }

        .login_video {
            display: none;
        }

        .login_area .login_w {
            width: 100%;
            right: 0;
        }

        .select_user {
            display: flex;
        }
    }

    .main_logo_wrap {
        background: none;
    }

}

@media (max-width: 1024px) and (max-height:600px) {
    body.login>section {
        top: 60%;
    }
}

@media (max-width:991px) {
    #law_user_aside {
        z-index: 99;
        left: 0;
        padding: 12px 12px 0;
        background: #f9f9f9;
    }

    #aside_open {
        display: block;
        top: 22px;
        left: 24px;
    }

    #law_user_aside .history ul li a span {
        padding-left: 4px;
        text-overflow: ellipsis;
        overflow: hidden;
        display: block;
    }

    #law_user_aside .info {
        padding: 0 0 2px 12px;
    }

    #law_user_content .law_category {
        margin-top: 80px;
    }

    #law_user_content .content_chat_wrap.link_newTab .content_container.chat_wrap .title_container {
        top: -5px;
    }

    #law_user_content .content_chat_wrap.link_newTab .content_container.chat_wrap .title_container .title_wrap {
        margin-right: -50px;
    }

    #law_user_content .content_chat_wrap.link_newTab .content_container.chat_wrap .title_container .title_wrap span {
        margin-left: -50px;
    }

    body.my_page.document_back {
        width: 952px;
    }

    main.my.document section.all_list,
    main.my.document section.personal_list {
        width: 100%;
        max-width: 872px;
    }
}

@media (max-width:859px) {

    #law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_prev.swiper-button-prev,
    #law_user_content .chat_wrap .lawyer_suggest .lawyer_slide_next.swiper-button-next {
        display: block;
    }

    header .pc_header {
        display: none;
    }

    header .mobile_header {
        display: flex;
    }

    .career {
        display: block;
    }

}

@media (max-width:767px) {
    .main_logo {
        font-size: 24px;
    }
}

@media (max-width:640px) {
    #law_user_content .law_reservation {
        grid-template-rows: auto auto;
        gap: 8px;
        padding: 18px 20px 18px;
        background-position: 20% 0;
    }

    #law_user_content .law_reservation button {
        grid-column: 1 / -1;
        padding: 14px 32px;
    }

    #law_user_content .chat_wrap .lawyer_kakao .lawyer_card {
        grid-template-rows: 1fr;
        grid-template-columns: 1fr;
        ;
        padding: 28px 24px 20px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest {
        padding: 20px 32px 60px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card img {
        grid-row: 1 / 1;
        margin-bottom: 4px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card dl {
        grid-row: 2 / 2;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card p {
        grid-column: 1 / 1;
        grid-row: 3 / 3;
        margin: 12px 0 20px;
        text-align: center;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest .lawyer_card button {
        grid-column: 1 / 1;
        grid-row: 4 / 4;
    }

    #law_user_content .chat_wrap .lawyer_suggest .kakao_wrap p {
        margin-bottom: 24px;
    }

    #law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl {
        padding: 12px;
    }

    main.signup {
        padding: 12vw 6vw;

        .signup_content {
            padding: 50px 50px;
        }
    }

    .select_signup {
        ul {
            flex-direction: column;

            li:not(:last-of-type) {
                margin-right: 0;
                margin-bottom: 18px;
            }
        }

        .select_option {
            width: 100%;
            padding: 24px 0 20px;

            h2 {
                margin-bottom: 16px;
            }

            span {
                margin-bottom: 16px;
                width: 56px;
                height: 56px;
            }
        }
    }
}

@media (max-width: 640px) and (max-height:720px) {
    body.login>section {
        top: 65%;
        padding-bottom: 72px;
    }
}

@media (max-width: 640px) and (max-height:580px) {
    body.login>section {
        top: 70%;

    }
}

@media (max-width:620px) {
    header {
        padding: 20px;
    }

    #law_user_content .chat_wrap .chat_user {
        padding: 20px 24px;
    }

    #law_user_content .chat_wrap .chat_ai>div {
        margin-bottom: 16px;
    }

    #law_user_content .chat_wrap .chat_ai span {
        margin-bottom: 8px;
    }
}

@media (max-width:540px) {
    #aside_open {
        left: 12px;
    }

    #law_user_content .law_category {
        margin-top: 40px;
    }

    #law_user_content .content_container.chat_wrap .title_container .tool_copy_complete {
        top: 56px;
    }

    #law_user_content .chat_wrap .chat_ai ul li:not(:last-of-type) {
        margin-bottom: 20px;
    }

    #law_user_content .chat_wrap .chat_ai ul li span {
        float: none;
    }

    #law_user_content .chat_wrap .chat_ai ul.answer_options {
        margin-top: 12px;
    }

    #law_user_content .chat_wrap .chat_ai ul.answer_options li {
        margin-bottom: 0;
    }

    #law_user_content .chat_wrap .lawyer_suggest .lawyer_card {
        margin-top: 0;
    }

    main.my {
        .my_content {
            padding: 30px;

            .photo_w {
                height: 70px;
                min-width: 70px;
                width: 70px;
                margin-right: 20px;
            }

            .btn_wrap button {
                padding: 5px 10px;
            }
        }

        .my_preview .my_preview_contents {
            padding: 30px;
        }
    }

    main.signup {
        padding: 16vw 6vw;
    }

    #law_user_content {
        .chat_wrap {
            .chat_ai {
                .doc_category {
                    li {
                        height: 56px;
                    }

                    li:not(:last-of-type) {
                        margin-bottom: 6px;
                    }
                }
            }
        }
    }

}

@media (max-width:500px) {
    .login_w.find_account {
        .login_input_w .find_account {
            display: block;
        }

        .login_input_w .find_account label {
            width: 100%;
            min-width: 100%;
            text-align: left;
            justify-content: left;
        }

        .login_input_w .find_account input#userName {
            width: 100%;
        }

        .warning_text {
            left: 0px;
        }
    }

    .login_w .find_account+.find_account {
        margin-top: 20px;
    }

    #law_user_content .content_container {
        padding: 7dvh 4% 0 !important;
    }

    #law_user_content .content_wrap h1 {
        font-size: 30px;
    }

    #law_user_content .content_wrap span.sub-tit {
        padding: 8px 24px;
        font-size: 14px;
    }

    #law_user_content .law_category {
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 20px;
    }

    #law_user_content .law_category li {
        width: 31.642%;
        padding: 20px 0;
    }

    #law_user_content .law_category li:not(:last-of-type) {
        margin-right: 2.535%;
    }

    #law_user_content .law_category li:nth-child(n+3):nth-child(-n+5) {
        margin-top: 8px;
    }

    #law_user_content .law_category li figure figcaption {
        margin-top: 12px;
    }

    #law_user_content .content_wrap p {
        font-size: 14px;
        height: auto;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest {
        padding: 20px 32px 36px;
    }

    main.signup .signup_content {
        padding: 30px;

        dd {
            display: block;
        }

        dd button {
            margin-left: 0;
            margin-top: 10px;
            width: 100%;
        }

        .btn_signup {
            width: 100%;
            padding: 15px 0px;
        }
    }

    footer {
        .d-flex {
            display: block;
        }
    }

    #law_user_content {
        .chat_wrap {
            .chat_ai {
                .doc_category {
                    li {
                        width: 100%;
                    }

                    li:not(:last-of-type) {
                        margin: 0 0 6px 0;
                    }
                }
            }
        }
    }

    #law_user_content .content_container.chat_wrap {
        .title_container button {
            width: fit-content;

            p {
                display: none;
            }
        }
    }
}

@media (max-width:425px) {
    body.login>section {
        width: 300px;

        .login_area .login_input_w label {
            text-align: left;
        }

        .login_input_w {
            text-align: left;
        }

        .login_area .login_input_w label {
            display: block;
        }
    }

    .login_input_w.id_info span {
        text-align: center;
    }

    .login_w.find_account {
        .btn_w {
            display: block;
        }

        .btn_w button+button {
            margin-left: 0;
            margin-top: 10px;
        }

        label {
            margin-right: 0;
        }

        button {
            margin-left: 0 !important;
            margin-top: 5px;
        }

        input {
            min-width: 100% !important;
        }
    }

    body.login>section {
        .btn_login {
            margin-bottom: 30px;
        }
    }

    .law_user_tooltip.side_tool_close {
        left: 144px;
    }

    /* #law_user_content .law_category {
        margin-top: 40px;
    } */

    #law_user_content .chat_input {
        flex-wrap: wrap;
        /* margin-bottom: 2dvh; */
    }

    #law_user_content .law_category li {
        width: 31.2%;
    }

    #law_user_content .law_category li:not(:first-of-type) {
        margin-right: 2.097%;
    }

    #law_user_content .law_category li figure img {
        width: 28px;
        height: 28px;
        /* height: 32px; */
    }

    #law_user_content .law_category li figure figcaption {
        margin-top: 10px;
        font-size: 14px;
    }

    #law_user_content .chat_input span.category {
        padding: 4px 8px;
    }

    #law_user_content .law_reservation {
        grid-template-columns: none;
        padding: 18px 18px 12px;
    }

    #law_user_content .law_reservation p {
        width: 100%;
        text-align: center;
        margin-bottom: 8px;
    }

    #law_user_content .law_reservation p br {
        display: block;
    }

    #law_user_content .law_reservation img {
        display: none;
    }

    #law_user_content .law_reservation button {
        width: 100%;
    }

    #law_user_content .law_reservation button div {
        display: flex;
        justify-content: center;
    }

    #law_user_content .chat_input textarea::placeholder {
        font-size: 14px;
    }

    #law_user_content .content_wrap p {
        margin-top: 10px;
        font-size: 14px;
    }

    .legal_document_review {
        margin-top: 4dvh;
    }

}

@media (max-width:375px) {
    #law_user_aside {
        width: 340px;
    }

    #law_user_aside .tit_box,
    #law_user_aside .history {
        padding: 18px;
    }

    #law_user_aside .history ul li .copy_popup {
        display: grid;
        align-items: normal;
        justify-content: end;
        padding: 8px;
        font-size: 12px;
    }

    #law_user_aside .history ul li .copy_popup button {
        justify-self: end;
        margin: 4px 0 0 0;
        width: 100%;
        font-size: 13px;
    }

    #law_user_aside .info {
        padding: 0 12px 4px 4px;
    }

    #law_user_aside .info dl {
        margin-top: 4px;
    }

    #law_user_aside .info p.copyright {
        margin-top: 8px;
        font-size: 10px;
    }

    #law_user_aside .info>div {
        flex-wrap: wrap;
    }

    #law_user_content .content_container.chat_wrap .title_container .title_wrap {
        flex-direction: column;
        width: 100%;
    }

    #law_user_content .content_container.chat_wrap .title_container .title_wrap span {
        margin-left: 16px;
    }

    #law_user_content .content_container.chat_wrap .title_container .title_wrap p {
        width: 100%;
    }

    #law_user_content .link_newTab .content_container.chat_wrap .title_container .title_wrap {
        flex-direction: row;
    }

    #law_user_content .content_container.chat_wrap .title_container .title_wrap span {
        margin-left: 12px;
    }

    #law_user_content .content_wrap h1 {
        margin-top: 8px;
    }

    #law_user_content .chat_wrap .chat_ai.lawyer_suggest>p {
        text-align: center;
        word-break: keep-all;
        line-height: 1.5;
    }

    #law_user_content .chat_wrap .chat_ai span {
        margin: 0;
    }

    #law_user_content .chat_wrap .chat_ai dl dt,
    #law_user_content .chat_wrap .chat_ai dl dd {
        padding-top: 8px;
    }

    #law_user_content .chat_wrap .lawyer_suggest .sug_txt {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding: 12px;
        ;
    }

    #law_user_content .chat_wrap .lawyer_suggest .sug_txt span {
        margin-bottom: 6px;
    }

    #law_user_content .chat_wrap .lawyer_suggest .kakao_wrap dl dd {
        padding: 20px 12px;
    }

    #law_user_content .content_container.chat_wrap .title_container button img {
        margin: 0 6px 0 4px;
    }

    #law_user_content .content_container.chat_wrap .title_container .tool_copy_complete {
        top: 12px;
        right: 0;
    }

    main.signup {
        padding: 24vw 6vw;
    }

    .select_signup {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-bottom: 0;

        ul {
            width: 100%;
            margin: 0 auto;
        }

        button {
            padding: 12px 0;
        }

    }

    body.login>section {
        .select_signup {
            h1 {
                margin-bottom: 20px;
                font-size: 20px;

                span {
                    color: var(--primary-color);
                    font-weight: 600;
                }
            }
        }
    }
}

@media (max-width:320px) {
    #law_user_aside {
        width: 310px;
    }

    .select_signup {
        .select_option {
            span {
                display: none;
            }
        }
    }
}

