@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&amp;family=Roboto:wght@400;500;700;900&amp;display=swap');

body { font-family: "Roboto", sans-serif; line-height:1.2; font-size:15px; color:#fff; background: url("../images/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 {
	overflow: hidden;
}
.deco {
	position: absolute;
	pointer-events: none;
}
.max-container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
}
.top-sec {
	background: url("../images/top-bg.png")no-repeat top center;
	background-size: 100%;
	position: relative;
	text-align: center;
	padding: 10px 0;
}
.logo {
    max-width: 260px;
    margin: 0px auto -2%;
    filter: drop-shadow(1px 2px 1px rgb(0, 0, 0, 0.8));
}
.title-top {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}
.subtitle {
    position: absolute;
    left: 0%;
    right: 0;
    top: 77%;
    max-width: 58%;
    margin: 0 auto;
}
.event-date {
    position: absolute;
    left: 0%;
    right: 0;
    top: 86%;
    color: #000;
    font-family: 'Alfa Slab One';
    font-size: 25px;
    text-transform: uppercase;
    text-shadow: 1px 1px 1px #f4d348, 2px 3px 3px rgb(0, 0, 0, 0.5);
    max-width: 480px;
    margin: 0 auto;
}
.date-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 17%;
}
.deco.deco-1 {
    animation: float 2.1s ease-in-out infinite;
    left: -5%;
    bottom: -26%;
    max-width: 24%;
}
.deco.deco-2 {
    right: -4%;
    bottom: 0%;
    max-width: 18%;
	animation: shake 2.5s ease-in-out infinite;
}
.deco.deco-3 {
    left: -8%;
    top: 68%;
    max-width: 17%;
	animation: float 2.5s ease-in-out infinite;
}
.deco.deco-4 {
    right: -10%;
    top: 43%;
    max-width: 21%;
	animation: float 2.2s ease-in-out infinite;
}
@keyframes float {
    0% {
        transform: translatey(0px);
    }
    50% {
        transform: translatey(-12px);
    }
    100% {
        transform: translatey(0px);
    }
}
@keyframes shake {
    0% {
        transform: rotate(-10deg);
    }
	50% {
        transform: rotate(10deg);
    }
    100% {
        transform: rotate(-10deg);
    }
}
.btm-sec {
	position: relative;
	padding: 0 0 40px;
}
.deco.bf-1 {
    left: 10%;
    top: 28%;
    max-width: 5%;
	animation: float 2s ease-in-out infinite;
}
.deco.bf-2 {
    right: 8%;
    top: 33%;
    max-width: 5%;
	animation: float 2.1s ease-in-out infinite;
}
.token-wrap {
    position: relative;
    max-width: 480px;
    margin: 0 auto;
}
.token-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    text-shadow: 1px 2px 4px rgb(0, 0, 0, 0.6);
    text-transform: uppercase;
    font-weight: 700;
    font-family: "Alfa Slab One";
}
.reward-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 990px;
    margin: 0 auto;
    position: relative;
}
.lantern {
    position: relative;
    cursor: pointer;
	transition: 0.1s;
}
.lantern:hover {
	transform: scale(1.03);
	filter: brightness(1.07);
	transition: 0.1s;
}
.redeem-btn {
    max-width: 85%;
    margin: -12% auto 0;
}
.how-row {
    padding: 15px 0;
    position: relative;
}
.how-wrapper {
    position: relative;
    max-width: 600px;
    margin: 10px auto;
    text-align: center;
}
.how-title {
    margin-bottom: -4%;
    position: relative;
    z-index: 2;
}
.how-wrap {
    position: relative;
    max-width: 600px;
}
.how-info {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Alfa Slab One';
    font-size: 19px;
    text-transform: uppercase;
    text-shadow: 1px 1px 5px rgb(0, 0, 0, 0.8);
    max-width: 86%;
    margin: 0 auto;
}
.deco.stroke {
    left: -10%;
    top: 2%;
    max-width: 47%;
}
.deco.branch {
    right: -20%;
    top: 17%;
    max-width: 51%;
}
.term-wrapper {
    position: relative;
    max-width: 990px;
    height: 510px;
    margin: 0 auto;
    background: url(../images/tnc-base.png) no-repeat;
    background-size: 100% 100%;
    padding: 40px 14px;
    text-align: center;
}
.terms-title {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 30px;
}
ul.terms {
    text-align: left;
    padding-left: 17px;
    font-size: 16px;
    font-weight: 600;
    max-width: 60%;
    margin: 0 auto;
    color: #000;
}
ul.terms li {
    padding: 2px 0;
}
.deco.man {
    left: -19%;
    bottom: -11%;
    max-width: 40%;
}
.deco.wave-1 {
    left: -5%;
    bottom: 0;
    max-width: 30%;
	animation: wave 2.2s ease-in-out infinite;
}
.deco.wave-2 {
    right: -5%;
    bottom: 0;
    max-width: 30%;
	animation: wave 2.1s ease-in-out infinite;
}
@keyframes wave {
    0% {
        transform: translateX(-15px);
    }
	50% {
        transform: translateX(15px);
    }
    100% {
        transform: translateX(-15px);
    }
}

/** Modal **/
button.close-x {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    color: #fff;
}
.modal-content.reward {
    background: none;
    border: none;
    max-width: 320px;
    margin: 0 auto;
}
.reward-box {
    position: relative;
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
    cursor: pointer;
}
.prize {
    position: absolute;
    left: 0;
    right: 0;
    top: 42%;
    z-index: 3;
    font-size: 30px;
    color: #fff;
    font-family: 'Alfa Slab One';
    text-shadow: 1px 1px 4px #000;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.3);
}
img.open {
    position: absolute;
    left: 0;
    right: 0;
    transition: 0.2s;
}
img.open {
    opacity: 0;
    visibility: hidden;
    transition: 0.2s;
}
.reward-box.active img.closed {
    opacity: 0;
    visibility: hidden;
    transition: 0.2s;
}
.reward-box.active img.open {
    opacity: 1;
    visibility: visible;
    transition: 0.2s;
}
.reward-box.active .prize {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    transition: 0.3s;
    transition-delay: 0.3s;
}

@media(max-width: 1080px) {
	
}

@media(max-width: 991px) {
	
}

@media(max-width: 767px) {	
.logo {
    max-width: 38%;
}	
.title-img {
    height: 68vw;
    margin: 0 -10px;
}	
.title-img img {
    object-fit: cover;
    height: 100%;
}	
.subtitle {
    top: 78%;
    max-width: 76%;
}	
.term-wrapper {
    background: #f3eae3;
    border: 4px solid #713928;
    border-radius: 12px;
    box-shadow: inset 0 0px 3px 4px #ccb9aa;
    height: auto;
    padding: 15px 15px;
}	
.terms-title {
    margin-bottom: 15px;
    filter: drop-shadow(1px 2px 4px #000);
}
ul.terms {
    max-width: 100%;
}	
.deco.man {
    display: none;
}	
}

@media(max-width: 480px) {
.event-date {
    max-width: 90%;
    font-size: 4.6vw;
}	
.how-info {
    font-size: 3vw;
}
.how-title {
    max-width: 80%;
    margin: 0 auto -4%;
}
.how-title img {
    max-height: 9vw;
}
ul.terms {
	font-size: 14px;	
}
}







