@charset "utf-8";

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css');


/*common*/

a {
    color: #fff;
    text-decoration: none;
}


.wrap {
    width: 100%;
    max-width: 1600px;
    height: 100vh;
    margin: 0 auto;
}

.wrap-wide {
    height: 100vh;
    margin: 0 auto;
}

body {
    background: #fff;
    margin: 0;
}

.bg-gray {
    background: #F1F3F8;
}

input {
    padding: 0.9rem !important;
    border-radius: 0.7rem !important;
}

label {
    color: #999;
}


.form-check input {
    width: 18px;
    height: 18px;
    border-color: #999 !important;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #6200EE !important;
}

.custom-checkbox .custom-control-input:checked:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(98, 0, 238, 0.8)
}

.custom-checkbox .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 0, 0, 0.25)
}

.custom-checkbox .custom-control-input:active ~ .custom-control-label::before {
    background-color: #b27efc;
}

.custom-control-label::before {
    position: absolute;
    top: 0.34rem;
    left: 0;
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    pointer-events: none;
    content: "";
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid #ddd;
    background: none;
}

.custom-control-label::after {
    position: absolute;
    top: 0.34rem;
    left: 0;
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
}

body p, h1, h2, h3, h4, h5, h6, span, div {
    font-family: pretendard;
    font-weight: 300;
    letter-spacing: -0.5px;
    line-height: 2rem;
}

.text-500 {
    font-weight: 500;
}

.text-bold {
    font-weight: bold;
}

.text-size-07 {
    font-size: 0.7rem !important;
}

.text-size-08 {
    font-size: 0.8rem !important;
}

.margin-top-zero {
    margin-top: 0 !important;
}

.margin-bottom-zero {
    margin-bottom: 0 !important;
}

.btn-outline-light {
    padding: 0.6rem;
    border-radius: 10px;
    border: 1px solid #888;
}

.page-item.active .page-link {
    background-color: #6200EE;
    border-color: #6200EE;
}

.page-link {
    color: #6200EE;
}

.h-100 {
    min-height: 100vh;
}

.w-5 {
    width: 5%;
}

.w-10 {
    width: 10%;
}

.w-15 {
    width: 15%;
}

.w-20 {
    width: 20%;
}

.w-25 {
    width: 25%;
}

.w-30 {
    width: 30%;
}

.w-40 {
    width: 40%;
}

.w-60 {
    width: 60%;
}

.w-70 {
    width: 70%;
}

.w-80 {
    width: 80%;
}

.w-90 {
    width: 90%;
}

.w-100 {
    width: 100%;
}

.color-black {
    color: #222 !important;
}

/*sidebar*/

.input-group > .custom-select:not(:last-child), .input-group > .form-control:not(:last-child) {
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}

.sidebar {
    height: 100vh;
    position: fixed; /* 스크롤을 따라오도록 지정 */
    left: 0;
    background: #6200EE;
    width: 15rem;
    min-width: 240px;
    min-height: var(--side-bar-height); /* 사이드바의 높이를 전체 화면 높이의 90%로 지정 */
    margin-top: calc((100vh - var(--side-bar-height)) / 2);
    z-index: 9999;
    flex-direction: column;
    justify-content: space-between; /* 상단과 하단 내용을 분리 */
    height: 100vh; /* 뷰포트 높이에 맞춤 */
    overflow-y: auto;
}

.sidebar-header {
    padding: 30px 20px;
}

.sidebar ul {
    padding: 1rem;
}

.sidebar li a:hover {
    color: #fff;
    text-decoration: none;
}

.sidebar li a {
    padding: 10px 15px;
    margin-bottom: 5px;
    border-radius: 15px;
    display: block;
}

.sidebar li a:hover, :focus {
    background: rgb(148, 148, 224, 0.5);
    color: #fff;
}

.sidebar li a.active {
    background: rgb(148, 148, 224, 0.5);
    color: #fff;
}

.sidebar li > ul {
    padding: 0rem;
}

.sidebar li > ul > li a {
    padding: 6px 30px;
    margin-bottom: 5px;
    color: #ddd;
}

.dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 0.255em !important;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

.log_information {
    margin-top: auto;
    background: rgb(0, 0, 0, 0.3);
    height: 160px;
    width: 15rem;
    padding: 2rem;
    margin-left: -1rem;
    position: relative;
}

