/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */
progress,
sub,
sup {
    vertical-align: baseline
}

button,
hr,
input,
select {
    overflow: visible
}

img,
legend {
    max-width: 100%
}

.slick-list,
svg:not(:root) {
    overflow: hidden
}

.slick-slider,
body,
html,
legend {
    box-sizing: border-box
}

.form-group>i,
[type=button],
[type=reset],
[type=submit],
button {
    cursor: pointer
}

.ftbtn,
.ftlst {
    list-style: none
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    height: 100%;
    width: 100%
}

.slick-initialized .slick-slide,
.slick-slide img,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

.banner-mobile,
.banner-tablet,
.slick-arrow.slick-hidden,
.slick-slide.slick-loading img,
[hidden],
h1,
template {
    display: none
}

audio,
canvas,
progress,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

.slick-list,
.slick-slider,
.slick-track {
    display: block;
    position: relative
}

body,
main {
    display: flex
}

a:active,
a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

h1 {
    margin: .67em 0
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none;
    margin: 0 auto
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

button,
input,
select,
textarea {
    font: inherit;
    margin: 0
}

h1,
h2,
h3,
optgroup {
    font-weight: 700
}

button,
select {
    text-transform: none
}

.ft_ttl,
h1,
h2,
h3 {
    text-transform: uppercase
}

[disabled] {
    cursor: default
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

button:-moz-focusring,
input:-moz-focusring {
    outline: ButtonText dotted 1px
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    color: inherit;
    display: table;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

.slick-slider {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    top: 0;
    left: 0;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    display: table;
    content: ""
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-slide,
.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

.form-bg img,
.logo,
.slogan,
.tabdk {
    display: block
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

*,
:after,
:before {
    box-sizing: inherit
}

body {
    min-height: 100%;
    margin: 0;
    padding: 0;
    font-family: "Open Sans", sans-serif;
    color: #fff;
    font-size: 14px;
    z-index: -1;
    background: url(../images/bg.jpg?v=1.0.0) top center/cover no-repeat #000;
    flex-direction: column
}

p {
    line-height: 1.2
}

a,
a:hover {
    color: #f89e22
}

h1,
h2,
h3 {
    font-size: 22px;
    width: 100%
}

article {
    min-height: 100svh
}

main .container {
    max-width: 800px;
    margin: 0 5% 0 auto
}

main {
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: calc(100svh - 60px);
    flex: 1
}

.banner-left {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 55%
}

.logo,
.slogan,
.tab-content {
    position: relative
}

.logo {
    width: 18%;
    margin: 2% auto 0;
    z-index: 1
}

.slogan {
    width: 65%;
    margin: 0 auto;
    z-index: 4
}

.tab-content {
    width: 75%;
    padding: 12% 0 3%;
    margin: 2% auto 0;
    z-index: 3
}

.form-bg,
.form-bg img {
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.tabdk,
form {
    margin: 0 auto
}

.form-bg,
.form-group>i {
    position: absolute;
    top: 0
}

.form-bg {
    left: 0;
    z-index: 2
}

.form-bg img {
    object-fit: cover
}

.tab-pane,
.tabdk {
    position: relative;
    z-index: 3
}

.tabdk {
    width: 50%;
    z-index: 3
}

.form-group>i,
.linefooter {
    display: flex;
    align-items: center
}

.tab-pane {
    margin-top: 3%
}

form {
    width: 73%
}

.form-group {
    position: relative;
    margin-bottom: 0
}

.error,
.errors {
    color: #f20000;
    font-size: 13px;
    text-align: center;
    margin-bottom: 3px;
    margin-top: -20px;
    z-index: 99;
    position: relative
}

.form-group>i {
    left: 35px;
    height: 52px;
    width: 25px;
    font-size: 20px;
    justify-content: center;
    color: #fff
}

.form-group>i.icon-prepend {
    right: 35px;
    height: 52px;
    left: auto
}

.form-control {
    height: 80px;
    background: url(../images/bg-input.png?v=1.0.0) top center/100% 100% no-repeat;
    outline: 0 !important;
    margin: 0 auto;
    padding: 1rem 0 2.8rem;
    font-size: 17px;
    color: #fff !important;
    text-align: center;
    border: none;
    font-weight: 500;
    width: 100%
}

.ftbtn,
.ftbtn li a *,
.ftlst {
    margin: 0
}

.lineleft,
.lineright {
    top: 30%;
    height: 100%;
    width: 70%;
    z-index: -1;
    position: absolute
}

.btnsubmit button {
    width: 130%;
    transform: translate(-11%, -20%);
    background: 0 0;
    border: none;
    outline: 0;
    margin: 0 auto;
    animation: .5s linear infinite btnAnimation;
    padding: 0
}

.lineleft,
.lineright,
.loading>img {
    transform: translateY(-50%)
}

input::-webkit-input-placeholder {
    color: #fff !important
}

input:-moz-placeholder {
    color: #fff !important
}

input::-moz-placeholder {
    color: #fff !important
}

input:-ms-input-placeholder {
    color: #fff !important
}

[contenteditable].form-control:focus,
[type=email].form-control:focus,
[type=password].form-control:focus,
[type=tel].form-control:focus,
[type=text].form-control:focus,
a,
button,
input.form-control:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=text]:focus,
textarea.form-control:focus,
textarea:focus {
    box-shadow: inset 0 -1px 0 transparent !important;
    outline: 0 !important;
    background-color: transparent
}

@-webkit-keyframes btnAnimation {

    0%,
    100% {
        -webkit-filter: brightness(1.3);
        filter: brightness(1.3)
    }

    50% {
        -webkit-filter: brightness(1);
        filter: brightness(1)
    }
}

.lineright {
    left: 45%
}

.lineleft {
    right: 47%;
    text-align: right
}

footer {
    background-color: rgba(9, 23, 58, .9);
    padding: 2rem 0 1rem;
    margin-top: 0;
    position: relative
}

footer span {
    text-decoration-thickness: 2px;
    text-decoration-color: #110625;
    text-decoration-style: solid
}

.linefooter {
    position: absolute;
    left: 0;
    right: 0;
    top: -25px;
    height: 50px;
    justify-content: center;
    z-index: 1
}

footer .container {
    max-width: 1400px;
    position: relative;
    z-index: 2
}

.ftlogo {
    width: 35%;
    padding-bottom: 1rem
}

.ft_ttl,
.ftdes {
    padding-bottom: .5rem
}

.ftdes {
    text-align: justify
}

.ft-col2,
.ft-col3,
.ft-col4 {
    padding-top: 1.2rem
}

.ft_ttl {
    font-weight: 600;
    font-size: 16px
}

.ftlst {
    max-width: 175px;
    columns: 2;
    column-gap: 0;
    padding: 0
}

.ftlst li {
    margin-bottom: 6px
}

.ftbtn {
    padding: 0
}

.ftbtn li {
    margin-bottom: 10px
}

.ftbtn li a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #fff;
    text-decoration: none
}

.loading {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    text-align: center;
    z-index: 9999
}

.loading>img {
    position: absolute;
    top: 50%
}

.modal-dialog {
    -webkit-transform: translate(0, -50%) !important;
    -o-transform: translate(0, -50%) !important;
    transform: translate(0, -50%) !important;
    top: 50%;
    margin: 0 auto
}

.modal .modal-dialog {
    padding: 0 10px
}

.modal .modal-dialog .modal-content {
    padding: 0;
    background: 0 0;
    border: none
}

.modal .modal-dialog .modal-content .close {
    opacity: 1 !important;
    position: absolute;
    right: 0;
    bottom: 101%;
    z-index: 2;
    text-shadow: none;
    color: #fff;
    font-size: 30px
}

#alertModal .modal-dialog .modal-content {
    padding: 1rem;
    background: #020a2e;
    border: 2px solid #da8e0a
}

#alertModal .modal-dialog .modal-content .modal-title {
    width: 100%;
    display: inline-block;
    color: #da8e0a;
    text-transform: uppercase;
    text-align: center;
    font-weight: 700
}

#alertModal .modal-dialog .modal-content .modal-body {
    font-size: 14px;
    color: #da8e0a;
    padding: 1rem 0;
    line-height: 1.3
}

.ftrow>div:first-child {
    padding-right: 6%
}

@media (max-height:780px) {
    main .container {
        margin: 0 0 0 auto
    }

    .banner-left {
        width: 50%
    }
}

@media (max-width:1100px) {
    body {
        background: url(../images/bg-mobile.jpg?v=1.0.0) top center/cover no-repeat #000
    }

    main {
        flex-direction: column;
        justify-content: flex-start
    }

    main .container {
        margin: 0 auto
    }

    .logo {
        width: 30%;
        margin: 3% auto 1%
    }

    .banner-left {
        position: relative;
        width: 60%;
        transform: unset;
        margin-bottom: 16px
    }

    .slogan {
        width: 100%
    }

    .banner-left .image {
        display: none
    }

    .banner-tablet {
        display: block;
        margin: 32px auto 0
    }

    .tab-content {
        width: 85%;
        margin-top: 0
    }

    footer .justify-content-start {
        gap: 3rem
    }

    .ftdes {
        padding-bottom: 1rem
    }

    .ftlbl {
        font-size: 3.5vw
    }

    .ftrow>div:first-child {
        padding-right: 3%
    }
}

@media (max-width:991px) {

    .ft_ttl,
    footer {
        font-size: 12px
    }
}

@media (max-width:768px) {
    main .container {
        margin: 3% auto 0;
        max-width: 600px
    }
}

@media (max-width:640px) {

    body,
    html {
        overflow-x: hidden
    }

    main>.container {
        padding: 0 5px
    }

    .logo {
        width: 50%;
        margin: 10% auto 5%
    }

    .banner-left {
        width: 100%;
        margin-bottom: 0
    }

    .banner-tablet {
        display: none
    }

    .banner-mobile {
        display: block;
        margin: 0 auto
    }

    .tab-content {
        width: 100%;
        padding: 15% 0 3%;
        position: relative;
        z-index: 3
    }

    .form-control {
        height: 64px;
        font-size: 14px;
        padding: 1rem 0 2.3rem
    }

    .form-group>i {
        left: 25px;
        height: 44px;
        font-size: 16px
    }

    .form-group>i.icon-prepend {
        right: 25px;
        height: 42px
    }

    .error,
    .errors {
        font-size: 10px;
        margin-top: -1.2rem
    }

    footer {
        background-color: rgba(2, 10, 46, .9)
    }

    .ftnote {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 11px;
        color: #bbb
    }

    .ftlogo {
        padding-bottom: 0;
        min-width: 60px;
        width: 80px
    }

    .ft-col1 {
        order: 1
    }

    .ft-col4 {
        order: 2;
        padding-right: 10px
    }

    .ft-col2 {
        order: 3;
        padding-left: 10px
    }

    .ft-col5 {
        order: 4
    }

    .ft_ttl {
        text-transform: none;
        font-size: 14px;
        font-weight: 700
    }

    .copyright,
    .ftbtn li a,
    .ftdes {
        font-size: 12px
    }

    .ftlst li {
        color: #bbb;
        margin-bottom: 5px
    }

    .ftbox {
        background-color: #010627;
        border: 1px solid #0528b7;
        border-radius: 8px;
        padding: 10px 15px 5px
    }

    .ftdes {
        padding-bottom: 0
    }

    .copyright {
        text-align: center;
        padding-top: 1rem;
        color: #385a83
    }
}

@media only screen and (max-height:480px) and (orientation:landscape) {
    footer {
        font-size: 11px
    }

    .ftlogo {
        width: 40%;
        padding-bottom: .5rem
    }

    .ft_ttl {
        font-size: 12px
    }

    .w-50 {
        width: 100% !important
    }
}

/* Pot Breaking Game Styles */

#potGameModal .modal-dialog {
    max-width: 520px;
}

