/*---reset css----*/
*{margin:0;padding:0;font:inherit;color:inherit;}
*, :after, :before {box-sizing:border-box;flex-shrink:0;}
:root {
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    cursor: default;
    line-height: 1.5;
    overflow-wrap: break-word;
    -moz-tab-size: 4;
    tab-size: 4;
    --max_width : 425px;
}

html, body {height:100%;}
img, picture, video, canvas, svg {display: block;max-width:100%;}
button {background:none;border:0;cursor:pointer;}
a {text-decoration:none}
table {border-collapse:collapse;border-spacing:0}

@font-face {
    font-family: 'NEXON Lv1 Gothic OTF';
    /*src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff');*/
    src: url('../fonts/NEXON Lv1 Gothic OTF.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Caveat';
    src: url('../fonts/Caveat-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard Variable';
    font-weight: 45 920;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/PretendardVariable.woff2') format('woff2-variations');
}

@font-face {
    font-family: 'NanumSquareNeo-Variable';
    src: url('../fonts/NanumSquareNeoTTF-cBd.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NanumSquareNeo-Variable';
    src: url('../fonts/NanumSquareNeoTTF-dEb.woff2') format('woff2');
    font-weight: bold;
    font-style: bold;
}

/*---css start----*/

body{
    background-color: #f2f2f2; max-width: var(--max_width); margin: 0 auto;
    text-align: center; font-family: 'NanumSquareNeo-Variable'; font-size: 16px; color: #0C0C0C;
    height: 100%;
}
.main_container{padding-bottom: 25px;}

/*---logo, race choice----*/
.title_img{
    max-width: var(--max_width);;
    margin: 0 auto;
    padding: 30px 0 20px;
    background-color: #fff;
}

.title_img a{display: inline-block; width: 75%;}

span.blank{display: inline-block; width: 3px; height: auto;}

#race_title {
    position: sticky;
    top: 0;
    z-index: 10000;
}
.race_data{
    width: 100%;
    height: 50px;
    background-color: #F2C744;
    color: #000;
    font-size: 1.5em;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

#race_title.fixed{
    position:-webkit-sticky;
    max-width: var(--max_width);
    background: rgba(9, 13, 20, 0.85);
    backdrop-filter: blur(10px);
}

.race_data>a{display: block; font-size: 0.85em; color: #000;}
a.arrow_back{
    margin-left: 10px; padding-left: 15px;
    background-image: url(../img/icon_prev2.svg);
    background-repeat: no-repeat;
    background-size: 10px auto;
    background-position: 0 5px;
}
a.arrow_back.non_select{color: #8e7624; background-image: url(../img/icon_pre2_un.svg);}
a.arrow_forward{
    margin-right: 10px; padding-right: 15px;
    background-image: url(../img/icon_next2.svg);
    background-repeat: no-repeat;
    background-size: 10px auto;
    background-position: right 5px;
}
a.arrow_forward.non_select{color: #8e7624; background-image: url(../img/icon_next2_un.svg);}

.race_num{display: inline-block; width: 290px; line-height: 50px; font-weight: bold;}
.race_num.seoul, .select_race_id.seoul { color: #002699;}
.race_num.busan, .select_race_id.busan { color: #106600;}
.race_num.jeju, .select_race_id.jeju { color: #ca0000;;}

.select_race_id {
    border: none;
    background: #F2C744;
    line-height: 40px;
    padding-left: 8px;
    -webkit-appearance: none; /* Chrome, Safari, Opera에서 기본 스타일링 제거 */
    -moz-appearance: none; /* Firefox에서 기본 스타일링 제거 */
    appearance: none;
}

.select_race_id option {
    background: #FFFFFF;
    padding: 0 20px;
}
.select_race_id option.서울 { color: #002699; }
.select_race_id option.부산 { color: #106600; background: #f7fdf4;}
.select_race_id option.제주 { color: #ca0000; background: #fff9f7;}
/*서울 부산 글자 색 제외한 나머지 디자인 통일(부산 배경 그라데이션, 이전-다음 텍스트 색상, 이전-다음 아이콘 통일)*/



/*---race result----*/
.race_result_wrap{
    padding: 30px 0;
    background: #fdfdfd; margin-top: 20px;
}
.race_result_wrap h1{font-size: 2.3em; margin-bottom: 10px;}

.result_number{
    display: flex; align-items: center;
    justify-content: space-evenly;
    width: 300px;
    margin: 0 auto 35px;
}
div.num{
    width: 57px; height: 60px; line-height: 56px;
    border-radius: 10px; border: 3px solid rgba(12, 12, 12, 0.8);
    background-color: rgba(251, 251, 251, 1);
    font-family: 'Pretendard Variable', sans-serif;
    font-weight: 700;
    letter-spacing: -2px;
    font-size: 2.5rem;
    position: relative;
}

div.num.color_red{
    border: 3px solid #E60012;
    color: #E60012;
}

div.num.cancel{border: 3px solid rgba(136, 169, 231, 0.5); background-color: rgba(255, 255, 255, 0.4); color: rgba(136, 169, 231, 0.8);}

span.icon_new{
    display: inline-block;
    position: absolute;
    top: -7px; right: 6px;
    width: 34px; height: 24px;
    background-image: url(../img/icon_new.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

span.icon_cancel_horse{
    display: inline-block;
    position: absolute;
    top: 0; right: 2px;
    width: 35px; height: 25px;
    background-image: url(../img/icon_cancel.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
    image-rendering:-webkit-optimize-contrast;
    transform:translateZ(0);
    backface-visibility:hidden;
}

span.icon_correct{
    display: inline-block;
    position: absolute;
    top: -7px; left: -9px;
    width: 67px; height: 70px;
    background-image: url(../img/icon_correct.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    image-rendering:-webkit-optimize-contrast;
    transform:translateZ(0);
    backface-visibility:hidden;
    mix-blend-mode: multiply;
}


h1{
    display: inline-block;
    font-family: 'NanumSquareNeo-Variable'; letter-spacing: 2px;
    font-weight: bold; font-size: 2em;
    margin-bottom: 5px; color: rgba(15, 24, 38);
}

.alert_data{
    width: 80%; max-width: 400px;
    margin: 10px auto;
    padding: 10px;
    border-radius: 8px;
    background-color: rgb(253, 85, 98);
    color: #fff;
    box-shadow: 0px 2px 5px 2px rgba(0,0,0,0.46);
    animation: fadeout 3s;
    -moz-animation: fadeout 3s; /* Firefox */
    -webkit-animation: fadeout 3s; /* Safari and Chrome */
    -o-animation: fadeout 3 s; /* Opera */
    animation-fill-mode: forwards;
}
@keyframes fadeout {
    from {
        opacity: 1;
    }
    60% {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@-moz-keyframes fadeout { /* Firefox */
    from {
        opacity: 1;
    }
    60% {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@-webkit-keyframes fadeout { /* Safari and Chrome */
    from {
        opacity: 1;
    }
    60% {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@-o-keyframes fadeout { /* Opera */
    from {
        opacity: 1;
    }
    60% {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
#alert_box {
    position: fixed;
    bottom: 20px; left: 0; right: 0;
    z-index: 10000;
}

.score_wrap{width: 320px; margin: 0 auto;}

.score_wrap>.result{
    width: 100%; line-height: 40px;
    height: fit-content;
    margin-bottom: 10px;
    border: 1px solid #f2c744;
    background-color: #FFFFFF;
    text-align: left;
    clear: both;
    display: flex;
}
.result .text{
    display: flex; width: 75px; padding-top: 2px;
    text-align: center; font-size: 1.25em;
    background-color: #f2c74463;
    align-items: center; justify-content: center;
}
.result .number{
    display: flex; flex-wrap: wrap; width: 233px;
    margin-left: 10px; padding-top: 2px;
    font-size: 1.4em; letter-spacing: -0.5px;
}
.result .number>div{margin-right: 10px;}
.result .number .cut{margin-left: 3px; font-weight: bold;}


/*---guess wrap----*/

.guess_wrap{
    display: flex;
    margin: 15px auto 0;
    background-color: #ffffff;
    padding: 25px 0 10px 15px;
}
.speedRace_guess{margin-bottom: 15px; width: 60%;}
.guess_wrap .num_wrap {text-align: left; padding-left: 5px;}
.guess_wrap div.num{
    width: fit-content; height: 52px;
    padding: 0 5px;
    line-height: 50px;
    border: none;
    font-size: 2.3rem;
    font-weight: 600;
    background-color: rgba(255, 255, 255, 0);
}
.guess_wrap span.icon_correct{
    top: 4px; left: calc(50% - 20px);
    width: 40px; height: 42px;
}
.num_wrap{font-size: 0; letter-spacing: 0; word-spacing: 0;}
.num_wrap>.num{
    display: inline-block;
    margin-left: 6px;
}
.num_wrap>.num:first-child{margin-left: 0;}

.guess_wrap h1{
    display: block;
    padding-left: 5px;
    color: #11152e;
    text-align: left;
    letter-spacing: 0;
    font-size: 1.8em;
}
.expert_guess{padding: 20px 0; margin-bottom: 15px; /*box-shadow: inset 0 0 130px 7px rgb(86 129 199 / 20%);*/}

.dark_horse, .dark_horse h1{color: #835c00;}

.event_wrap{margin-top: 20px;}
.event>img{
    position: fixed;
    display: inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 90%;
    max-width: 450px;
}


/*---expert_live wrap----*/

#expert_comment{display: flex; justify-content: flex-start; flex-wrap: wrap;}

.expert_live{padding: 20px 0 15px; margin-top: 20px;}
.expert_live>h1{color: #404040;}

.expert_icon>.material-symbols-outlined, .info_profile>.material-symbols-outlined{
    font-variation-settings:
            'FILL' 1,
            'wght' 300,
            'GRAD' 0,
            'opsz' 20;
}
.material-symbols-outlined.expert_icon{
    font-size: 84px; color: #90B1F3;
}
.expert_live_wrap{width: 31%; margin: 0 0 15px;}
.expert_live_wrap:nth-child(3n+1) { margin-left: 1.5%; }
.expert_live_wrap:nth-child(3n+2) { margin: 0 2% 15px; }
.expert_data {
    border: 1px solid #f2c744;
    border-radius: 15px;
    padding: 10px 0 6px;
    background: linear-gradient(to top, #fff5a5 20%, #fff 20%);
    position: relative;
}
.expert_data.noHorseNumber { background: linear-gradient(to top, #dfdfdf 20%, #fff 20%) !important;}

.expert_data .user_like{
    position: absolute; top: 70px; right: 10%;
}

.user_like::before{
    content: attr(data-user_like_num);
    position: absolute; top: -22px; left: 0px;
    width: 30px;
    color: #FF0000; font-weight: bold;
    text-shadow: -2px 0 #fff, 0 2px #fff, 2px 0 #fff, 0 -2px #fff;
}

.heart_on{display: none;}
.heart_on, .heart_off {cursor: pointer; pointer-events: all;}

@keyframes heartBeat {
    0% {
      -webkit-transform: scale(1);
      transform: scale(1);
    }
  
    14% {
      -webkit-transform: scale(1.3);
      transform: scale(1.3);
    }
  
    28% {
      -webkit-transform: scale(1);
      transform: scale(1);
    }
  
    42% {
      -webkit-transform: scale(1.3);
      transform: scale(1.3);
    }
  
    70% {
      -webkit-transform: scale(1);
      transform: scale(1);
    }
  }
  .heart_on.animate__heartBeat {
    -webkit-animation-name: heartBeat;
    animation-name: heartBeat;
    -webkit-animation-duration: calc(1s * 1.3);
    animation-duration: calc(1s * 1.3);
    /*-webkit-animation-duration: calc(var(--animate-duration) * 1.3);
    animation-duration: calc(var(--animate-duration) * 1.3);*/
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
  }

.expert_name{/*margin-left: 5px;*/ font-size: 1.5em; font-weight: bold; text-align: center;}
.on .expert_name{
    background-image: linear-gradient(to top, transparent 30%, rgb(255, 251, 16) 30% 75%, transparent 75%);
    background-size: 65% 100%;
    background-repeat: no-repeat;
    background-position: 50%;
}
.expert_horseNum{
    height: 22px; width: 100%; margin: 10px auto 0; padding: 2px 0 0 0;
    font-size: 1.15rem; line-height: 20px; letter-spacing: -1px; text-align: center;
}

.expert_horseNum > .hit_expert_backnum {
    font-weight: bold;
    color: #ff0000;
    text-shadow: -2px 0 #fff, 0 2px #fff, 2px 0 #fff, 0 -2px #fff;
}

.expert_info{display: contents;}
.info_icon{
    display: inline-block;
    width: 18px; height: 18px;
    line-height: 18px;
    border-radius: 9px;
    border: 1px solid #E60012;
    color: #E60012;
    font-size: 0.5em;
    cursor: pointer;
}
.info_modal{
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(3, 6, 10, 0.7);
    z-index: 10001;
}
.info_text{
    position: fixed;
    display: inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    padding: 10px 5px 15px;
    font-size: 0.6em;
    background-color: #f2e6d0;
    border-radius: 10px;
    max-width: 335px;
    width: 80%;
    font-family: 'Pretendard Variable';
    font-weight: 600;
}

.blank{width: 10px; height: 80px; flex-grow: 2;}

.live_time {
    /*margin-left: calc(100% - 200px);*/
    padding-top: 5px;
    color: #E60012;
    font-size: 1.12em;
}

.expert_img{
    display: inline-block;
    width: 80px; height: 80px;
    margin: 2px;
    border-radius: 50%; /*border: 7px solid #90B1F3;*/
}

.expert_live_wrap:nth-child(3n+1) .expert_text{left: 7%;}
.expert_live_wrap:nth-child(3n+1) .expert_text:after{left: 11%;}

.expert_live_wrap:nth-child(3n+2) .expert_text{left: -100%;}
.expert_live_wrap:nth-child(3n+2) .expert_text:after{left: calc(50% - 13px);}

.expert_live_wrap:nth-child(3n) .expert_text{left: -205%;}
.expert_live_wrap:nth-child(3n) .expert_text:after{left: 82%;}

.expert_text{
    display: none;
    position: relative;
    top: 20px;
    margin-bottom: 25px;
    width: 300%;
    height: auto;
    padding: 15px;
    background: #f2e6d0;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    text-align: left;
    font-size: 1.12em;
}
.expert_live_wrap.on .expert_text{display: block;}
.expert_live_wrap.off{opacity: 0.3;}

.expert_text:after{
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 0 13px 13px;
    border-color: #f2e6d0 transparent;
    display: block;
    width: 0;
    z-index: 1;
    top: -13px;
    left: 43px;
}

/*문의사항 안내*/

.fap_title{
    width: 90%; margin: 10px auto; padding: 5px 0;
    border-radius: 5px; background-color: rgba(242 199 68); color: #fff;
    font-size: 1.5em; font-weight: bold; letter-spacing: 0.1em;
}

.faq_wrap{
    display: none; z-index: 100000;
    position: fixed; top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.3);
    word-break: keep-all;
}

.faq_txt_wrap{
    position: fixed; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 10px;
    width: 85%; max-width: 400px; padding: 10px 0;
    min-width: 300px;
    background-color: #fff;
}

.faq_question{ margin-top: 10px;} .faq_question>p{margin-bottom: 5px;} .faq_question>textarea{width: 85%;}
.tel_data{margin: 10px 0 15px; font-size: 1.2em;}
.tel_data input{width: 180px; padding-left: 5px;}

.faq_txt_wrap>input{
    padding: 5px 10px; margin-bottom: 5px;
    border-radius: 5px; border: 1px solid rgba(242 199 68);
    background-color: rgba(242 199 68); color: #fff;
    font-size: 1.25em; font-weight: bold;
}

.faq_dim{width: 100%; height: 100%; position: fixed; top: 0; left: 0;}

#faq_submit {cursor: pointer;}

/* .expert_text:before{
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 0 13px 13px;
    border-color: #E1E9F9 transparent;
    display: block;
    width: 0;
    z-index: 0;
    top: -14px;
} */

/*youtube coner*/
.youtube_wrap{
    margin: 20px 0 40px;
    padding: 30px 0;
    background-color: #020028;
}

.youtube_wrap h1{color: #EBF0F7;}

.url_wrap{
    padding: 20px 0;
    background: radial-gradient(farthest-corner ellipse, rgba(255,46,153,0.4) 0%, rgba(2,0,40,0.4) 75%, rgba(2,0,40,1) 100%);
}

.video{
    aspect-ratio: 16 / 9;
    width: 90%;
    margin: 0 auto
;
}

.plus_font {
    font-family: 'Caveat';
    font-size: 38px;
}

#banner_div{padding: 20px 0;}

/*-mobile resizing-*/

@media (max-width: 424px){
    .title_img{
        max-width: 100%;
    }

    .race_data{
        justify-content: space-evenly;
    }

    .race_num{width: 250px; line-height: 50px;}
    .race_data>a{font-size: 0.75em;}
    a.arrow_forward{background-position: right 4px;}
    a.arrow_back{background-position: 0 4px;}
    
    .expert_horseNum{
        font-size: 1.1rem; width: 90%; letter-spacing: -1.5px;
    }
}

@media (max-width: 370px) {
    .race_data{height: 45px;}
    .race_num{width: 190px; font-size: 0.8em;}
    .race_data>a{font-size: 0.6em;}
    a.arrow_forward{
        background-position: right 2px;
        background-size: 8px auto;
        padding-right: 12px;
    }
    a.arrow_back{
        background-position: 0 2px;
        background-size: 8px auto;
        padding-left: 12px;
    }

    .race_result_wrap{padding-top: 30px;}
    .result_number{width: 90%;}
    .score_wrap{width: 280px;}
    .result .number{width: 205px; margin-left: 10px; font-size: 1.2em;}
    .result .text{font-size: 1.1em; width: 65px;}
    .result .number>div{margin-right: 10px;}
    .result .number .cut{margin-left: 2px;}

    .guess_wrap {padding: 25px 0 10px 10px;}
    .speedRace_guess{width: 62%;}
    .guess_wrap .num_wrap{padding-left: 0;}
    .guess_wrap div.num{font-size: 2rem;}
    .guess_wrap span.icon_correct{
        top: 4px;
        width: 40px; height: 42px;
    }

    div.num{width: 45px; height: 50px; line-height: 48px; font-size: 2rem;}
    .num_wrap>.num{margin-left: 4px;}
    span.icon_correct{top: -6px; width: 55px; height: 57px;}

    h1{font-size: 1.6em;}
    .expert_guess_choose{margin: 0 0 20px; font-size: 0.8em;}

    .expert_img{width: 70px; height: 70px;}
    .expert_data .user_like{width: 25px; top: 60px;}
    .expert_name{font-size: 1.4em;}
    .user_like::before{width: 25px; left: -1px;}

    .dark_horse_wrap{width: 100%; height: 52px; line-height: 75px;}
    .expert_text{font-size: 1em;}
    .expert_horseNum{
        margin: 5px auto 0;
        font-size: 1rem; width: 100%; letter-spacing: -1.5px;
    }
}

.display_none {
    display: none;
}

/*
로딩 프로그레스
 */
@keyframes reload_expert_comment {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}
.reload_progress {
    width: 100%;
    height: 2px;
    background-color: #c9c9c9;
    animation: reload_expert_comment 60s ease-in;
}

@keyframes blinkOnce {
    from {
        background-color: #daf2ff;
    }
    to {
        background-color: #f2f2f2;
    }
}
.blink2sec {
    animation: blinkOnce 2s ;
}