@charset "UTF-8";

/* 초기화 및 초기 세팅 */
:root {
    /* 버튼 및 인풋 폼 높이 세팅 */
    --hd_height: 5rem;
    --height: 4.4rem;
    --height_sm: 3.4rem;
    --height_lg: 5.4rem;
    --ic_date: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path d="M5 22q-.825 0-1.413-.587Q3 20.825 3 20V6q0-.825.587-1.412Q4.175 4 5 4h1V2h2v2h8V2h2v2h1q.825 0 1.413.588Q21 5.175 21 6v14q0 .825-.587 1.413Q19.825 22 19 22Zm0-2h14V10H5v10ZM5 8h14V6H5Zm0 0V6v2Z"/></svg>');
    --wrap_wd: 500px;
    --wrap_wd_2: 250px;
    --menu_w: 400px;

}

@font-face {
    font-family: 'xeicon';
    src: url('../fonts/xeicon.woff2') format('woff2');
}



html { font-size:10px; }
body { margin:0 auto; padding:0; height: 100vh;}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img { margin:0; padding:0; border:0 }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block }

ul, dl,dt,dd { margin:0; padding:0; list-style:none }
legend { position:absolute; margin:0; padding:0; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
label, input, button, select, img { vertical-align:middle; }
input, button { margin:0; padding:0;}
input[type="submit"] { cursor:pointer }
button { cursor:pointer }
select { margin:0 }
p { margin:0; padding:0; word-break:break-all; }
hr { display:none }
a { text-decoration:none }
a:hover { text-decoration: none; }
.un_reboot_a { color: var(--main); text-decoration: underline; }
*, :after, :before {
 -webkit-box-sizing:border-box;
 -moz-box-sizing:border-box;
 box-sizing:border-box;
 word-break: break-all;
 }

img { max-width:100%; display:inline-block; height: auto; }


#wrap {overflow: hidden;position: relative;height: 100%;display: flex;justify-content: center; background-color: #E5EEF6;}
.left_wrapper {width: 100%;max-width: var(--wrap_wd);padding: 5rem 4rem; display: none; }


.right_wrapper {width: 100%;max-width: var(--wrap_wd);overflow-y: scroll;-ms-overflow-style: none;min-height: 100%;height: 100%; padding: 0 1.6rem; position: relative; scrollbar-width: none; background-color: #fff;}
.right_wrapper::-webkit-scrollbar {display: none; }


/* 헤더 */
.h_menu{position: fixed; left: 50%; top: 0; width: 50%;  height: var(--hd_height); max-width: var(--wrap_wd); background: var(--bg); padding: 0 1.6rem; display: flex; align-items: center; justify-content: space-between; z-index: 999;}

.logo_wr{height: 100%; display: flex; align-items: center;}
.logo{height: 3.8rem; display: block;}
.logo img{height: 100%; width: auto;}


/* b_menu */
.b_menu{position: fixed; left: 50%;bottom: 0; z-index: 1000; width: 100%; max-width: var(--wrap_wd); background: #fff; padding: 0; border-top-left-radius: 2rem; border-top-right-radius: 2rem; box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);}
.b_menu ul{display: flex; height: 6rem;}
.b_menu li{width: 25%; height: 100%;}
.b_menu li.on{position: relative;}
.b_menu li.on::after{content: ''; width: 2.6rem; height: 3px; display: block; background: #fff; position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
.b_menu li a{width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-flow: column;}
.b_menu img{width: 2.5rem;}
.b_menu .on img{width: 2.5rem;}
.b_menu .img_on{display: none;}
.b_menu .on .img_on{display: block;}
.b_menu .on .img_off{display: none;}
.b_menu span{margin-top: 0.4rem; font-size: 1.2rem; color: #aaa; text-align: center; font-weight: 500;}
.b_menu .on span{color: var(--secondary); font-weight: 600;}



/*메인*/
.idx_pg { min-height:800px; padding-top: var(--hd_height); padding-bottom: 8rem; margin-top: 1rem;}



/*서브*/
.sub_tit { position: relative; }
.sub_pg { min-height:800px; padding-top: var(--hd_height); }


/* 섹션구분 바 */
hr.line{display: block; height: 0.6rem; margin: 3rem -2rem; background: var(--f5f5f5); border-top: 1px solid var(--border);}

.line_h1 { line-height:1.0em; }
.line_h1_1 { line-height:1.1em; }
.line_h1_2 { line-height:1.2em; }
.line_h1_3 { line-height:1.3em; }
.line_h1_4 { line-height:1.4em; }
.line_h1_5 { line-height:1.5em; }
.line_h1_6 { line-height:1.6em; }
.line_h1_7 { line-height:1.7em; }
.line_h1_8 { line-height:1.8em; }
.line_h1_9 { line-height:1.9em; }
.line_h2 { line-height:2.0em; }


/*폰트커스텀 기본사이즈 10px*/

.tit_h1 { font-size: 2.2rem; font-weight: 700; }
.tit_h2 { font-size: 1.8rem; font-weight: 700; }
.tit_h3 { font-size: 1.6rem; font-weight: 700; }


.fs_8 { font-size: 0.8rem; }
.fs_9 { font-size: 0.9rem; }
.fs_10 { font-size: 1.0rem; }
.fs_11 { font-size: 1.1rem; }
.fs_12 { font-size: 1.2rem; }
.fs_13 { font-size: 1.3rem; }
.fs_14 { font-size: 1.4rem; }
.fs_15 { font-size: 1.5rem; }
.fs_16 { font-size: 1.6rem; }
.fs_17 { font-size: 1.7rem; }
.fs_18 { font-size: 1.8rem; }
.fs_19 { font-size: 1.9rem; }
.fs_20 { font-size: 2.0rem; }
.fs_21 { font-size: 2.1rem; }
.fs_22 { font-size: 2.2rem; }
.fs_23 { font-size: 2.3rem; }
.fs_24 { font-size: 2.4rem; }
.fs_25 { font-size: 2.5rem; }
.fs_26 { font-size: 2.6rem; }
.fs_27 { font-size: 2.7rem; }
.fs_28 { font-size: 2.8rem; }
.fs_29 { font-size: 2.9rem; }
.fs_30 { font-size: 3.0rem; }
.fs_31 { font-size: 3.1rem; }
.fs_32 { font-size: 3.2rem; }
.fs_33 { font-size: 3.3rem; }
.fs_34 { font-size: 3.4rem; }
.fs_35 { font-size: 3.5rem; }
.fs_36 { font-size: 3.6rem; }
.fs_37 { font-size: 3.7rem; }
.fs_38 { font-size: 3.8rem; }
.fs_39 { font-size: 3.9rem; }
.fs_40 { font-size: 4.0rem; }
.fs_41 { font-size: 4.1rem; }
.fs_42 { font-size: 4.2rem; }
.fs_43 { font-size: 4.3rem; }
.fs_44 { font-size: 4.4rem; }
.fs_45 { font-size: 4.5rem; }
.fs_46 { font-size: 4.6rem; }
.fs_47 { font-size: 4.7rem; }
.fs_48 { font-size: 4.8rem; }
.fs_49 { font-size: 4.9rem; }
.fs_50 { font-size: 5.0rem; }
.fs_51 { font-size: 5.1rem; }
.fs_52 { font-size: 5.2rem; }


.fw_100 { font-weight: 100; }
.fw_200 { font-weight: 200; }
.fw_300 { font-weight: 300; }
.fw_400 { font-weight: 400 !important; }
.fw_500 { font-weight: 500; }
.fw_600 { font-weight: 600; }
.fw_700 { font-weight: 700; }
.fw_800 { font-weight: 800; }
.fw_900 { font-weight: 900; }

.wh_pre { white-space: pre-line; }
.wh_nowrap { white-space: nowrap; }
.wb_keep{word-break: keep-all;}

.fc_707070{color: #707070;}
.fc_aaa{color: #AAA;}
.fc_wh{color: #fff;}
.fc_red{color: #E63C3C;}

.cursor_df{cursor: default !important;}
.cursor_pt{cursor: pointer;}


/*글자 줄임말*/
.line_text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all; }
.line1_text {
 white-space: normal;
 overflow: hidden;
 text-overflow: ellipsis;
 word-wrap: break-word;
 display: -webkit-box;
 -webkit-line-clamp: 1;
 -webkit-box-orient: vertical;
 }
.line2_text {
white-space: normal;
overflow: hidden;
text-overflow: ellipsis;
word-wrap: break-word;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;

 }
.line3_text {
white-space: normal;
overflow: hidden;
text-overflow: ellipsis;
text-align: left;
word-wrap: break-word;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;

 }

/*border radius*/
.rounded { border-radius: 0.5rem!important; }
.rounded-md{border-radius: 0.8rem !important;}
.rounded-lg { border-radius: 1.0rem!important; }
.rounded-xl { border-radius: 2rem!important; }

/* 폼 사각형 */
.sq_guide { display:flex; flex-wrap: wrap; }
.sq_guide li {
 width: 90px;
 height: 90px;
 border-radius: 0.5rem;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.4rem;
 margin: 0.5rem;
 }

/* 스크롤바 none */
.none_scroll_bar { -ms-overflow-style: none; }
.none_scroll_bar::-webkit-scrollbar { display: none; }

.touch_scroll { overflow-x: auto;  overflow-y: hidden;}

div::-webkit-scrollbar {
    width: 0.4rem;
    height: 0.4rem;
}
div::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 100px;
}

/* 버튼 */
.btn { height: var(--height); font-size: 1.6rem; font-weight: 600;}
.btn-sm { height: var(--height_sm); font-size: 1.5rem; font-weight: 500; min-width: 8rem;}
.btn-lg { height: var(--height_lg); font-weight: 700; font-size: 1.6rem;}
.btn:disabled , .btn.disabled{color: var(--input_placeholder); background: var(--input_disabled); border-color: var(--input_placeholder);}
.btn-outline-light{border-color: var(--border); color: #333;}
.btn-outline-light:hover{border-color: var(--border); color: #333; background-color: #f8f9fa;}

.btn-black{background-color: #000; color: #fff;}
.close{font-size: unset;}


.order_quantity{display: flex;
    max-width: 110px;
    border-radius: 10rem;
    padding: 0.7rem 0.7rem;
    background: #fff;
    border: #E3E3E3 1px solid;
    width: 100%;}
.order_quantity .btn{ padding: 0px;
    border: #000;
    color: #222;
    font-size: 2rem;
    font-weight: bold;
    border-radius: 50rem;
    width: 23px;
    height: 23px;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;}
.order_quantity .form-control-sm{height: 24px;
    font-size: 1.6rem;
    background-color: transparent;
    padding-left: 0.3rem;
    padding-right: 0.3rem;}
.order_quantity .current_quantity{border: 0px;}

/* 인풋 자동완성 초기화 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:disabled,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:disabled,
input:autofill:active {
	-webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* 입력 인풋 */
.form-control { height: var(--height); }
.form-control-sm { height: var(--height_sm); }
.form-control-lg { height: var(--height_lg); }

.ip_wr .ip_tit { margin-bottom:0.5rem; }
.ip_wr .ip_tit h5 { font-size:1.5rem; font-weight:700; display:inline-block; }
.ip_wr .ip_tit span{color: #0D5690;}

/* form-text */
.form-text{font-size: 1.2rem; display: none; align-items: center; margin-top: 0.5rem;}
.form-text i{margin-right: 0.25rem;}
.ip_valid .ip_valid{display: flex; color: var(--secondary);}
.ip_invalid .ip_invalid{display: flex; color: #E63C3C;}

/* textarea 높이 */
textarea.form-control { height: 20rem; padding: 1rem;}

/* 셀렉트 박스 */
.custom-select{
    padding-right: 3.5rem;
    color: var(--input_placeholder);
    background-size: 1.6rem !important;
    border-radius: 0.5rem;
    background: url(../img/arrow_gr.png)no-repeat right 10px center;
}


/*검색*/
.sch_ip{position: relative; display: flex; background: #F5F5F5;  padding: 0 1.5rem 0 1.5rem; border-radius: 2.2rem;}
.sch_ip .form-control{max-width: calc(100% - 7rem); padding: 0.5rem 0; background: #F5F5F5;}
.sch_ip button{border: 0;background: transparent;}
.sch_ip .form-control:focus-visible {outline: 0;}

input[type=search]::-webkit-search-cancel-button{
	display: none;
}

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

/* 날짜 선택 */
input.form-control[type="date"]{position: relative;}
input.form-control[type="date"]::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
    background: none;
    width: 100%; height: 100%; cursor: pointer;
    position: absolute; left: 0; top: 0;
}
input.form-control[type="date"]::after{content: ''; display: block; width: 2.4rem; height: 2.4rem; background: url(../img/arrow_gr.png) no-repeat right center;background-size: 1.6rem !important;position: absolute;right: 1.1rem;top: 50%;transform: translateY(-50%);}
/* input.form-control[type="date"]::before{content: attr(data-placeholder); color: #AAA;} */

.form-date input{position: relative; display: flex; align-items: center;}
.form-date label{position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #aaa;}


input[type=date]::-webkit-datetime-edit-text {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-month-field{
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-day-field {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-year-field {
    -webkit-appearance: none;
    display: none;
}
출처: https://baegofda.tistory.com/106 [오물오물 개발일기:티스토리]


/* 체크박스 및 라디오 */
.checks_wr{display: flex; flex-wrap: wrap;}

.checks label{display: flex; align-items: center; cursor: pointer; }
.checks label.chk_right{flex-flow: row-reverse; justify-content: flex-end;}
.checks input{display: none;}
.ic_box{display: inline-block; width: 2rem; height: 2rem; background: url(../img/chk_off.png)no-repeat center; background-size: 100%; text-align: center; display: flex; align-items: center; justify-content: center; margin-right: 1rem;}
input:checked + .ic_box{background: url(../img/chk_on.png)no-repeat center; background-size: 100%;}
.chk_right .ic_box{margin-right: 0; margin-left: 1rem;}
input:checked ~ .chk_p{ color: var(--primary); }
.chk_p{font-size: 1.5rem;}


/* 페이지네이션 */
.pagination { margin-top: 40px; display: flex; justify-content: center; align-items: center; }
.pagination li { height: 100%; }
.pagination a { font-size: 1.8rem; padding: 0 10px; font-weight: 600; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.pagination a.disabled { color: #AAA; }
.pagination a.on { color: var(--main); text-decoration: underline; }

/* 테이블 */
.table_01 {width:100%; border-collapse: collapse;   border-bottom:1px solid #e3e3e3; text-align:center; border-top: 2px var(--primary) solid;}
.table_01  th {background: #F6F6F6;  text-align:center;  border:1px solid #e3e3e3;     }
.table_01 td {    border:1px solid #e3e3e3;  }
.table_01 th, .table_01 td{ padding:1rem 0.8rem;}

/* 테이블 슬래쉬 */
.table_01 th.slash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="100%" x2="100%" y2="0" stroke="rgb(77,77,77)" /></svg>'); background-repeat: no-repeat;
}
.table_01 th.backslash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="100%" y2="100%" stroke="rgb(77,77,77)" /></svg>'); background-repeat: no-repeat;
}
.table_01 th.slash, .table_01 th.backslash { text-align: left; }
.slash div, .backslash div { text-align: right; }

/*테이블 반응형때*/
.table_scroll { overflow-x: auto; overflow-y: hidden; padding: 0px !important; }


.bg_FFF6F5{background: #FFF6F5; }
.bg_gray{background: #f5f5f5;}


/* 페이저 */
.pager {
 background: #F5F5F5;
 border-radius: 15rem;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 250px;
 height: 65px;
 margin: 3.5rem auto 0;
 }


/* 이미지 크롭 */
.rect {
 width: 100%;
 position: relative;
 overflow: hidden;
 }

.rect:after {
content: "";
display: block;
padding-bottom: 100%;
 }

.rect img {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
 }


/*마진 및 패딩*/

.py_02{padding-top: 0.2rem; padding-bottom: 0.2rem;}
.py_08{padding-top: 0.8rem; padding-bottom: 0.8rem;}
.py_12{padding-top: 1.2rem; padding-bottom: 1.2rem;}

.px_16{padding-left: 1.6rem; padding-right: 1.6rem;}

.pt_20{padding-top: 2rem;}

.pb_20{padding-bottom: 2rem;}
.pb_80{padding-bottom: 8rem;}
.pb_120{padding-bottom: 12rem;}

.pl_05{padding-left: 0.5rem;}

.pr_20{padding-right: 2rem;}
.pr_70{padding-right: 7rem;}

.mx_n16{margin-left: -1.6rem; margin-right: -1.6rem;}

.ml_20{margin-left: 2rem;}

.mb_04{margin-bottom: 0.4rem;}
.mb_07{margin-bottom: 0.7rem;}
.mb_12{margin-bottom: 1.2rem;}
.mb_20{margin-bottom: 2.0rem;}

.mt_05{margin-top: 0.5rem;}
.mt_12{margin-top: 1.2rem;}
.mt_13{margin-top: 1.3rem;}
.mt_16{margin-top: 1.6rem;}
.mt_20{margin-top: 2.0rem;}
.mt_40{margin-top: 4.0rem;}
.mt_50{margin-top: 5.0rem;}
.mt_70{margin-top: 7.0rem;}



@media (min-width: 1199.98px) {

 }

/*반응형 max 1200 xl*/
@media (max-width: 1199.98px) {

 }

/*반응형 max 992px lg*/
@media (max-width: 991.98px) {

 }

@media (min-width: 768px) {

    .left_wrapper {width: 50%;display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center; }
    .right_wrapper {width: 50%; }


    .b_menu{width: 50%;}
}

@media (min-width: 576px) {
    .modal-dialog.modal-md{max-width: 400px;}
}

/*반응형 max 767px md*/
@media (max-width: 767.98px) {
    /* body { font-size: 1.4rem; }  */
    /* .right_wrapper{padding: 0;} */
    #wrap {background-color: #fff;}

    .h_menu{padding: 0; left: 50%; width: 100%;}

    .b_menu{left: 50%; padding: 0;}

 }

/*반응형 max 576px sm*/
@media (max-width: 575.98px) {
    .modal-dialog.modal-md{max-width: 400px;}
 }


/*반응형 max 380px*/
@media (max-width: 380px) {

}