#potGameModal .pot-game-content {
    background: linear-gradient(135deg, #020a2e 0%, #091739 100%);
    border-radius: 20px;
    border: 3px solid #da8e0a;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    position: relative;
    overflow: hidden;
}

#potGameModal .pot-game-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(../images/bg.jpg?v=1.0.0) center/cover;
    opacity: 0.1;
    z-index: 0;
}

#potGameModal .modal-body {
    padding: 40px 30px;
    position: relative;
    z-index: 1;
}

.game-title {
    color: #da8e0a;
    font-size: 32px;
    font-weight: 900;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.8);
    margin-bottom: 10px;
    animation: titlePulse 2s infinite;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
}

.game-subtitle {
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 30px;
    font-weight: 500;
    font-family: "Montserrat", sans-serif;
}

.pot-container {
    position: relative;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.pot-image {
    font-size: 150px;
    cursor: pointer;
    transition: transform 0.3s ease;
    animation: potFloat 3s ease-in-out infinite;
    user-select: none;
}

.pot-image:hover {
    transform: scale(1.1);
}

.pot-image:active {
    transform: scale(0.95);
}

.pot-breaking {
    animation: potBreak 0.5s ease-out;
}

.hammer {
    position: absolute;
    font-size: 80px;
    top: -50px;
    opacity: 0;
    pointer-events: none;
    user-select: none;
}

.hammer-swing {
    animation: hammerSwing 0.6s ease-out;
}

/* Prize Result Styles */
.prize-result {
    animation: fadeInUp 0.5s ease-out;
}

.prize-animation {
    background: linear-gradient(135deg, rgba(2, 10, 46, 0.98) 0%, rgba(9, 23, 57, 0.98) 100%);
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(218, 142, 10, 0.3);
    border: 2px solid #da8e0a;
}

.prize-icon {
    font-size: 100px;
    animation: prizeRotate 1s ease-in-out infinite;
    margin-bottom: 15px;
}

.prize-title {
    color: #da8e0a;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 15px;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
}

.prize-text {
    color: #fff;
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 600;
    font-family: "Montserrat", sans-serif;
}

.prize-text span {
    color: #da8e0a;
    font-size: 24px;
    font-weight: 900;
    display: block;
    margin-top: 10px;
    text-shadow: 0 0 10px rgba(218, 142, 10, 0.5);
}

/* Prize type specific styles */
.prize-text span[data-prize-type="jackpot"] {
    color: #ff0000;
    font-size: 28px;
    text-shadow: 0 0 20px rgba(255, 0, 0, 0.8);
    animation: jackpotGlow 1s ease-in-out infinite;
}

.prize-text span[data-prize-type="big"] {
    color: #f89e22;
    font-size: 26px;
    text-shadow: 0 0 15px rgba(248, 158, 34, 0.6);
}

.prize-text span[data-prize-type="medium"] {
    color: #da8e0a;
    font-size: 24px;
}

.prize-text span[data-prize-type="small"] {
    color: #ffd700;
    font-size: 22px;
}

.prize-text span[data-prize-type="lose"] {
    color: #888;
    font-size: 20px;
    text-shadow: none;
}

.btn-continue {
    background: linear-gradient(135deg, #da8e0a 0%, #f89e22 100%);
    border: none;
    color: #020a2e;
    padding: 15px 40px;
    font-size: 18px;
    font-weight: 700;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(218, 142, 10, 0.5);
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
}

.btn-continue:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(218, 142, 10, 0.7);
    background: linear-gradient(135deg, #f89e22 0%, #da8e0a 100%);
}

.btn-continue:active {
    transform: translateY(0);
}

/* Cooldown Message Styles */
.cooldown-message {
    background: linear-gradient(135deg, rgba(2, 10, 46, 0.98) 0%, rgba(9, 23, 57, 0.98) 100%);
    border-radius: 15px;
    padding: 40px 30px;
    box-shadow: 0 5px 20px rgba(218, 142, 10, 0.3);
    border: 2px solid #da8e0a;
}

.cooldown-message p {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    font-family: "Montserrat", sans-serif;
}

.cooldown-message p:first-child {
    font-size: 24px;
    color: #da8e0a;
    font-weight: 800;
}

#cooldownTime {
    color: #f89e22;
    font-weight: 900;
    font-size: 20px;
}

/* Confetti Animation */
.confetti {
    position: absolute;
    width: 10px;
    height: 10px;
    top: -10px;
    animation: confettiFall linear forwards;
    z-index: 1000;
}

/* Close button style override */
#potGameModal .close {
    opacity: 1 !important;
    position: absolute;
    right: 15px;
    top: 15px;
    z-index: 2;
    text-shadow: none;
    color: #da8e0a;
    font-size: 30px;
    background: transparent;
    border: none;
    cursor: pointer;
}

