@charset "utf-8";
/* CSS Document */
/* 초기화 */
*{font-family:'SUIT', 'Noto Sans KR', sans-serif; line-height: 1.6em; box-sizing: border-box}
button, input, optgroup, select, textarea{font-family: 'SUIT', 'Noto Sans KR', sans-serif!important; box-sizing: border-box}
html {overflow-y:scroll;}
body {margin:0 auto; padding:0!important; font-size: 13px; /*font-size:0.677vw;*/ letter-spacing:0; min-height: 100%; position: relative; line-height:1.6em; color:#1a1a1c; background:#ffffff; min-width: 280px; font-weight:400; word-break:keep-all; }
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, div {display:block; box-sizing: border-box;}
ul, dl, dd {margin:0;padding:0;list-style:none}
dl dt{font-weight: 500;}
legend {position:absolute;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select {border-radius:4px; box-sizing: border-box;}
label, input, button, select, img {vertical-align:middle; outline:none; }
label{margin: 0;font-weight: 600;}
input:focus,
button:focus {outline:none;}
input, button {margin:0;padding:0;font-size:initial;outline:none;}
button {cursor:pointer;}
input[type=text], input[type=password], input[type=submit], input[type=image], button {border-radius:;font-size:initial;-webkit-appearance:none}
textarea, select {font-size:1em;}
textarea {border-radius:0;-webkit-appearance:none; }
select {margin:0; border-radius:4px;}
p {margin:0;padding:0;word-break:keep-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a, a:link, a:visited {color:#100523;text-decoration:none; cursor: pointer;}
a:hover, a:focus, a:active {text-decoration:none;}
.container:after, .container:before, .modal-footer:after, .modal-footer:before, .nav:after, .nav:before {
    display: none;
    content: " ";
}


.stab {
    cursor: pointer;
}

/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;width:970px;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops_con {}
.hd_pops_footer {padding:10px 0;background:#000;color:#fff;text-align:right}
.hd_pops_footer button {margin-right:5px;padding:5px 10px;border:0;background:#393939;color:#fff}


/* 게시물 선택복사 선택이동 */
#copymove {}
.copymove_current {float:right;color:#ff3061}
.copymove_currentbg {background:#f4f4f4}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
#captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {position:absolute;top:0;left:161px;margin:0;padding:0;width:31px;height:31px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer}
#captcha #captcha_mp3 span {position:absolute;top:0;left:0;width:31px;height:31px;background:url('../../../img/captcha.png') no-repeat;}
#captcha #captcha_reload {position:absolute;top:31px;left:161px;margin:0;padding:0;width:31px;height:31px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha.png') no-repeat  0 -30px;border-top:1px solid #ccc;text-indent:-999px}
#captcha #captcha_key {margin:0 0 0 33px;padding:0 5px;width:70px;height:60px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:2.8em;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block;}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:31px;height:31px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha.png') no-repeat  0 -30px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span{display:none;}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha.png') no-repeat; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/*캡챠 모바일에서 피시버젼*/
#captcha.m_captcha audio{display:block;margin:5px 0 10px;}
#captcha.m_captcha #captcha_key{margin-left:3px }
#captcha.m_captcha #captcha_reload span{background:none;display:inline}
#captcha.m_captcha  #captcha_reload {position:relative ;width:auto;top:0;left:0;margin:0;padding:0 10px;height:43px;border:0;background:#e4eaec;vertical-align:middle;overflow:hidden;cursor:pointer}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc{display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl{margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}


/* 새창 기본 스타일 */
.new_win {}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {margin:0 0 20px;padding:20px;border-top:3px solid #333;border-bottom:1px solid #dde4e9;background:#fff;font-size:1.2em}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin:-20px 0 20px 0;padding:0 20px;border-bottom:1px solid #455255;background:#484848;list-style:none;zoom:1}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;margin-left:-1px}
.new_win .win_ul a {display:block;padding:10px 10px 8px;border-right:1px solid #455255;border-left:1px solid #455255;color:#fff;font-weight:bold;text-decoration:none}
.new_win .win_desc {padding:20px}

.new_win .win_btn {clear:both;padding:20px;text-align:center} /* 새창용 */
.new_win .win_btn button {display:inline-block;padding:0 10px;height:30px;border:0;background:#4b545e;color:#fff;line-height:2em;cursor:pointer}
.new_win .win_btn input {padding:0 10px;height:30px;line-height:2em}
.new_win .win_btn a {display:inline-block;padding:0 10px;height:30px;background:#4b545e;color:#fff;vertical-align:middle;line-height:2.4em}
.new_win .win_btn a:focus, .new_win .win_btn a:hover {text-decoration:none}

/* 페이징 */
.pg_wrap {clear:both;margin:0 0 20px;padding:20px 0 0;text-align:center}
.pg {}
.pg_page, .pg_current {display:inline-block;padding:0 8px;height:25px;color:#000;letter-spacing:0;line-height:2.2em;vertical-align:middle}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {background:#e4eaec;text-decoration:none}
.pg_start, .pg_prev {/* 이전 */}
.pg_end, .pg_next {/* 다음 */}
.pg_current {display:inline-block;margin:0 4px 0 0;background:#333;color:#fff;font-weight:normal}


/*스크롤디자인*/
::-webkit-scrollbar {
    width:5px;
    height: 7px;
}
::-webkit-scrollbar-thumb {
    background-color: #6638CE;
    border-radius: 10px;
    background-clip: padding-box;
    border: 2px solid transparent;
}
::-webkit-scrollbar-track {
    background-color: #efefef45;
    border-radius: 10px;
}

/*설정*/
h1{font-family: 'Paperlogy';}
h2{font-size: 2em; font-weight: 600; margin:4px 0 20px 0; color: #232323;}
h3{font-size:1.3em; font-weight: 600; color: #232323;}
h4{font-size:1.3em; margin: 0px 0 12px 0; font-weight: 600; color: #232323;}
h5{font-size: 1.8em; line-height: 1.6em; font-weight: 600;}
/*
a, a:link, a:visited {text-decoration:none; cursor: pointer;}*/
a:hover, a:focus, a:active {text-decoration:none; color: #100523;}
.panel {    margin-bottom: 20px;    background-color: none;    border: none;    border-radius: 0px;    -webkit-box-shadow:none;    box-shadow: none;}
.flex {display: flex!important;}
.flexwrap {flex-wrap: wrap}
.flex.jc-sb {justify-content: space-between}
.flex.start {justify-content: flex-start}
.flex.end {justify-content: flex-end}
.flex.center {justify-content: center}
.flex.ai-c{align-items: center}
.flex.ai-b{align-items: baseline}
.flex.ai-e{align-items: flex-end}
.flex.ai-s{ align-items: flex-start;}
.hide {display: none!important;}
.grid{display: grid; gap: 10px;}
.grid > li,
.grid > div{box-sizing: border-box; overflow: hidden;}
.grid2{grid-template-columns: repeat(2, 1fr);}
.grid3{grid-template-columns: repeat(3, 1fr);}
.grid4{grid-template-columns: repeat(4, 1fr);}
.grid5{grid-template-columns: repeat(5, 1fr);}
.grid7{grid-template-columns: repeat(7, 1fr);}
.gap5{gap: 5px;}
.gap10{gap: 10px;}
.gap20{gap: 20px;}
.gap30{gap: 30px;}
.gap40{gap: 40px;}
.w10 {width: 10% !important}
.w25 {width: 25% !important}
.w50 {width: 50% !important}
.w100 {width: 100%!important;}
.w100px {width: 100px!important;}
.w600px{max-width: 600px; margin: 0 auto; }
.w900px{max-width: 900px; margin: 0 auto; }
.w1300px{max-width: 1300px; margin: 0 auto; }
.mb0 {margin-bottom: 0}
.mb10 {margin-bottom: 10px}
.mb20 {margin-bottom: 20px}
.max-none {max-width: none!important;}
.mari-auto {margin-right: auto!important;}
.male-auto {margin-left: auto!important;}
.search {display: flex; display: inline-block}
.search select{margin-bottom: 0;}

.sticky{position: -webkit-sticky; position: sticky; top: 100px;}

.bg{background: transparent linear-gradient(180deg, #7400CF 0%, #de5050 100%) 0% 0% no-repeat padding-box;}
.mono {filter: contrast(0%);}
.img.circle{border-radius: 50%; overflow: hidden;}
.img{border: 1px solid #ECECEC;}
.img > .icon{ z-index: 1;margin:8px; position: absolute; left: 0; top: 0; min-width: 22px; text-align: center;}
.img img{width: 100%; max-width: 100%; height: 100%; object-fit: cover;}
.img_32{width: 32px; aspect-ratio:1/1; margin-right: 8px; border: 1px solid #eee;}
.img_40{width: 40px; aspect-ratio:1/1; margin-right: 8px; border: 1px solid #eee;}
.img_50{width: 50px; aspect-ratio:1/1; margin-right: 10px; border: 1px solid #eee;}
.img_70{width: 70px; aspect-ratio:1/1; margin-right: 10px;}
.img_85{width: 85px; height: 85px; border: 1px solid #ECECEC; margin-right:15px;}
.img_100{width: 100px; height: 100px; border: 1px solid #ECECEC; margin-right: 24px;}
.img_200{width: 200px; height: 140px; border: 1px solid #ECECEC; margin-right: 24px;}
.img.h80{height: 80px; overflow: hidden;}

.inner{max-width: 1300px; width: 100%; margin: 0 auto;}
.cut{display:inline-block; width:100%; overflow: hidden; text-overflow: ellipsis; vertical-align:middle; word-break: break-all;  white-space: nowrap;}
.cut2{overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; width:100%;}
.b0 {border: 0px!important;}

.cursor {cursor: pointer;}

/*아이콘*/
.icon{font-size: 12px; padding:5px 6px; line-height: 1em; font-weight: 600; display: inline-block; border-radius: 50px; font-style: normal;}
.icon_block{font-size: 12px; padding:5px 6px; line-height: 1em; font-weight: 600; }
.icon_radius{border-radius: 50px;}

.icon_color{background: #6638CE; color: #fff;}
.icon_color2{background: rgba(158, 58, 240, 0.07);border: 0;color: #8D57CF;}

.icon_color3{background-color: #7400CF; color: #fff;}
.icon_color4{background: #eee; color: #7400CF;}
.icon_colorline{background: #fff; border: 1px solid #7400CF; color: #7400CF;}

.icon_red{background: #EC7D60 ; color: #fff;}
.icon_blue{background: #d7d9ff; color: #3942e0;}
.icon_sky{background: #dcf3fa; color: #2992d5;}
.icon_green{background: #c8eed6; color: #1ea44f;}
.icon_black{background: #232323!important; ; color: #fff!important;}
.icon_gray{background: #ECECEC!important ; color: #828282!important;}
.icon_gray3{background: #f3f3f3; color: #727272;}
.icon_gray2{background: #333333 ; color: #ffffff;}
.icon_line{border: 1px solid #d9d9d9; padding: 3px 5px; display: inline-block; background: #fff!important;}
.icon_line2{border: 1px solid #919191; color: #828282; padding: 3px 5px; display: inline-block;}
.icon_white{background: #fff; color: #7400CF;}
.icon.h30{line-height: 20px;}
.icon.circle{ text-align: center; width: 67px; height: 67px; border-radius: 50%; background: #ffe6e6;display: table;}
.icon.circle p{display: table-cell; vertical-align: middle;}
.icon.circle span{font-size: 1.05em; color: #7D7D7D;}
.icon.circle strong{display: block; font-size: 1.25em; font-weight: 700; color: #7400CF; margin-top: 6px;}
.icon.circle.gray{filter:grayscale(100%); opacity: 0.6;}
.icon_mini{font-size: 9px; padding:2px 4px; font-weight: 700; letter-spacing: -0.5px; margin-left: 6px;}

.icon.new{position: absolute; font-size:11px; right: -4px; top: -4px; text-align: center; padding: 0 2px; min-width: 16px; line-height: 16px; height: 16px;}

/*버튼*/
button:disabled,
button:disabled:hover{filter:saturate(0); background: #33333315; color:#33333375; border-color: #dddddd;}

.btn{
    height: 30px;
    background: #fff;
    display: inline-block;
    text-align:center;
    border-radius: 4px;
    border: 1px solid transparent;
    width: max-content;
    word-break: keep-all;
    padding: 8px;
    line-height: 1em;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    position: relative;
    box-sizing: border-box;
}
.btn:hover{transition: all 0.3s;}
.btn.w100 {overflow-y: hidden!important;overflow-x: hidden!important;}

.form_wrap dt{color: #7b7b7b; margin:2px 0 4px 0; display:block;}
.form_wrap dd.grid{gap: 4px;}
.form_wrap select{width: 100%;}
.form_wrap .select.grid{gap: 4px;}
.form_wrap .grid select{margin-bottom: 0;}

.form_wrap .btn{height: 40px;}
.form_wrap .flex > input:not(:last-child){margin-right: 4px;}
.form_wrap .flex > .btn{margin-left: 0px; width: max-content; white-space:nowrap;}

.btn_mini{padding: 4px 8px; height: auto!important; font-size: 11px; margin: 2px}
.btn_mini2{padding: 4px 6px; height: auto!important; font-size: 9px; margin: 2px}
.btn_small{padding: 7px 10px; height: 40px;}
.btn_small2{padding: 10px 25px;}
.btn_middle{width: 100%; padding: 15px 0;font-size: 1.2em;font-weight: 600;height: auto!important;text-shadow: 2px 2px 2px #00000029;}
.btn_large{width: 100%;padding: 18px 0;font-size: 1.3em;font-weight: 700;height: auto!important;text-shadow: 2px 2px 2px #00000029;}
.btn_large2{width: 100%; padding: 5px 0; font-size: 1.05em; font-weight: 600; height: auto!important;}

.btn img{height: 20px;}

a.btn_color,
.btn_color{background:linear-gradient(to right, #8D57CF, #7957E1); color: #fff;}
a.btn_color:hover,
.btn_color:hover{background-color: #3b005d; color: #fff;}

a.btn_color2,
.btn_color2{background-color: #6638CE; color: #fff;}
a.btn_color2:hover,
.btn_color2:hover{background-color: #6638CE; color: #fff;}

a.btn_color3,
.btn_color3{background-color: #f3e6ff; color: #7400CF;}
a.btn_color3:hover,
.btn_color3:hover{background-color: #f3e6ff; color: #7400CF;}

a.btn_colorline,
.btn_colorline{background-color: #f3e6ff; color: #7400CF; border: 1px solid #7400CF;}
a.btn_colorline:hover,
.btn_colorline:hover{background-color: #7400CF; color: #ffffff; border: 1px solid #7400CF;}

a.btn_colorline2,
.btn_colorline2{background-color: #ffffff; color: #7400CF; border: 1px solid #7400CF;}
a.btn_colorline2:hover,
.btn_colorline2:hover{background-color: #f3e6ff; color: #7400CF; border: 1px solid #7400CF;}

a.btn_green,
.btn_green{background-color: #20b436; color: #fff;}
a.btn_blue:hover,
.btn_green:hover{background-color: #348121; color: #fff;}

a.btn_red,
.btn_red{background-color: #f33131; color: #fff;}
a.btn_red:hover,
.btn_red:hover{background-color: #ba0c0c; color: #fff;}

a.btn_blue,
.btn_blue{background-color: #008cfc; color: #fff;}
a.btn_blue:hover,
.btn_blue:hover{background-color: #5c02fa; color: #fff;}

a.btn_yellow,
.btn_yellow{background-color: #ffc25e; color: #000000;}
a.btn_yellow:hover,
.btn_yellow:hover{background-color: #ff7340; color:#000000;}

a.btn_white,
.btn_white{background-color: #fff; color: #484951;}
a.btn_white:hover,
.btn_white:hover{background-color: #fff; color: #484951;}

a.btn_whiteline,
.btn_whiteline{background-color: transparent; color: #fff; border: 1px solid #ffffff56;}
a.btn_whiteline:hover,
.btn_whiteline:hover{background-color: transparent; color: #fff; border: 1px solid #fff;}

a.btn_white2,
.btn_white2{background-color: #fff; color: #7400CF;}
a.btn_white2:hover,
.btn_white2:hover{background-color: #7400CF; color: #fff}

a.btn_black,
.btn_black{background-color: #484951; color: #fff; border: 1px solid transparent; opacity: 0.8;}
a.btn_black:hover,
.btn_black:hover{background-color: #7f7f86; color: #fff; border: 1px solid transparent; opacity: 1;}

a.btn_blackline,
.btn_blackline{background-color: #ffffff; color: #232323; border: 1px solid #616161; opacity: 0.8;}
a.btn_blackline:hover,
.btn_blackline:hover{background-color: #dadada; color: #232323; border: 1px solid #616161; opacity: 1;}

a.btn_gray,
.btn_gray{background:linear-gradient(to right, #7D7D7D, #707070); color: #fff}
a.btn_gray:hover,
.btn_gray:hover{background-color: #373844; color: #fff;}

a.btn_grayline,
.btn_grayline{background-color: #eeeeee; color: #1a1a1c; border: 1px solid #858585;}
a.btn_grayline:hover,
.btn_grayline:hover{background-color: #1a1a1c; color: #fff; border: 1px solid #858585;}

a.btn_gray2,
.btn_gray2{background-color: #1a1a1c; color: #fff;}
a.btn_gray2:hover,
.btn_gray2:hover{background-color: #84848a;}

a.btn_gray3,
.btn_gray3{background-color: #E8E8E8!important; color: #C8C8CB!important;}
a.btn_gray3:hover,
.btn_gray3:hover{background-color: #1a1a1c!important;}

a.btn_line,
.btn_line{border: 1px solid #E8E8E8; background-color: #ffffff; color: #484951;}
a.btn_line:hover,
.btn_line:hover{background-color: #484951; border: 1px solid #484951; color: #fff}

a.btn_line2,
.btn_line2{border: 1px solid #2A2A2A; background-color: #D4D4D4; color: #484951;}
a.btn_line2:hover,
.btn_line2:hover{background-color: #7e7e7e; border: 1px solid #2A2A2A; color: #fff}

a.btn_line3,
.btn_line3{border: 1px solid #e3e3e3; background-color: #ffffff; color: #b5b5bb;}
a.btn_line3:hover,
.btn_line3:hover{background-color: #7e7e7e; border: 1px solid #2A2A2A; color: #fff}

.btn_sdw{box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);}
.btn_h40 {height: 40px; line-height: unset!important;}
.mb_wrap .btn_wrap{ text-align: center; padding:28px 0;}
.btn_992 {display: none}

.btn_done{/*filter:saturate(0%); opacity: 0.5;*/ mix-blend-mode: luminosity; opacity: 0.8;}

@media screen and (max-width: 992px) {
    .btn_992 {display: inline-block}
}

/*댓글*/
td span.new {background: #7400CF;    color: #fff;    font-size: 0.7em;    padding: 2px 4px;    border-radius: 4px 4px 0 4px;    margin-left: 5px;}
td span.comment {font-size: 0.7em;    padding: 2px 5px;    background: #fff;    border: 1px solid #ccc;    border-radius: 4px 4px 4px 0;    margin-left: 5px;    font-weight: 800;}
/*상품 뱃지*/
span.pdt.newpdt {background: #7400CF;    color: #fff;    font-size: 0.7em;    padding: 2px 4px;    border-radius: 4px;    margin-right: 5px;}
span.pdt.subpdt {background: #484951;    color: #fff;    font-size: 0.7em;    padding: 2px 4px;    border-radius: 4px;    margin-right: 5px;}
span.pdt.soldout {border:1px solid #7400CF;    color: #7400CF;    font-size: 0.7em;    padding: 2px 4px;    border-radius: 4px;    margin-right: 5px;}

/*글자*/
.txt_color> a,
.txt_color{color: #6638CE!important;}
.txt_color2> a,
.txt_color2{color: #d7abff;}
.txt_blue> a,
.txt_blue { color: #1E48BC;}
.txt_blue2> a,
.txt_blue2 { color: #a8bfff;}
.txt_sky> a,
.txt_sky { color: #4aeaff;}
.txt_pink> a,
.txt_pink{color:#ff5b90;}
.txt_yellow> a,
.txt_yellow { color: #e6af53;}
.txt_brown> a,
.txt_brown { color: #95711D;}
.txt_red > a,
.txt_red { color: #ff1e00;}
.txt_orange > a,
.txt_orange { color: #ff8000;}
.txt_gray > a,
.txt_gray{color: #AFAFAF!important;}
.txt_gray2 > a,
.txt_gray2{color: #4b4b4b!important;}
.txt_dark > a,
.txt_dark{color: #7D7D7D!important;}
.txt_black > a,
.txt_black{color: #232323!important;}
.txt_white > a,
.txt_white{color: #ffffff!important;}
.txt_bold { font-weight: 600!important;}
.txt_bold2 { font-weight: 800!important;}
.txt_thin { font-weight: 400!important;}
.txt_under {text-decoration: underline!important;}
.txt_under2{text-decoration:none; opacity:1; border-bottom:10px solid #fff7f5; display:inline-block; line-height:0px;}
.txt_through {text-decoration:line-through!important;}
.txt_down{font-size: 0.9em; line-height: 1.6em;}
.txt_up{font-size: 1.1em;}
.txt_mini{font-size: 0.85em;}

.text_center{text-align: center;}
.text_left{text-align: left;}
.text_right{text-align: right;}


.price{font-size: 1.4em; font-weight: 600;}
.title{font-size: 1.4em; font-weight: 600;}

.subtitle{font-size: 1.2em; font-weight: 600;}
span.number{display: inline-block; width: 20px; line-height: 20px; text-align: center; font-weight: 600; background: #f1e6ff; color: #7400CF; border-radius: 50%;}

/*박스디자인*/
.box{border: 1px solid #E1E1E1; padding: 14px 18px;}
.box_sdw{    box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.06);    background-color: #FFFFFF; padding: 14px 18px;}
.box_white{background: #fff;}
.box_white2{background: #fff;padding: 14px 18px;}
.box_color{border:0; background: #fcf7ff; padding: 14px 18px;}
.box_color2{border:0; background: #ffe6e650; padding: 14px 18px; color: #232323;}
.box_color3{border:0; background: #7400CF; padding: 14px 18px;}
.box_line{border:1px solid #ddd; background: #fff; padding:  14px 18px;}

.box_colorline{border:12px solid #8D57CF80; background: transparent; border-radius: 40px;}
.box_colorline2{border:1px solid #7400CF89; background: #ffe6e6; padding: 14px 18px;}
.box_under{border-bottom: 1px solid #DBDBDB; padding: 14px 18px;}
.box_gray{background-color: #FBFBFB; padding: 14px 18px;    border-color: #fbfbfb }

.box_green{background: #EFFFEF 0% 0% no-repeat padding-box;border: 1px solid #96E140;opacity: 1;}
.box_green a{color: #8FAE8E;}
.box_yellow{background:#FFFAEF; box-shadow: 0px 0px 6px #F3B92F29; border: 1px solid #FFC06D;}
.box_yellow .fa-triangle-exclamation{color: #FFCA7B;}
.box_red{background: #FFEFEF 0% 0% no-repeat padding-box;box-shadow: 0px 3px 6px #FF777729;border: 1px solid #ff6d6d;opacity: 1;}
.box_blue{background: #eff4ff 0% 0% no-repeat padding-box;box-shadow: 0px 3px 6px rgba(119, 142, 255, 0.16);border: 1px solid #6d74ff;opacity: 1;}
.box_red .fa-triangle-exclamation{color: #FF7B7B;}

.box_radius{border-radius:10px; }

.list_line li{border-bottom: 1px solid #DBDBDB; padding: 20px 10px;}

.txt_line span{color: #9F9F9F;}
.txt_line span:after{content: ""; width: 1px; height: 10px; display: inline-block; background: #E9E9E9; margin: 0 4px;}
.txt_line span:last-child:after{display: none;}

.backWhite {background: #fff!important;}

/*폼형태*/
input{height: 40px;background-color: rgba(233, 235, 241, 0.3);border: 0;border-radius: 4px;color: #1a1a1c;padding: 2rem;display: block;font-size: 1em!important;line-height: 1.6em!important;opacity: 1;margin-bottom: 8px;width: 100%;}
input:disabled,
input:read-only {   background-color: rgba(233, 235, 241); border: 0px ;}
textarea {    ;background-color: #FFFFFF; border: 0;    border-bottom: 1px solid #E1E1E1; border-radius: 3px; color: #1a1a1c; padding: 10px; display: block; font-size: 1em!important; line-height: 1.6em!important; opacity: 1; margin-bottom: 8px; width: 100%;}
textarea:disabled,
textarea:read-only {   background-color: #f3f3f3; border: 0px ;}
input:last-child{margin-bottom: 0;}
input::placeholder{opacity: 0.8;}

/*참고*/
.ref{margin-bottom: 12px; line-height: 1.8em; color: #7b7b7b;}

.number_controller{/* border: 1px solid #C8C8CB; */border-radius: 0px;width: auto;display: inline-block;padding: 2px 0px;}
.number_controller button{all:unset;background: #F1F1F1;color: #23232356;text-align: center;width: 25px;height: 25px; cursor: pointer}
.number_controller input[type=number]{all:unset;width: max-content;max-width: 30px;text-align: center;-moz-appearance: textfield;}
.number_controller input[type=number]::-webkit-inner-spin-button,
.number_controller input[type=number]::-webkit-outer-spin-button {-webkit-appearance: none;margin: 0;}
.delete{all: unset; width: 20px; height: 20px; text-align: center;}


.switch-tabs {    display: flex;    position: relative;    padding: 0em; width: 100%}
.switch-tabs * {    z-index: 2;}
.switch-tabs input[type=radio] {    display: none;}
.stab {    display: flex;    align-items: center;    justify-content: center;    height: 54px;     width: calc( 100% / 7 );  font-size: 1.25rem;    font-weight: 500;    border-radius: 99px;    cursor: pointer;    transition: color 0.15s ease-in;}
.switch-tabs input[type=radio]:checked + label {    color: #666}
.switch-tabs input[type=radio]:checked + label > .notification {    background-color: #666    color: #fff;}
.switch-tabs input[id=radio-1]:checked ~ .glider {    transform: translateX(0);}
.switch-tabs input[id=radio-2]:checked ~ .glider {    transform: translateX( 100% );}
.switch-tabs input[id=radio-3]:checked ~ .glider {    transform: translateX( 200% );}
.switch-tabs input[id=radio-4]:checked ~ .glider {    transform: translateX( 300% );}
.switch-tabs input[id=radio-5]:checked ~ .glider {    transform: translateX( 400% );}
.switch-tabs input[id=radio-6]:checked ~ .glider {    transform: translateX( 500% );}
.switch-tabs input[id=radio-7]:checked ~ .glider {    transform: translateX( 600% );}
.glider {    position: absolute;    display: flex;    height: 54px;    width: calc( 100% / 7 );    background-color: #e0d6ff;    z-index: 1;    border-radius: 99px;    transition: 0.25s ease-out;}

@media (max-width: 700px) {
}

/*파일업로드*/
.filebox .upload-name {margin-bottom: 5px;}
.filebox label {margin-bottom: 12px;}
.filebox input[type="file"] {position: absolute; width: 0; height: 0; padding: 0; overflow: hidden; border: 0; }
.fa, .fa-brands, .fa-duotone, .fa-light, .fa-regular, .fa-solid, .fa-thin, .fab, .fad, .fal, .far, .fas, .fat {line-height: unset!important;}

select {
    margin-bottom: 8px;
    padding: 10px 5px;
    margin-right:5px;
    border-radius: 4px;
    width: max-content;
    color: #1a1a1c;
    height: 40px;
    background: #FFFFFF;
    border: 1px solid #E1E1E1;
    font-weight: 600;
}
select.mini {
    padding: 0px 3px;
    height: 28.42px;
    margin-bottom: 0;
    border-radius: 30px;
    line-height: 1em;}
select.mb {margin-bottom: 0!important;}
select.mr {margin-right: 0!important;}
select.purple {margin-bottom: 0px;padding: 10px 5px; margin-right:5px;border-radius: 0;width: max-content;
    height: 40px;background: transparent; border: 0; color: #7400CF; font-size: 1.1em; font-weight: 600;}

select.mini.purple {
    padding: 0px 3px;
    height: 28.42px;
    margin-bottom: 0;
    border-radius: 30px;
    line-height: 1em;}
select.black {margin-bottom: 0px;padding: 10px 5px; margin-right:5px;border-radius: 0;width: max-content;
    height: 40px;background: transparent; border: 0; color: #272728; font-size: 1.1em; font-weight: 600;}
select.purple option{color: #1a1a1c;}
select:disabled,
select[readonly] {   background-color: #f3f3f3; border: 0px ;}
input[type="search"] {border-radius: 0;width: 150px;height: 40px;background: #FFFFFF 0% 0% no-repeat padding-box;border: 1px solid #c9c9c9;border-right: 0;display: inline-block;margin-bottom: 0;margin-right: 0!important;padding: 0 2rem;}
.btn_search {border-radius: 0;width: 40px;height: 40px;background: #FFFFFF 0% 0% no-repeat padding-box;border: 1px solid #c9c9c9;border-left: 0;display: inline-block;padding: 0 10px;}

/*@media screen and (max-width: 330px){
    select {width: 50px}
    input[type="search"] {width: 100px}
}*/

/*검색 자동완성*/
.search_wrap{position: relative;}
.search_wrap .sch_field{border: 1px solid #ced4da;    border-top:0px;    border-radius:0px 0px 10px 10px;   display: none;    z-index: 4;    width:100.15%;    left:0px; top: 40px;    position: absolute;    background:white;}
.search_wrap .sch_field_tb{    width:100%;       border-collapse: inherit;}
.search_wrap .sch_field_tb tr{    cursor:pointer;}
.search_wrap .sch_field_tb tr:nth-child(odd){    cursor:pointer;    background-color:#f6f6f6}
.search_wrap .sch_field_tb tr:hover {    background-color: #dedede;}
.form_select,.pt_form_select{    background-color: #E0E8E7;}
.search_wrap .sch_field_tb td{    padding:10px;}

/*@media screen and (max-width: 500px){
    .search_wrap .sch_field {        overflow-y: auto;}
    .search_wrap .sch_field table { width: 200%;}
}*/

/**/

input.mb {margin-bottom: 0!important;}
input.mr {margin-right: 0!important;}
/*input[type='date']::before {    content: attr(data-placeholder);    width: 100%;}
input[type='date']:focus::before,input[type='date']:valid::before {    display: none;}*/
input[type=radio] {    margin: 0px 5px 0 0;}
[type="radio"] {  display: inline-block;  vertical-align: middle; background: lightgray;    appearance: none;    width: 1.25em;    height: 1.25em;}
[type="radio"]:checked {  background: #fff;   border: 0.4em solid #7400CF;}
[type="radio"]:focus-visible {    outline-offset: max(2px, 0.1em);    outline: max(2px, 0.1em) dotted #7400CF;}
[type="radio"]:hover {    box-shadow: 0 0 0 max(4px, 0.2em) #e8e8e8;    cursor: pointer;}
[type="radio"]:disabled {    background-color: lightgray;    box-shadow: none;    opacity: 0.7;    cursor: not-allowed;}
[type="radio"]:disabled + span {    opacity: 0.7;    cursor: not-allowed;}
[type="checkbox"] {    margin: 0px 3px 0 0!important;  position: relative;display: inline-block;  vertical-align: middle; background: #E8E8E8;    appearance: none;    width: 1.5em;    height: 1.5em;}
[type="checkbox"]::after {    color:#707070;    position: absolute;    right: 4px;    font-size: 0.8em;    cursor: pointer;    top: 2px;    left: 7px;    box-sizing: border-box;    width: 6px;    height: 12px;    transform: rotate(45deg);    border-width: 2px;    border-style: solid;    border-color: #707070;    border-top: 0;    content: " ";    border-left: 0;    transition: all 200ms ease-in;}
[type="checkbox"]:checked {    border-color: #7400CF;background: #7400CF;}
[type="checkbox"]:checked + label{color: #333333;}
[type="checkbox"]:checked::after {  border-color: #fff}
[type="checkbox"]:focus-visible {    outline-offset: max(2px, 0.1em);    outline: max(2px, 0.1em) dotted #7400CF;}
[type="checkbox"]:hover {    box-shadow: 0 0 0 max(4px, 0.2em) #e8e8e8;    cursor: pointer;}
[type="checkbox"]:disabled {    background-color: lightgray;    box-shadow: none;    opacity: 0.7;    cursor: not-allowed;}
[type="checkbox"]:disabled + span {    opacity: 0.7;    cursor: not-allowed;}
/*네모형 라디오*/
.select input[type=radio]{    display: none;}
.select input[type=radio]+label{    border-radius: 0; display: inline-block;    cursor: pointer;    height: 40px; padding: 0 10px;  background-color: #fff;    color: #373844;    line-height: 40px;    text-align: center;  font-weight:400;}
.select input[type=radio]+label{    background-color: #fff;    color: #373844;  border: 1px solid #C9C9C9;}
.select input[type=radio]:disabled+label{    background-color: #c9c9c9;    color: #373844;}
.select input[type=radio]:checked+label{background-color: #f0e6ff;    border: 1px solid #7400CF;  color: #7400CF; font-weight:bold;}

/*네모형 체크*/
.select {    display: flex;    white-space: nowrap;    flex-wrap: wrap;    gap: 5px;}
.select input[type=checkbox]{    display: none;}
.select input[type=checkbox]+label{    border-radius: 0; display: inline-block;    cursor: pointer;    height: 40px;  padding: 0 10px;    border-radius: 4px; border: 1px solid #373844;    line-height: 40px;    text-align: center;    font-weight:400; }
.select.v2 input[type=checkbox]+label{     height: fit-content!important;  padding: 2px 5px; border-radius: 4px; line-height: unset   }
.select input[type=checkbox]+label{    background-color: #fff;    color: #373844; border: 1px solid #C9C9C9;}
.select input[type=checkbox]:disabled+label{    background-color: #c9c9c9;    color: #d0d0d0;}
.select input[type=checkbox]:checked+label{background-color: #7400CF;    border: 1px solid #7400CF;  color: #fff; font-weight:bold;}

/*동그라미 라디오*/
.circle label{margin-right: 6px;}
.circle input[type="radio"] {    margin: 0px 5px 0 0;}
.circle input[type="radio"] { border: 1px solid #c9c9c9; display: inline-block;  vertical-align: middle; background: #fff; border-radius: 30px;  appearance: none;
    width: 1.4em;    height: 1.4em; position: relative;}
.circle input[type="radio"]:checked {  background: #fff; border: 1px solid #c9c9c9;}
.circle input[type="radio"]:checked + label{color: #333333}
.circle input[type="radio"]:checked:after{content: ""; display: inline-block;
    width: 0.7em; height: 0.7em; border-radius: 50%; background-color: #7400CF;
    position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }

.circle input[type="radio"]:focus-visible {    outline-offset: max(2px, 0.1em);    outline: max(2px, 0.1em) dotted #7400CF;}
.circle input[type="radio"]:hover {    box-shadow: 0 0 0 max(4px, 0.2em) lightgray;    cursor: pointer;}
.circle input[type="radio"]:disabled {    background-color: lightgray;    box-shadow: none;    opacity: 0.7;    cursor: not-allowed;}
.circle input[type="radio"]:disabled + span {    opacity: 0.7;    cursor: not-allowed;}

/**/
.color span{    border-radius: 0; display: inline-block;    cursor: pointer;    height: 40px;  padding: 0 10px;    border-radius: 4px; border: 1px solid #7400CF;    line-height: 40px;    text-align: center;    font-weight:400;    background-color: #fff;    color: #373844; }
.color.v2  span{   height: fit-content!important;  padding: 2px 5px; border-radius: 4px; line-height: unset }


/**/

/*
textarea{width: 100%; background-color: #FFFFFF; border: 1px solid #c9c9c9; color: #1a1a1c; padding: 10px;}*/
.editor textarea{min-height: 300px;}

/*탭디자인*/
.nav-tabs{margin-bottom: 30px; display: flex;}
.nav-tabs>li{width: 100%; background: #F6F6F6; border: 0; border-radius: 0;}
.nav-tabs>li>a{border:0; width: 100%; text-align: center; border-radius: 0; color: #555; opacity: 0.6;
    font-size: 1.1em; padding-right: 2px; padding-left: 2px;}
.nav-tabs>li>a:hover{border:0; border-bottom: 2px solid #ddd; opacity: 0.8; background:none;}
.nav-tabs>li.active>a,
.nav-tabs>li.active>a:focus,
.nav-tabs>li.active>a:hover{border:0; border-bottom: 2px solid #7400CF; color: #7400CF; font-weight: 700; opacity: 1;}

@media screen and (max-width: 550px) {
    .nav-tabs>li>a{font-size: 1em; letter-spacing: -.5px}
}

/*alert디자인(swal2)*/
.swal2-popup{max-width: 300px; width: calc(100% - 80px); min-width: 280px; font-size: 13px; padding:35px 30px; border-radius: 20px;}
.swal2-title{font-size: 1.15em; margin-bottom: 10px;}
.swal2-html-container{font-size: 1em; line-height: 1.4em; margin: 0; word-break: keep-all; font-weight: 600;}
.swal2-actions{width: 100%; margin-top:20px; flex-wrap:nowrap;flex-direction: row-reverse;}

.swal2-actions button{width: 100%; border-radius:0px; font-weight: 400;
    line-height: 30px; height: 30px; padding: 0; border:0; margin:0 2px;}

.swal2-actions button:hover,
.swal2-actions button:focus{
    outline: none !important;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}
.swal2-styled.swal2-confirm{background: #6B5AFF; color: #fff; border-radius:20px;}
.swal2-styled.swal2-deny{background:#C4C4C4; color: #fff; border-radius:20px;}

.swal2-actions:not(.swal2-loading) .swal2-styled{opacity: 0.9;}
.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image: none; opacity: 1;}

.swal2-html-container select {margin: 8px 0;}

/*@media screen and (max-width:550px) {
    input{width: 100%;}
}*/
hr.line {display: block; width: 100%; border: 0; margin: 0; border-bottom: 10px solid rgba(241, 243, 245, 0.73)}
hr.line2 {display: block; width: 100%; border: 0; margin: 0; border-bottom: 10px solid #181818}

/*분류태그*/
.tag{display: flex;}
.tag > span{display: inline-block; padding: 2px 4px; margin-right: 4px; background: #F1F1F1; color: #6E6E6E;}

.tagbox {    padding: 20px 24px 0;    display: flex;  width: 100%;}
.tagbox > div {    display: flex;    flex-wrap: wrap;   }
.tagbox > div > p {display: inline-block;    margin-bottom: 20px;}
.tagbox > div > p span.tag {border-radius: 0px; border: 1px solid #C8C8CB;color: #484951; padding: 5px;margin-left: 5px; display: inline-block; line-height: 1em;}
.tagbox > div > p span.tag.active {background: #e0cbff;    border: 1px solid #7400CF;    color: #7400CF;}

/*테이블*/
.table {overflow-y: auto; margin-bottom: 20px; margin-top: 10px;}
.table table{width: 100%; border-spacing:0; border-radius: 5px 5px 0 0}/*
.table table thead tr{border-top: 1px solid rgba(223, 203, 231, 0.56);}*/
.table th,
.table td{padding: 10px 7.5px;border-bottom: 1px solid #E6E6E6; border-right:1px solid #E6E6E6; background: #fff;}
.table th:first-of-type{border-top-left-radius: 4px;}
.table th:last-of-type{border-top-right-radius: 4px;border-right: 0}
.table td:first-of-type{ border-left:1px solid #E6E6E6;;}
.table th{font-weight: 600;font-size: 1em; border-bottom: 1px solid rgba(216, 203, 231, 0.56); color: #f9f7ff;background: #464646;}
.table tbody th{background: rgba(239, 230, 255, 0.34); border-bottom: 1px solid #E6E6E6;}

.table .text_center{text-align: center;}
.table .text_left{text-align: left;}
.table .text_right{text-align: right;}
.table td > a {display: block}

.table tr.fixed td{font-weight: 600;background-color: rgba(241, 230, 255, 0.52);border-bottom: 1px solid rgba(211, 203, 231, 0.52); color: #3e3744; }
.table tr.collapse,
.table tr.collapsing td,
.table tr.collapse.in td{background-color: #FBFBFB; border-right: 0; border-left: 0;}

/*table2*/
.table.table_gray {}
.table.table_gray table{border-color: #C2C2C2;}
.table.table_gray th{ color: #C2C2C2; background: #fff;}
.table.table_gray th,
.table.table_gray td{border-color: #C2C2C2; border-right: 0;
.table.table_gray td{color: #373844;}}
.table.table_gray tbody th{color: #222; background: #eee;}
.table.table_gray tbody th.bg02{color: #222; background: #eeeeee65;}
.table.table_gray tbody tr:nth-child(even) td{background: #FBFBFB }

/*table2*/
.table.type2 {}
.table.type2 table{border-top:0;}
.table.type2 th{border-bottom: 0;}
.table.type2 th,
.table.type2 td{border-right: 0;}
.table.type2 tbody th{vertical-align: baseline; background: transparent; border-bottom: 1px solid #E6E6E6;}

/*모달*/
.modal-open {    overflow: unset;}
.modal-content {box-shadow: none;background: #fff;border: 0;border-radius: 6px;max-height: 90vh;}
.modal .btn-primary {background-color: #7400CF;color: #fff;width: 100%;height: 50px;font-weight:600;margin: 0;border: 0;}
.modal .btn-secondary {background-color: #1a1a1c;color: #fff;width: 100%;height: 50px;}
.modal-title {color: #4B79EE;font-size: 1.4em;font-weight: 600;}
.modal-header {border-bottom: 0;padding: 30px 30px 10px 30px;}
.modal-body{overflow: auto;padding: 20px 30px 30px 30px;max-height: calc(90vh - 106px); min-height: 100px;}
.modal-body .box_gray{background: #F3F3F3;}
.modal-footer {padding: 10px;border-top: 0;display: flex;justify-content: space-around;gap: 5px;}
.modal-dialog{max-width: 450px;margin: 0; top: 50%;left: 50%;transform: translate(-50%, -50%)!important; }
.modal-content{}
.modal-dialog.modal-wide {    width: 90%;}
.modal-dialog.modal-narrow {    width: 300px;}
.modal-box1 {  border-radius: 0px;    background-color: #ffffff;    padding: 20px; }

.modal.wide .modal-dialog{max-width:700px; width: 100%;}

@media screen and (max-width: 992px) {
    .modal-dialog{width: 90%;}
}

/*페이지네이션*/
/* border-pagination */
.b-pagination-outer { display: block!important;   width: 100%;    margin: 20px auto 0;    text-align: center;    overflow: hidden;    display: flex}
#border-pagination {    width: fit-content !important;  display: block!important; margin: 0 auto;    padding: 0;    text-align: center}
#border-pagination li {    display: inline; width: fit-content!important;}
#border-pagination li a {    padding: 10px;    border-radius: 4px;    background: #fff;    border: 1px solid #F5F5F6;   display: block; margin: 0 1px;    text-decoration: none;    color: #1a1a1c;        float: left;}
#border-pagination li a {    -webkit-transition: background-color 0.4s;    transition: background-color 0.4s}
#border-pagination li a.active {    background-color: #7400CF;    border-color: #7400CF;    color: #fff!important;}
#border-pagination li a:hover:not(.active) {    background: #ddd;}

/*사진첨부*/
.newpic {  display: inline-block;    margin-bottom: 10px;    margin-right: 10px;}
.newpic.after {  margin-bottom: 10px;    margin-right: 0px;}
.newpic-upload { display: inline-block;position: relative;    text-align: left;}
.newpic-upload.w100 { width: 100%;}
.newpic-upload .newpic-edit {  position: absolute;  left: 0px;  z-index: 1;  top: 0px;}
.newpic-upload .newpic-edit input {  display: none;}
.newpic-upload .newpic-edit input + label {  display: inline-block;    width: 130px;    height: 130px;    line-height: 110px;
    margin-bottom: 0;    border-radius:0;    color: #fff0;    background: #FFF0;  cursor: pointer;  font-weight: normal;  transition: all 0.2s ease-in-out;}
.newpic-upload.w100 .newpic-edit input + label {  width: 100%;   }
.newpic-upload .newpic-edit input + label:hover {  background: #ffffff69; border: 1px solid #7400CF69}
.newpic-upload .newpic-edit input + label:hover:after {  content: "\f030";  font-family: "Font Awesome 6 Pro"; color: #7400CF; font-size: 2em;
    position: absolute;  top: 10px;  left: 0;  right: 0;  text-align: center;  margin: auto; font-weight: 300;}
.newpic-upload .newpic-preview {  width: 130px;  height: 130px;  position: relative;  border: 1px solid #F8F8F8;}
.newpic-upload.w100 .newpic-preview {  width: 100%; }
.newpic-upload .newpic-preview > div {  width: 100%;  height: 100%;  background-size: cover;  background-repeat: no-repeat;  background-position: center;}

/*제품등록 이미지 업로드*/
.imageInput_wrap{}
#preview-container {display: grid;flex-wrap: wrap;gap: 10px;grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;}
.preview-item {position: relative;aspect-ratio: 1/1;cursor: pointer;width: 100%; border: 1px solid #E1E1E1;background: #eee;}
.preview-image {width: 100%;height: 100%;object-fit: cover;}
.delete-button, .set-representative-button {position: absolute;padding: 4px;border: none;border-radius: 4px;font-size: 12px;opacity: 0.8;transition: opacity 0.3s;}
.delete-button{right: -4px; top: -4px; background: #000000; color: #fff; width: 18px; height: 18px; padding: 0; font-weight: 200; border-radius: 50%; font-size: 11px; line-height: 18px;}
.set-representative-button{bottom: 0; left: 0; display: none;}
/*.preview-item:hover .set-representative-button{display: block; background: #00000069; width: 100%; height: 100%; border-radius: 0;}*/
.delete-button:hover, .set-representative-button:hover {opacity: 1;}
.representative {}
.representative:after{content: "대표이미지"; position: absolute; bottom: 0; left: 0; width: 100%; background: #ffe6e6; color: #7400CF; text-align: center; font-size: 11px; padding: 2px;}

/* 이미지 선택 버튼 스타일 */
#imageInput {display: none; /* 기존의 브라우저 기본 스타일 숨김 */}
.custom-image-input { margin:0 10px 10px 0;}
.custom-image-input:hover {background-color: #7400CF;}

/*@media screen and (max-width: 300px) {
    .newpic-upload .newpic-edit input + label {  display: inline-block;    width: 100px;    height: 100px;    line-height: 110px;}
    .newpic-upload .newpic-preview {  width: 100px;  height: 100px;  position: relative;  border: 1px solid #F8F8F8;}
}*/

/*탭메뉴*/
ul.tabs{    margin: 0px;    padding: 0px;    list-style: none;}
ul.tabs li{    margin-right: 5px ;background: none;     display: inline-block;    cursor: pointer;}
ul.tabs li.current{  font-weight: 800; }

.tab-content{    display: block;}
.tab-content.current{    display: inherit;}


.page-content{position: relative;}

.ready{position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; width: calc(100%); height: calc(100%); background-color: rgba(0,0,0,0.2); z-index: 1;}
.ready_page{filter:grayscale(1); opacity: 0.5;}
.ready_bubble{opacity: 0.5;}
.ready_bubble:after{content: "준비중"; display: inline-block; background: rgba(0,0,0,0.5); border-radius: 40px; color: rgba(255,255,255,1); padding: 3px 10px;
    position: absolute; top: 12px; right: 45px; font-size: 11px; line-height: 1em; font-weight: 400;}

.ready_bubble2{position: relative; display: inline-block;}
.ready_bubble2:after{content: "준비중"; display: inline-block; background: #1e2229; border-radius: 40px; color: rgba(255,255,255,1); padding: 3px 10px;
    font-size: 12px; line-height: 1em; font-weight: 400; z-index: 99;}

.empty{padding: 5% 0!important; text-align: center; font-size: 1em; opacity: 0.8;}
.empty.v2{padding: 15% 0!important;}
.empty img{height:50px; margin-bottom: 10px; filter: grayscale(100%); opacity: 0.5;}


/*loading*/
#loading{content: "";display: block;width: 100%;height: 100vh;background-color: rgba(255,255,255,0.9);position: fixed;left: 0;top: 0;z-index: 9999;}
#loading .box_wrap{position: fixed;top: 45%;left: 50%;transform: translate(-50%,-50%);display: block;text-align: center;
}
#loading .box{display:block; border:0; border-radius:0; position: relative; padding:0;}
#loading img{width: 75px;height: auto;margin: 0 auto 5px auto;}
#loading p{font-size: 0.85em;line-height: 1em;color: #7400CF;font-family: 'SBAggro';font-weight: 600;text-transform: uppercase;letter-spacing: -0.5px;}

#loading .box{
    /* box-shadow: 1px 1px 0 rgba(0,0,0,0.2), -1px -1px 0 rgba(0,0,0,0.2); */
    width: 100%;
    animation: scale 1s infinite ease-in-out;
    animation-direction: alternate;
}
@keyframes scale {
    0%   { transform: scale(0.9) }
    100%  { transform: scale(1) }
}

.read-more { --line-clamp: 3;    display: flex;    flex-direction: column;    align-items: start;}
.rm-txt {    display: -webkit-box;    -webkit-line-clamp: var(--line-clamp);    -webkit-box-orient: vertical;    overflow: hidden;}
.rm-cb {    clip: rect(0 0 0 0);    clip-path: inset(100%);    height: 1px;    overflow: hidden;    position: absolute;    white-space: nowrap;    width: 1px;}
.rm-cb ~ .rm-lb {    cursor: pointer;    font-size: 0.75em;    font-weight: 700;    text-decoration: underline;}

/* Don't forget focus and hover styles for accessibility! */
.rm-cb:focus ~ .rm-lb {    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);}
.rm-cb:hover ~ .rm-lb {    text-decoration: none;}
.rm-cb ~ .rm-lb::before {    content: attr(data-read-more);}
.rm-cb:checked ~ .rm-lb::before {    content: attr(data-read-less);}
.rm-cb:checked ~ .rm-txt {--line-clamp: none;    -webkit-line-clamp: var(--line-clamp);}

/* End read more component styles */

/* 툴팁 */
.tooltip-container {position: relative; display: inline-block;}
.tooltip {visibility: hidden; background-color: #555; color: #fff; text-align: center; border-radius: 6px; padding: 5px; position: absolute; z-index: 1; bottom: 110%; /* 위치 조정 */ left: 50%; margin-left: -100px; opacity: 0; transition: opacity 0.3s; width: 200px;}
.tooltip-container:hover .tooltip {visibility: visible;opacity: 1;}
.tooltip::after {content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #555 transparent transparent transparent;}

/* START TOOLTIP STYLES */
[tooltip] {
    position: relative; /* opinion 1 */
}

/* Applies to all tooltips */
[tooltip]::before,
[tooltip]::after {
    text-transform: none; /* opinion 2 */
    font-size: 12px; /* opinion 3 */
    font-weight: normal;
    line-height: 1;
    user-select: none;
    pointer-events: none;
    position: absolute;
    display: none;
    opacity: 0;
}
[tooltip]::before {
    content: '';
    border: 7px solid transparent; /* opinion 4 */
    z-index: 2; /* absurdity 1 */
}
[tooltip]::after {
    content: attr(tooltip); /* magic! */

    /* most of the rest of this is opinion */
    font-weight: 600;
    text-align: center;

    /*
      Let the content set the size of the tooltips
      but this will also keep them from being obnoxious
      */
    min-width: 3em;
    max-width: 21em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 1.1ch 1.5ch;
    box-shadow: none;););););););););););););););
    background: #EC7D60;
    color: #fff;
    z-index: 1; /* absurdity 2 */
    border-radius: 40px;
    text-shadow: none;
    letter-spacing: 0.5px;
}
.tooltip_y[tooltip]::after{color:#fff7f5 }
/* Make the tooltips respond to hover */
[tooltip]:hover::before,
[tooltip]:hover::after {
    display: block;
}

/* don't show empty tooltips */
[tooltip='']::before,
[tooltip='']::after {
    display: none !important;
}

/* FLOW: UP */
[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
    bottom: 100%;
    border-width: 0 8px 12px 0;
    border-color: transparent #EC7D60 transparent;
    bottom: calc(100% - 8px);
    transform: rotate(-40deg);
    transform-origin: top left;
    margin-left: -20%;
}
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::after {
    bottom: calc(100% + 2px);
}
[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::before,
[tooltip][flow^="up"]::after {
    left: 40%;
    transform: translate(-50%, -.5em);
}

/* FLOW: DOWN */
[tooltip][flow^="down"]::before {
    top: 100%;
    border-top-width: 0;
    border-bottom-color: #333;
}
[tooltip][flow^="down"]::after {
    top: calc(100% + 5px);
}
[tooltip][flow^="down"]::before,
[tooltip][flow^="down"]::after {
    left: 50%;
    transform: translate(-50%, .5em);
}

/* FLOW: LEFT */
[tooltip][flow^="left"]::before {
    top: 50%;
    border-right-width: 0;
    border-left-color: #333;
    left: calc(0em - 5px);
    transform: translate(-.5em, -50%);
}
[tooltip][flow^="left"]::after {
    top: 50%;
    right: calc(100% + 5px);
    transform: translate(-.5em, -50%);
}

/* FLOW: RIGHT */
[tooltip][flow^="right"]::before {
    top: 50%;
    border-left-width: 0;
    border-right-color: #333;
    right: calc(0em - 5px);
    transform: translate(.5em, -50%);
}
[tooltip][flow^="right"]::after {
    top: 50%;
    left: calc(100% + 5px);
    transform: translate(.5em, -50%);
}

/* KEYFRAMES */
@keyframes tooltips-vert {
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@keyframes tooltips-horz {
    to {
        opacity: 1;
        transform: translate(0, -50%);
    }
}

/* FX All The Things */
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):hover::after,
[tooltip][flow^="up"]:hover::before,
[tooltip][flow^="up"]:hover::after,
[tooltip][flow^="down"]:hover::before,
[tooltip][flow^="down"]:hover::after {
    animation: tooltips-vert 300ms ease-out forwards;
}

[tooltip][flow^="left"]:hover::before,
[tooltip][flow^="left"]:hover::after,
[tooltip][flow^="right"]:hover::before,
[tooltip][flow^="right"]:hover::after {
    animation: tooltips-horz 300ms ease-out forwards;
}

.block[tooltip]::after,
.block[tooltip]::before{display: inherit;opacity: 1;animation: tooltips-vert 300ms ease-out forwards;}


/*접었다펼치기(리뷰)*/
details {}
details > summary { cursor:pointer; transition:background 0.5s;
    display: flex; align-items: center; justify-content: space-between; padding: 14px}
details > summary:after{content: "\f078"; font-family: "Font Awesome 6 Pro"; display: block;}
details > summary::-webkit-details-marker { transform:rotate3d(0, 0, 1, 90deg); transition:transform 0.25s;}
details[open] > summary::-webkit-details-marker { transform:rotate3d(0, 0, 1, 180deg);}
details[open] > summary:after {content: "\f077";}
details[open] > summary ~ * { animation:reveal 0.5s;}
.details{padding: 14px; border-top: 1px dashed #DBDBDB;}

@keyframes reveal {
    from { opacity:0; transform:translate3d(0, 0px, 0); }
    to { opacity:1; transform:translate3d(0, 0, 0); }
}


@media screen and (max-width: 992px) {
    details > summary {   padding: 10px 0px;}
    .details {   padding: 10px 0px;}
}
/*슬라이드*/
.swiper-button-next,
.swiper-button-prev{background: rgba(82, 82, 82, 0.31); opacity: 0.9; width: 25px!important; height: 25px!important; box-shadow: 0 0 10px #00000015;top: 55% !important}
.swiper-button-next:after,
.swiper-button-prev:after{color: #fff; opacity:1; font-size: 1em!important;}
.visualSwiper .swiper-button-next,
.visualSwiper .swiper-button-prev {box-shadow: none}
.button-right{position: absolute; right: 0; bottom: 0px; display: flex; width: 60px;}
.button-right .swiper-button-next,
.button-right .swiper-button-prev{position: relative; left: 0; right: 0;}


/*게시판리스트*/
.board_search{max-width: 600px; margin: 0 auto;}
.board_search select{padding-left: 0; padding-right: 0; margin-right: 10px;}
.board_search .search{width: 100%; display: flex; background: #fff;border: 0; border-bottom: 2px solid #f9f9f9; }
.board_search input[type="search"]{width: 100%; background: transparent; border: 0;}
.board_search .btn_search{background: transparent; border: 0;}

#board {margin: 20px auto;}
#board > .btn_wrap{margin:10px 0; justify-content: right;    display: flex;    align-items: center;    gap: 5px;}
#board .boardList > .btn_wrap{margin:10px 0; justify-content: right;    display: flex;    align-items: center;    gap: 5px;}
#board form > .btn_wrap{margin:10px 0; justify-content: right;    display: flex;    align-items: center;    gap: 5px;}
.boardList .fa-lock-keyhole{color: #333; font-size: 12px; margin-right: 6px;}
.boardList{margin-top: 20px;font-size: 1.1em;}
.boardList > ul{border-top:1px solid #eee; margin-top: 20px; }
.boardList li{/*display: grid;grid-template-columns: 60px 1fr 100px 90px;*/ align-items: center;
    border-bottom: 1px solid #eee;padding: 20px 0; position: relative;}
.boardList li:after{content: "\f054"; font-family: "Font Awesome 6 Pro"; display: block;
    position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-weight: 200; color: #AFAFAF;}
.boardList li .flex > p{font-size: 12px; margin-right: 10px; color: #959595;}
.boardList li > p .icon_mini{margin-left: 0px;   margin-right: 5px;}
.boardList li > p{margin-right: 10px;}
.boardList li > p:last-child{margin-right: 0;}
.boardList li p.p_num{font-weight: 600; display: none;}
.boardList li p.p_user{}
.boardList li p.p_date{}
.boardList li p.p_title{text-align: left; align-items: center; cursor: pointer;
    color: RGBA(35, 35, 35 ,0.8); margin-top: 4px; font-size: 1.05em; font-weight: 600}
.boardList li p.p_title span.comment {    font-size: 0.7em;    padding: 2px 5px;    background: #fff;    border: 1px solid #ccc;    border-radius: 4px  4px 0 4px ;    margin-right: 5px;    font-weight: 800;}
.boardList li.notice .flex > p.p_num{overflow: hidden; height: 20px; display: block;}
.boardList li.notice .flex > p.p_num:before{content: "공지"; line-height: 20px; font-weight: 600; display: block; /*background-color: #ffe6e6;*/ color: #7400CF; margin: 0 auto;}
.boardList li.notice p.p_title{color: #232323; font-weight: 700;}


.boardView{font-size: 1.1em;}
.boardView .title .icon_mini{margin-left: 0px;   margin-right: 5px;}
.boardView .down {background: #f9f9f9; padding: 10px 15px; font-size: 0.9em}
.boardView .down .flex {gap: 5px; background: #fff0}
.boardView .down .flex p {text-decoration: underline}
.boardView .down .flex .fa-down  {opacity: 0.5}
.boardView .title{border-bottom: 1px solid #eee; margin-bottom: 10px; padding: 10px;
    /*display: flex; align-items: center; justify-content: space-between;*/ font-size: 1em; display: block;}
.boardView .title > p{margin-bottom: 4px;}
.boardView .title strong{margin-bottom: 10px; display: block; font-size: 1.4em;}
.boardView .title .info{display: flex;}
.boardView .title .info p{font-weight: 600; margin-left: 4px;}
.boardView .title .info p:after{content: ""; display: inline-block; width: 1px; height: 10px; margin: 0 6px; background: #ddd;}
.boardView .title .info p:last-child:after{display: none;}
.boardView .view{padding: 10px; line-height: 1.8em;}
.boardView .view .img{margin: 10px 0;}
.boardView .attached_file{ display: flex; align-items: center; padding: 10px 20px; margin-bottom: 10px; border: 1px dotted #eee;}
.boardView .attached_file a{display: inline-block; text-decoration: underline; margin-left:10px; font-size: 0.9em; }
.boardView .attached_file a:hover{color: #7400CF;}
.boardView .answer{background: #f9f9f9; padding: 20px 25px; margin-top: 20px; line-height: 1.8em;}
.boardView .answer dl{border-top:1px solid #eee; margin-top: 20px; padding-top: 20px;}
.boardView .answer dl:first-child{border-top:0; margin-top: 0; padding-top: 0; }
.boardView .answer dt{font-size: 0.9em; margin-bottom: 10px; display: block; color:  #333333; font-weight: 600; margin-left:0px; width: 100% }
.boardView .answer dt i{font-size: 0.8em; margin-right: 4px; }
.boardView .answer dt strong:after{content: ""; display: inline-block; width: 1px; height: 10px; margin: 0 6px; background: #ddd;}
.boardView .answer dt strong:last-child:after{display: none;}
.boardView .answer_write{ border-top:1px solid #eee; margin-top: 20px; padding-top: 20px; }
.boardView .img#boardFiles{display: flex; flex-wrap: wrap; position: relative; padding-top:30px; overflow-y: auto; }
.boardView .img#boardFiles > strong{position: absolute; left: 0; top: 0;}
.boardView .img#boardFiles p{width: calc(100% / 2)}
.boardView .img#boardFiles a{display: block; width: 100%; height: 150px; padding: 1px}
.boardView .img#boardFiles a img{width: 100%; height: 100%; object-fit: cover;}

.boardWrite .form > div:first-of-type{margin-bottom: 6px;}
.boardWrite .flex {margin-top: 6px;gap: 6px}
.boardWrite .flex input{margin-bottom: 0px;}
.boardWrite textarea{height: 300px;}
#returnModal .boardWrite textarea{height: 160px;}
.boardWrite .btn_wrap{}
@media screen and (max-width: 768px) {
    /*게시판*/
    .board_search,
    #board{padding: 0 10px;}
}


/*갤러리형 리스트*/
.gallery_list .grid{gap: 20px;}
.gallery_list li{border-bottom: 1px solid #eee; cursor: pointer}
.gallery_list li .txt{position: relative; padding: 10px 0;}
.gallery_list li .flex > p{font-size: 12px; margin-right: 10px; color: #959595;}
.gallery_list li > p .icon_mini{margin-left: 6px;}
.gallery_list li > p{margin-right: 10px;}
.gallery_list li > p:last-child{margin-right: 0;}
.gallery_list li p.p_num{font-weight: 600; display: none;}
.gallery_list li p.p_user{}
.gallery_list li p.p_date{}
.gallery_list li p.p_title{text-align: left;display: flex; align-items: center;
    color: RGBA(35, 35, 35 ,0.8); margin-top: 4px; font-size: 1.1em; font-weight: 600}

@media screen and (max-width: 768px) {
    /*강의*/
    .gallery_list .grid4{grid-template-columns: repeat(2, 1fr);}
}
@media screen and (max-width: 550px) {
    /*강의*/
    .gallery_list .grid2,
    .gallery_list .grid4{grid-template-columns: repeat(1, 1fr);}
}

/*자주묻는질문*/
.faqList{margin-top: 20px;font-size: 1.1em;}
.faqList details:first-of-type{border-top:1px solid #eee; margin-top: 20px; }
.faqList details{border-bottom: 1px solid #eee;}
.faqList details > summary{/*display: grid;grid-template-columns: 60px 1fr 100px 90px;*/ align-items: center;
    padding: 20px 0; position: relative;}
.faqList details > summary .flex > p{font-size: 12px; margin-right: 10px; color: #959595;}
.faqList details > summary > p .icon_mini{margin-left: 6px;}
.faqList details > summary > p{margin-right: 10px;}
.faqList details > summary > p:last-child{margin-right: 0;}
.faqList details > summary p.p_num{font-weight: 600; display: none;}
.faqList details > summary p.p_user{}
.faqList details > summary p.p_date{}
.faqList details > summary p.p_title{text-align: left;display: flex; align-items: center;
    color: RGBA(35, 35, 35 ,0.8); margin-top: 4px; font-size: 1.05em; font-weight: 700}

.faqList .details{background: #f7e6ff; padding: 20px 22px; color: #232323; line-height: 1.6em; border-top: 0;}

@media screen and (max-width: 1400px) {
    .inner{max-width: 100%; padding-left:30px; padding-right: 30px;}
}
@media screen and (max-width: 1200px) {}
@media screen and (max-width: 992px) {}
@media screen and (max-width: 768px) {
    .inner{padding-left:20px; padding-right: 20px;}
    .button-right {right: 20px;}
}
@media screen and (max-width: 550px) {
    .inner{padding-left:15px; padding-right: 15px;}
}


/*toast*/
.toast_layer {visibility: hidden; min-width: 250px; width: max-content; max-width: 90%;
    background-color: #fff; color: #7400CF; border: 4px solid #7400CF; text-align: center; border-radius: 2px;
    padding: 16px 26px; position: fixed; z-index: 9999; font-weight: 600; box-shadow: 0 5px 10px #00000056;
    left: 50%; bottom: 50%; transform: translateX(-50%); font-size: 1.2em;}
.toast_layer.show {visibility: visible; -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; animation: fadein 0.5s, fadeout 0.5s 2.5s;}
.swal2-title {font-size: 1.3em!important;}
@-webkit-keyframes fadein {
    from {bottom: 45%; opacity: 0;}
    to {bottom: 50%; opacity: 1;}
}
@keyframes fadein {
    from {bottom: 45%; opacity: 0;}
    to {bottom: 50%; opacity: 1;}
}
@-webkit-keyframes fadeout {
    from {bottom: 50%; opacity: 1;}
    to {bottom: 45%; opacity: 0;}
}
@keyframes fadeout {
    from {bottom: 50%; opacity: 1;}
    to {bottom: 45%; opacity: 0;}
}

.rotate-up {transform: rotate(0deg); transition: transform 0.3s ease;}
.rotate-down {transform: rotate(180deg);transition: transform 0.3s ease;}


/*브라우저 상하단이동버튼*/
#gobtn{position:fixed;  right:10px; bottom:10px; z-index:9999;    }
.goHd {opacity: 0!important; transition: all 0.3s ease-in-out, opacity  0.3s ease-in-out;;}
body:has(.header_scroll) .goHd {opacity: 0.5!important; transition: all 0.3s ease-in-out, opacity  0.3s ease-in-out;;}
.goHd, .goFt{; opacity: 0.5;width:30px; height:30px; background:rgba(255, 255, 255, 0.6); z-index:9999; text-indent:-9999px; border:1px solid #858585; position:relative;
    transition:all 0.5s; box-shadow:0px 0px 3px RGBA(0, 0, 0, 0.1); border-radius:2px; display:block; margin-bottom:3px;}
.goHd span{position:absolute; top:60%; left:9px; display:block; width:10px; height:10px; border-left:2px solid #666; border-top:2px solid #666; border-radius:2px;
    transform:translateY(-50%) rotate(45deg);}
.goFt span{position:absolute; top:40%; left:9px; display:block; width:10px; height:10px; border-left:2px solid #666; border-top:2px solid #666; border-radius:2px;
    transform:translateY(-50%) rotate(-135deg);}
.goHd:hover, .goFt:hover{background:#333; border:1px solid #333; opacity: 1}
.goHd:hover span, .goFt:hover span{border-left:2px solid #FFF; border-top:2px solid #FFF;}



.img-modal {
    display: none; /* 모달창 숨겨 놓기 */
    position: fixed;
    z-index: 2000; /*
    padding-top: 100px;*/
    left: 0; top: 50%; transform: translateY(-50%);
    width: 100%; height: 100%;
    overflow: auto; /* 스크롤 허용 auto */
    cursor: pointer; /* 마우스 손가락모양 */
    background-color: rgba(0, 0, 0, 0.4);
}
/* 모달창 이미지 */
.modal_content {
    margin: auto;
    display: block;
    width: 100%; height: auto;
    max-width: 900px;
    animation-name: zoom;
    animation-duration: 0.5s;
    position: relative;
    left: 0; top: 50%; transform: translateY(-50%);
}
/* 모달창 애니메이션 추가 */
@keyframes zoom {
    from {filter: opacity(0.1)}
    to {filter: opacity(1)}
}
/* 닫기 버튼 꾸미기 */
.img-modal .close {
    position: absolute;
    top: 45px;
    right: 25px;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    transition: 0.3s;
    z-index: 99;
    opacity: 0.5;
}
.img-modal .close:hover, .img-modal .close:focus{
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}


/*에러페이지*/
body.error_wrap {
    height: 100%;
    background: #fafafa;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #777;
    font-weight: 300;
}
.error_wrap .box {
    max-width: 769px;
    margin: 5rem auto;
    padding: 2rem;
    text-align: center;
    position: relative;
    border: 0;
}
.error_wrap h1 {
    letter-spacing: normal;
    font-size: 2.5em;
    margin-top: 10px;
    margin-bottom: 10px;
    color: #222;
}
.error_wrap p {
    margin-top: 1.5em;
    font-size: 1.2em;
    margin-bottom: 1.5em;
}
.error_wrap i {
    font-size: 3em;
    margin-bottom: 16px;
    color: #ff8307;
}
.error_wrap button {
    height: 40px;
    all: unset;
    display: inline-block;
    text-align: center;
    padding: 7px 10px;
    line-height: 1em;
    font-size: 12px;
    cursor: pointer;
    font-weight: 600;
    position: relative;
    box-sizing: border-box;
    margin: 1px;
    background-color: #7401ce;
    color: #fff;
    width: 100%;
    max-width: 300px;
    border: 0;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}


body:has(div.error_wrap) {
    max-width: 769px;
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    background: #efeeef !important;
    box-shadow: 0 0 25px 10px #00000010;
}

div.error_wrap {
    background: #fff;
    padding: 50px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    text-align: center;
}
div.error_wrap i {
    padding-bottom: 25px;
}


/* =========================
   게임 보드 컨테이너
========================= */
.game_warp{
    aspect-ratio: 1 / 1;
    background: #E7EAF6;
    border-radius: 10px;
    padding: 6px;
    height: fit-content;
    margin: 0 auto;
    width: 100%;
    max-width: 450px;
}

/* =========================
   게임 보드 그리드
========================= */
#game_board{
    aspect-ratio: 1 / 1;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(11, 1fr);
    gap: 2px;
    width: 100%;
}

/* =========================
   기본 셀
========================= */
#game_board li{
    background: #FFFFFF61;
    border-radius: 4px;
    box-sizing: border-box;
    width: 100%;
    font-family: 'Paperlogy', 'SUIT', 'Noto Sans KR', sans-serif;
}

/* =========================
   활성 셀
========================= */
#game_board li.active{
    background: #fff;
}

/* =========================
   완성된 단어 (보라색)
========================= */
#game_board li.answer{
    background: #6B5AFF;
    color: #fff;
    font-weight: 500;
    font-size: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 데스크탑에서 완성 단어 크기 */
@media screen and (min-width: 768px){
    #game_board li.answer{
        font-size: 2em;
    }
}

/* =========================
   입력 중인 단어 (초록색)
   👉 answer와 완전히 동일한 폰트 규칙
========================= */
#game_board li.filled-temp{
    background: #22c55e !important;
    color: #fff !important;

    font-weight: 500 !important;
    font-size: 1em !important;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0 !important;
    box-shadow: 0 6px 14px rgba(34, 197, 94, 0.25);
    transform: translateZ(0);
}

/* 데스크탑에서 입력 중 단어 크기 */
@media screen and (min-width: 768px){
    #game_board li.filled-temp{
        font-size: 2em !important;
    }
}

/* =========================
   Hover / Focus
========================= */
/*#game_board li.active:hover,*/
#game_board li.active:focus{
    border: 3px solid #6B5AFF;
    background: #fff;
}

/*#game_board li.active.answer:hover,*/
#game_board li.active.answer:focus{
    border: 0;
    background: #6B5AFF;
}

/* =========================
   선택된 셀
========================= */
#game_board li.selected{
    border: 3px solid #6B5AFF !important;
    background: #fff !important;
}

/* =========================
   자동 선택 애니메이션
========================= */
#game_board li.auto-selected{
    animation: auto-select-pulse 0.5s ease-out;
    box-shadow:
            0 0 20px rgba(107, 90, 255, 0.8),
            0 0 40px rgba(107, 90, 255, 0.5),
            inset 0 0 20px rgba(107, 90, 255, 0.3);
    border: 3px solid rgba(107, 90, 255, 0.9) !important;
    transform: scale(1.05);
}

@keyframes auto-select-pulse{
    0%{
        transform: scale(1);
        box-shadow: 0 0 0 rgba(107, 90, 255, 0);
    }
    50%{
        transform: scale(1.1);
        box-shadow:
                0 0 30px rgba(107, 90, 255, 1),
                0 0 60px rgba(107, 90, 255, 0.7),
                inset 0 0 30px rgba(107, 90, 255, 0.5);
    }
    100%{
        transform: scale(1.05);
        box-shadow:
                0 0 20px rgba(107, 90, 255, 0.8),
                0 0 40px rgba(107, 90, 255, 0.5),
                inset 0 0 20px rgba(107, 90, 255, 0.3);
    }
}

/* =========================
   클릭 가능한 셀 커서 제거
========================= */
#game_board li.clickable{
    cursor: default !important;
}

/* =========================
   오답 이펙트 (빨강 + 달그락)
========================= */
#game_board li.wrong-anim{
    background: #ef4444 !important;
    color: #fff !important;

    font-weight: 500 !important;
    font-size: 1em !important;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0 !important;
    box-shadow: 0 6px 14px rgba(239, 68, 68, 0.28);
    transform: translateZ(0);

    animation: wrong-shake 0.35s ease-in-out;
}

@keyframes wrong-shake{
    0%   { transform: translateX(0); }
    10%  { transform: translateX(-4px) rotate(-1deg); }
    20%  { transform: translateX(4px)  rotate(1deg); }
    30%  { transform: translateX(-5px) rotate(-1.5deg); }
    40%  { transform: translateX(5px)  rotate(1.5deg); }
    55%  { transform: translateX(-3px) rotate(-1deg); }
    70%  { transform: translateX(3px)  rotate(1deg); }
    85%  { transform: translateX(-2px); }
    100% { transform: translateX(0); }
}


/* =========================
   스테이지 1단계 인트로 화면 ( iframe )
========================= */
#intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:9999;}
#intro-frame{width:100%;height:100%;border:0;background:#000;}