/*---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');
}
/*---css start----*/

body{
    background-color: #fbfbfb; max-width: var(--max_width); margin: 0 auto;
    text-align: center; font-family: 'NEXON Lv1 Gothic OTF'; font-size: 16px; color: #0C0C0C;
    height: 100%;
}

/*---logo, race choice----*/
.title_img{
    width: 75%;
    margin: 0 auto;
    padding: 20px 0;
}

.title_img>a>img{width: auto; height: 70%; margin: 6% auto;}

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: rgba(15, 24, 38, 1);
    color: #FFFFFF;
    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: #C7D8F9;}
a.arrow_back{
    margin-left: 10px; padding-left: 15px;
    background-image: url(../img/icon_prev.svg);
    background-repeat: no-repeat;
    background-size: 10px auto;
    background-position: 0 5px;
}
a.arrow_back.non_select{color: #4C698C; background-image: url(../img/icon_prev_un.svg);}
a.arrow_forward{
    margin-right: 10px; padding-right: 15px;
    background-image: url(../img/icon_next.svg);
    background-repeat: no-repeat;
    background-size: 10px auto;
    background-position: right 5px;
}
a.arrow_forward.non_select{color: #4C698C; background-image: url(../img/icon_next_un.svg);}

.race_num{display: inline-block; width: 290px; line-height: 50px;}



/*---race result----*/
.race_result_wrap{
    padding-top: 45px;
    padding-bottom: 35px;
    background: linear-gradient(0deg, rgba(15,24,38,1) 0%, rgba(6,6,41,0.95) 29%, rgba(2,2,68,0.9) 50%, rgba(6,6,41,0.95) 71%, rgba(15,24,38,1) 100%);
}
.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: -5px; 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.png);
    background-repeat: repeat;
    background-position: center;
    background-size: contain;
    image-rendering:-webkit-optimize-contrast;
    transform:translateZ(0);
    backface-visibility:hidden;
}


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

.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 #CCCCCC;
    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: #F5F7F7;
    align-items: center; justify-content: center;
}
.result .number{
    display: flex; flex-wrap: wrap; width: 228px; margin-left: 15px; padding-top: 2px;
    font-size: 1.4em; letter-spacing: -0.25px;
}
.result .number>div{margin-right: 10px;}
.result .number .cut{margin-left: 5px; font-weight: bold;}


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

.guess_wrap{
    width: 90%;
    margin: 20px auto;
    background-color: rgba(197, 214, 239, 0.45);
    padding-top: 30px;
    padding-bottom: 22px;
    border-radius: 20px;
    border: 3px solid #90B1F3;
}
.seoulRace_guess{margin-bottom: 15px;}
.guess_wrap div.num{
    width: 45px; height: 52px;
    line-height: 50px;
    border: none;
    font-size: 2.6rem;
    font-weight: 600;
    background-color: rgba(255, 255, 255, 0);
}
.guess_wrap span.icon_correct{
    top: -2px; left: -4px;
    width: 51px; height: 53px;
}
.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 h2{
    display: block;
    color: #11152e;
    text-align: left;
    margin-left: 30px;
    margin-bottom: 0px;
    font-size: 1.55em;
    font-weight: bold;
    letter-spacing: 1px;
}
.expert_guess{padding: 15px 0; margin-bottom: 15px; /*box-shadow: inset 0 0 130px 7px rgb(86 129 199 / 20%);*/}

.dark_horse>p{font-size: 1.5em; margin-bottom: 5px;}

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