.log_information p {
    font-size: 0.9rem;
    margin: 0;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-input .form-control {
    padding: 0.8rem;
    border-radius: 15px;
}

.content-box {
    width: 65rem;
    height: 900px;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
}

.table {
    height: 900px;
}

.table td, .table th {
    border-top: none;
    vertical-align: middle !important;
}

.table thead th {
    white-space: nowrap;
}

.table-vertical tr {
    float: left;
}

.table-list th {
    padding: 1rem;
    width: 20%;
}


/*button*/

.btn-style {
    background: #6200EE;
    color: #fff;
    border: none;
    border-radius: 15px;
    padding: 0.5rem 1.5rem;
    min-width: 120px;
}

.btn-style:hover {
    opacity: 0.5;
    transition: 0.8;
}

.btn.disabled,
.btn:disabled,
.custom-btn:disabled,
.custom-btn:hover:disabled {
    background: #888;
    opacity: .65;
}


.custom-btn {
    color: #fff;
    border-radius: 15px;
    padding: 8px 35px;
    font-weight: 500;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
    box-shadow: inset 2px 2px 2px 0px rgba(255, 255, 255, .5),
    7px 7px 20px 0px rgba(0, 0, 0, .1),
    4px 4px 5px 0px rgba(0, 0, 0, .1);
    outline: none;
    min-width: 120px;
}


/* 1 */
.btn-1 {
    background: rgb(98, 0, 238);
    background: linear-gradient(0deg, rgba(98, 0, 238, 1) 0%, rgba(98, 0, 238, 0.8) 100%);
    border: none;
}

.btn-1:hover {
    background: rgba(98, 0, 238, 0.8);
    background: linear-gradient(0deg, rgba(98, 0, 238, 0.8) 0%, rgba(98, 0, 238, 0.6) 100%);
}

.btn-1:focus {
    border: none;
    outline: none;
}


.btn-lg {
    padding: 1.2rem;
    font-size: 1rem;
}

.login-input {
    width: 400px;
}

.login-info {
    background: rgba(98, 0, 238, 1)
}


/*footer*/

#wrapper {
    height: auto;
    min-height: 100%;
    padding-bottom: 8vh;
    margin-left: 15rem;
}

footer {
    height: 5vh;
    position: relative;
    transform: translateY(-100%);
}

footer p {
    font-size: 0.85rem;
    line-height: 1.15rem;
    color: #888;
}

.login-footer {
    font-weight: 100;
    line-height: 1.3rem !important;
    position: fixed;
    padding: 0px 20px;
    bottom: 10px;
    font-size: 0.85rem;
    line-height: 1.15rem;
    color: #fff;
}


.login-inquiry {
    font-weight: 300;
    position: fixed;
    padding: 0px 20px;
    bottom: 10px;
    font-size: 0.85rem;
    line-height: 1.15rem;
    color: #333;
}

.select-height {
    height: 3.5rem !important;
}


.margintopminus2 {
    margin-top: -2rem;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


.height-1rem {
    height: 1rem;
}

.margin-top-plus-02 {
    margin-top: 0.2rem;
}

.margin-top-plus-025 {
    margin-top: 0.25rem;
}

.margin-top-plus-2 {
    margin-top: 2rem !important;
}

.margin-top-plus-1 {
    margin-top: 1rem !important;
}

.margin-bottom-plus-02 {
    margin-bottom: 0.2rem;
}

.margin-bottom-plus-1 {
    margin-bottom: 1rem;
}

.margin-bottom-plus-2 {
    margin-bottom: 2rem;
}

.margin-bottom-plus-10 {
    margin-bottom: 10rem;
}

.margin-right-02 {
    margin-right: 0.2rem !important;
}

.margin-right-05 {
    margin-right: 0.5rem !important;
}

.margin-right-1 {
    margin-right: 1rem !important;
}

.padding-top-1rem {
    padding-top: 1rem !important;
}


.client-info-title {
    background: #eee;
    border-radius: 10px;
    padding: 1rem;
    font-size: 18px;
    color: #666;
}

.invoice-title {
    background: rgb(98, 0, 238);
    border-radius: 10px;
    padding: 1rem;
    font-size: 18px;
    color: #fff;
}

.client-info-box {
    background: #fff;
    border-radius: 10px;
    padding: 1.5rem;
}

.client-info-box p {
    font-weight: 500;
    line-height: 22px;
}

.client-info-box hr {
    border: 1px solid #ddd;
    width: 97%;
}

.info-box textarea {
    border: 1px solid #ddd;
    border-radius: 10px;
    width: 100%;
    background: white;
    color: black;
}

label {
    margin-bottom: 0;
}

/* 노트북 & 테블릿 가로 (해상도 1024px ~ 1279px)*/
@media all and (min-width: 1024px) {
    .log_information {
        background: rgb(0, 0, 0, 0.3);
        height: 160px;
        width: 230px;
        padding: 2rem;
        position: fixed;
        bottom: 0;
        margin-left: -1rem;
    }

    .log_information p {
        font-size: 0.9rem;
        margin: 0;
        color: #fff;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;

    }

    .login-input {
        width: 90%;
        max-width: 400px;
    }

    .login-inquiry {
        font-weight: 300;
        position: fixed;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #333;
    }


    /*footer*/
    #wrapper {
        height: auto;
        min-height: 100%;
        padding-bottom: 8vh;
        margin-left: 15rem;
    }

    footer {
        height: 5vh;
        position: relative;
        transform: translateY(-100%);
    }

    footer p {
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #888;
    }

    .login-footer {
        font-weight: 100;
        line-height: 1.3rem !important;
        position: fixed;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #fff;
    }


    .login-inquiry {
        font-weight: 300;
        position: fixed;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #333;
    }

    .select-height {
        height: 3.5rem !important;
    }


    .margintopminus2 {
        margin-top: -2rem;
    }

    .login-info {
        background: rgba(98, 0, 238, 1)
    }
}


