@charset "utf-8";

/* 공통 style */
/* ------------------------- common ------------------------- */
body {
  font-size: 14px;
  font-family: "pretendard", sans-serif !important;
  font-weight: 400;
  line-height: 1.2rem !important;
  height: var(--app-height);
  overscroll-behavior: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: #e7edfa70;
    background-color: #f3f6ff;
}

#page{
    max-width: 648px;
    margin: 0 auto;
}

p{margin-bottom: 0;}
a{color: inherit;}
a:hover{color: inherit;}
ol, ul, dl {margin: 0;padding: 0;}
li{list-style: none;}

ol, ul{padding-left:0; list-style: none; margin:0; padding:0}

.clear:after{content: ''; display: block; clear: both;}

.blind{
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}

hr{
    border-color: #d9deee;
    opacity: 1;
}
.width-fit {width: -webkit-fill-available !important;}
/* ------------------------- font/text/title ------------------------- */
.font-light{font-weight: 300 !important;}
.font-normal{font-weight: 400 !important;}
.font-medium{font-weight: 500 !important;}
.font-bold{font-weight: 600 !important;}
.font-semibold{font-weight: 700 !important;}
.font-extrabold{font-weight: 800 !important;}
.font-black{font-weight: 900 !important;}

.ls-05{letter-spacing:-0.5px !important}
.ls-1{letter-spacing:-1px !important}