#potGameModal .close:hover {
    color: #f89e22;
}

/* Animations */
@keyframes titlePulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

@keyframes potFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

@keyframes potBreak {
    0% {
        transform: scale(1) rotate(0deg);
    }

    25% {
        transform: scale(1.2) rotate(-10deg);
    }

    50% {
        transform: scale(1.1) rotate(10deg);
    }

    75% {
        transform: scale(1.3) rotate(-5deg);
    }

    100% {
        transform: scale(1.5) rotate(0deg);
        opacity: 0;
    }
}

@keyframes hammerSwing {
    0% {
        opacity: 0;
        top: -100px;
        transform: rotate(-45deg);
    }

    50% {
        opacity: 1;
        top: 50%;
        transform: rotate(0deg);
    }

    100% {
        opacity: 0;
        top: 50%;
        transform: rotate(45deg);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes prizeRotate {

    0%,
    100% {
        transform: rotate(0deg) scale(1);
    }

    25% {
        transform: rotate(-10deg) scale(1.1);
    }

    75% {
        transform: rotate(10deg) scale(1.1);
    }
}

@keyframes confettiFall {
    to {
        transform: translateY(100vh) rotate(720deg);
        opacity: 0;
    }
}

@keyframes jackpotGlow {

    0%,
    100% {
        text-shadow: 0 0 20px rgba(255, 0, 0, 0.8), 0 0 30px rgba(255, 0, 0, 0.6);
    }

    50% {
        text-shadow: 0 0 30px rgba(255, 0, 0, 1), 0 0 40px rgba(255, 0, 0, 0.8), 0 0 50px rgba(255, 215, 0, 0.6);
    }
}

/* Responsive Design */
@media (max-width: 640px) {
    #potGameModal .modal-dialog {
        margin: 10px;
    }

    #potGameModal .modal-body {
        padding: 30px 20px;
    }

    .game-title {
        font-size: 24px;
    }

    .game-subtitle {
        font-size: 14px;
    }

    .pot-image {
        font-size: 100px;
    }

    .pot-container {
        height: 200px;
    }

    .hammer {
        font-size: 60px;
    }

    .prize-icon {
        font-size: 70px;
    }

    .prize-title {
        font-size: 22px;
    }

    .prize-text {
        font-size: 16px;
    }

    .prize-text span {
        font-size: 20px;
    }

    .btn-continue {
        padding: 12px 30px;
        font-size: 16px;
    }

    .cooldown-message p {
        font-size: 16px;
    }

    .cooldown-message p:first-child {
        font-size: 20px;
    }

    .prize-animation,
    .cooldown-message {
        padding: 25px 20px;
    }
}

@media (max-width: 1100px) {
    #potGameModal .modal-dialog {
        max-width: 90%;
    }
}