/* 테블릿 가로 (해상도 768px ~ 1023px)*/
@media all and (min-width: 768px) and (max-width: 1023px) {
    .log_information {
        background: rgb(0, 0, 0, 0.3);
        height: 160px;
        width: 230px;
        padding: 2rem;
        position: fixed;
        bottom: 0;
        margin-left: -1rem;
    }

    .log_information p {
        font-size: 0.9rem;
        margin: 0;
        color: #fff;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .login-input {
        width: 400px;
    }

    .login-inquiry {
        font-weight: 300;
        position: fixed;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #333;
    }


    /*footer*/
    #wrapper {
        height: auto;
        min-height: 100%;
        padding-bottom: 8vh;
        margin-left: 15rem;
    }

    footer {
        height: 5vh;
        position: relative;
        transform: translateY(-100%);
    }

    footer p {
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #888;
    }

    .login-footer {
        font-weight: 100;
        line-height: 1.3rem !important;
        position: fixed;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #fff;
    }


    .login-inquiry {
        font-weight: 300;
        position: absolute !important;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #333;
    }

    .login-info {
        background: rgba(98, 0, 238, 1)
    }

}


/* 모바일 가로 & 세로 (~ 767px)*/
@media all and (max-width: 767px) {
    .log_information {
        background: rgb(0, 0, 0, 0.3);
        height: 160px;
        width: 230px;
        padding: 2rem;
        position: fixed;
        bottom: 0;
        margin-left: -1rem;
    }

    .log_information p {
        font-size: 0.9rem;
        margin: 0;
        color: #fff;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .login-input {
        width: 90%;
        max-width: 320px;
    }

    .login-inquiry {
        font-weight: 300;
        position: absolute !important;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #333;
    }


    /*footer*/
    #wrapper {
        height: auto;
        min-height: 100%;
        padding-bottom: 8vh;
        margin-left: 15rem;
    }

    footer {
        height: 5vh;
        position: relative;
        transform: translateY(-100%);
    }

    footer p {
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #888;
    }

    .login-footer {
        font-weight: 100;
        line-height: 1.3rem !important;
        position: fixed;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #fff;
    }


    .login-inquiry {
        font-weight: 300;
        position: fixed;
        padding: 0px 20px;
        bottom: 10px;
        font-size: 0.85rem;
        line-height: 1.15rem;
        color: #333;
    }


    .login-info {
        background: rgba(98, 0, 238, 1)
    }

    .login-info img {
        padding-bottom: 80px;
    }

}


/*common*/

a {
    color: #fff;
    text-decoration: none;
}


.wrap {
    max-width: 1600px;
    height: 100vh;
    margin: 0 auto;
}

.wrap-wide {
    height: 100vh;
    margin: 0 auto;
}

body {
    background: #fff;
    margin: 0;
}

.bg-gray {
    background: #F1F3F8;
}

input {
    padding: 0.9rem !important;
    border-radius: 0.7rem !important;
}

label {
    color: #999;
}


.form-check input {
    width: 18px;
    height: 18px;
    border-color: #999 !important;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #6200EE !important;
}

.custom-checkbox .custom-control-input:checked:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(98, 0, 238, 0.8)
}

.custom-checkbox .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 0, 0, 0.25)
}

.custom-checkbox .custom-control-input:active ~ .custom-control-label::before {
    background-color: #b27efc;
}

.custom-control-label::before {
    position: absolute;
    top: 0.34rem;
    left: 0;
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    pointer-events: none;
    content: "";
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid #ddd;
    background: none;
}