.text-danger {color: #ff0000 !important; opacity: 1 !important;}

.step-title{
    margin-top: 18px;
    font-size: 26px;
    line-height: 1.3em;
    font-weight: 400;
}

.step-title b{
    font-weight: 700;
    display:block;
}

.text-ellipsis{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

.text-ellipsis-auto{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: auto;
}

.ellipsis-2 {
    overflow: hidden;
     text-overflow: ellipsis;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
}

/* ------------------------- color------------------------- */
.c-acacac{
    color: #acacac !important;
}

.c-a6a6a6{
    color: #a6a6a6 !important;
}

.c-a0a0a0{
    color: #a0a0a0 !important;
}

.c-868686{
    color: #868686 !important;
}

.c-9aa3b8{
    color: #9aa3b8 !important;
}

.c-919191{
    color: #919191 !important;
}

.c-666{
    color: #666 !important;
}

.c-888{
    color: #888 !important;
}

.c-999{
    color: #999 !important;
}

.c-adbee4{
    color: #adbee4 !important;
}

.c-gray1{
    color: #51595c !important;
}

.bg-gray1{
    background-color: #dce3e5 !important;
}

.bg-e2e9f9{
    background-color: #e2e9f9 !important;
}

.bg-e1e6f7{
    background-color: #e1e6f7 !important;
}

.border-bottom-1{
    border-bottom: 1px solid #d7e1f8;
}

/* ------------------------- box-shadow ------------------------- */
.box-shadow-0{box-shadow: none !important;}

/* ------------------------- margin/padding ------------------------- */
.m-auto { margin: 0 auto !important; }
.m-0 { margin: 0px !important; }
.m-1 { margin: 1px !important; }
.m-2 { margin: 2px !important; }
.m-3 { margin: 3px !important; }
.m-4 { margin: 4px !important; }
.m-5 { margin: 5px !important; }
.m-8 { margin: 8px !important; }
.m-10 { margin: 10px !important; }
.m-12 { margin: 12px !important; }
.m-15 { margin: 15px !important; }
.m-16 { margin: 16px !important; }
.m-20 { margin: 20px !important; }
.m-24 { margin: 24px !important; }
.m-32 { margin: 32px !important; }
.m-36 { margin: 36px !important; }
.m-40 { margin: 40px !important; }

.m-t-0 { margin-top: 0px !important; }
.m-t-1 { margin-top: 1px !important; }
.m-t-2 { margin-top: 2px !important; }
.m-t-3 { margin-top: 3px !important; }
.m-t-4 { margin-top: 4px !important; }
.m-t-5 { margin-top: 5px !important; }
.m-t-6 { margin-top: 6px !important; }
.m-t-7 { margin-top: 7px !important; }
.m-t-8 { margin-top: 8px !important; }
.m-t-9 { margin-top: 9px !important; }
.m-t-10 { margin-top: 10px !important; }
.m-t-11 { margin-top: 11px !important; }
.m-t-12 { margin-top: 12px !important; }
.m-t-15 { margin-top: 15px !important; }
.m-t-16 { margin-top: 16px !important; }
.m-t-20 { margin-top: 20px !important; }
.m-t-22 { margin-top: 22px !important; }
.m-t-24 { margin-top: 24px !important; }
.m-t-25 { margin-top: 25px !important; }
.m-t-30 { margin-top: 30px !important; }
.m-t-32 { margin-top: 32px !important; }
.m-t-35 { margin-top: 35px !important; }
.m-t-36 { margin-top: 36px !important; }
.m-t-40 { margin-top: 40px !important; }
.m-t-50 { margin-top: 50px !important; }
.m-t-70 { margin-top: 70px !important; }
.m-t-80 { margin-top: 80px !important; }
.m-t-100 { margin-top: 100px !important; }
.m-t-108 { margin-top: 108px !important; }
.m-t-110 { margin-top: 110px !important; }
.m-t-150 { margin-top: 150px !important; }

.m-r-0 { margin-right: 0px !important; }
.m-r-1 { margin-right: 1px !important; }
.m-r-2 { margin-right: 2px !important; }
.m-r-3 { margin-right: 3px !important; }
.m-r-4 { margin-right: 4px !important; }
.m-r-5 { margin-right: 5px !important; }
.m-r-6 { margin-right: 6px !important; }
.m-r-7 { margin-right: 7px !important; }
.m-r-8 { margin-right: 8px !important; }
.m-r-9 { margin-right: 9px !important; }
.m-r-10 { margin-right: 10px !important; }
.m-r-14 { margin-right: 14px !important; }
.m-r-15 { margin-right: 15px !important; }
.m-r-16 { margin-right: 16px !important; }
.m-r-20 { margin-right: 20px !important; }
.m-r-25 { margin-right: 25px !important; }
.m-r-30 { margin-right: 30px !important; }
.m-r-35 { margin-right: 35px !important; }
.m-r-40 { margin-right: 40px !important; }
.m-r-50 { margin-right: 50px !important; }
.m-r-60 { margin-right: 60px !important; }

.m-b-0 { margin-bottom: 0px !important; }
.m-b-1 { margin-bottom: 1px !important; }
.m-b-2 { margin-bottom: 2px !important; }
.m-b-3 { margin-bottom: 3px !important; }
.m-b-4 { margin-bottom: 4px !important; }
.m-b-5 { margin-bottom: 5px !important; }
.m-b-6 { margin-bottom: 6px !important; }
.m-b-7 { margin-bottom: 7px !important; }
.m-b-8 { margin-bottom: 8px !important; }
.m-b-9 { margin-bottom: 9px !important; }
.m-b-10 { margin-bottom: 10px !important; }
.m-b-14 { margin-bottom: 14px !important; }
.m-b-15 { margin-bottom: 15px !important; }
.m-b-20 { margin-bottom: 20px !important; }
.m-b-25 { margin-bottom: 25px !important; }
.m-b-30 { margin-bottom: 30px !important; }
.m-b-35 { margin-bottom: 35px !important; }
.m-b-40 { margin-bottom: 40px !important; }
.m-b-50 { margin-bottom: 50px !important; }

.m-l-auto { margin-left: auto !important; }
.m-l-0 { margin-left: 0px !important; }
.m-l-1 { margin-left: 1px !important; }
.m-l-2 { margin-left: 2px !important; }
.m-l-3 { margin-left: 3px !important; }
.m-l-4 { margin-left: 4px !important; }
.m-l-5 { margin-left: 5px !important; }
.m-l-7 { margin-left: 7px !important; }
.m-l-8 { margin-left: 8px !important; }
.m-l-10 { margin-left: 10px !important; }
.m-l-12 { margin-left: 12px !important; }
.m-l-15 { margin-left: 15px !important; }
.m-l-20 { margin-left: 20px !important; }
.m-l-25 { margin-left: 25px !important; }
.m-l-30 { margin-left: 30px !important; }
.m-l-35 { margin-left: 35px !important; }
.m-l-40 { margin-left: 40px !important; }
.m-l-50 { margin-left: 50px !important; }

.m-tb-10  { margin-top: 10px !important; margin-bottom: 10px !important; }
.m-tb-16  { margin-top: 16px !important; margin-bottom: 16px !important; }
.m-tb-20  { margin-top: 20px !important; margin-bottom: 20px !important; }

.m-lr-auto { margin-left: auto !important; margin-right: auto !important; }
.m-lr-0 { margin-left: 0px !important; margin-right: 0px !important; }
.m-lr-3 { margin-left: 3px !important; margin-right: 3px !important; }
.m-lr-4 { margin-left: 4px !important; margin-right: 4px !important; }
.m-lr-5 { margin-left: 5px !important; margin-right: 5px !important; }
.m-lr-8 { margin-left: 8px !important; margin-right: 8px !important; }
.m-lr-10 { margin-left: 10px !important; margin-right: 10px !important; }
.m-lr-12 { margin-left: 12px !important; margin-right: 12px !important; }

.p-0 { padding: 0px !important; }
.p-1 { padding: 1px !important; }
.p-2 { padding: 2px !important; }
.p-3 { padding: 3px !important; }
.p-4 { padding: 4px !important; }
.p-5 { padding: 5px !important; }
.p-7 { padding: 7px !important; }
.p-8 { padding: 8px !important; }
.p-9 { padding: 9px !important; }
.p-10 { padding: 10px !important; }
.p-12 { padding: 12px !important; }
.p-15 { padding: 15px !important; }
.p-16 { padding: 16px !important; }
.p-20 { padding: 20px !important; }
.p-25 { padding: 25px !important; }
.p-30 { padding: 30px !important; }
.p-32 { padding: 32px !important; }
.p-35 { padding: 35px !important; }
.p-40 { padding: 40px !important; }

.p-t-0 { padding-top: 0px !important; }
.p-t-1 { padding-top: 1px !important; }
.p-t-2 { padding-top: 2px !important; }
.p-t-3 { padding-top: 3px !important; }
.p-t-4 { padding-top: 4px !important; }
.p-t-5 { padding-top: 5px !important; }
.p-t-6 { padding-top: 6px !important; }
.p-t-7 { padding-top: 7px !important; }
.p-t-8 { padding-top: 8px !important; }
.p-t-10 { padding-top: 10px !important; }
.p-t-12 { padding-top: 12px !important; }
.p-t-14 { padding-top: 14px !important; }
.p-t-15 { padding-top: 15px !important; }
.p-t-16 { padding-top: 16px !important; }
.p-t-20 { padding-top: 20px !important; }
.p-t-24 { padding-top: 24px !important; }
.p-t-25 { padding-top: 25px !important; }
.p-t-30 { padding-top: 30px !important; }
.p-t-35 { padding-top: 35px !important; }
.p-t-40 { padding-top: 40px !important; }
.p-t-50 { padding-top: 50px !important; }
.p-t-100 { padding-top: 100px !important; }

.p-r-0 { padding-right: 0px !important; }
.p-r-1 { padding-right: 1px !important; }
.p-r-2 { padding-right: 2px !important; }
.p-r-3 { padding-right: 3px !important; }
.p-r-4 { padding-right: 4px !important; }
.p-r-5 { padding-right: 5px !important; }
.p-r-6 { padding-right: 6px !important; }
.p-r-7 { padding-right: 7px !important; }
.p-r-8 { padding-right: 8px !important; }
.p-r-10 { padding-right: 10px !important; }
.p-r-13 { padding-right: 13px !important; }
.p-r-15 { padding-right: 15px !important; }
.p-r-20 { padding-right: 20px !important; }
.p-r-25 { padding-right: 25px !important; }
.p-r-30 { padding-right: 30px !important; }
.p-r-35 { padding-right: 35px !important; }
.p-r-40 { padding-right: 40px !important; }

.p-b-0 { padding-bottom: 0px !important; }
.p-b-1 { padding-bottom: 1px !important; }
.p-b-2 { padding-bottom: 2px !important; }
.p-b-3 { padding-bottom: 3px !important; }
.p-b-4 { padding-bottom: 4px !important; }
.p-b-5 { padding-bottom: 5px !important; }
.p-b-7 { padding-bottom: 7px !important; }
.p-b-8 { padding-bottom: 8px !important; }
.p-b-10 { padding-bottom: 10px !important; }
.p-b-12 { padding-bottom: 12px !important; }
.p-b-20 { padding-bottom: 20px !important; }
.p-b-25 { padding-bottom: 25px !important; }
.p-b-30 { padding-bottom: 30px !important; }
.p-b-35 { padding-bottom: 35px !important; }
.p-b-40 { padding-bottom: 40px !important; }

.p-l-0 { padding-left: 0px !important; }
.p-l-1 { padding-left: 1px !important; }
.p-l-2 { padding-left: 2px !important; }
.p-l-3 { padding-left: 3px !important; }
.p-l-4 { padding-left: 4px !important; }
.p-l-5 { padding-left: 5px !important; }
.p-l-6 { padding-left: 6px !important; }
.p-l-7 { padding-left: 7px !important; }
.p-l-8 { padding-left: 8px !important; }
.p-l-10 { padding-left: 10px !important; }
.p-l-12 { padding-left: 12px !important; }
.p-l-15 { padding-left: 15px !important; }
.p-l-16 { padding-left: 16px !important; }
.p-l-18 { padding-left: 18px !important; }
.p-l-20 { padding-left: 20px !important; }
.p-l-25 { padding-left: 25px !important; }
.p-l-30 { padding-left: 30px !important; }
.p-l-35 { padding-left: 35px !important; }
.p-l-40 { padding-left: 40px !important; }

.p-tb-0 { padding-top: 0px !important; padding-bottom: 0px !important; }
.p-tb-4 { padding-top: 4px !important; padding-bottom: 4px !important; }
.p-tb-5 { padding-top: 5px !important; padding-bottom: 5px !important; }
.p-tb-6 { padding-top: 6px !important; padding-bottom: 6px !important; }
.p-tb-8 { padding-top: 8px !important; padding-bottom: 8px !important; }
.p-tb-10 { padding-top: 10px !important; padding-bottom: 10px !important; }
.p-tb-12 { padding-top: 12px !important; padding-bottom: 12px !important; }
.p-tb-16 { padding-top: 16px !important; padding-bottom: 16px !important; }

.p-lr-0 { padding-right: 0px !important; padding-left: 0px !important; }
.p-lr-4 { padding-right: 4px !important; padding-left: 4px !important; }
.p-lr-5 { padding-right: 5px !important; padding-left: 5px !important; }
.p-lr-6 { padding-right: 6px !important; padding-left: 6px !important; }
.p-lr-8 { padding-right: 8px !important; padding-left: 8px !important; }
.p-lr-10 { padding-right: 10px !important; padding-left: 10px !important; }
.p-lr-12 { padding-right: 12px !important; padding-left: 12px !important; }
.p-lr-16 { padding-right: 16px !important; padding-left: 16px !important; }

/* ------------------------- width ------------------------- */
.width-auto {width:auto !important;}
.width-48p{width: 48% !important;}
.width-40p{width: 40% !important;}
.width-50p{width: 50% !important;}
.width-60p{width: 60% !important;}
.width-90p{width: 90% !important;}
.width-95p{width: 95% !important;}
.width-98p{width: 98% !important;}
.width-100p{width: 100% !important;}

.width-26px{width: 26px !important;}
.width-30px{width: 30px !important;}
.width-40px{width: 40px !important;}
.width-50px{width: 50px !important;}
.width-52px{width: 52px !important;}
.width-57px{width: 57px !important;}
.width-60px{width: 60px !important;}
.width-68px{width: 68px !important;}
.width-70px{width: 70px !important;}
.width-80px{width: 80px !important;}
.width-100px{width: 100px !important;}
.width-122px{width: 122px !important;}
.width-140px{width: 140px !important;}
.width-160px{width: 160px !important;}
.width-170px{width: 170px !important;}
.width-200px{width: 200px !important;}

.min-width-52{min-width: 52px;}

/* ------------------------- height ------------------------- */
.lh-12em{line-height: 1.2em !important;}
.lh-13em{line-height: 1.3em !important;}

.height-auto{height: auto !important;}
.height-20px{height: 20px !important;}
.height-35px{height: 35px !important;}
.height-40px{height: 40px !important;}
.height-50px{height: 50px !important;}
.height-55px{height: 55px !important;}

/* ------------------------- display ------------------------- */
.d-flex-between-center{
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.d-flex-between-start{
    display: flex !important;
    justify-content: space-between !important;
    align-items: start !important;
}

.display-block {display: block !important;}

.vertical-middle{vertical-align: middle !important;}

.flex-1{flex: 1 !important;}
.flex-shrink-0{flex-shrink: 0 !important;}

/* ------------------------- button ------------------------- */
.btn.bottom{
    width: calc(100% - 32px);
    margin: 0 auto;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 15px;
}

.btn.bottom2{
    bottom: calc(28px + 55px);
}

.btn-main{
    height: 50px;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    background-color: var(--main-color);
    border-radius: 4px;
}

.btn-main:disabled{
    color: #97add9;
    background: var(--sub-color);
    border: unset;
}

.btn-main:hover{background-color:var(--main-color) !important; color: #fff !important;}

.btn-main.kakao{
    background-color: #fed548;
    color: #391d1d;
}

.btn-main.kakao:hover{
    background-color: #efbf16 !important;
}

.btn-sub{
    height: 50px;
    font-size: 17px;
    font-weight: 600;
    color: #97add9 !important;
    background: var(--sub-color) !important;
    border-radius: 4px;
}

.btn-sub:disabled{
    color: #888888 !important;
    background-color: #d5d5d5 !important;
    border: 0 !important;
}

.close-btn i{font-size: 18px;}

.floating-btn{
    position: fixed;
    right: 16px;
    bottom: 80px;
    z-index: 9999;
}

#topBtn{
    position: fixed;
    right: 16px;
    bottom:  calc(80px + env(safe-area-inset-bottom)* 1.1);
    z-index: 101;
    border: 1px solid #ffffff90;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, 0.15);
}

.check, .radio{
    display: inline-block;
}

/* ------------------------- form ------------------------- */
.input-group{
    display: block;
}

.input-group + .input-group{
    margin-top: 18px;
}

.input-group label{
    display: block;
    width: 100%;
    margin-bottom: 4px;
    font-size: 13px;
    color: #000;
    font-weight: 500;
    padding-left: 2px;
}

.label{
    display: block;
    font-size: 13px;
    color: #7f7f7f;
}

.input-group input,
.input-group select{
    display: inline-block;
    width: 100%;
    height: 50px;
    padding: 0 12px;
    font-size: 18px;
    font-weight: 500;
    border: 1px solid #d7e1f8 !important;
    border-radius: 6px;
}

.input-group input::placeholder{
    font-size: 17px !important;
    font-weight: 400 !important;
    color: #999999;
}
.input-group input:focus,
.input-group textarea:focus,
.input-group select:focus{
    font-size: 18px;
    font-weight: 500;
    color: #999999;
    border-color: var(--main-color) !important;
}

.input-group input + .form-inner-text{
    font-size: 18px;
    font-weight: 500;
    color: #999999;
    position: absolute;
    top: 42px;
    right: 10px;
}

.input-style input[type=date] {width: 100% !important;}
.input-style input:read-only{background: #e9ecef;}

.ios-slider {
    height: 40px !important;
    background: linear-gradient(to right, var(--main-color) 0%, var(--main-color) 100%);
    background-size: 100% 3px;
    background-position: center;
    background-repeat: no-repeat;
}

/* Input Date */
input[type="date"] {
    position: relative;
    padding: 0px 0px 0px 7px;
}

.input-style.has-borders input[type="date"]{
    padding-right: 3px !important;
    padding-left: 7px !important;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    color: transparent;
    background: none;
    z-index: 1;
}

input[type="date"]:before {
    color: transparent;
    background: none;
    display: block;
    font-family: 'FontAwesome';
    content: '\f073';
    width: 15px;
    height: 20px;
    position: absolute;
    top: 8px;
    right: 7px;
    color:#ccc;

    font-size: 16px;
    line-height: 25px !important;
}

/* input[type=date] - android */
.device-is-android .input-style input[type=date] {
    padding-top: 0 !important;
}

/* input[type=date] - iOS */
.min-ios15 input[type="date"]:before {
  right: -30px !important;
}

.min-ios15 input[type=date] {
  text-indent: -42px !important;
}

/* modal open type select */
.input-group:has(.select){
    position: relative;
}

.input-group:has(.select){
    background-image: url("../../images/icon/icon_down.svg");
    background-repeat: no-repeat;
    background-size: 12px;
    background-position: right 6px center;
}

.input-group .select{
    line-height: 50px;
    margin-left: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}

.select-list-wrap button{
    display: block;
    width: 100%;
}

.select-wrap{
    height: 50px;
    padding: 0 12px;
    font-size: 18px;
    font-weight: 500;
    border: 1px solid #d7e1f8;
    border-radius: 6px;
    background-color: #fff;
    background-image: url("../../images/icon/icon_down.svg");
    background-repeat: no-repeat;
    background-size: 12px;
    background-position: right 14px center;
    position: relative;
}

.select-wrap .labels{
    line-height: 50px;
    font-size: 17px !important;
    font-weight: 400;
    color: #999 !important;
}

.select-wrap:has(.disable){
    background-color: #f1f1f1;
}

.select-wrap>.select{
    width: 100%;
    height: 100%;
    padding-left: 12px;
    text-align: start;
    margin-left: 0;
    position: absolute;
    top: 0;
    left: 0;
}

.search-wrap{
    position: relative;
}

.search-wrap .search{
    display: block;
    width: 38px;
    height: 36px;
    text-align: start;
    background-image: url("../../images/icon/icon_search.svg");
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: right 12px center;

    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}


/* checkbox0 */
.check input[type="checkbox"]{margin: 0; padding: 0;}

.check input[type="checkbox"]{
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    vertical-align: middle;
    position: relative;
    outline: 0;
    background: #d7e1f8;
    box-sizing: border-box;
}

.check input[type="checkbox"]::before{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
}

.check input[type="checkbox"]:checked{
    background: var(--main-color);
}

.check input[type="checkbox"]:checked::before{
    content: '\f00c';
    font-weight: 600;
    padding-bottom: 0.5px;
    color: #fff;
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-size: 16px;
}

.check label, .radio label{
    vertical-align: middle;
    margin-left: 16px;
}

/* checkbox1 */
.checkBox-btn input[type="checkbox"]{display: none;}
.checkBox-btn input[type="checkbox"]+label{display: inline-block;min-width: 60px;height: 44px;border-radius: 10px;text-align: center;font-weight: bold;padding: 13px 3px;cursor: pointer;font-size: 1rem;position: relative;transition: all 350ms ease;} /* 버튼 기본 스타일 */
.checkBox-btn input[type="checkbox"]+label:hover{opacity: 1;}
.checkBox-btn input[type="checkbox"]:checked + label::after{content: attr(data-label);min-width: 80px;height: 42px;position: absolute;top: 0;left: 0; border-radius: 8px;padding: 12px 20px;width: 100%;}/* 버튼 체크 됐을 때 */
.theme-dark .checkBox-btn label{background: unset !important;}/* 다크모드일 때 버튼 배경색상 */
.theme-dark .checkBox-btn input[type="checkbox"]+label {color: #fff;}/* 다크모드일 때 버튼 컬러색상 */

/* radio1 */
.radioBox-btn input[type="radio"]{
  display: none;
}
.radioBox-btn input[type="radio"]+label{display: inline-block;min-width: 60px;height: 44px;border-radius: 10px;text-align: center;font-weight: bold;padding: 13px 3px;cursor: pointer;font-size: 1rem;position: relative;transition: all 350ms ease;} /* 버튼 기본 스타일 */
.radioBox-btn input[type="radio"]+label:hover{opacity: 1;}
.radioBox-btn input[type="radio"]:checked + label::after{content: attr(data-label);min-width: 80px;height: 44px;position: absolute;top: 0;left: 0; border-radius: 8px;padding: 13px 5px;width: 100%;}/* 버튼 체크 됐을 때 */
.theme-dark .radioBox-btn label{background: unset !important;}/* 다크모드일 때 버튼 배경색상 */
.theme-dark .radioBox-btn input[type="radio"]+label {color: #fff;}/* 다크모드일 때 버튼 컬러색상 */

/* radio 2 */
.radio-btn{
    display: inline-block;
    width: 100%;
    flex: 1;
}

.radio-btn input[type="radio"]{display: none; margin: 0; padding: 0;}

.radio-btn input[type="radio"] + label{
    display: inline-block;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 48px;
    line-height: 48px;
    text-align: center;
    vertical-align: middle;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    background: #fff;
    border: 1px solid #cbcbcb;
    border-radius: 8px;
    box-sizing: border-box;
    outline: 0;
}

.radio-btn input[type="radio"]:checked + label{
    color: #fff;
    background: var(--main-color);
    border: unset;
}

/* radio2 */
.radio2-btn{
    display: inline-block;
    width: auto;
}

.radio2-btn input[type="radio"]{display: none; margin: 0; padding: 0;}

.radio2-btn input[type="radio"] + label{
        display: inline-flex;
        align-items: center;
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 40px;
        margin-bottom: 0;
        padding: 0 15px 0 8px;
        text-align: center;
        vertical-align: middle;
        font-size: 16px;
        font-weight: 600;
        color: #8f94a6;
        background: #e6e9f5;
        border-radius: 50px;
        box-sizing: border-box;
        border: 2px solid #e6e9f5;
        text-wrap: nowrap;
}

.radio2-btn label .ck{
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    background-color: #bdc2d7;
    border-radius: 50%;
}

.radio2-btn label .text{
    display: inline-block;
    vertical-align: middle;
}

.radio2-btn input[type="radio"]:checked + label{
    color: var(--main-color);
    background: #fff;
    border: 2px solid var(--main-color) !important;
}

.radio2-btn input[type="radio"]:checked + label .ck{
    background-color: var(--main-color);
}

.radio2-btn input[type="radio"] + label .ck:before{
    content: '\f00c';
    display: block;
    width: 20px;
    height: 20px;
    line-height: 18px;
    margin-left: 3px;
    font-size: 14px;
    color: #fff;
}

/* radio 3 */
.radio3-btn{
    display: inline-block;
    width: 31%;
    margin-bottom: 5px;
}

.radio3-btn input[type="radio"]{display: none; margin: 0; padding: 0;}

.radio3-btn input[type="radio"] + label{
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 50px;
    text-align: center;
    vertical-align: middle;
    font-size: 16px;
    color: #000;
    background: #fff;
    border: 1px solid #d7e1f8;
    border-radius: 6px;
    box-sizing: border-box;
    outline: 0;
    position: relative;
}

.radio3-btn input[type="radio"]:checked + label{
    background: #f4fcff;
    border-color: var(--main-color);
}

.radio3-btn input[type="radio"]:checked + label:before{
    content: '\f00c';
    display: inline-block;
    width: 19px;
    height: 19px;
    line-height: 17px;
    font-size: 12px;
    font-family: 'FontAwesome';
    letter-spacing: -3px;
    color: #fff;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 5px;
    right: 6px;
}

.radio3-btn p{
    line-height: 1em;
}

.radio3-btn .logo{
    display: inline-block;
    width: 60px;
    height: 26px;
    vertical-align: middle;
    object-fit: contain;
}

/* radio4 */
.radio4-btn{
    display: inline-block;
    width: auto;
}

.radio4-btn input[type="radio"]{display: none; margin: 0; padding: 0;}

.radio4-btn input[type="radio"] + label{
        display: inline-flex;
        align-items: center;
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 39px;
        margin-bottom: 0;
        padding: 0 5px 0 5px;
        text-align: center;
        vertical-align: middle;
        font-size: 15px;
        font-weight: 600;
        color: #8f94a6;
        background: #e6e9f5;
        border-radius: 50px;
        box-sizing: border-box;
        border: 2px solid #e6e9f5;
        text-wrap: nowrap;
}

.radio4-btn label .ck{
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 4px;
    vertical-align: middle;
    background-color: #bdc2d7;
    border-radius: 50%;
}

.radio4-btn label .text{
    display: inline-block;
    vertical-align: middle;
}

.radio4-btn input[type="radio"]:checked + label{
    color: var(--main-color);
    background: #fff;
    border: 2px solid var(--main-color) !important;
}

.radio4-btn input[type="radio"]:checked + label .ck{
    background-color: var(--main-color);
}

.radio4-btn input[type="radio"] + label .ck:before{
    content: '\f00c';
    display: block;
    width: 17px;
    height: 13px;
    line-height: 19px;
    margin-left: 3px;
    font-size: 13px;
    color: #fff;
}

/* ------------------------- toggle ------------------------- */
.toggle-sty01 .switch {
    --_switch-padding: 4px;
    --_slider-bg-clr: #345afb;
    --_slider-bg-clr-on: #345afb;
    --_slider-txt-clr: #ffffff;
    --_switch-easing: cubic-bezier(0.47, 1.64, 0.41, 0.8);
    width: fit-content;
    position: relative;
    border-radius: 9999px;
    cursor: pointer;
    position: relative;
    isolation: isolate;
    border: 1px solid #cdd4ea;
    width: 120px !important;
    height: 50px;
}

.toggle-sty01 .switch input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.toggle-sty01 .switch > span {
  display: block;
  width: 50%;
  line-height: 49px;
  text-align: center;
  color: var(--main-color);
  font-size: 16px;
  font-weight: 700;
  transition: opacity 300ms ease-in-out 150ms;
}

.toggle-sty01 .switch > span.left{
    color: #fff;
    float: left;
}

.toggle-sty01 .switch > span.right{
    float: right;
}

.toggle-sty01 .switch:has(input:checked) .left{
    color: var(--main-color);
}

.toggle-sty01 .switch:has(input:checked) .right{
    color: #fff;
}

.toggle-sty01 .switch::before,
.toggle-sty01 .switch::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  transition: inset 150ms ease-in-out;
}

/* switch slider */
.toggle-sty01 .switch::before {
  background-color: var(--_slider-bg-clr);
  inset: var(--_switch-padding) 50% var(--_switch-padding)
    var(--_switch-padding);
  transition: inset 500ms var(--_switch-easing),
    background-color 500ms ease-in-out;
  z-index: -1;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.3);
}

/* switch bg color */
.toggle-sty01 .switch::after {
  background-color: #fff;
  inset: 0;
  z-index: -2;
}

/* checked - move slider to right */
.toggle-sty01 .switch:has(input:checked)::before {
  background-color: var(--_slider-bg-clr-on);
  inset: var(--_switch-padding) var(--_switch-padding) var(--_switch-padding)
    50%;
}

.toggle-sty01 .switch > input:checked ~ span:last-of-type {
  opacity: 1;
}

/* toggle-sty02 */
.toggle-sty02 {
    position: relative;
      display: inline-block;
      width: 77px;
      height: 39px;
      margin-top: -10px;

  & input {
    display: none;
    &:checked + label {
      &::after {
        transform: translateX(47px) !important;
      }
      &::before {
        background-color: var(--main-color) !important;
      }
    }
    &:disabled {
      + label {
        &::before {
          cursor: default;
        }
        &::after {
          cursor: default;
          background-color: #f6f6f6;
        }
      }
    }
  }

  & label {
    scale: 55%;
    &::before {
      content: "";
      display: block !important;
      background-color: #d7e1f8;
      pointer-events: all;
      width: 100px;
      height: 48px;
      border-radius: 50px;
      transition: all 250ms ease;
      cursor: pointer;
    }
    &::after {
      content: "";
      display: block !important;
      margin-top: -43px;
      width: 38px;
      height: 38px;
      border-radius: 50px !important;
      background-color: #fff;
      transition: all 250ms ease;
      cursor: pointer;
      margin-left: 8px;
      position: relative;
    }
  }
}


.toggle-label-text {
  color: #777777;
  display: inline-block;
  vertical-align: super;
  /*margin-top: 0.4rem;*/
  + .toggle {
    margin-left: 0.8rem;
  }
}

/* ------------------------- tab ------------------------- */
.tab-controls a:not(:last-child) {
    border-right: solid 1px rgba(0, 0, 0, 0.09) !important;
}

.tab-controls .bg-highlight.no-click .color-yellow-dark{color: #000 !important;}

.tab-controls .custom-tab{
    margin:0;
    margin-right: 6px;
    border-top-left-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    padding: 3px 15px;
    letter-spacing: -0.5px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tab-controls .custom-tab:last-child{margin: 0;}

.tab-controls .custom-line-tab {
    padding: 10px 0;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 2px solid #cbced8;
    font-size: 16px;
    font-weight: 500;
    color: #afb6c9;
}

.tab-controls .custom-line-tab.color-highlight{
    border-color: var(--main-color);
    font-weight: 700;
}

.tab-controls a.custom-line-tab {
    border-right: 0 !important;
}

.tab-controls .custom-line-tab .badge{
    min-width: 38px;
    height: 22px;
    line-height: 22px;
    padding: 0 6px;
    font-size: 14px;
    background-color: #cfd5e6;
    border-radius: 20px;
}

.tab-controls .custom-line-tab.color-highlight .badge{
    background-color: var(--main-color);
}

.tabs-small {
    line-height: 1rem;
}

.tabs-small.lh35 {
    line-height: 35px;
}

/* ------------------------- ect ------------------------- */
/* position */
.z-1 {z-index: 1 !important;}
.z-2 {z-index: 2 !important;}
.z-3 {z-index: 3 !important;}

.bg-transparent{background: transparent;}

.text-ellipsis{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

.text-ellipsis-auto{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: auto;
}

.or-line{
    margin: 20px auto;
    text-align: center;
    font-size: 16px;
    color: #aaaaaa;
    position: relative;
    z-index: 1;
}

.or-line:before{
    content: '';
    display: block;
    width: 45%;
    height: 1px;
    background-color: #cdcbca;

    position: absolute;
    top: 50%;
    margin-top: -.5px;
    left: 0;
    z-index: -1;
}

.or-line:after{
    content: '';
    display: block;
    width: 45%;
    height: 1px;
    background-color: #cdcbca;

    position: absolute;
    top: 50%;
    margin-top: -.5px;
    right: 0;
    z-index: -1;
}
.reco-1 {width: 29px; margin-right: 7px;}
.t-or { background: #f3f6ff;
     width: 100;
     width: 26px;
     display: block;
     text-align: center;
     margin: auto;
     margin-top: -25px;
     color: #92a3d5;}
.txt-1 {margin-top: -3px;
          display: block;
          letter-spacing: -0.5px;}
.ic-man {display:block;width:76px;}
/* icon */
.icon:hover {
    color: inherit;
}

.icon .fa,
.icon .fas,
.icon .fa-regular{
    vertical-align: middle;
}

.icon.refresh{
    display: inline-block;
    width: 26px;
    height: 26px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    background-image: url("../../images/icon/icon_refresh.svg");

    position: absolute;
    top: 37px;
    right: 12px
}

.delete-t-btn{
    position: absolute;
    width: 34px;
    height: 34px;
    top: 0px;
    right: 0px;
    color: var(--main-color2);
    font-size: 16px;
    background: rgba(0, 0, 0, 0.3);
}

.delete-c-btn{
    position: absolute;
    width: 34px;
    height: 34px;
    top: 0px;
    right: 0px;
    color: var(--main-color2);
    font-size: 16px;
    background: rgba(0, 0, 0, 0.3);
}

#alarmIcon .alarm-point{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 10px;
    color: #fff;
    background-color: var(--main-color);
    border-radius: 50%;

    position: absolute;
    top: 15px;
    right: 5px;
}

#alarmDiv .alarm-point{
    position: relative;
}

#alarmDiv .alarm-point:after{
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: red;
    border-radius: 50%;
    position: absolute;
    margin-left: 6px;
    top: 0;
    right: unset;
}

.home-menu-icon{
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

.home-menu-icon .line{
    display: block;
    height: 4px;
    background-color: #020202;
    border-radius: 12px;
}

.home-menu-icon .line:nth-child(1){
    width: 16px;
    margin-bottom: 3px;
}

.home-menu-icon .line:nth-child(2){
    width: 23px;
    margin-bottom: 3px;
}

.home-menu-icon .line:nth-child(3){
    width: 19px;
}

/* accordion */
.btn.accordion-btn{
    padding: 10px 16px;
    border-bottom: 1px solid #d7e1f8;
}

.btn.accordion-btn:active{
    border-color: transparent;
}

.btn.accordion-btn .icon .fa-chevron-down{
    color: #0184ff !important;
}

.accordion-has-ck{
    border-bottom: 1px solid #d7e1f8;
}

.accordion-has-ck .accordion-btn{
    border-bottom: 0;
}

/* sheet (모달) */
.menu-box-bottom {
    border-top: 1px solid #909090;
}

.menu-box-bottom.round-top-15{
    border-radius: 15px 15px 0 0 !important;
}

/* datePicker */
.datepicker {
    border: 0;
    font-family: "Pretendard", sans-serif;
    padding: 0;
    box-shadow: unset;
}

.datepicker .table-condensed{
    width: 100%;
}

.datepicker .datepicker-switch{
    font-size: 15px;
}

.datepicker th{
    text-align: center !important;
}

.datepicker td{
    font-size: 15px;
}

.datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover{
    background-color: var(--main-color);
    background-image: unset;
    color: #fff;
}

.datepicker .disabled {
    display: table-cell !important; /* datepicker 기본 display 복구 */
    visibility: visible !important;
}

/* 기존 disabled 색 덮어쓰기 */
.datepicker td.day.disabled,
.datepicker td.day.disabled:hover,
.datepicker td.day.disabled:first-child,
.datepicker td.day.disabled:last-child,
.datepicker td.day.new.disabled,
.datepicker td.day.old.disabled,
.datepicker td span.disabled,
.datepicker td span.disabled:hover,
.datepicker .prev.disabled, .datepicker .next.disabled {
    background: none !important;
    color: #bec4cf !important;
    cursor: default !important;
    pointer-events: none; !important;
}

.datepicker .prev, .datepicker .next{
       font-size: 23px;
       background: #edf1fa !important;
       text-align: center;
       line-height: 0.7;
       vertical-align: unset;
       border-radius: 5px;
       color: #345afb !important;
}

.date-text{
         text-align: center;
         margin-bottom: 6px;
         background: antiquewhite;
         padding: 9px 7px 7px 7px;
         font-weight: 600;
         margin-top: -17px;
         border-radius: 0px 0px 5px 5px;
         font-size: 15px;
}
/* datePicker */

.pad016{padding: 0 16px !important;}
.pad0 a {padding: 0 16px !important;}


@media (max-width: 359px){
    .input-group .form-inner-text-start{
        font-size: 11px;
    }

    .input-group input + .form-inner-text{
        font-size: 14px;
    }
}