.expert_live_no_show { display: none;}
.expert_live{margin-top: 20px; padding: 30px 0 1px; background-color: #f3f3f3;}
.expert_live>h2{color: #3A4E78; display: inline-block; font-weight: bold; font-size: 2em; letter-spacing: 3px;}

.expert_icon>.material-symbols-outlined, .info_profile>.material-symbols-outlined{
    font-variation-settings:
            'FILL' 1,
            'wght' 600,
            'GRAD' 0,
            'opsz' 40;
}
.material-symbols-outlined.expert_icon{
    font-size: 65px; color: #90B1F3;
}
.expert_live_wrap{width: 335px; margin: 0 auto 30px; position: relative;}
.expert_data{
    height: 80px;
    display: flex;
    align-items: center;
}
.expert_icon{height: 80px;}
.expert_name{margin-left: 5px; font-size: 1.75em; font-weight: bold;}
.expert_info{display: none;}
.expert_like{
    margin-left: 5px; width: 30px; height: 30px;
    background-position: center; background-repeat: no-repeat;
    background-image: url(../img/icon_like_off.svg); position: relative;
}
.expert_like::before{
    content: attr(data-user_like_num);
    position: absolute;
    bottom: -6px; left: 25px;
    font-weight: bold;
    text-shadow: -2px 0 #f3f3f3, 0 2px #f3f3f3, 2px 0 #f3f3f3, 0 -2px #f3f3f3;
}
.expert_report{
    position: absolute; top: 60px; right: -5px; rotate: 15deg;
    width: 60px; height: 40px;
    background-position: center right; background-repeat: no-repeat;
}
.expert_report.good {
    background-image: url(../img/icon_good.svg);
}
.expert_report.best {
    background-image: url(../img/icon_best.svg);
}

.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: #E3EBFC;
    border-radius: 10px;
    max-width: 335px;
    width: 80%;
    font-family: 'Pretendard Variable';
    font-weight: 600;
}
.info_profile{
    display: flex;
    align-self: center;
    text-align: left;
    width: 85%;
    margin: 0 auto 10px; padding: 5px 0 10px;
    border-bottom: 1px solid rgba(19, 23, 32, 0.9);
}
.info_profile .expert_img{
    border: none;
    margin: 5px 16px 5px 8px;
    box-shadow: 0px 0px 0 5px #90B1F3;
}
.info_profile div{line-height: 1.35; padding-top: 14px;}
.profile_name{
    color: #3A4E78;
    font-size: 1.4em;
    font-weight: 800;
}
.profile_subtxt{font-weight: 500;}

.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: 61px; height: 61px;
    margin: 2px;
    border-radius: 50%; border: 7px solid #90B1F3;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.crown .expert_img{border-radius: 50%; border: 7px solid #ffd638;}
.expert_icon.crown{position: relative;}
.crown::before{
    content: ''; width: 30px; height: 30px;
    position: absolute; top: -15px; left: 17px;
    background-image: url(../img/icon_crown.svg); background-repeat: no-repeat;
}

.expert_text{
    position: relative;
    width: 100%;
    height: auto;
    padding: 15px;
    background: #E1E9F9;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    text-align: left;
    font-size: 1.12em;
}

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

.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;
    left: 18px;
}

/*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;
}

/*-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;}
}

@media (max-width: 370px) {
    .title_img{
        max-width: 90%;
    }
    .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: 208px; margin-left: 10px; font-size: 1.25em;}
    .result .text{width: 60px; font-size: 1em;}

    .guess_wrap div.num{
        width: 43px; height: 52px;
        line-height: 50px;
        border: none;
        font-size: 2.5rem;
        font-weight: 700;
        background-color: rgba(255, 255, 255, 0);
    }
    .guess_wrap span.icon_correct{
        top: -1px; left: -3px;
        width: 48px; height: 50px;
    }

    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.8em;}
    .guess_wrap h1{margin-left: 25px;}
    .expert_guess_choose{margin: 0 0 20px; font-size: 0.8em;}

    .dark_horse_wrap{width: 100%; height: 50px; line-height: 75px;}
    .expert_live_wrap{width: 90%;}
    .expert_text{font-size: 1em;}
}

.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 ;
}

#banner_div {
    padding: 20px 0;
}

.look_like_h1 {
    display: inline-block;
    font-weight: bold;
    font-size: 2em;
    margin-bottom: 5px;
    color: rgba(15, 24, 38);
    letter-spacing: 3px;
}