.custom-control-label::after {
    position: absolute;
    top: 0.34rem;
    left: 0;
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
}

body p, h1, h2, h3, h4, h5, h6, span, div {
    font-family: pretendard;
    font-weight: 300;
    letter-spacing: -0.5px;
    line-height: 1.8rem;
}

.text-500 {
    font-weight: 500;
}

.text-bold {
    font-weight: bold;
}


.btn-outline-light {
    padding: 0.6rem;
    border-radius: 10px;
    border: 1px solid #888;
}

.page-item.active .page-link {
    background-color: #6200EE;
    border-color: #6200EE;
}

.page-link {
    color: #6200EE;
}

.h-100 {
    min-height: 100vh;
}

.w-2_5 {
    width: 2.5%;
}

.w-5 {
    width: 5%;
}

.w-10 {
    width: 10%;
}

.w-20 {
    width: 20%;
}

.w-30 {
    width: 30%;
}

.w-40 {
    width: 40%;
}

.w-60 {
    width: 60%;
}

.w-70 {
    width: 70%;
}

.w-80 {
    width: 80%;
}

.w-90 {
    width: 90%;
}

.w-100 {
    width: 100%;
}

.color-black {
    color: #222 !important;
}

/*sidebar*/

.input-group > .custom-select:not(:last-child), .input-group > .form-control:not(:last-child) {
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}

.sidebar {
    height: 100vh;
    position: fixed; /* 스크롤을 따라오도록 지정 */
    left: 0;
    background: #6200EE;
    width: var(--side-bar-width);
    min-width: 240px;
    min-height: var(--side-bar-height); /* 사이드바의 높이를 전체 화면 높이의 90%로 지정 */
    margin-top: calc((100vh - var(--side-bar-height)) / 2);
    z-index: 9999;

}

.sidebar-header {
    padding: 30px 20px;
}

.sidebar ul {
    padding: 1rem;
}

.sidebar li a:hover {
    color: #fff;
    text-decoration: none;
}

.sidebar li a {
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 15px;
    display: block;
}

.sidebar li a:hover, :focus {
    background: rgb(148, 148, 224, 0.5);
    color: #fff;
}

.sidebar li a.active {
    background: rgb(148, 148, 224, 0.5);
    color: #fff;
}

.sidebar li > ul {
    padding: 0rem;
}

.sidebar li > ul > li a {
    padding: 6px 30px;
    margin-bottom: 5px;
    color: #ddd;
}

.dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 0.255em !important;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

.log_information {
    background: rgb(0, 0, 0, 0.3);
    height: 160px;
    width: 230px;
    padding: 2rem;
    position: fixed;
    bottom: 0;
}

.log_information p {
    font-size: 0.9rem;
    margin: 0;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/*content*/

.content-wrap {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    padding-right: 1rem;
    margin-left: 10rem;
}

.search-input .form-control {
    padding: 0.8rem;
    border-radius: 15px;
}

.table {
    height: 900px;
}

.table td, .table th {
    border-top: none;
    vertical-align: middle !important;
}

.table thead th {
    white-space: nowrap;
}

.table-vertical tr {
    float: left;
}

.table-list th {
    padding: 1rem;
    width: 20%;
}


/*button*/

.btn-style {
    background: #6200EE;
    color: #fff;
    border: none;
    border-radius: 15px;
    padding: 0.5rem 1.5rem;
    min-width: 120px;
}

.btn-style:hover {
    opacity: 0.5;
    transition: 0.8;
}

.btn.disabled,
.btn:disabled,
.custom-btn:disabled,
.custom-btn:hover:disabled {
    background: #888;
    opacity: .65;
}


.custom-btn {
    color: #fff;
    border-radius: 15px;
    padding: 8px 35px;
    font-weight: 500;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
    box-shadow: inset 2px 2px 2px 0px rgba(255, 255, 255, .5),
    7px 7px 20px 0px rgba(0, 0, 0, .1),
    4px 4px 5px 0px rgba(0, 0, 0, .1);
    outline: none;
    min-width: 120px;
}


/* 1 */
.btn-1 {
    background: rgb(98, 0, 238);
    background: linear-gradient(0deg, rgba(98, 0, 238, 1) 0%, rgba(98, 0, 238, 0.8) 100%);
    border: none;
}

.btn-1:hover {
    background: rgba(98, 0, 238, 0.8);
    background: linear-gradient(0deg, rgba(98, 0, 238, 0.8) 0%, rgba(98, 0, 238, 0.6) 100%);
}

.btn-1:focus {
    border: none;
    outline: none;
}

.info-box {
    min-width: 980px;
}


.btn-lg {
    padding: 1.2rem;
    font-size: 1rem;
}

.login-input {
    width: 400px;
}

.login-info {
    background: rgba(98, 0, 238, 1)
}


/*footer*/

#wrapper {
    height: auto;
    min-height: 100%;
    padding-bottom: 8vh;
}

