:root {
    --main-color: #002f6c; /* select focus border 등 */
    --main-hover-color: #002656;
}
/* 키보드로 버튼에 포커스 시 */
a:focus-visible,
article:focus-visible input[type="radio"]:focus-visible,
input[type="checkbox"]:focus-visible,
button:focus-visible,
select:focus-visible {
    outline: 2px dashed var(--main-hover-color);
}

* {
    /* font-family: "Pretendard Variable"; */
}
body {
    position: relative;
    width: 100vw;
    height: 100vh;
}
.wrapper {
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
    background-color: #f8f8f8;
    position: absolute;
    width: 100%;
    height: 100%;
    min-width: 560px;
    max-width: 560px;
    height: 700px;
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.wrapper:focus {
    border: none;
    outline: none;
}
.blockUi {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
}
.wrapper.main {
    overflow: visible;
}
.wrapper.sub {
    max-width: 560px;
    height: 680px;
    /* height: fit-content; */
}
.wrapper.cloud {
    max-width: 560px;
    height: 680px;
    background-color: #f8f8f8;
}
.wrapper > header,
.wrapper > main,
.wrapper > footer {
    box-sizing: border-box;
}
.bg-overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.25);
}
.cert-textbox {
    width: 100%;
    padding: 0.25rem;
    font-size: 13px;
    box-sizing: border-box;
    flex: 1;
    overflow-y: auto;
}
.cert-textbox p {
    padding-bottom: 1rem;
    word-break: keep-all;
    letter-spacing: -1px;
    word-break: keep-all;
}
.cert-textbox p .numbering {
    display: inline-block;
    padding-right: 8px;
}
.cert-textbox .depth_01 {
    padding-left: 0.5rem;
    padding-bottom: 0.5rem;
}
.cert-textbox .depth_01.nochild {
    padding-bottom: 0.8rem;
}
.cert-textbox .depth_02 {
    padding-left: 1rem;
    padding-bottom: 0.25rem;
}
.cert-textbox .pb1 {
    padding-bottom: 0.5rem;
}
.cert-textbox .pb2 {
    padding-bottom: 0.75rem;
}
.cert-textbox .pb3 {
    padding-bottom: 1rem;
}
.cert-textbox .pb4 {
    padding-bottom: 1.5rem;
}
/* @@@@@ 머리 영역 ML_header 시작 @@@@@*/
.ML_header {
    min-height: 100px;
    height: 100px;
    width: 100%;
    border-radius: 1rem 1rem 0 0;
    background-image: url("../images/img_pc/ML_tit_banner_blu_pc.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.ML_header_bar {
    display: flex;
    justify-content: space-between;
}
.ML_header_bar h2 {
    font-size: 1.125rem;
    line-height: 40px;
    padding-left: 1rem;
    color: #fff;
}
.ML_header_bar button {
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    position: relative;
    border-radius: 0 1rem 0 0;
}
.ML_header_bar button img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.ML_header_bar button:hover {
    background-color: red;
    cursor: pointer;
}
.ML_header_bar button .close-black {
    display: none;
}
.ML_header_bar button.reflex .close-black {
    display: block;
}
.ML_header_bar button:hover .close-black {
    display: none;
}
/* @@@@@ 머리 영역 ML_header 끝 @@@@@ */

/* @@@@@ 메인 영역 ML_body 시작 @@@@@*/
.ML_body {
    padding: 0 1rem;
    flex: 1;
}
/* @@@@@ @@@@@ 메인 1 - 인증서 종류 */
.tab-list {
    display: flex;
    flex-direction: row;
    width: 100%;
}
.tab-list.joint {
    justify-content: space-around;
}
.tab-list .tab-item {
    position: relative;
}
.tab-list .tab-item .btn {
    color: #666;
}

.tab-list .tab-item.active {
}
.tab-list .tab-item.active .btn {
    color: #1a1a1a;
    font-weight: 600;
}
.cert-submenu {
    display: none;
    position: absolute;
    top: 100%;
    width: fit-content;
    min-width: 100px;
    max-width: 200px;
    max-height: 300px;
    z-index: 10;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
}
.cert-submenu.left {
    left: 0;
}
.cert-submenu.right {
    right: 0;
}
.cert-submenu.active {
    display: block;
}
.cert-submenu li {
}
.cert-submenu li button {
    width: 100%;
    padding: 0.5rem;
    text-align: left;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
    overflow: hidden;
    cursor: pointer;
}
.cert-submenu li button:hover {
    background-color: #1a1a1a;
    color: #fff;
}
.tab-list.cert {
    height: 50px;
    padding: 0.5rem 0;
    box-sizing: border-box;
}
.tab-list.cert .tab-item {
    border-bottom: 2px solid transparent;
    margin: 0 0.5rem;
}
.tab-list.cert .tab-item button {
    padding: 0.5rem 0.25rem;
    white-space: nowrap;
    cursor: pointer;
    font-size: 1rem;
}
.tab-list.cert .tab-item button.active {
    border-bottom: 2px solid #1a1a1a;
    color: #1a1a1a;
    font-weight: bold;
}
/* .tab-list.cert .tab-item.active {
    border-bottom: 2px solid #1a1a1a;
} */
/* @@@@@ @@@@@ 메인 2 선택된 인증서 컨텐츠 헤더 */
.cert-header {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    box-sizing: border-box;
    height: 100px;
    border-radius: 1rem;
    background-color: #fff;
    /* gap: 1rem; */
}
.cert-header .cert-icon {
    width: 64px;
    height: 64px;
    margin-right: 1rem;
    background-size: cover;
    background-image: url("../images/img_pc/icon_finace_auth.png");
    background-position: center;
    background-repeat: no-repeat;
}
#financial-header .cert-icon {
    background-image: url("../images/img_pc/icon_finace_auth.png");
}
#cloud-header .cert-icon {
    background-image: url("../images/img_pc/icon_cloud_auth.png");
}
#ez-header .cert-icon {
    background-image: url("../images/img_pc/icon_ez_auth.png");
}
#kica-header .cert-icon {
    background-image: url("../images/img_pc/icon_cloud_auth_kica.png");
}
.cert-header .cert-description {
}
.cert-header .cert-description h3 {
    padding-bottom: 0.5rem;
    color: #52585d;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: left;
}
.cert-header .cert-description p {
    color: #52585d;
    font-size: 0.9rem;
}

