html {
    max-width: 1280px;
    /* min-width: 1280px; */
    width: 100%;
    margin: 0 auto;
}

body {
    padding: 0;
    margin: 0;
    color: #FFF;
}

.promotion {
    position: relative;
    background-image: linear-gradient(#510007, #280003);
    padding-bottom: 300px;
    /* background-size: 100%;
    background-repeat: no-repeat;
    background-position: top center;
    padding-top: 315px; */
    /* background-color:#1b0002; */
    /* padding-bottom: 300px; */
}

.container {
    position: relative;
    display: block;
    max-width: 1280px;
    /* min-width: 1280px; */
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0;

    /* background: url('assets/images/promo_bg_3.png');
    background-size: 100%; */
    /* padding-top: 315px; */
    /* background: url('assets/images/promo_bg_4.png'); */
    /* background-repeat: no-repeat;
    background-position: top center; */
}

.top-bg {
    position: absolute;
    max-width: 1280px;
    width: 100%;
    height: 100%;
    /* max-height: 600px;
    height: 600px; */
    background: url('assets/images/promo_png_bg.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    z-index: 1;
}

.top-bg-m {
    max-width: 1280px;
    width: 100%;
    max-height: 600px;
    height: 600px;
    background: url('assets/images/promo_png_bg_m.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top center;
}

.promotion .promotion-info-m {
    display: none !important;
}

.promotion .promotion-info {
    position: relative;
    color: #FFF;
    display: flex;
    align-items: stretch;
    justify-content: center;
    /* padding-top: 123px; */
    width: 100%;
    z-index: 2;
    padding-top: 450px;
    max-width: 768px;
    margin: auto;
    /* height: 1000px; */
}

.promotion .promotion-info .info-col {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 33.33333%;
    padding-left: 15px;
    padding-right: 15px;
}

.promotion .promotion-info .item {
    background: url('assets/images/frame.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
    font-size: 24px;
    width: 100%;
    text-align: center;
    padding: 10px;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.promotion .promotion-info .item b {
    font-family: InterM;
    padding-top: 8px;
}

.promotion .promotion-info .item:not(:last-of-type) {
    margin-right: 1px;
}

.promotion .promotion-info-m {
    position: relative;
    color: #FFF;
    display: flex;
    align-items: stretch;
    justify-content: center;
    /* padding-top: 123px; */
    width: 100%;
    z-index: 2;
    padding-top: 450px;
    max-width: 768px;
    margin: auto;
    /* height: 1000px; */
}

.promotion .promotion-info-m .info-col {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 33.33333%;
    padding-left: 15px;
    padding-right: 15px;
}

.promotion .promotion-info-m .item {
    background: url('assets/images/frame.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
    font-size: 24px;
    width: 100%;
    text-align: center;
    padding: 10px;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.promotion .promotion-info-m .item b {
    font-family: InterM;
    padding-top: 8px;
}

.promotion .promotion-info-m .item:not(:last-of-type) {
    margin-right: 1px;
}

.promotion .rules {
    max-width: 1200px;
    margin-top: 30px;
    margin-left: 55px;
    margin-right: 55px;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 30px;
    padding-right: 30px;
    background: #5c5c5d;
    border-radius: 16px;

    position: relative;
    z-index: 2;
}

.promotion .title {
    font-weight: bolder;
}

.promotion .rules .item {
    display: flex;
    margin-bottom: 20px;
    /* color: #000; */
}

.promotion .rules .item a {
    color: red;
}

.promotion .rules .item .num {
    display: flex;
    margin-right: 15px;
    margin-left: 25px;
}

.promotion .rules .item {
    overflow-x: auto; 
    width: 100%;
    color: #FFF;
}

.promotion .rules .item .table {
    width: 100%;
    color: #FFF;
}

.promotion .rules .item .table .t-row {
    display: flexbox;
}

.promotion .rules .item .table .t-head-row {
    display: flexbox;
}

.promotion .rules .item .table .t-row .t-item {
    /* display: flex;
    flex-direction: column; */
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px 5px;
    background: #D9D9D9;
    color: #000;
    flex-grow: 1;
    flex-basis: 0;
    margin-right: 1px;
    white-space: nowrap;
}

.promotion .rules .item .table .t-head-row .t-item {
    /* display: flex;
    flex-direction: column; */
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px 5px;
    background: #D9D9D9;
    color: #000;
    flex-grow: 1;
    flex-basis: 0;
    margin-right: 1px;
    white-space: nowrap;
}

.promotion .rules .item .table th:first-of-type {
    border-radius: 16px 0 0 0;
}

.promotion .rules .item .table th:last-of-type {
    border-radius: 0 16px 0 0;
}

.promotion .rules .item .table tr:last-of-type td:first-of-type {
    border-radius: 0 0 0 16px;
}

.promotion .rules .item .table tr:first-of-type td:last-of-type {
    border-right: hidden;
}

.promotion .rules .item .table tr:nth-of-type(2) td:last-of-type {
    border-right: hidden;
}

.promotion .rules .item .table tr:nth-of-type(3) td:last-of-type {
    border-right: hidden;
}

.promotion .rules .item .table tr:nth-of-type(4) td:last-of-type {
    border-right: hidden;
}

.promotion .rules .item .table tr:last-of-type td:last-of-type {
    border-radius: 0 0 16px 0;
    border-right: hidden;
}


.promotion .rules .item .table td {
    border-right: 1px solid black;
}

.promotion .rules .item .table .t-row .t-item super {
    color: yellow;
}

.promotion .rules .item .table .t-head-row:first-of-type .t-item {
    /* background: #000; */
    background: linear-gradient(180deg, #BF1424 0%, #570407 100%);
    color: #fff;
    white-space: nowrap;
}

/* .promotion .rules .item .table .t-row:first-of-type .t-item:first-of-type{
    border-radius: 16px 0 0 0;
}
.promotion .rules .item .table .t-row:first-of-type .t-item:last-of-type{
    border-radius: 0 16px 0 0;
}
.promotion .rules .item .table .t-row:last-of-type .t-item:first-of-type{
    border-radius: 0 0 0 16px;
}
.promotion .rules .item .table .t-row:last-of-type .t-item:last-of-type{
    border-radius: 0 0 16px 0;
} */

.promotion .foot {
    width: 100%;
    display: block;
    text-align: right;
    margin-top: 60px;
    color: #fff;
}

.slot-row {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin-top: 18px;
}

.slot-col {
    width: 100%;
    max-width: 16.66666%;
    padding-left: 6px;
    padding-right: 6px;
    margin-bottom: 18px;
    cursor: pointer;
}

.slot-col .slot-icon {
    background: radial-gradient(ellipse farthest-corner at right bottom, #FEDB37 0%, #FDB931 8%, #9f7928 30%, #8A6E2F 40%, transparent 80%), radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #D1B464 25%, #5d4a1f 62.5%, #5d4a1f 100%);
    padding: 6px;
    border-radius: 6px;
}

.slot-col .slot-icon .slot-frame {
    background-color: #6c5230;
    padding: 8px;
    border-radius: 6px;
    border: 2px solid #bfa96d;
    box-shadow: inset 0 0 10px 3px #0c0c0c;
}

.slot-col:hover .slot-icon .slot-frame{
    box-shadow: inset 0px 0px 10px 6px #ff0000;
}

.slot-col .slot-icon .slot-frame img {
    border-radius: 8px;
    transition: all 0.5s ease;
}

.slot-col .slot-name {
    text-align: center;
    color: #ffd400;
    background-color: #0c0c0c;
    border-radius: 4px;
    margin-top: 2px;
    padding: 2px;
    background: rgb(102,102,102);
    background: linear-gradient(180deg, rgb(56 56 56) 0%, rgb(0 0 0) 100%);
}

.promotion .rules .mobile {
    display: none;
    margin-bottom: 20px;
    /* color: #000; */
}

@media only screen and (min-width: 1024px) {
    .slot-col {
        max-width: 16.66666%;
    }
}

@media only screen and (max-width: 768px) {
    .slot-col {
        max-width: 33.3333%;
    }

    .slot-col .slot-name{
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 520px) {
    .slot-col {
        max-width: 50%;
    }

    .slot-col .slot-name{
        font-size: 0.9rem;
    }
}

.popout-container{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    max-width: 1280px;
    background-color: rgba(0,0,0,0.7);
    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;
}

.popout-container .popout-block{
    background-color: #fff;
    border-radius: 8px;
    width: 90%;
    max-width: 600px;
    color: #0c0c0c;
    padding: 10px;
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
}

.popout-container .popout-head{
    text-align: center;
    padding: 10px;
    text-align: center;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
}
.popout-container .popout-body{
    text-align: center;
    padding: 10px;
    margin-bottom: 10px;
}
.popout-container .popout-foot{
    display: flex;
    align-items: center;
    justify-content: center;
}

.popout-container .btn-login{
    background: linear-gradient(180deg,#be1e2d,#911a26);
    border: 1px solid #911a26;
    color: #fff;
    padding: 4px;
    border-radius: 8px;
    width: 50%;
    height: 44px;
    margin-right: 8px;
}

.popout-container .btn-login:hover{
    background-color: #911a26;
    background: linear-gradient(180deg,#911a26,#911a26);
}

.popout-container .btn-close{
    background-color: #fff;
    border: 1px solid #911a26;
    color: #911a26;
    padding: 4px;
    border-radius: 8px;
    width: 50%;
    height: 44px;
}

.popout-container .btn-close:hover{
    background-color: #911a26;
    color: #fff;
}

@keyframes bounceIn {
    0%,20%,40%,60%,80%,to {
        -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
        animation-timing-function: cubic-bezier(.215,.61,.355,1)
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }

    20% {
        -webkit-transform: scale3d(1.1,1.1,1.1);
        transform: scale3d(1.1,1.1,1.1)
    }

    40% {
        -webkit-transform: scale3d(.9,.9,.9);
        transform: scale3d(.9,.9,.9)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03,1.03,1.03);
        transform: scale3d(1.03,1.03,1.03)
    }

    80% {
        -webkit-transform: scale3d(.97,.97,.97);
        transform: scale3d(.97,.97,.97)
    }

    to {
        opacity: 1;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}