footer {
    height: 5vh;
    position: relative;
    transform: translateY(-100%);
}

footer p {
    font-size: 0.85rem;
    line-height: 1.15rem;
    color: #888;
}

.login-footer {
    font-weight: 100;
    line-height: 1.3rem !important;
    position: fixed;
    padding: 0px 20px;
    bottom: 10px;
    font-size: 0.85rem;
    line-height: 1.15rem;
    color: #fff;
}


.login-inquiry {
    font-weight: 300;
    position: fixed;
    padding: 0px 20px;
    bottom: 10px;
    font-size: 0.85rem;
    line-height: 1.15rem;
    color: #333;
}


.client-info-title {
    background: #eee;
    border-radius: 10px;
    padding: 1rem;
    font-size: 18px;
    color: #666;
}

.invoice-title {
    background: rgb(98, 0, 238);
    border-radius: 10px;
    padding: 1rem;
    font-size: 18px;
    color: #fff;
}

.client-info-box {
    background: #fff;
    border-radius: 10px;
    padding: 1.5rem;
}

.client-info-box p {
    font-weight: 500;
    line-height: 22px;
}

.client-info-box hr {
    border: 1px solid #ddd;
    width: 97%;
}

.info-box textarea {
    border: 1px solid #ddd;
    border-radius: 10px;
    width: 100%;
}

label {
    margin-bottom: 0;
}


.client-info-check {
    text-align: left;
}

.client-info-check p::before {
    content: "· ";
}

.client-info-check p {
    font-weight: 600;
    margin-bottom: 0.4rem;
    line-height: 1.5rem !important;
}

.client-info-check span {
    font-weight: 300;
    line-height: 1.5rem !important;
}

.page-title {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.warning-text {
    font-size: 14px;
    line-height: 1.25rem;
    color: #666;
    text-align: center;
}

.btn-normal {
    width: 120px;
}

.client-info-check img {
    width: 100%;
    max-width: 500px;
}

.bg-black {
    background: rgba(0, 0, 0, 0.3);
    height: 100vh;
}

.bg-white {
    background: white;
}

.bg-round {
    border-radius: 0.5rem;
}

main {
    width: 100%;
    height: 100%;
    text-align: center;
}


main > div {
    float: left;
    width: 1%;
    height: 98%;
}

main > div:first-child {
    width: 98%;
    max-width: 600px;
}


main > div:last-child {
    width: 98%;
    max-width: 600px;
}


div#output {
    background-color: #eee;
    border-radius: 10px;
    padding: 10px;
}

div#frame {
    border: 2px solid #005666;
    background-color: #FFFFFF;
    border-radius: 10px;
    padding: 10px;
}


div#outputLayer {
    text-align: left;
}


canvas {
    width: 100%;
}

.side-bottom {
    padding-bottom: 10rem !important;
}

.display-none {
    display: none !important;
}

.margin-left-1 {
    margin-left: 1rem !important;
}

.margin-top-minus-1_8 {
    margin-top: -1.8rem !important;
}

/* 모바일 화면에서 가로 스크롤이 가능하도록 스타일 설정 */
@media (max-width: 768px) {
    .wrap {
        margin-left: 20rem;
    }

    .sidebar {
        width: 1600px; /* 화면 전체 너비를 차지하도록 설정 */
        height: 8rem; /* 높이를 자동으로 설정 */
        position: relative; /* 모바일에서는 고정된 위치를 제거 */
        display: flex; /* 플렉스 컨테이너로 변환 */
        flex-wrap: nowrap; /* 가로로 배치되도록 설정 */
        overflow-x: auto; /* 가로 스크롤이 가능하도록 설정 */
        white-space: nowrap; /* 항목이 한 줄에 표시되도록 설정 */
        margin-left: -20rem;
    }

    .sidebar ul {
        display: flex; /* 리스트 항목들을 가로로 배치 */
        flex-wrap: nowrap;
    }

    .sidebar ul li {
        flex: 0 0 auto; /* 각 항목이 고정된 크기를 가지도록 설정 */
        margin-right: 15px; /* 각 항목 사이에 간격 추가 */
    }

    .sidebar-header {
        display: none; /* 로고 등 사이드바 헤더 요소 숨김 */
    }

    .log_information {
        display: none; /* 로그아웃 버튼 등 추가 정보 숨김 */
    }
}