.btn-tab.active.selected {
    border: 1px solid #1a1a1a;
    border-radius: 0.25rem;
}

/* @@@@@@종류별 아이콘 세팅 */
.tab-list.joint {
    justify-content: flex-start;
    height: 100%;
}
.tab-list.joint .tab-item {
    width: 100%;
    min-width: 100px;
    max-width: calc(100% / 5);
    padding: 0.5rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.tab-list .tab-item.active {
}
.tab-list.joint .tab-item .btn {
    color: #666;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.tab-list.joint .tab-item .btn.active {
    color: #1a1a1a;
    font-weight: 600;
    cursor: pointer;
}
.tab-list.joint .tab-item.active.selected .btn {
    color: #1a1a1a;
    font-weight: 600;
    border: 1px solid #1a1a1a;
    border-radius: 0.25rem;
}
.tab-list.joint .tab-item .btn.inactive {
    color: #666;
    font-weight: normal;
    cursor: default;
    position: relative;
}
.tab-list.joint .tab-item .btn.inactive.download {
    cursor: pointer;
}
.tab-list.joint .tab-item .btn.inactive.download::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 24px;
    height: 24px;
    /* cursor: pointer; */
    /* border: 1px solid black; */
    background-image: url("../images/img_pc/ML_storage_install.png");
    background-size: cover;
}
.btn-tab_iconWrap {
    position: relative;
    width: 48px;
    height: 48px;
    margin-bottom: 0.5rem;
    /* overflow: hidden; */
    /* box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); */
    box-sizing: border-box;
}
.btn-tab_iconWrap {
    background-image: url("../images/img_pc/ML_storage_icon.png");
    background-repeat: no-repeat;
    background-size: 192px 240px;
    background-position-x: 0px;
    background-position-y: 0px;
}
.btn-tab_iconWrap img {
    position: absolute;
    top: 0;
    left: -300%;
    width: 400%;
    display: none;
}
#web .btn-tab_iconWrap {
    background-position-y: 1px;
}
#hdd .btn-tab_iconWrap {
    background-position-y: -48px;
}
#mobile .btn-tab_iconWrap {
    background-position-y: -96.4px;
}
#smartcert .btn-tab_iconWrap {
    background-position-y: -144px;
}
#token .btn-tab_iconWrap {
    background-position-y: -192.6px;
}

