@charset "utf-8";

* {
    padding:0;
    margin: 0;
}
*, :after, :before {
    border:0;
    box-sizing: border-box;
}
html {
    scrollbar-gutter: stable;
}
html, body {
    font-size: 16px;
    font-family: 'Roboto', 'Pretendard', sans-serif;
    letter-spacing: -0.01em;
    min-height: 100%;
    color:#161616;
    scroll-behavior: smooth;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: keep-all;
    line-height: 1.3;
    font-weight: 400;
}
html:has(.headmenu.on),
html:has(#main_pop.on),
html:has(.modal.show) {
    overflow: hidden;
    /* padding-right: 1.125rem !important; */
}
body {
    background-color:#f9fafb;
    background-color: #f1f1f1;
}
a {
    color: inherit;
    text-decoration: inherit;
}
ul, li, ol {
    list-style: none;
  }
img {
    display: block;
    height: auto;
    max-width: 100%;
}
.small {
    font-size: 0.8rem !important;
}
.medium {
    font-size: 0.875rem
}
.gray {
    color: #888 !important;
}

/* scrollbar */
::-webkit-scrollbar {
    width: 15px;
    height: 15px;
    overflow: visible;    
}
::-webkit-scrollbar-thumb {
    background-color: #ebebeb;
    border-radius: 15px;
    border: 5px solid transparent;
    background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover {
    border: 5px solid transparent;
    background-color: #D9DBE0;
    cursor: pointer;
}
.depth_cate_wrap::-webkit-scrollbar {
    width: 3px;
    height: 3px;
}
.event_wrap::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}
.event_wrap::-webkit-scrollbar-thumb {
    background-color: #f9f9f9;    
    border-radius: 9px;
    border: 3px solid transparent;
}
.event_wrap::-webkit-scrollbar-thumb:hover {
    border: 3px solid transparent;
}
.scroll_on::-webkit-scrollbar-thumb {
    background-color: #D9DBE0;
}
.mevent_detail::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}
.mevent_detail::-webkit-scrollbar-thumb {
    background-color: #ebebeb;
    border: 4px solid transparent;
}

/*검색영역*/

/* 햄버거메뉴 */
#menu_headmenu,
.search_area {
    animation: slideFromTop 0.3s ease-in-out forwards;    
    top:0;
    left: 50%;
    /* left: calc(50% - 9px); */
    position: fixed;
    max-width: 768px;
    width: 100%;    
    background: #ffffff;    
    padding: 2rem;
    padding-top: 5rem;
    background: #ffffff;    
}
#menu_headmenu {
    height: 100vh;
    position: relative;
}
#menu_headmenu::before {
    content: '';
    left:0;
    width: 100%;
    height: 1px;
    background-color: #dfdfdf;
    position: absolute;
    top: calc(5rem - 1px);
}
.search_area {
    height: auto;
    z-index: 500;
    display: none;
    position: fixed;
    opacity: 0;
    left:50%;
    padding-bottom: 0;
    border-bottom: 1px solid #dfdfdf;
}
.search_area.on {
    display: block;
    opacity: 1;
    position: fixed;
}
.headmenu {
    display: none;
    position: fixed;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;    
    opacity: 0;
    background: transparent;
    transition: opacity 0.3s ease, background 0.3s ease;
    z-index: 600;
}
.headmenu.on {
    display: block;
    opacity: 1;
    background: rgba(0,0,0,0.5);
    transition: opacity 0.3s ease, background 0.5s ease;
}
.headmenu.off {
    display: none;
}
.close_btn_menu {
    display: block;
    border: none;
    cursor: pointer;
}

