@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700,900');

@font-face {
	font-family: 'CFHalloween'; /* set name */
	src: url("../fonts/CFHalloween-Regular.ttf"); /* url of the font */
	font-weight: 400;
}
@font-face {
	font-family: 'PixelOperator'; /* set name */
	src: url("../fonts/PixelOperator.ttf"); /* url of the font */
	font-weight: 400;
}
@font-face {
	font-family: 'PixelOperator'; /* set name */
	src: url("../fonts/PixelOperatorHB.ttf"); /* url of the font */
	font-weight: 700;
}


body {
    font-family: "PixelOperator", sans-serif;
    line-height: 1.2;
    font-size: 15px;
    color: #fff;
    background: url("/event/assets/eg33/images/halloween_catch_win/bg.jpg")no-repeat top center;
    background-size: cover;
}

a { text-decoration: none; cursor:pointer; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }

a:hover, a:focus, button:focus, button:hover { text-decoration: none; outline: none; }

img { max-width:100%;}

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], textarea, select {
    color: #666;
    width: 100%;
}
button {
	background: none;
	border: none;
	padding: 0;
}
.t-body {
	position: relative;
	overflow: hidden;
}
.deco {
	position: absolute;
	pointer-events: none;
}
.max-container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
}
.deco.fog {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    z-index: 13;
    width: 100%;
    mix-blend-mode: screen;
}
.music-wrapper {
    position: fixed;
    z-index: 99;
    right: 0;
    bottom: 50px;
    opacity: 1;
    transition: 0.3s;
    overflow: hidden;
    height: 40px;
    width: 40px;
    background: #fff;
    border-radius: 10px 0 0 10px;
}
.music-wrapper audio {
    position: absolute;
    left: -6px;
    top: -7px;
}
audio:focus {
	outline: none;
}
.floating-wrapper {
    position: fixed;
    z-index: 99;
    right: 2px;
    top: 100px;
	width: 100%;
    max-width: 60px;
	text-align: center;
}
button.float-btn {
    display: block;
    margin: 5px 0;
}
button.float-btn:hover {
	transform: scale(0.98);
	filter: brightness(1.08);
}
.dropdown-menu.language {
    min-width: 155px;
    background: none;
    border: none;
    width: 100%;
    padding: 0;
    margin: 0;
	margin-top: 5px;
}
a.float-item {
    display: inline-block;
    max-width: 45px;
}
a.float-item:hover {
	filter: brightness(1.07);
	transform: scale(1.03);
}
.top-sec {
	position: relative;
	text-align: center;
	padding: 10px 0 100px;
}
.logo {
    position: relative;
    max-width: 26%;
    margin: 0 auto -1%;
    z-index: 4;
}
.title-top {
    position: relative;
    max-width: 1000px;
    margin: 0 auto 30px;
}
.deco.bat {
    left: -5%;
    bottom: -26%;
    max-width: 19%;
}
.deco.ghost {
    right: -6%;
    bottom: -25%;
    max-width: 20%;
}
.cwtitle {
    position: absolute;
    left: 0;
    right: 0;
    top: 69%;
    max-width: 63%;
    margin: 0 auto;
}
.event-date {
    margin: 5px auto 25px;
}
.claim-note {
    font-size: 30px;
    margin-bottom: 30px;
}
.msbox {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 31%;
}
.msinfo {
    position: absolute;
    left: 0;
    right: 0;
    top: 14%;
    font-size: 22px;
}
.token-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 70%;
    font-size: 34px;
    font-weight: 700;
    color: #fef00e;
    text-shadow: 0 0 5px #f47570, 0 0 10px #f47570;
    filter: drop-shadow(0px 0px 3px #f47570);
    letter-spacing: -1px;
}
.ms-inner {
    position: relative;
    margin-bottom: -6%;
}
.mxtext-1 {
    background: linear-gradient(180deg,rgba(253, 164, 40, 1) 0%, rgba(252, 239, 103, 1) 60%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0px 0px 2px #972f91) drop-shadow(0px 0px 5px #972f91);
    font-weight: 700;
    letter-spacing: -2px;
}
.mstext-2 {
    font-family: 'CFHalloween';
    font-size: 180%;
    background: linear-gradient(180deg, rgba(219, 74, 10, 1) 0%, rgba(251, 234, 23, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(1px 2px 0px #f9e21e) drop-shadow(0px -2px 1px #fa5505);
}
button.claim-btn {
    position: relative;
	filter: grayscale(1);
	pointer-events: none;
}
.claim-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    font-weight: 700;
    color: #fff608;
    text-transform: uppercase;
    padding-top: 4%;
    text-shadow: 0 0 8px #e46c7e, 0 0 5px #e46c7e;
}
.msbox.active button.claim-btn {
	filter: none;
	pointer-events: auto;
}
.msbox.claimed button.claim-btn {
	filter: grayscale(0.5);
	pointer-events: none;
}
.msbox.active button.claim-btn:hover {
	transform: scale(0.98);
	filter: brightness(1.08) drop-shadow(0 0 10px #f7d646);
}
.frame-wrapper {
    position: relative;
    max-width: 900px;
    margin: 200px auto 0;
}
.frame-img {
    pointer-events: none;
}
.token-wrap {
    position: absolute;
    max-width: 300px;
    margin: 0 auto;
    top: -22%;
    left: 0;
    right: 0;
    z-index: 20;
}
.token-num {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    font-size: 60px;
    font-weight: 700;
}
.max-play {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6%;
    color: #00ff6c;
    font-size: 16px;
}
.deco.bdtoken {
    left: 0;
    right: 0;
    top: -25%;
    margin: 0 -5%;
	z-index: 12;
    pointer-events: none;
}
.deco.pot {
    left: 0;
    right: 0;
    bottom: -7%;
    margin: 0px -7%;
    z-index: 12;
    pointer-events: none;
}

.ap-event-wrapper {
    position: absolute;
    left: 0;
    right: 0;
    top: 0%;
    width: 100%;
    height: 650px;
    margin: 0 auto;
    overflow: hidden;
}
#angpao-container {
    position: relative;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}
/* --- Base Angpao Shape --- */
.angpao {
	position: absolute;
	width: 50px;
	height: 80px;
	border-radius: 5px;
	top: -100px; /* Start above screen */
	cursor: pointer;
}
.angpao:hover {
	filter: drop-shadow(0 0 5px #fce741) drop-shadow(0 0 1px #fce741) brightness(1.1);
}
.design-1 {
    background: url("/event/assets/eg33/images/halloween_catch_win/candy-1.png")no-repeat;
    background-size: 100%;
    width: 100px;
    height: 99px;
    margin: 0 auto;
}
.design-2 {
    background: url("/event/assets/eg33/images/halloween_catch_win/candy-2.png")no-repeat;
    background-size: 100%;
    width: 100px;
    height: 100px;
    margin: 0 auto;
}
.design-3 {
    background: url("/event/assets/eg33/images/halloween_catch_win/candy-3.png")no-repeat;
    background-size: 100%;
    width: 95px;
    height: 100px;
    margin: 0 auto;
}
.design-4 {
    background: url("/event/assets/eg33/images/halloween_catch_win/candy-4.png")no-repeat;
    background-size: 100%;
    width: 100px;
    height: 100px;
    margin: 0 auto;
}
.design-5 {
    background: url("/event/assets/eg33/images/halloween_catch_win/candy-5.png")no-repeat;
    background-size: 100%;
    width: 81px;
    height: 117px;
    margin: 0 auto;
}

/* --- Animation Keyframes --- */
@keyframes fall {
	0% {
		transform: translateY(-100px) rotate(0deg);
		opacity: 1;
	}
	100% {
		transform: translateY(110vh) rotate(360deg); /* Fall to bottom + rotate */
		opacity: 0.8;
	}
}


/** MOdal **/
.modal-dialog.popup {
	max-width: 800px;
	top: 5%;
}
.modal-content.popup {
    background: url("/event/assets/eg33/images/halloween_catch_win/popup-bg.jpg") no-repeat top center;
    background-size: cover;
    border-radius: 15px;
    border: 2px solid #fdb61b;
    padding: 50px 15px 15px;
}
.how-wrapper {
    text-align: center;
}
button.close-x {
    position: absolute;
    right: 10px;
    top: 5px;
    color: #fff;
    font-size: 20px;
    z-index: 1;
}
.poptitle {
    position: absolute;
    left: 0;
    right: 0;
    top: -13%;
    max-width: 500px;
    margin: 0 auto;
}
.tnc-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    font-weight: 700;
	text-transform: uppercase;
    background: linear-gradient(180deg, rgba(254, 215, 0, 1) 34%, rgba(254, 76, 2, 1) 82%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0px 2px 1px #000);
}
ul.terms {
    font-size: 16px;
    padding-left: 17px;
}
.stepbox {
    position: relative;
    vertical-align: top;
    max-width: 24%;
    display: inline-block;
}
.step-info {
    position: absolute;
    left: 0;
    right: 0;
    top: 80%;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    max-width: 80%;
    margin: 0 auto;
}
.modal-content.reward {
    background: none;
    border: none;
    padding: 0;
}
.reward-box {
    position: relative;
}
.prize {
    position: absolute;
    left: 0;
    right: 0;
    top: 40%;
    color: #580173;
    font-size: 60px;
    font-weight: 700;
    text-align: center;
	transform: scale(0.2);
	transition: 0.3s;
	opacity: 0;
	visibility: hidden;
}
.show .prize {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
	transition: 0.3s;
	transition-delay: 0.5s;
}

@media(max-width: 991px) {
.event-date {
    max-width: 70%;
}
.claim-note {
    font-size: 24px;
}	
.msinfo {
    font-size: 2.3vw;
}	
.token-text {
    font-size: 3.6vw;
}
.claim-text {
    font-size: 3.6vw;
}	
	
}

@media(max-width: 920px) {
.music-wrapper {
	transform: scale(0.85);
	transform-origin: right bottom;
}
.floating-wrapper {
	transform: scale(0.85);
	transform-origin: top right;
}	
.top-sec {
    padding: 10px 0 7vw;
}	
.ap-event-wrapper {
    height: 73vw;
}	
.token-wrap {
    top: -139px;
}
.design-1 {
    width: 11vw;
    height: 10vw;
}	
.design-2 {
    width: 11vw;
    height: 10vw;
}	
.design-3 {
    width: 10vw;
    height: 12vw;
}
.design-4 {
    width: 11vw;
    height: 8vw;
}
.design-5 {
    width: 9vw;
    height: 14vw;
}	
	
	
}

@media(max-width: 767px) {
.frame-wrapper {
    margin: 27vw auto 0;
}	
.token-wrap {
	top: -29%;
    max-width: 41%;
}	
.token-num {
    font-size: 8vw;
}	
.max-play {
    font-size: 2.1vw;
    bottom: 5.5%;
}	
.poptitle {
    max-width: 65%;
    top: -9%;
}	
.tnc-text {
    font-size: 5vw;
}
.poptitle {
	max-width: 380px;
	top: -32px;
	position: absolute;
}	
.tnc-text {
	font-size: 28px;
}	
.stepbox {
    max-width: 48%;
    margin: 10px 0;
}	
}

@media(max-width: 480px) {
.music-wrapper {
	transform: scale(0.7);
}
.floating-wrapper {
	top: 50px;
	transform: scale(0.7);
}	
.msbox {
    width: 48%;
	margin-bottom: 10px;
}
.msinfo {
	font-size: 3.3vw;
}	
.token-text {
	font-size: 4.7vw;
}
.claim-text {
	font-size: 5.6vw;
}	
.prize {
    font-size: 12vw;
}
.step-info {
    font-size: 4vw;
}	
.claim-note {
	font-size: 18px;
	margin-bottom: 15px;
}	
}