.btn-tab.active .btn-tab_iconWrap {
    /* background-position-x: 0%; */
    background-position-x: 0px;
}
.btn-tab.active:hover .btn-tab_iconWrap {
    /* background-position-x: 33.3%; */
    background-position-x: -48px;
}
.btn-tab.active.selected .btn-tab_iconWrap {
    /* background-position-x: 66.7%; */
    background-position-x: -96px;
}
.btn-tab.inactive .btn-tab_iconWrap {
    /* background-position-x: 100%; */
    background-position-x: -144px;
}
/* hdd 줄생김 오류 수정 */
#hdd.btn-tab.active .btn-tab_iconWrap {
    /* background-position-x: 0%; */
    background-position-x: -1px;
}
#hdd.btn-tab.active:hover .btn-tab_iconWrap {
    /* background-position-x: 33.3%; */
    background-position-x: -49px;
}
#hdd.btn-tab.active.selected .btn-tab_iconWrap {
    /* background-position-x: 66.7%; */
    background-position-x: -97px;
}
#hdd.btn-tab.inactive .btn-tab_iconWrap {
    /* background-position-x: 100%; */
    background-position-x: -147px;
}
/* smartcert 줄생김 오류 수정 */
#smartcert.btn-tab.active .btn-tab_iconWrap {
    /* background-position-x: 0%; */
    background-position-x: -1px;
}
#smartcert.btn-tab.active:hover .btn-tab_iconWrap {
    /* background-position-x: 33.3%; */
    background-position-x: -49px;
}
#smartcert.btn-tab.active.selected .btn-tab_iconWrap {
    /* background-position-x: 66.7%; */
    background-position-x: -97px;
}
#smartcert.btn-tab.inactive .btn-tab_iconWrap {
    /* background-position-x: 100%; */
    background-position-x: -143px;
}
/* @@@@@ @@@@@ 메인3 메직라인 선택 매체별 컨텐츠 */
.ML_body article {
    height: 240px;
}
.btn-change-liststyle {
    float: right;
    padding: 0.25rem 0.5rem;
    margin: 4px;
    cursor: pointer;
    width: 2rem;
    height: 2rem;
}
.btn-change-liststyle.to-table {
    background-image: url("../images/img_pc/btn_table_list_nor.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.btn-change-liststyle.to-table:hover {
    background-image: url("../images/img_pc/btn_table_list_ovr.png");
}
.btn-change-liststyle.to-slide {
    background-image: url("../images/img_pc/btn_table_grid_nor.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.btn-change-liststyle.to-slide:hover {
    background-image: url("../images/img_pc/btn_table_grid_ovr.png");
}
/* @@@@@ @@@@@ 매직라인 메인 - 인증서목록 테이블 스타일 */
.cert-tablelist {
    width: 100%;
    white-space: nowrap;
    border-spacing: 0;
    table-layout: fixed;
}
.cert-tablelist caption {
    display: none;
}
.cert-tablelist thead {
    display: block;
    border-radius: 1rem 1rem 0 0;
    background-color: #ccc;
    font-size: 0.9rem;
    box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.1);
    margin-top: 0.75rem;
}
.cert-tablelist thead tr {
    display: table;
    width: 100%;
}
.cert-tablelist thead tr th {
    padding: 0.5rem 0;
    cursor: pointer;
}
.cert-tablelist thead tr th.descending {
    background-image: url("../images/img_pc/btn_arrow_up.png");
    background-position: calc(100% - 8px);
    background-repeat: no-repeat;
    background-size: 16px;
}
.cert-tablelist thead tr th.ascending {
    background-image: url("../images/img_pc/btn_arrow_down.png");
    background-position: calc(100% - 8px);
    background-repeat: no-repeat;
    background-size: 16px;
}
.cert-tablelist thead tr th:nth-of-type(1) {
    width: 35%;
}
.cert-tablelist thead tr th:nth-of-type(2) {
    width: 20%;
}
.cert-tablelist thead tr th:nth-of-type(3) {
    width: 25%;
}
.cert-tablelist thead tr th:nth-of-type(4) {
    width: 20%;
}
.cert-tablelist tbody {
    display: block;
    width: 100%;
    height: auto;
    min-height: 180px;
    max-height: 180px;
    border-radius: 0 0 1rem 1rem;
    padding-top: 0.2rem;
    background-color: #fff;
    overflow: auto;
}
.cert-tablelist tbody tr {
    display: table;
    width: 100%;
    padding: 0.5rem 0;
    font-size: 0.8rem;
    cursor: pointer;
    border-bottom: 1px solid #ccc;
    transform: scale(0.99);
    transition: 0.2s;
    color: #1a1a1a;
}
.cert-tablelist tbody tr:focus {
    outline: 2px dashed var(--main-hover-color);
}
.cert-tablelist tbody tr.selected {
    outline: 2px solid var(--main-hover-color);
    background-color: #fefefe;
}
.cert-tablelist tbody tr td,
.cert-tablelist tbody tr th {
    max-width: 0;
    padding: 0.25rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}
.cert-tablelist tbody tr th {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    text-align: left;
    position: relative;
    width: 35%;
    padding-left: 36px;
    cursor: pointer;
}

.cert-tablelist tbody tr td {
    text-align: center;
}
.cert-tablelist tbody tr th:nth-of-type(1)::before {
    display: block;
    position: absolute;
    left: 4px;
    width: 24px;
    height: 18px;
    background: url("../images/img_pc/icon_list_cert.png");
    background-size: cover;
    content: "";
    background-position: center;
    background-repeat: no-repeat;
}

.cert-tablelist tbody tr td:nth-of-type(1) {
    width: 20%;
}
.cert-tablelist tbody tr td:nth-of-type(2) {
    width: 25%;
}
.cert-tablelist tbody tr td:nth-of-type(3) {
    width: 20%;
}
.cert-tablelist tbody tr.inactive,
.cert-tablelist tbody tr.locked {
    color: #767676;
}
.cert-tablelist tbody tr.inactive th:nth-of-type(1)::before {
    content: "";
    background: url("../images/img_pc/icon_list_cert_dis.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.cert-tablelist tbody tr.expiring-soon th:nth-of-type(1)::before {
    content: "";
    background: url("../images/img_pc/icon_list_cert_renewal.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.cert-tablelist tbody tr.locked th:nth-of-type(1)::before {
    content: "";
    background: url("../images/img_pc/icon_list_cert_lock.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.cert-tablelist tbody tr.empty-cert-tablelist {
    padding: 0;
    border: none;
    cursor: auto;
    height: 180px;
}
.cert-tablelist tbody tr.empty-cert-tablelist td {
    width: 100%;
    border: none;
    padding: 0;
}
.cert-tablelist tbody tr.empty-cert-tablelist td p {
    display: -webkit-box;
    width: 100%;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    word-break: keep-all;
    margin-bottom: 0.4rem;
    font-size: 0.9rem;
}
.cert-tablelist tbody tr.empty-cert-tablelist td button {
    padding: 0.3rem 1rem;
    margin: 0.3rem 0;
    border-radius: 1rem;
    background-color: var(--main-color);
    color: #fff;
    cursor: pointer;
    transition: 0.3s;
}
.cert-tablelist tbody tr.empty-cert-tablelist td button img {
    width: 16px;
    margin-right: 0.25rem;
}
.cert-tablelist tbody tr.empty-cert-tablelist td button:hover {
    background-color: var(--main-hover-color);
}
/* @@@@@ @@@@@ 매직라인 메인 - 인증서목록 테이블 스타일 끝 */
/* @@@@@ @@@@@ 매직라인 메인 - 인증서목록 슬라이드 스타일 */

.cert-slidelist {
    display: inline-block;
    width: 100%;
    height: 180px;
    background-color: #fff;
}
.cert-slidelist.slick-slider {
    border-radius: 1rem;
    box-shadow: inset 0 0 4px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.cert-slidelist.slick-slider .slick-list {
    /* border: 1px solid black; */
}
.cert-slidelist.slick-slider .slick-list .slick-track {
    /* background-color: #fff; */
    /* border: 1px solid black; */
}
.cert-slidelist.slick-slider .slick-list .slick-track .slick-slide {
    /* border: 1px solid black; */
    box-sizing: border-box;
}
.cert-slidelist.slick-slider .slick-list .slick-track .slick-slide.slick-active {
}
.cert-slidelist.slick-slider .slick-list .slick-track .slick-slide.slick-active.slick-center {
}
.cert-slidelist.slick-slider .slick-list .slick-track .slick-slide > div {
    /* border: 1px solid black; */
    padding: 1rem 0.5rem;
}
.certlist-item {
    position: relative;
    /* border: 1px solid black; */
    width: 100%;
    padding: 0.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    border: 1px solid transparent;
    transition: 0.3s;
}
.certlist-item.selected {
    border: 1px solid #ccc;
}
.certlist-item .cert-category {
    /* color: #333; */
    padding-bottom: 0.5rem;
    font-size: 0.8rem;
    text-align: left;
}
.certlist-item .cert-user {
    padding-bottom: 1rem;
    font-size: 1rem;
    text-align: center;
}
.certlist-item .cert-user p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}
.certlist-item .cert-user .cert-user_name {
    font-weight: 500;
}
.certlist-item .cert-user .cert-user_num {
    font-size: 0.8rem;
}
.certlist-item .cert-expdate {
    text-align: left;
}
.certlist-item .cert-expdate p:nth-of-type(1) {
    font-size: 0.8rem;
}
.certlist-item .cert-expdate p:nth-of-type(2) {
    font-size: 0.9rem;
}
.certlist-item.inactive {
    color: #ccc;
    cursor: auto;
}
.certlist-item.inactive::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    content: "";
    box-sizing: border-box;
    background-image: url("../images/img_pc/icon_cert_expiration.png");
    background-repeat: no-repeat;
    background-position: center;
}
.cert-slidelist.slick-slider .slick-arrow {
    /* border: 1px solid black; */
    position: absolute;
    top: 50%;
    z-index: 10;
    cursor: pointer;
    transform: translateY(-50%);
}
.cert-slidelist.slick-slider .slick-arrow.slick-prev {
    left: 0.5rem;
}
.cert-slidelist.slick-slider .slick-arrow.slick-prev img {
    transform: rotate(180deg);
}
.cert-slidelist.slick-slider .slick-arrow.slick-next {
    right: 0.5rem;
}
.cert-slidelist.slick-slider .slick-arrow button {
}
/* @@@@@ @@@@@ 매직라인 메인 - 인증서목록 슬라이드 스타일 끝 */

/* @@@@@ @@@@@ 매직라인 메인 - 인풋영역 스타일 시작 */
.cert-input-wrapper {
    display: flex;
    padding: 0.5rem 0 0 0;
}
.cert-input-wrapper.disable-layout {
    display: none;
}
.cert-input-wrapper .btn-wrapper {
    display: flex;
    flex-direction: column;
    width: 40%;
    padding-right: 1rem;
    border-right: 2px solid #ccc;
}
.cert-input-wrapper .btn-wrapper .btn {
    padding: 0.3rem 1rem;
    margin: 0.3rem 0;
    border-radius: 1rem;
    background-color: var(--main-color);
    color: #fff;
    cursor: pointer;
    transition: 0.3s;
}
.cert-input-wrapper .btn-wrapper .btn:hover {
    background-color: var(--main-hover-color);
}
.cert-input-wrapper .input-wrapper {
    width: 100%;
    padding: 0 1rem;
}
.cert-input-wrapper .input-wrapper label {
    display: block;
    font-weight: 600;
    font-size: 1rem;
}
.cert-input-wrapper .input-wrapper input {
    width: 100%;
    padding: 0.5rem;
    margin: 0.25rem 0 0.5rem;
    border: 1px solid #aaa;
    border-radius: 8px;
}
.cert-input-wrapper .input-wrapper p {
    font-weight: 400;
    font-size: 0.9rem;
}

.cert-input-item.keyboard {
    padding: 0;
    margin-top: 0.75rem;
}
.cert-input-item.keyboard input {
    margin: 0;
}
.cert-input-item.keyboard input::placeholder {
    color: #757575;
}
.cert-input-item-notice {
    font-size: 0.8rem;
    padding-top: 0.5rem;
}
/* @@@@@ @@@@@ 매직라인 메인 - 인풋영역 스타일 끝 */
/* @@@@@ 메인 영역 ML_body 끝 @@@@@ */

/* @@@@@ 바닥 영역 ML_footer 시작 @@@@@*/

/* @@@@@ 바닥 영역 ML_footer 끝 @@@@@ */
.ML_footer {
    /* background-color: #f5f5f5; */
    box-sizing: border-box;
    border-radius: 0 0 1rem 1rem;
}
.ML_footer .btn-wrapper {
    padding: 0.5rem 0;
    text-align: center;
    justify-content: center;
}
.ML_footer .btn-wrapper .btn_common {
    margin: 0 0.25rem;
    padding: 0.5rem 3rem;
    border-radius: 1.5rem;
}
.ML_footer .footer-logo-wrapper {
    display: block;
    width: 100%;
    padding: 0.5rem 1rem;
    background-color: #eee;
    box-sizing: border-box;
    border-radius: 0 0 1rem 1rem;
}
.ML_footer .footer-logo-wrapper img {
    display: block;
    height: 18px;
    margin: auto;
}
/* @@@@@ 매직라인 브라우저 인증서 사용 설명 시작 */
.ML_browser_side_contents {
    background-color: #f8f8f8;
    position: absolute;
    left: unset !important;
    right: -320px !important;
    height: 100%;
    width: 320px;
    box-sizing: border-box;
    top: 0;
    border-radius: 1rem;
    box-shadow: 4px 0 4px rgba(0, 0, 0, 0.25);
}
.ML_browser_side_contents .ML_header {
    background: none;
    background-color: var(--main-hover-color);
}
.ML_header-description {
    border: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0.5rem 1.5rem;
}
.ML_header-description img {
    min-width: 48px;
    width: 48px;
    margin-right: 1rem;
}
.ML_header-description p {
    color: #fff;
    word-break: keep-all;
}
.cert-textbox p {
    padding-bottom: 0.8rem;
    word-break: keep-all;
}
.cert-textbox p .numbering {
    display: inline-block;
    padding-right: 8px;
}
.cert-textbox p .deco_underline {
    background-color: #ffd5d5;
    font-weight: 600;
}
.cert-textbox .depth_01 {
    padding-left: 0.5rem;
}
.cert-textbox .depth_02 {
    padding-left: 1rem;
}
.cert-textbox .depth_03 {
    padding-left: 1.5rem;
}
.disable-layout {
    display: none;
}
/* @@@@@ 매직라인 브라우저 인증서 사용 설명 끝 */

/* 매직라인 서브 페이지 */
.ML_sub_header {
    background-color: #f8f8f8;
}
/* .wrapper.sub {
    width: 560px;
} */
/* @@@@@ 인증서 찾기 - 등록하기 */
.sub .ML_sub_header h2,
.cloud .ML_sub_header h2 {
    color: #1a1a1a;
}
.ML_sub_body {
    /* display: flex; */
    display: block;
    flex-direction: column;

    /* max-width: 400px; */
    background-color: #f8f8f8;
    padding: 1rem 1rem 0 1rem;
    flex: 1;
}
.ML_sub_body .magicline-header h1 {
    color: #1a1a1a;
}
.ML_sub_body .magicline-header {
    height: 40px;
}
.ML_sub_body .magicline-body {
    height: auto;
}
.sub .cert-textbox {
    padding: 1rem;
    background-color: #fff;
    border-radius: 0.5rem;
    flex: none;
}
.dropzone-wrap .cert-file-dropbox {
    /* display: flex; */
    /* padding: 1rem; */
    height: 190px;
    border-radius: 1rem;
    box-sizing: border-box;
    position: relative;
    overflow-x: visible;
    overflow-y: auto;
}
.cert-file-dropbox img {
    height: 64px;
}
.cert-file-dropbox p {
    color: #757575;
    word-break: keep-all;
}
.dropzone-wrap {
    padding: 0.5rem;
    margin-top: 1rem;
    border: 3px dashed #ccc;
    border-radius: 1rem;
    background-color: #fff;
}
.dropzone-wrap.inactive {
    padding: 0;
    margin-bottom: 1rem;
    border: 3px dashed transparent;
    /* background-color: transparent; */
}
.dropzone-table {
    width: 100%;
    border-spacing: 0px;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}
.dropzone-table-head {
    /* display: block;
    width: inherit; */
    /* border-radius: 1rem; */
    background-color: #ccc;
    font-size: 0.9rem;
    box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.1);
}
.dropzone-table-head tr {
    display: table;
    width: 100%;
    font-size: 1rem;
    font-weight: bold;
}
.dropzone-table-head tr td {
    padding: 8px;
    text-align: center;
}
.dropzone-table-head tr th {
    width: 40%;
}
.dropzone-table-head tr td:nth-of-type(1) {
    width: 30%;
}
.dropzone-table-head tr td:nth-of-type(2) {
    width: 30%;
}
.dropzone-table-body {
    background-color: #fff;
    height: 150px;
}
.dropzone-table-body tr {
    padding: 0.25rem 0;
    display: table;
    width: 100%;
    border-bottom: 1px solid #ccc;
    margin-bottom: 4px;
    font-size: 0.9rem;
}
.dropzone-table-body tr:last-child {
    /* border-bottom: none; */
}

.dropzone-table-body tr td {
    padding: 6px 0;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
    max-width: 0;
    padding: 0.25rem 0.5rem;
}
.dropzone-table-body tr th {
    width: 40%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
    max-width: 0;
    padding: 0.25rem 0.5rem;
}
.dropzone-table-body tr td:nth-of-type(1) {
    width: 30%;
}
.dropzone-table-body tr td:nth-of-type(2) {
    width: 30%;
}

/* 드롭 테이블 셀 너비 - thead */
.th_name .dropzone-table-head tr th {
    width: 40%;
}
.th_name .dropzone-table-head tr td:nth-of-type(1) {
    width: 40%;
}
.th_name .dropzone-table-head tr td:nth-of-type(2) {
    width: 20%;
}
.th_type .dropzone-table-head tr th {
    width: 30%;
}
.th_type .dropzone-table-head tr td:nth-of-type(1) {
    width: 70%;
}

/* 드롭 테이블 셀 너비 - tbody */
.th_name .dropzone-table-body tr th {
    width: 40%;
}
.th_name .dropzone-table-body tr td:nth-of-type(1) {
    width: 40%;
}
.th_name .dropzone-table-body tr td:nth-of-type(2) {
    width: 20%;
}
.th_type .dropzone-table-body tr th {
    width: 30%;
}
.th_type .dropzone-table-body tr td:nth-of-type(1) {
    width: 70%;
}
/*  */
.dropzone-table-body tr td.btncell {
    position: relative;
}
.dropzone-list-item-del_btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    background-size: cover;
    cursor: pointer;
    background-image: url("../images/img_pc/icon_file_del.png");
}
.dropzone-guide {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    word-break: keep-all;
}
.cert-add-input-wrapper {
    padding: 1rem 0;
}
.cert-input-item {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0.75rem 0;
}
.cert-input-item.right {
    justify-content: flex-end;
}
.cert-input-item label {
    /* padding-right: 0.5rem; */
    font-weight: 600;
    font-size: 1rem;
    width: 150px;
    white-space: nowrap;
    cursor: pointer;
}
.cert-add-input-wrapper .cert-input-item label {
}
.cert-add-input-wrapper .cert-input-item input[type="password"] {
    padding: 0.5rem;
}
.cert-input-item input[type="password"],
.cert-input-item input[type="text"] {
    width: 100%;
    /* padding: 1rem 2rem 1rem 1rem; */
    border: 1px solid #aaa;
    border-radius: 8px;
    font-size: 1.1rem;
    box-sizing: border-box;
}
.cert-input-item input[type="password"]:focus,
.cert-input-item input[type="text"]:focus {
    outline: 2px dashed var(--main-hover-color);
}
.cert-input-item input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 0.5rem;
    border-radius: 50%;
    background-color: transparent;
    background-size: cover;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("../images/img_pc/form_check_nor.png");
    background-repeat: no-repeat;
    background-position: 50% 50%;
}
.cert-input-item input[type="checkbox"]:checked {
    background-image: url("../images/img_pc/form_check_chk.png");
}
.cert-input-item button {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 36px;
    height: 36px;
    background: 100% 100% / 100% 100% url("../images/img_pc/btn_folder_nor.png") no-repeat;
    cursor: pointer;
    transform: translateY(-50%);
}
.cert-input-item button:hover {
    background: 100% 100% / 100% 100% url("../images/img_pc/btn_folder_ovr.png") no-repeat;
}
.cert-input-item.keyboard button {
    top: 50%;
    transform: translateY(-50%);
    background: 100% 100% / 100% 100% url("../images/img_pc/btn_keypad_nor.png") no-repeat;
}
.cert-input-item.keyboard button:hover {
    background: 100% 100% / 100% 100% url("../images/img_pc/btn_keypad_ovr.png") no-repeat;
}
.cert-input-item .file-input-wrapper {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 0;
    font-size: 0;
    white-space: normal;
    cursor: pointer;
}
.file-input-wrapper input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    font-size: initial;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.file_label {
    display: block;
    font-size: 1rem;
    white-space: nowrap;
    min-width: 120px;
}
.file_name {
    display: inline-block;
    width: 100%;
    height: 40px;
    padding: 0 36px 0 12px;
    border: 1px solid #aaa;
    border-radius: 8px;
    background-color: #fff;
    color: #666;
    font-weight: normal;
    font-size: 14px;
    line-height: 38px;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle;
    text-overflow: ellipsis;
    box-sizing: border-box;
}
.file_name::before {
    content: "";
}
.file_btn {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 4px;
    width: 36px;
    height: 36px;
    margin-left: 8px;
    border-radius: 4px;
    background: transparent;
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    line-height: 40px;
    text-align: center;
    vertical-align: middle;
    transform: translateY(-50%);
}
.file_btn img {
    width: 100%;
}
.wrapper.sub .ML_sub_footer .btn-wrapper,
.wrapper.cloud .ML_sub_footer .btn-wrapper {
    background-color: #f8f8f8;
    text-align: center;
    padding: 0.5rem 0 1rem;
}
.wrapper.sub .ML_sub_footer .btn-wrapper button,
.wrapper.cloud .ML_sub_footer .btn-wrapper button {
    margin: 0 0.5rem;
    padding: 0.5rem 3rem;
    border-radius: 1.5rem;
}
/* @@@@@ 인증서 찾기 - 등록하기 끝*/
/* @@@@@ 인증서 정보 - 확인하기  시작*/
.cert-info-tablist {
    display: flex;
}
.cert-info-tablist .btn_tab {
    padding: 0.5rem 2rem;
    background-color: #e1e1e1;
    font-weight: 600;
    cursor: pointer;
    transition: 0.25s;
}
.cert-info-tablist .btn_tab.active {
    background-color: #fff;
    cursor: auto;
}
.cert-info-tabpanel.normal,
.cert-info-tabpanel.detail {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* height: 400px; */
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: #fff;
    box-sizing: border-box;
}
.cert-info-tabpanel.detail {
    padding: 0.25rem 1rem;
    flex: 1;
    justify-content: space-between;
}
.cert-info-tabpanel.normal.disable-layout,
.cert-info-tabpanel.detail.disable-layout {
    display: none;
}
.cert-info-tabpanel.normal .cert-textbox {
    overflow-y: auto;
    flex: 1;
}
.cert-info-btnwrapper {
    flex-direction: column;
    justify-content: center;
    padding: 0.5rem;
    width: 100%;
    text-align: center;
}