@keyframes slideFromTop {
    from {
      transform: translate(-50%, -100%);
      opacity: 0;
    }
    to {
      transform: translate(-50%, 0);
      opacity: 1;
    }
}
/*input*/
button,input,optgroup,select,textarea{
    color:inherit;
    font-family:inherit;
    font-feature-settings:inherit;
    font-size: 0.875rem;
    font-variation-settings:inherit;
    font-weight:inherit;
    letter-spacing:inherit;
    line-height:inherit;
    margin:0;
    padding:0;
    background-color: transparent;
}
input {
    width: 100%;
}
input:focus {
    outline:none;
}
input[type="checkbox"] {
    width: 1.3rem;
    height: 1.3rem;
    accent-color: #000;
}
input[type="text"],
input[type="password"],
select {
    height: 3rem;
}
input.input_line,
select {
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    padding: 0 12px;
}
input.input_line:focus,
select:focus,
input.input_line:hover,
select:hover {
    border: 1px solid #c3969f;
    outline: none;
}
select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    background: url("../images/arrow_down.png") no-repeat calc(100% - 10px) center ;
    background-size: 12px 12px;
}
select:focus {
    background: url("../images/arrow_up.png") no-repeat calc(100% - 10px) center ;
    background-size: 12px 12px;
}
/* select:after {
    content: "";
    position: absolute;
    width: 1.25rem;
    height: 1.25rem;
    top: 0;
    right: 10px;
    background: url('../images/arrow_next_32x62_d.svg') no-repeat 50% 50%;
    background-size: 100%;
    transform: rotate(45deg);
} */
.search_wrap {
    background-color: #fbfbfb;
    border: 1px solid #d4d4d4;
    border-radius: 100px;
}
button,select{
    text-transform:none
}
button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){
    -webkit-appearance:button;
    background-color:transparent;
    background-image:none
}
/*icon*/
.icon24 {
    width: 24px;
    height: 24px;
}
/*font*/
.f300 {
    font-weight: 300;
}
.f400 {
    font-weight: 400;
}
.f500 {
    font-weight: 500;
}
.f600 {
    font-weight: 600;
}
.f600 {
    font-weight: 700;
}
.f_1rem {
    font-size: 1rem;
}
.f17 {
    font-size: 1.0625rem;
}
.f18 {
    font-size: 1.125rem;
}
/*divider*/
.pt_0 {
    padding-top: 0 !important;
}
.pb_0 {
    padding-bottom: 0 !important;
}
.pl_05rem {
    padding-left: 0.5rem;
}
.pt_05rem {
    padding-top: 0.5rem;
}
.pt_06rem {
    padding-top: 0.625rem;    
}
.pt_3rem {
    padding-top: 3rem;
}
.pb_1rem {
    padding-bottom: 1rem !important;
}
.pb_3rem {
    padding-bottom: 3rem !important;
}
.pb_4rem {
    padding-bottom: 4rem !important;
}
.ml_05rem {
    margin-left: 0.5rem;
}
.mt_06rem {
    margin-top: 0.625rem !important;
}

.en {
    letter-spacing: 0.03em !important;
}

