/*
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
*/

.tit{ line-height: +1.2}
.txt{ line-height: +1.4}
a {
    margin: 0;
    padding: 0;
    display: inline-block;
    background: transparent;
}
.thin{ font-weight: 100}
.light{ font-weight: 300}
.regular{ font-weight: 400}
.md{ font-weight: 500}
.bold{ font-weight: bold !important;}
.eb{ font-weight: 700}
.it{ font-style: italic}

.stroke{ text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000;}
.stroke1{ text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;}
.stroke_w{ text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;}
.stroke_y{ text-shadow: -2px -2px 0 #ffcc00, 2px -2px 0 #e5ce53, -2px 2px 0 #ffcc00, 2px 2px 0 #e5ce53;}
.stroke_b{ text-shadow: -1px -1px 0 #56ffff, 1px -1px 0 #56ffff, -1px 1px 0 #56ffff, 1px 1px 0 #56ffff;}
.stroke_b2{ text-shadow: -2px -2px 2px #74ffff, 2px -2px 2px #74ffff, -2px 2px 2px #74ffff, 2px 2px 2px #74ffff;}
/*common start*/

/*align*/
.lh1{ line-height: 1}
.tac{ text-align: center}
.tal{ text-align: left}
.tar{ text-align: right}
.flex{ display: flex; flex-wrap: wrap}
.flex-col{ display: flex; flex-direction: column;}
.inline-flex {display: inline-flex !important; flex-wrap: wrap}
.flex-jc{ display: flex; flex-wrap: wrap; justify-content: center}
.flex-js{ display: flex; flex-wrap: wrap; justify-content: flex-start}
.flex-je{ display: flex; flex-wrap: wrap; justify-content: flex-end}
.flex-jl{ display: flex; flex-wrap: wrap; justify-content: left}
.flex-jr{ display: flex; flex-wrap: wrap; justify-content: right}
.flex-jsb{ display: flex; flex-wrap: wrap; justify-content: space-between}
.flex-jsa{ display: flex; flex-wrap: wrap; justify-content: space-around}
.flex-ac{ display: flex; flex-wrap: wrap; align-items: center}
.flex-ae{ display: flex; flex-wrap: wrap; align-items: flex-end}
.flex-afs { display: flex; flex-wrap: wrap; align-items: flex-start}
.flex-ast { display: flex; align-items: stretch}
.flex-nowrap{ display: flex; flex-wrap: nowrap;}
.flex-now{ display: flex}
.flex-now-jc{ display: flex; justify-content: center}
.flex-now-jsb{ display: flex; justify-content: space-between}
.flex-now-jsa{ display: flex; justify-content: space-around}

/*color*/
.bg_red{ background: #d41111}
.bg_red2{ background: #be3636}
.bg_w{ background: #fff}
.bg_yellow{ background: #fec700}
.bg_orange{ background: #fe9500}
.bg_black{ background: #000000}
.bg_blue { background: #2150a2}
.bg_brown{background:#e5d9c1;}

/*layout*/
.wrap{ position: relative; width: 100%}
.half{ width: 50%}
.w40{ width: 40%}
.w45{ width: 45%}
.w55{ width: 55%}
.w60{ width: 60%}
.sec{ position:relative; overflow: hidden; width: 100%}
.ts{ text-shadow: 1px 1px 5px rgba(0,0,0,0.8)}
.tsb{ text-shadow: 0 0 5px rgba(103,246,249,1)}
.ls{ letter-spacing: -2px}
.small{ font-size: 0.875em}
.xsmall{ font-size: 0.750em}
.tab_con{ display: none}
.tab_con.current{ display: flex}

.radius_s{ border-radius: 0 15px 15px 15px}
.radius_srb{ border-radius: 15px 15px 0 15px}
.vertical{ writing-mode: vertical-lr}

.mr0 { margin-right: 0!important;}
.mr5 { margin-right: 5px}
.mr10{ margin-right: 10px}
.mr15{ margin-right: 15px}
.mr20{ margin-right: 20px}
.mr25{ margin-right: 25px}
.mr30{ margin-right: 30px}
.mr40{ margin-right: 40px}
.mr50{ margin-right: 50px}
.ml0 { margin-left: 0!important;}
.ml5 { margin-left: 5px}
.ml10{ margin-left: 10px}
.ml15{ margin-left: 15px}
.ml20{ margin-left: 20px}
.ml25{ margin-left: 25px}
.ml30{ margin-left: 30px}
.ml40{ margin-left: 40px}
.ml50{ margin-left: 50px}
.mb0 { margin-bottom: 0!important;}
.mb5 { margin-bottom: 5px}
.mb10{ margin-bottom: 10px}
.mb15{ margin-bottom: 15px}
.mb20{ margin-bottom: 20px}
.mb25{ margin-bottom: 25px}
.mb30{ margin-bottom: 30px}
.mb40{ margin-bottom: 40px}
.mb50{ margin-bottom: 50px}
.mb60{ margin-bottom: 60px}
.mb70{ margin-bottom: 70px}
.mb80{ margin-bottom: 80px}
.mb90{ margin-bottom: 90px}
.mb100{ margin-bottom: 100px}
.mt0 { margin-top: 0!important;}
.mt5 { margin-top: 5px}
.mt10{ margin-top: 10px}
.mt15{ margin-top: 15px}
.mt20{ margin-top: 20px}
.mt25{ margin-top: 25px}
.mt30{ margin-top: 30px}
.mt40{ margin-top: 40px}
.mt50{ margin-top: 50px}
.pt60{ padding-top: 60px}
.pt70{ padding-top: 70px}
.pt80{ padding-top: 80px}
.pt90{ padding-top: 90px}
.pt100{ padding-top: 100px}

.p5{ padding: 5px}
.p10{ padding: 10px}
.p15{ padding: 15px}
.pr0 { padding-right: 0!important;}
.pr5 { padding-right: 5px}
.pr10{ padding-right: 10px}
.pr15{ padding-right: 15px}
.pr20{ padding-right: 20px}
.pr25{ padding-right: 25px}
.pr30{ padding-right: 30px}
.pr40{ padding-right: 40px}
.pr50{ padding-right: 50px}
.pl0 { padding-left: 0!important;}
.pl5 { padding-left: 5px}
.pl10{ padding-left: 10px}
.pl15{ padding-left: 15px}
.pl20{ padding-left: 20px}
.pl25{ padding-left: 25px}
.pl30{ padding-left: 30px}
.pl40{ padding-left: 40px}
.pl50{ padding-left: 50px}
.pb0 { padding-bottom: 0!important;}
.pb5 { padding-bottom: 5px}
.pb10{ padding-bottom: 10px}
.pb15{ padding-bottom: 15px}
.pb20{ padding-bottom: 20px}
.pb25{ padding-bottom: 25px}
.pb30{ padding-bottom: 30px}
.pb40{ padding-bottom: 40px}
.pb50{ padding-bottom: 50px}
.pb60{ padding-bottom: 60px}
.pb70{ padding-bottom: 70px}
.pb80{ padding-bottom: 80px}
.pb90{ padding-bottom: 90px}
.pb100{ padding-bottom: 100px}
.pt0 { padding-top: 0!important;}
.pt5 { padding-top: 5px}
.pt10{ padding-top: 10px}
.pt15{ padding-top: 15px}
.pt20{ padding-top: 20px}
.pt25{ padding-top: 25px}
.pt30{ padding-top: 30px}
.pt40{ padding-top: 40px}
.pt50{ padding-top: 50px}

.m_show{ display: none}
.m_hidden{ display: block}

img {
    max-width:100%;
    transition: all 0.3s;
}
/* pc mobile show */
.pc-show {
    display: block;
}
.mb-show {
    display: none;
}
.mb-small-show {
    display: none;
}
.absol-img, .absol {
    position: absolute;
}
.relative {
    position: relative;
}
.tfcc {
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
.msg-sound-only, .sound-only {
    display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important
}

/* animate-txt */
.animate-txt {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.ani-txt {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
}
.ani-txt img {
    display: inline-flex;
}

/* txt option */
.v-txt-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    opacity: 0;
    transition: opacity 0.5s ease-out;
}
.v-txt-wrap.type-th {

}
.v-txt-wrap .txt {
    line-height: 1.1;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    opacity: 1;
}
.v-txt-wrap .img {
    writing-mode: vertical-rl;
    text-orientation: sideways;
    opacity: 1;
}
.v-txt-wrap .txt span {
    display: inline-block;
    transform: translateY(100%) rotate(-180deg);
    opacity: 0;
}
.v-txt-wrap.type-th .txt {
    writing-mode: vertical-rl;
    text-orientation: upright;
}
.v-txt-wrap.type-th .txt span {
    transform: translateY(100%) rotate(0deg);
}

.v-txt-wrap .txt span.active {
    animation: vTxt-slideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.v-txt-wrap.type-th .txt span.active {
    animation: vTxt-th-slideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.v-txt-wrap .img.active {
    animation: vTxt-slideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* bbs common */
.tbl_head01 td,
#bo_list .td_name,
#bo_v,
#bo_w,
#gall_ul
{
    font-weight: 400;
}
#bo_v_share .btn {
    font-size:0.75em;
}
#bo_v_info .profile_info,
#bo_v_info .profile_info .profile_info_ct{
    line-height: 1.45;
}
#bo_w .btn_cancel,
#bo_w .btn_submit {
    font-size:1.0em;
}

.underline{ position: relative; text-decoration: underline; text-underline-offset: 8px;}
.underline .txt{ position: relative; z-index: 2}
.underline:after{ z-index: 1}
.shadow-wrap{ position: relative; padding: 0 30px 30px 0}
.shadow-wrap .txt{ position: relative; z-index: 2}
.shadow-wrap .shadow{ position: absolute; left: 25px; top: 25px; z-index: 1; color: rgba(0,0,0,0.1); text-shadow: 1px 1px 15px rgba(0,0,0,0.6);}

.bg-txt-grn {
    display: inline-flex;
    padding:4px;
    background: var(--green2-color);
}
.bg-txt-blk {
    display: inline-flex;
    padding:4px;
    background:#000;
}
.fw-bd {
    font-weight: 700;
}
.fw-nm {
    font-weight: 300;
}

.op100 { opacity: 1.0 !important; }
.op90 { opacity: 0.9 !important; }
.op80 { opacity: 0.8 !important; }
.op70 { opacity: 0.7 !important; }
.op60 { opacity: 0.6 !important; }
.op50 { opacity: 0.5 !important; }
.op40 { opacity: 0.4 !important; }
.op30 { opacity: 0.3 !important; }
.op20 { opacity: 0.2 !important; }
.op10 { opacity: 0.1 !important; }

.fw200 { font-weight: 200; }

.required { color: #e7141a; }

.flex-wrap { display: flex; justify-content: space-between; align-items: center; }

a { cursor: pointer; transition: all 0.2s; }
button { cursor: pointer; transition: all 0.2s; }

div { position: relative; }

h1, h2, h3, h4, h5, h6 {
    font-family:var(--title-font-famaily);
    font-weight: 800;
    letter-spacing: -2px;
    -webkit-font-smoothing: antialiased;
}

/* Footer */
.footer {
    padding: 140px 0 150px;
    width: 100%;
    min-width: 1320px;

    background: url('../../img/pc/bg/footer_bg.jpg') no-repeat top center;
    background-size: cover;
}
.footer .cont-wrap {

}
.footer .ft-logo {
    margin:0 auto 28px;
}
.footer .ft-call-wrap {
    margin:0 auto 28px;
    font-size: 32px;
}
.footer .ft-call-wrap strong {
    font-weight: 1000;
}
.footer .sns-wrap {
    gap:20px;
    margin:0 auto 28px;
}
.footer .sns-wrap .item {
    width: 72px;
    height: 72px;
    border:1px solid #fff;
    border-radius: 50%;
}
.footer .sns-wrap .item:hover {
    border:1px solid var(--primary-color-hover);
    background:var(--primary-color);
}
.footer .info-list {
    gap:24px;
    margin:0 auto 32px;
    line-height: 1.8;
    font-size: 16px;
}
.footer .info {
    gap:16px;
    width: 100%;
}
.footer .info .item {
    gap:12px;
}
.footer .copyright {
    display: block;
    font-size: 16px;
    letter-spacing: 0;
}

/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop {z-index:1000;position:relative;margin:0 auto;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 img {max-width:100%}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
.sound_only {display: none;}

.pc {display: block;}
.mo {display: none;}

/* Button */
.btn { display: flex; align-items: center; justify-content: center; position: relative; transition: all 0.3s; }
.btn.submit-btn {
    background:var(--primary-color);
}
.btn.submit-btn:hover {
    background:var(--primary-color-hover);
}
.btn.red-btn {
    background:var(--primary-color);
}
.btn.red-btn:hover {
    background:var(--primary-color-hover);
}
.btn.purple-btn {
    background:var(--primary-color-purple);
}
.btn.purple-btn:hover {
    background:var(--primary-color-purple-hover);
}
.btn.green-btn {
    background:var(--green-color);
}
.btn.green-btn:hover {
    background:var(--green-color-hover);
}


/* Label */
.color-label { display: flex; align-items: center; justify-content: center; font-size: 20px; background: #d0cdca; transition: all 0.3s; }
.color-label:after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(100% - 16px); height: calc(100% - 16px); border: 1px solid #fff; }
.color-label.gray { background: #d0cdca; }
.color-label.light-green { background: #c3d8c4; }
.color-label.light-blue { background: #9bced0; }
.center-txt-label {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* YouTube Wrap */
.youtube-wrap { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.youtube-wrap.bg-wrap { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 0; }
.youtube-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Rolling */
.line-wrap { flex-wrap: nowrap; flex: 0 0 auto; white-space: nowrap; width: auto; overflow: hidden; transition: 0.3s; z-index: 0; }
.line { margin: 0 5px; gap: 10px; flex-wrap: nowrap; width: auto; animation: textLoop 20s linear infinite; }

/* Rolling */
.rolling-wrap {
    flex-wrap: nowrap;
    flex: 0 0 auto;
    gap:40px;
    white-space: nowrap;
    width:auto;
    overflow: hidden;
    transition: 0.3s;
    z-index: 0;
}
.rolling {
    gap:40px;
    flex-wrap: nowrap;
    width:auto;
    animation-name: textLoop;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

/* Input */
legend {
    position: absolute;
    top:-2000%;
    left:-2000%;
    visibility: hidden;
    width: 0;
    height: 0;
    overflow: hidden;
    z-index: -1;
}
input[type="tel"],
input[type="text"],
input[type="password"],
select {
    padding:12px 10px;
    height: 48px;
    background: #fff;
    border:none;
    border-radius: 6px;
    font-size: 16px;
    box-sizing: border-box;
    appearance: none;         /* 크롬, 사파리 */
    -webkit-appearance: none; /* 사파리 */
    -moz-appearance: none;    /* 파이어폭스 */
    /*color:var(--menu-font-color);*/
    color:rgba(0,0,0,0.5);
}
select {
    color:rgba(0,0,0,0.5);
}
select:valid {
    color:var(--menu-font-color);
}
input[type="tel"]::placeholder,
input[type="text"]::placeholder,
input[type="password"]::placeholder {
    /*color:var(--menu-font-color);*/
    color:rgba(0,0,0,0.5);
    font-size: 16px;
}
select option:first-child {
    color: #999999;
    font-size: 16px;
}
.custom-checkbox {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    user-select: none;
}
.custom-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.checkmark {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 24px;
    width: 24px;
    border: 2px solid #333;
    border-radius: 50%;
    transition: all 0.2s ease;
}
.custom-checkbox input:checked ~ .checkmark {
    border: 2px solid #333;
}
.custom-checkbox input:checked ~ .checkmark::after {
    content: "";
    position: absolute;
    display: block;
    left: 8px;
    top: 2px;
    width: 8px;
    height: 14px;
    border: solid #333;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.custom-checkbox.type-2 {
    padding-left:0;
    width: 24px;
}
.custom-checkbox.type-2  input:checked ~ .checkmark {
    border:none;
}
.custom-checkbox.type-2 .checkmark {
    background-color: #fff;
}
.custom-checkbox.type-2 input:checked ~ .checkmark::after {
    border: solid var(--primary-color);
    border-width: 0 2px 2px 0;
}

@media (max-width: 1200px){
    .m_show{ display: block}
    .m_hidden{ display: none}
}
/*기본 설정 끝*/

/* Custom Select Styles */
.custom-select-wrapper {
    position: relative;
    user-select: none;
    width: calc(100% - 160px);
}

.custom-select.item {
    position: relative;
    display: flex;
    flex-direction: column;
    background: none;
    border: none;
    border-radius: 0;
}

.custom-select__trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 5px;
    font-size: 18px;
    color: rgba(0,0,0,0.5);
    height: 40px;
    line-height: 40px;
    cursor: pointer;
}

.trigger-content {
    display: flex;
    align-items: center;
    gap: 8px;
}

.custom-select__trigger .arrow {
    position: relative;
    width: 8px;
    height: 8px;
    border-left: 1px solid #999;
    border-bottom: 1px solid #999;
    transform: rotate(-45deg);
    transition: transform 0.3s;
    margin-right: 8px;
}

.custom-select.open .arrow {
    transform: rotate(135deg);
}

.custom-options {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: none;
    border-radius: 0;
    z-index: 100;
}

.custom-select.open .custom-options {
    display: block;
}

.custom-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 5px;
    font-size: 18px;
    color: rgba(0,0,0,0.5);
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    transition: all 0.3s;
}

.custom-option:hover {
    background-color: #f6f7f9;
    color: var(--menu-font-color);
}

.custom-option.selected {
    color: var(--menu-font-color);
    background-color: transparent;
}

.select-wrapper {
    position: relative;
    width: 100%;
}

.select-wrapper .arrow {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    width: 8px;
    height: 8px;
    border-left: 1px solid #999;
    border-bottom: 1px solid #999;
    pointer-events: none;
    transition: transform 0.3s ease;
}

.select-wrapper select:focus + .arrow {
    transform: translateY(-50%) rotate(135deg);
}

/* Update bot-city class to match width and size */
select.bot-city,
select.bot_city {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 2px 5px;
    font-size: 18px;
    color: rgba(0,0,0,0.5);
    height: 40px;
    line-height: 40px;
    padding-right: 30px; /* Space for arrow */
}

select.bot-city:valid,
select.bot_city:valid {
    color: var(--menu-font-color);
}

.select-wrapper {
    position: relative;
    width: calc(100% - 160px);
    height: 40px;
}

.select-wrapper .arrow {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    width: 8px;
    height: 8px;
    border-left: 1px solid #999;
    border-bottom: 1px solid #999;
    pointer-events: none;
    transition: transform 0.3s ease;
}

/* Separate styles for fixed form select */
.select-wrapper2 {
    position: relative;
    display: inline-block;
}

select.bot-city2 {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 12px 10px;
    font-size: 16px;
    color: rgba(0,0,0,0.5);
    height: 48px;
    background: #fff;
    border: none;
    border-radius: 6px;
    padding-right: 30px; /* Space for arrow */
}

select.bot-city2:valid {
    color: var(--menu-font-color);
}

.select-wrapper2 .arrow {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    width: 8px;
    height: 8px;
    border-left: 1px solid #999;
    border-bottom: 1px solid #999;
    pointer-events: none;
    transition: transform 0.3s ease;
}

.select-wrapper2 select:focus + .arrow {
    transform: translateY(-50%) rotate(135deg);
}