.cert-info-detailtable {
    width: 100%;
    margin: 0.5rem;
    white-space: nowrap;
    border-spacing: 0;
}
.cert-info-detailtable caption {
    display: none;
}
.cert-info-detailtable thead {
    display: block;
    border: 1px solid #f5f5f5;
    background-color: #e1e1e1;
    font-size: 0.9rem;
    box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.1);
}
.cert-info-detailtable thead tr {
    display: table;
    width: 100%;
}
.cert-info-detailtable thead tr th {
    padding: 0.5rem 0;
}
.cert-info-detailtable thead tr th:nth-of-type(1) {
    width: 30%;
}
.cert-info-detailtable thead tr th:nth-of-type(2) {
    width: 70%;
}
.cert-info-detailtable tbody {
    display: block;
    width: 100%;
    height: auto;
    background-color: #fff;
    overflow-y: auto;
    max-height: 300px;
}
.cert-info-detailtable tbody tr {
    display: table;
    width: 100%;
    font-size: 0.8rem;
}
.cert-info-detailtable tbody tr th {
    background-color: #f7f7f7;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}
.cert-info-detailtable tbody tr td,
.cert-info-detailtable tbody tr th {
    max-width: 0;
    border: 1px solid #f5f5f5;
    text-align: center;
    white-space: wrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}
.cert-info-detailtable tbody tr th {
    width: 30%;
    padding: 0.5rem;
    background-color: #f7f7f7;
    font-weight: normal;
    text-align: left;
    box-sizing: border-box;
}
.cert-info-detailtable tbody tr td {
    width: 70%;
    padding: 0.5rem;
    text-align: left;
    box-sizing: border-box;
}
.cert-info-detail-textbox {
    width: 100%;
    margin: 0.5rem;
    height: 100%;
    max-height: 130px;
    min-height: 130px;
    border: 1px solid #eee;
    overflow-y: auto;
    flex: 1;
    box-sizing: border-box;
    padding: 0.5rem;
}
.cert-info-detail-textbox h3 {
    font-size: 1.1rem;
}
.cert-info-detail-textbox h4 {
    font-size: 1rem;
}
.cert-info-detail-textbox h5 {
    font-size: 0.9rem;
}
.cert-info-detail-textbox p {
    font-size: 0.8rem;
    word-break: break-all;
}

.cert-info-policy-textbox {
    text-align: center;
    width: 100%;
    margin: 0.5rem;
    height: 100%;
    max-height: 32px;
    min-height: 32px;
    overflow-y: auto;
    flex: 1;
    box-sizing: border-box;
    padding: 0.5rem;
}
.cert-info-policy-textbox p {
    font-size: 0.8rem;
    word-break: break-all;
}
/* @@@@@ 인증서 정보 - 확인하기 끝*/
/* @@@@@ 클라우드 인증서 시작 */
.cloud .ML_sub_body {
    padding: 3rem 3.5rem 1rem;
    width: 80%;
    max-width: none;
}
.cloud-login-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 1.5rem;
}
.magicline-body .cloud-login {
    height: auto;
}
.cloud-login h3 {
    margin-bottom: 2.5rem;
    font-weight: 600;
    font-size: 1.5rem;
}
.cloud-login-form {
    /* border: 1px solid black; */
}