/*flex*/
.flex {
    display: flex;
}
.flex_vcenter {
    display: flex;
    align-items: center;
}
.flex_vcenter_hcenter {
    display: flex;
    align-items: center;
    justify-content: center;
}
.flex_vcenter_between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.flex_hcenter_column {
    display: flex;
    justify-content: center;
    flex-direction: column;
}
/*grid*/
.grid {
    display: grid;
}
.grid_half {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.grid_half.auto {
    grid-template-columns: 1fr auto;
}
/*gap*/
.gap10 {
    gap: 1.0rem;
}
.gap15 {
    gap: 1.5rem;
}
.gap20 {
    gap: 2.0rem;
}
/*align*/
.textleft {
    text-align: left;
}
.textcenter {
    text-align: center;
}
.textright {
    text-align: right;
}


/*기존*/
.cursor_pointer{
    cursor:pointer
}
.text-base{
    font-size: 1.25rem;
    line-height:1.5rem
}
.object_contain{
    -o-object-fit:contain;
    object-fit:contain
}
.object_cover{
    -o-object-fit:cover;
    object-fit:cover
}
.object_top{
    -o-object-position:top;
    object-position:top
}

/*간격*/
.gap_12{
    gap:3rem
}
.gap_2{
    gap:.5rem
}
.gap_3{
    gap: 0.8rem
}
.gap_4{
    gap:1rem
}
.gap_6{
    gap:1.5rem
}
.gap_8{
    gap:2rem
}
.\!mt_4{
    margin-top:1rem!important
}
.-ms-2{
    margin-inline-start:-.5rem
}
.-mt_1{
    margin-top:-.25rem
}
.-mt_2{
    margin-top:-.5rem
}
.-mt_3{
    margin-top:- 0.8rem
}
.pr_1{
    padding-right:.25rem
}
.pt_1{
    padding-top:.25rem
}
.pt_16{
    padding-top:4rem
}
.pt_2{
    padding-top:.5rem
}
.pt_4{
    padding-top:1rem
}
.pt_6{
    padding-top:1.5rem
}
.px_1{
    padding-left:.25rem;
    padding-right:.25rem
}
.px_2{
    padding-left:.5rem;
    padding-right:.5rem
}
.px_3{
    padding-left: 0.8rem;
    padding-right: 0.8rem
}
.px_4{
    padding-left:1rem;
    padding-right:1rem
}
.px_5{
    padding-left:1.25rem;
    padding-right:1.25rem
}
.px_6{
    padding-left:1.5rem;
    padding-right:1.5rem
}
.px_8{
    padding-left:2rem;
    padding-right:2rem
}
.mb_0{
    margin-bottom:0 !important
}
.mb_05{
    margin-bottom:.15rem !important
}
.mb_1{
    margin-bottom:.25rem !important
}
.mb_1\.5{
    margin-bottom:.375rem
}
.mb_2{
    margin-bottom:.5rem
}
.mb_4{
    margin-bottom:1rem
}
.mb_5{
    margin-bottom:1.5rem
}
.mb_6{
    margin-bottom:2rem
}
.mb_7{
    margin-bottom:2.5rem
}
.mb_8{
    margin-bottom:3rem
}
.mb_9{
    margin-bottom:3.5rem
}

.me-2{
    margin-inline-end:.5rem
}
.ms-2{
    margin-inline-start:.5rem
}
.mt_1{
    margin-top:.25rem
}
.mt_12{
    margin-top:3rem
}
.mt_2{
    margin-top:.5rem
}
.mt_06{
    margin-top:.6rem
}
.mt_3{
    margin-top: 0.8rem
}
.mt_4{
    margin-top:1rem
}
.mt_5{
    margin-top:1.25rem
}
.mt_6{
    margin-top:1.5rem
}
.mt_8{
    margin-top:2rem
}

/*only*/
.pc_only_1024 {
    display: block;
}
.mo_only_1024 {
    display: none;
}
.pc_only_768 {
    display: block;
}
.mo_only_768 {
    display: none;
}

.dimmed {
    pointer-events: none !important;
    opacity: 0.25 !important;
}
.error {
    font-size: 0.8125rem;
    color: #ff1d00;
    line-height: 1.5rem;
    padding-left: 5px;
}

.blue {
    color: #0026ff;
}
.red {
    color: #ff1d00;
}
.green {
    color: #0A9476;
}

/*btn*/
.btn_more {
    height:28px;
    border-radius: 1.25rem;
    min-width: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    color: #fff;
    font-weight: 500;
    font-size: 0.75rem;
    padding: 0 11px;
    cursor: pointer;
    line-height: 1;
}
.btn_more img {
    width: 10px;
    height: 10px;
    margin-left: 5px;
}
.anchor {
    position: absolute;
    margin-top: -7rem;
}
.anchor_about {
    position: absolute;
    margin-top: -112px;
}
.anchor_event {
    position: absolute;
    margin-top: -80px;
}
.w100p {
    width: 100%;
}
.up14 {
    transform: rotate(270deg);
    width: 8px;
    height: 15px;
}
.down14 {
    transform: rotate(90deg);
    width: 8px;
    height: 15px;    
}

.pretendard {
    font-family: 'Pretendard', sans-serif !important;
}
.bg_fb {
    background-color: #fbfbfb;
}

#member_rules .table_wrap {
    overflow-x: auto;
}
#member_rules table,
#member_rules th,
#member_rules td {
    border: 1px solid #dfdfdf;
    border-collapse: collapse;
    padding: 0.2rem 0.8rem;
}

.c_pointer {
    cursor: pointer;
}

/* .bb_df {
    border-bottom: 1px solid #dfdfdf
} */