.cloud-login-form .cert-input-item {
    padding: 0;
    margin-bottom: 1.75rem;
}
.cloud-login-form .cert-input-item label {
    min-width: 100px;
    font-size: 1.1rem;
    font-weight: bold;
}
.cloud-login-form .cert-input-item input[type="checkbox"] + label {
    text-align: right;
    width: auto;
    min-width: 0;
    /* lin */
}
.cloud-login-form .cert-input-item input:not([type="checkbox"]) {
    padding: 1rem;
}
.cloud-checkcode {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 1rem 1rem;
    border: 1px solid #ccc;
    border-radius: 0.5rem;
    background-color: #fff;
}
.cloud-checkcode p {
}
.cloud-checkcode h4 {
    font-weight: 500;
    font-size: 5rem;
    padding: 2rem 0;
}
.cloud-checkcode-time {
    padding: 0.5rem;
    text-align: center;
}
.cloud-checkcode-time span:nth-of-type(1) {
    position: relative;
    margin-right: 0.5rem;
    line-height: 100%;
}
.cloud-checkcode-time span:nth-of-type(1)::before {
    position: absolute;
    top: 1px;
    left: -20px;
    width: 16px;
    height: 16px;
    background-size: cover;
    content: "";
    background-image: url("../images/img_pc/icon_clock.png");
    background-position: center;
    background-repeat: no-repeat;
}
.cloud-checkcode-time span:nth-of-type(2) {
    color: red;
}
.wrapper.cloud .ML_sub_footer .btn-wrapper {
    padding: 2rem 0;
}
.wrapper.cloud .ML_sub_footer .btn-wrapper button {
    font-size: 1.1rem;
    padding: 1rem 5rem;
    border-radius: 28px;
}
/* @@@@@ 클라우드 인증서 끝*/

/* @@@@ 매직라인 메인 - 인증서별 페이지 */
.how-to-auth {
    /* border: 1px solid black; */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 0.5rem;
    border-radius: 1rem;
    background-color: #fff;
}
.how-to-auth.financial,
.how-to-auth.cloud,
.how-to-auth.ez,
.how-to-auth.kica {
    height: calc(100% - 160px);
}
.how-to-auth img {
    width: 100%;
    height: 140px;
    padding-bottom: 2rem;
}
.how-to-auth .text-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.how-to-auth .text-box p {
    font-weight: normal;
    color: #52585d;
}
.how-to-auth .text-box p span {
    font-weight: bold;
}

.how-to-auth.ez,
.how-to-auth.cloud {
    background-color: transparent;
}
.ez-inner-wrap,
.cloud-inner-wrap,
.kica-inner-wrap {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}
.auth-btn_wrap {
    display: flex;
    justify-content: space-around;
    padding: 1rem 2rem 1.5rem;
}
.auth-btn_wrap button {
    height: 80px;
    /* border: 1px solid black; */
    background-color: #fff;
    flex: 1;
    margin: 0 0.5rem;
    border-radius: 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
}
.auth-btn_wrap button h3 {
    font-size: 1rem;
}
.auth-btn_wrap button p {
    font-size: 0.8rem;
    color: #606060;
}
.auth-btn_wrap button img {
    width: 56px;
    height: 56px;
    padding: 0 1rem 0 0;
}

.auth-btn_wrap.cloud button img {
    /* height: 26px; */
    width: 130px;
    padding: 0;
}
.auth-guide_wrap {
    background-color: #fff;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 0.75rem;
}
/* @@@@ 매직라인 메인 - 인증서별 페이지 */

/* 팝업 시작 */

.popup-overlay {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.25);
}
.popup-wrap {
    background-color: #f8f8f8;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 1rem;
    padding: 1rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 400px;
}
.popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.popup-header button {
    width: 36px;
    height: 36px;
    cursor: pointer;
}
.popup-header button img {
    width: 100%;
    height: 100%;
}
.popup-title {
    font-size: 1.2rem;
}
.popup-main {
    padding: 0.5rem 0;
    max-height: 250px;
}
.popup-inner {
    height: fit-content;
    padding: 1rem 0.25rem 0;
    overflow-y: auto;
    word-break: keep-all;
}
.popup-inner h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}
.popup-inner h4 {
    font-size: 1rem;
    margin-bottom: 0.25rem;
}
.popup-inner h5 {
    font-size: 0.95rem;
}
.popup-inner p {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    word-break: keep-all;
}
.popup-inner .depth_01 {
    padding-left: 0.5rem;
}
.popup-inner .depth_02 {
    padding-left: 1rem;
}
.popup-inner .depth_03 {
    padding-left: 1.5rem;
}
.popup-inner.center {
    text-align: center;
}
.popup-inner.left {
    text-align: left;
}
.popup-inner .popup-inner-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    word-break: keep-all;
    margin-bottom: 1rem;
}
.download .popup-inner-header img {
    width: 75px;
}
.popup-inner .popup-inner-body {
    padding: 1rem;
    border-radius: 0.25rem;
    background-color: #fff;
}
.popup-inner .cert-input-item input[type="text"] {
    padding: 1rem;
}
.popup-footer {
    padding: 0.75rem 0 0;
    display: flex;
    justify-content: center;
    gap: 1rem;
    /* border: 1px solid black; */
}
.popup-footer.btn2way {
}
.popup-footer.btn1way {
}
.popup-footer button {
    /* margin: 0 0.5rem; */
    flex: 1;
    padding: 0.5rem 0;
}
.popup-footer.btn1way button {
    width: 100%;
}
/* 팝업 끝 */
/* 기타 */
.loading-page {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.5);
}
.loading-page div {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    background-color: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}
.loading-page div img {
    width: 72px;
}
.loading-page div p {
    font-size: 0.9rem;
}
/* 기타 끝 */
/* 공용 */
.disable-layout {
    display: none !important;
}
/* === 공용 버튼 디자인 */
.btn_common {
    padding: 0.3rem 2rem;
    margin: 0.3rem 0;
    border-radius: 1rem;
    background-color: var(--main-color);
    color: #fff;
    border: 1px solid transparent;
    cursor: pointer;
    transition: 0.3s;
}
.btn_common:hover,
.btn_common:focus,
.btn_common:focus:not(:focus-visible) {
    border: 1px solid var(--main-hover-color);
    background-color: var(--main-hover-color);
    color: #fff;
}
.btn_common.disable {
    background-color: #e7e7e7;
    color: #676767;
}
.btn_common.reflex {
    background-color: #fff;
    color: #52585d;
    border: 1px solid #52585d;
}
.btn_common.reflex.disable {
    background-color: #f5f5f5;
    border: 1px solid #707070;
    color: #707070;
}
.btn_common.reflex:hover,
.btn_common.reflex:focus,
.btn_common.reflex:focus:not(:focus-visible) {
    border: 1px solid #2b2b2b;
    background-color: #ffffff;
    color: #2b2b2b;
}

.btn_wrapper .btn_common {
    padding: 0.3rem 2rem;
    margin: 0.3rem 0;
    border-radius: 1rem;
    background-color: #666;
    color: #fff;
    border: 1px solid transparent;
    cursor: pointer;
    transition: 0.3s;
}
.btn_wrapper .btn_common:hover,
.btn_wrapper .btn_common:focus,
.btn_wrapper .btn_common:focus:not(:focus-visible) {
    background-color: #2b2b2b;
    color: #fff;
}
.btn_wrapper .btn_common.reflex {
    background-color: #fff;
    color: #52585d;
    border: 1px solid #52585d;
}
.btn_wrapper .btn_common.reflex.disable {
    background-color: #f5f5f5;
    border: 1px solid #707070;
    color: #707070;
}
.btn_wrapper .btn_common.reflex:hover,
.btn_wrapper .btn_common.reflex:focus,
.btn_wrapper .btn_common.reflex:focus:not(:focus-visible) {
    border: #2b2b2b;
    background-color: #ffffff;
    color: #2b2b2b;
}
/* === 공용 버튼 디자인 */
.scroll {
    width: 100%;
    overflow-x: auto;
    /* float: left; */
    /* overflow-y: auto; */
    /* margin: 0 10px; */
}
.scroll-custom::-webkit-scrollbar {
    height: 4px;
    width: 8px;
}

.scroll-custom::-webkit-scrollbar-track {
    background: #eee;
}

.scroll-custom::-webkit-scrollbar-thumb {
    background: #666;
}
#capslock_password-input,
#capslock_cert-password {
    color: red;
    font-size: 0.9em;
}
