/*---------------------------------------
  Shop
-----------------------------------------*/
#login{
  width: 100vw;
  height: 100vh;
  background: url(../img/bg.png) center no-repeat;
  background-size: cover;
}
.loginwrapper {
  width: 600px;
  max-width: 90vw;
}

.brd{
  border: 3px solid #393939;
}
.r35{
  border-radius: 35px;
}
.r15{
  border-radius: 15px;
}
.r10{
  border-radius: 10px;
}

.shoptabwrapper{
  width: 90%;
  max-width: 90vw;
  padding-bottom: 50px;
}

.shoptab, .redeemEvent{
  position: relative;
  min-width: unset;
  width: 30%;
  max-width: 350px;
  aspect-ratio: 3 / 4 ;
  /* flex-grow: 1; */
  border: 3px solid var(--grey);
  border-radius: var(--p_s);
  overflow: hidden;
}
.shoptab{
  filter: drop-shadow(0 6px 0 rgb(0, 0, 0));
}
.shoptab:hover, .redeemEvent:hover{
  border: 3px solid var(--active);
}
.shoptab:hover{
  box-shadow: 0px 0px 21.7px 0px var(--active) inset !important;
  transition: all .3s;
  filter: drop-shadow(0 0px 0 rgb(0, 0, 0));
  transform: translateY(6px);
}
.shoptab::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, black, rgba(0,0,0,0));
}
.shoptab::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/bg.png) center no-repeat;
  background-size: cover;
  filter: grayscale(100%);
  z-index: 0;
  left: 0;
}
.shoptab:nth-child(2):after {
  background: url(../img/bg2.png) center no-repeat;
  background-size: cover;
}
.shoptab:nth-child(3):after {
  background: url(../img/bg3.png) center no-repeat;
  background-size: cover;
}
.shoptab:hover::after{
  filter: unset;
  transition: all .3s;
}
.shoptab::before{
  z-index: 5;
}
.shoptab img{
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: bottom center;
  pointer-events: none;
  z-index: 2;
}

.shoptab:hover img{
  filter: drop-shadow(0 3px 2px rgba(218, 254, 255, 0.5)) drop-shadow(0 3px 6px rgba(218, 255, 249, 0.5)) !important;
  transform-origin: center;
  transform: scale(1.1) !important;
  transition: all .3s;
}

.shoptab h1 {
  --txt_l: 60px;
  position: absolute;
  color: #696969;
  text-transform: uppercase;
  font-size: var(--txt_l);
  line-height: calc(var(--txt_l) - 15px);
  left: -5px;
  bottom: -2px;
  z-index: 10;
}
.shoptab:hover h1{
  color: var(--active);
  transition: all .3s;
}
@media screen and (max-width: 910px) { 
  .shoptabwrapper{
    width: 100%;
    flex-direction: column;
  }
  .shoptab{
    aspect-ratio: unset;
    width: 100%;
    max-width: 90vw;
    height: 120px;
    align-items: flex-start !important;
    justify-content: center  !important;
  }
  .shoptab::before{
    height: 100%;
    width: 50%;
    background-image: linear-gradient(to right, var(--black) 50%, rgba(0,0,0,0)) ;
  }
  .shoptab img{
    display: none;
  }
  .shoptab h1{
    --txt_l: 30px;
    line-height: calc(var(--txt_l) - 7px);
    position: relative;
    bottom: unset;
    left: unset;
    padding: 25px;
    filter: drop-shadow(0 0 6px rgb(0, 0, 0));
    color: #7c7c7c;
  }
}

/*---------------------------------------
  modal 
-----------------------------------------*/
.itemContent_wrapper{
  width: 100%;
}
.itemContent_description{
  gap: 5px;
}
.itemContent_description p{
  margin: 0;
}

.itembtn_wrapper button{
  opacity: .5; 
  width: 50%;
  height: fit-content;
  padding: 10px 20px;
}
.itembtn_wrapper button span{
  font-size: 20px;
}
.itembtn_wrapper button:hover{
  opacity: 1;
  color: var(--active);
}
.modal .itembtn_wrapper{
  position: relative;
  opacity: 1;
  background: unset;
  padding-bottom: 30px;
  border-top: 1px solid rgba(255, 255, 255, .15);
  align-items: center !important;
}
.modal .itembtn_wrapper button{
  opacity: 1; 
  width: fit-content;
  align-self: flex-end;
}

/*---------------------------------------
  REDEEM
-----------------------------------------*/
#redeemForm{ 
  position: relative;
  width: 800px;
  min-width: 250px;
  max-width: 90vw;
  gap: 35px;
  margin-top: -40px;
  padding-top: 50px;
  padding-bottom: 30px;
  z-index: 5;
  background: var(--black);
  overflow: visible;
}
#redeemForm form{
  max-width: 95%;
  /* min-width: 250px; */
}
.form_label{
  --txt_s: 16px;
  font-size: var(--txt_s);
  color: #616161;
  font-weight: 600;
  margin-left: 10px;
}

.redeemwrapper{
  width: 90%;
  max-width: 1200px;
  height: fit-content;
  justify-content: center;
  flex-wrap: wrap;
}
.redeemEvent{
  padding: var(--p_s);
  padding-bottom: 70px;
  gap: 10px;
}
.redeemEvent.is-redeeming {
  opacity: 0;
  transform: translateY(-300px);
  transition: all .3s;
}

.redeemEvent::before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);  
  z-index: 1;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0,0,0,.95), rgba(0,0,0,0));
}

.btn_redeem {
  position: absolute;
  bottom: 0;
  width: 100%;
  border-radius: 0;
  z-index: 10 !important;
  padding: 15px 25px;
  background-image: linear-gradient(to top, #111111, #232323);
  color: #696969;
  font-weight: 600;
  text-transform: uppercase;
}
.btn_redeem:hover {
  color: var(--black);
  background: var(--active);
}

.redeemEvent img{
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: bottom center;
  pointer-events: none;
  z-index: 2;
  position: absolute;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}
.redeemEvent img{
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.redeemEvent:hover img{
  transform: translate(-50%, -50%) scale(1.1) !important;
  transition: all .3s;
}

.redeemEvent h1 {
  --txt_l: 18px;
  color: white;
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
  font-size: var(--txt_l);
  line-height: calc(var(--txt_l));
  z-index: 10;
}

@media screen and (max-width: 768px) { 
  .redeemwrapper{
    width: 100%;
    padding: 0 25px;
    justify-content: space-evenly;
    flex-wrap: nowrap;
  }
  .redeemEvent{
    min-width: 250px;
    padding: var(--p_s);
    padding-bottom: 70px;
  }
}

/*---------------------------------------
  COMEBACK
-----------------------------------------*/
#comeback{ 
  height: 100%;
  padding-bottom: 50px;
}
#comebackForm{ 
  position: relative;
  width: 800px;
  min-width: 250px;
  max-width: 90vw;
  padding-top: 50px;
  padding-bottom: 30px;
  z-index: 5;
}

/*---------------------------------------
  GACHA
-----------------------------------------*/
#gachaMachine{
  position: relative;
  width: max-content !important;
  min-width: 250px;
  width: 100%;
  max-width: 95%;
  gap: 10px;
  margin-top: -50px !important;
  padding-bottom: 50px;
  z-index: 5;
}

.pet::before, .pet::after{
  content: "";
  position: absolute;
  z-index: -5 !important;
  bottom: 10%;
  transition: 0;
}
.pet::before{
  width: 166px;
  height: 216px;
  left: -100px;
  background: url(../img/gacha/pet2.png) bottom no-repeat;
  background-size: contain;
}
.pet::after{
  width: 139px;
  height: 182px;
  right: -75px;
  background: url(../img/gacha/pet1.png) bottom no-repeat;
  background-size: contain;
}
@media screen and (max-width: 800px) { 
  .pet{
    display: none;
  }
}
#gachaMachine::after{
  content: "";
  width: 90%;
  height: 30px;
  background: #393939;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.gachaTop_wrapper, .gachaCenter_wrapper{
  background: var(--black);
  max-width: 90vw;
}

@keyframes shake {
  0% { transform: translate(0, 0)}
  50% { transform: translate(10px, 0px)}
  80% { transform: translate(-10px, 0px)}
  100% { transform: translate(0, 0)}
}
.drawing .gachaTop_wrapper{
  transform-origin: bottom center;
  animation: shake .3s linear infinite 0s;
}

@keyframes scrollLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.gachaReward_inner.no-anim {
  animation: none !important;
}
.gachaReward_inner {
  --scrollDuration: 12s;
  display: flex;
  width: max-content;
  animation: scrollLoop var(--scrollDuration) linear infinite;
  gap: 10px;
  padding-bottom: 30px;
}
.drawing .gachaReward_inner {
  --scrollDuration: .5s;
}


.mPoint_wrapper{
  gap: 5px;
  padding: 10px 15px;
  min-width: 200px;
  background-image: linear-gradient(to top, #050505, #141414);
}
.navigation .mPoint_wrapper{
  display: none;
}
.navigation.active .mPoint_wrapper{
  display: flex;
}
.mPoint_wrapper h1, .mPoint_wrapper span{
  font-weight: 600;
  margin: 0;
  font-size: var(--txtsize);
}

.mPoint_wrapper h1{
  color: var(--active);
  --txtsize: 35px;
  z-index: 10;
  text-wrap: nowrap;
}
.mPoint_wrapper span{
  color: var(--btncolor);
  --txtsize: 12px;
  line-height: var(--txtsize);
}

.gachaReward_wrapper{
  position: relative;
  width: 600px;
  max-width: 100%;
  aspect-ratio: 3 / 1.5;
}
.gachaReward_wrapper::before{
  z-index: 10;
}
.note{
  position: absolute;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 10px;
}
.note i{
  z-index: 150;
  font-size: 12px;
  line-height: 12px;
  font-weight: 600;
  color: var(--white);
}
.note span{
  color: var(--active);
}
.note::before, .note::after{
  position: absolute;
  width: 80px;
  height: 100%;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}
.note::before{
  background: linear-gradient(to right, var(--black) 0%, rgba(0, 0, 0, 0) 100%);
  left: 0;
}
.note::after{
  background: linear-gradient(to left, var(--black) 0%, rgba(0, 0, 0, 0) 100%);
  right: 0;
}
.gachaReward_drawed{
  position: absolute;
  width: 60%;
  height: 90%;
  background: var(--gradient);
  background: linear-gradient(to bottom, #600f70, #963ca7);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
}

.rewarditem{
  position: relative;
  width: 20%;
  min-height: 50%;
  max-height: 90%;
  aspect-ratio: 1 / 1.2;
  padding: 15px;
  border-radius: 100px;
  z-index: 0;
  overflow: hidden;
}
.rewarditem.grandprize{
  width: 25%;
}
.rewarditem::before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 35%;
  background: linear-gradient(to bottom, #891a9e, #963ca7);
  border-top: 9px solid #a757b8;
  z-index: 10;
}
.rewarditem.grandprize::before{
  background: linear-gradient(to bottom, #eda41b, #dab334);
  border-top: 9px solid #edc247;
}
.rewarditem::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2%;
  transform: translateX(-50%);
  width: 90%;
  height: 90%;
  border-radius: 100px;
  background-image: linear-gradient(to bottom, rgb(0, 0, 0), rgb(255, 255, 255) 90%);
  mix-blend-mode: screen;
  opacity: .15;
  z-index: 10;
}
.rewarditem span{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 2.5px solid var(--btncolor);
  z-index: 0;
}

.rewarditem:hover {
  transform: rotate(3deg) scale(1.05);
  z-index: 5;
  transition: all .3s;
  filter: drop-shadow(0 0px 9px var(--active));
}
.rewarditem:nth-child(even):hover {
  transform: rotate(-3deg) scale(1.05);
  z-index: 5;
  transition: all .3s;
}

.rewarditem img{
  width: 100%;
  height: 100%;
  border-radius: 10px;
  max-width: fit-content;
  max-height: fit-content;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
} 
.rewarditem p{
  font-size: 18px;
  font-weight: 600;
}

@media screen and (max-width: 530px) { 
  .gachaTop_wrapper{
    padding-top: 30px;
  }
  .mPoint_wrapper{
    flex-grow: 1;
  }
  .gachaReward_wrapper{
    aspect-ratio: 3 / 2;
  }
}

.gachaCenter_wrapper{
  width: 85%;
  min-height: 100px;
  padding: 0 25px;
  margin-top: -6px;
  border-bottom: 0;
  padding-top: 5px;
}

.drawtlt *{
  --btncolor: #393939;
}
.drawtlt p{
  color: var(--btncolor);
  margin: 0;
  text-wrap: nowrap;
  text-transform: uppercase;
  font-weight: 900;
}
.drawtlt span{
  width: 100%;
  height: 2.5px;
  background: var(--btncolor);
}

.gachaDraw_btn{
  position: relative;
  padding: 10px;
  margin-bottom: 30px;
}

.dot, .arrow{
  --btncolor: #393939;
  pointer-events: none;
}

.dot::before, .dot::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--btncolor);
}
.dot::before{
  left: 0;
}
.dot::after{
  right: 0;
}

.arrow::before, .arrow::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  width: 100%;
  height: 100%;
  border-radius:50%;
  border: 3px solid var(--btncolor);
  clip-path: polygon(50% 50%, 65% 0, 100% 0, 100% 35%, 50% 50%);
}
.arrow::after{
  transform: translate(-50% , -50%) rotate(180deg);
}

.arrow span::before, .arrow span::after{
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 8px;
  background: var(--btncolor);
}
.arrow span::before {
  left: -3px;
  top: 70%;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  transform-origin: 100% 0;
  transform: rotate(75deg);
}
.arrow span::after{
  right: -3px;
  bottom: 70%;
  clip-path: polygon(0 0, 0 100%,100% 100%);
  transform-origin: 0 100%;
  transform: rotate(75deg);
}

.btn_gacha{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 75px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 3px solid var(--btncolor);
  background: var(--black);
  background-image: linear-gradient(to bottom, #050505, #141414);
  transform: translateY(-3px);
  box-shadow: 0px 0px 12px 0px rgba(57, 57, 57, .5) inset !important;
  filter: drop-shadow(0 6px 0 black);
}
.btn_gacha.highlight{
  --btncolor: #ca50e1;
  border: 3px solid var(--btncolor);
  box-shadow: 0px 0px 12px 0px var(--btncolor) inset !important;
}
.btn_gacha span{
  width: 100%;
  height: 20%;
  background: var(--btncolor);
  animation: rotate 60s linear infinite;
}
.btn_gacha:hover{
  --btncolor: var(--active);
  box-shadow: 0px 0px 12px 0px var(--btncolor) inset !important;
  filter: none;
  transform: translateY(0);
}
.draw_num, .draw_num *{
  --btncolor: #393939;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0;
}
.draw_point{
  --btncolor: #393939;
  position: absolute;
  top: 110%;
  left: 50%;
  transform: translateX(-50%);
  padding: 2px 12px;
  width: 100%;
  border-radius: 50px;
  margin: 0;
  white-space: nowrap;
  font-size: 16px;
  color: var(--active);
  font-weight: 600;
  background: black;
}
.draw_point::before{
  --txtsize: 8px;
  content: "M-Point";  
  position: absolute;
  top: 5px;
  right: 8px;
  color: var(--btncolor);
  font-size: var(--txtsize);
  line-height: var(--txtsize);
}

.draw_num p{
  font-size: var(--txtsize);
  color: var(--btncolor);
  font-weight: 900;
}

#rewardSlot{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100px;
  max-height: 100px;
  background-image: linear-gradient(to bottom, #050505, #141414);
  aspect-ratio: 1 / 1;
  border-bottom: 0;
  border-top-left-radius: 150px;
  border-top-right-radius: 150px;
  overflow: hidden;
}

@keyframes capsuleDrop{
	0% {top: -125%;}
  50% {top: 2px;}
  70% {top: -5px;}
  100% {top: 2px;}
}
@keyframes glow{
  from{filter: drop-shadow(0 0 .5px var(--btncolor) );}
  to{filter: drop-shadow(0 0 9px var(--btncolor) );}
}
@keyframes capsuleClose{
  0%{transform: scale(1);}
  70% {transform: scale(1.1);}
  100%{transform: scale(0);}
}

.gachaCapsule{
  position: relative;
  display: block;
  width: 85px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  opacity: 1;
  top: -125%;
  background: var(--black);
}

.drawed .gachaCapsule{
  animation:
    capsuleDrop .5s ease-out forwards,
    glow 1s ease-in-out infinite alternate .5s,
    capsuleClose .3s ease-out forwards 2s;
}
.gachaCapsule span{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 2.5px solid var(--btncolor);
  z-index: 0;
}
.gachaCapsule::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 88%;
  height: 88%;
  border-radius: 100%;
  background-image: linear-gradient(-45deg, rgb(0, 0, 0) 55%, rgb(255, 255, 255));
  mix-blend-mode: screen;
  opacity: .35;
  z-index: 1;
}
.gachaCapsule::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 55%;
  background: linear-gradient(to bottom, #891a9e, #963ca7);
  border-top: 9px solid #a757b8;
  z-index: 1;
}

@media screen and (max-width: 600px) { 
  .gachaCenter_wrapper{
    justify-content: center !important;
    align-items: flex-end;
  }
  #rewardSlot{
    width: 120px;
    margin-right: 0;
  }
}

#prizeList, #prizeResult, #prizeHistory{
  width: 100%;
  padding: 15px 10px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 5px;
}
.prizelist_item{
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 10px 15px;
  width: 100%;
  max-width: min(500px, 90vw);
  border-radius: 15px;
  background: var(--darkgrey);
  filter: drop-shadow(0 0 6px var(--black));
}
@keyframes expand{
  from {height: 0;}
    to {height: fit-content;}
}
@keyframes prizeShow{
  from {opacity: 0; transform: translateX(300px);}
    to {opacity: 1; transform: translateX(0);}
}
#prizeResult{
  animation: expand .5s linear forwards;
}
.prizelist_item{
  animation: prizeShow .5s ease-in-out backwards;
  animation-delay: 250ms;
}
.prizelist_item.grandprize{ 
  border: 2px solid #ffbe45;
  border: 2px solid var(--active);
}

.prizelist_item img{
  width: 100%;
  height: 100%;
  max-width: 60px;
  max-height: 60px;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  object-fit: cover;
}
.prizelist_item > div{
  gap: 5px;
}
.prizelist_item.grandprize img{
  aspect-ratio: unset;
  max-height: 100px !important;
  object-fit: contain;
}
.prize_duration{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-right: 25px;
}
.prize_duration h1{
  font-size: 14px;
  text-transform: uppercase;
  font-style: italic;
  font-weight: 400;
  line-height: 15px;
  color: var(--active);
}
.prize_amount{
  position: absolute;
  right: 0;
  bottom: 0;
  height: 80%;
  max-height: 60px;
  aspect-ratio: 1 / 1;
  background: var(--gradient2);
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  padding: 10px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  font-size: 20px;
  font-weight: 600;
}
.prizelist_item.grandprize .prize_amount{
  background: var(--gradient3);
  background: var(--active);
  color: var(--black);
}
.prize_ts{
  opacity: 0;
  position: absolute;
  font-size:12px;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
}
.prizelist_item:hover .prize_ts{
  opacity: .7;
  transition: all .5s ease;
}

.btn_prize{
  --btnsize: 30px;
  background: #111111;
  border-radius: 30px; 
  border: 2.5px solid #393939;
  width: fit-content; 
  padding: 0 15px;
  height: var(--btnsize); 
  color: var(--btncolor);
  gap: 5px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}
.btn_prize:hover{
  background: #393939;
  transition: all .3s;
  color:var(--active);
}

/*---------------------------------------
  MERCH
-----------------------------------------*/
#merch{
  position: relative;
  width: 800px;
  min-width: 250px;
  max-width: 90vw;
  gap: 10px;
  margin-top: -50px;
  padding-top: 35px;
  padding-bottom: 70px;
  z-index: 5;
  background: var(--black);
  overflow: visible;
}
#merch::after {
  content: "";
  width: 105%;
  height: 30px;
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  background: #393939;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
#merch .char{
  width: 380px;
  aspect-ratio: 95 / 155;
  position: absolute;
  background: url(../img/shop/char2.png) center no-repeat;
  background-size: contain;
  bottom: -30px;
  right: 95%;
  z-index: 15;
  animation: slideinleft .5s ease-in-out backwards;
} 
@media screen and (max-width: 1200px) { 
  #merch .char{
    display: none;
  }
}

.merchTop_wrapper{
  gap: 5px;
}
.merchBottom_wrapper{
  padding: 0 30px;
}
.merchCenter_wrapper{
  border-left: 0;
  border-right: 0;
  position: relative;
  min-width: 200px;
}
.merchCenter_wrapper .halftone{
  position: absolute;
}
.merchCenter_wrapper::after{
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 10%;
  z-index: 10;
}
.merchCenter_wrapper::after{
  bottom: 0;
  background-image: linear-gradient(to top, var(--black) 5%, rgba(0,0,0,0));
}
.merchItem_wrapper{
  position: relative;
  width: calc(30% - var(--p_s));
  min-width: 180px;
  max-width: 250px;
  flex-grow: 1;
  aspect-ratio: 1/1;
  border: 2px solid #393939;
  overflow: hidden;
  align-items: flex-end !important;
  filter: drop-shadow(0 5px 5px rgba(0,0,0,.65));
}
.merchItem_wrapper:hover{
  border: 2px solid #575757;
}

@media screen and (max-width: 455px) {
  .merchItem_wrapper{
    max-width: unset;
  }
}

.merchItem_wrapper::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  height: 85%;
  border-radius: 35px;
  background-image: linear-gradient(to top, rgb(0, 0, 0), rgb(131, 131, 131) 90%);
  mix-blend-mode: screen;
  opacity: .15;
}
.merchItem_wrapper::after{
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 25%;
  background-image: linear-gradient(to top, var(--black) 50%, rgba(0,0,0,0)) ;
  z-index: 2;
}

.itemPhoto{
  max-width: fit-content !important;
  max-height: fit-content !important;
}

.merchItem_wrapper .itemPhoto{
  position: absolute;
  width: 90%;
  height: 80%;
  object-fit: contain;
  top: 50%;
  left: 50%;
  filter: drop-shadow(0 5px 5px rgba(0,0,0,.65));
  transform: translate(-50%, -50%);
}
.merchItem_wrapper:hover .itemPhoto{
  filter: drop-shadow(0 3px 6px rgba(228, 228, 228, 0.5));
  transform-origin: center;
  transform: translate(-50%, -50%) scale(1.1) rotate(5deg);
  transition: all .3s;
}

.merchItem_imgbtn{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.itemInner_wrapper{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 450px;
  gap: 10px;
  z-index: 5;
  overflow-y: scroll !important;
}

.itemTag{
  position: absolute;
  width: fit-content;
  height: fit-content;
  background: var(--highlight);
  border-radius: 50px;
  top: 5%;
  right: 5%;
}
.itemTag.new::before{
  content: "new";
  padding: 15px;
  font-weight: 600;
  text-transform: uppercase;
}
.itembtn_wrapper{
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  align-items: flex-end !important;
  width: 100%;
  height: 50%;
  z-index: 10;
  background-image: linear-gradient(to top, rgb(5, 5, 5, .95) 30%, rgba(0,0,0,0));
  pointer-events: none;
}
.itembtn_wrapper button{
  pointer-events: all;
}
.merchItem_wrapper:hover .itembtn_wrapper{
  opacity: 1;
  transition: all .3s ease;
}

.merchItem_detail{
  z-index: 10;
}
.merchItem_detail *{
  color: var(--white);
  margin: 0;
}
.merchItem_detail h2{
  --txt_l: 18px;
}
.merchItem_detail p{
  font-size: 18px;
}

.merchItem_wrapper:has(.btn_cart:hover){
  border: 2px solid var(--active);
  filter: drop-shadow(0 3px 6px var(--active));
  background: var(--black);
}

.price_wrapper{
  width: 100%;
  gap: 5px;
  padding: 10px 15px;
  background-image: linear-gradient(to top, rgb(5, 5, 5), rgb(20, 20, 20));
}
.merchBottom_wrapper .price_wrapper{
  max-width: 250px;
}

.price_wrapper h1, .price_wrapper span {
  font-weight: 600;
  font-size: var(--txtsize);
  margin: 0px;
}
.price_wrapper h1 {
  color: var(--active);
  --txtsize: 35px;
  z-index: 10;
  text-wrap: nowrap;
}
.price_wrapper span{
  color: var(--btncolor);
  --txtsize: 12px;
  line-height: var(--txtsize);
}

@media screen and (max-width: 550px) { 
  .price_wrapper{
    max-width: 100%;
  }
  .merchBottom_wrapper{
    justify-content: center !important;
  }
}

/*---------------------------------------
  SHOP
-----------------------------------------*/
.shop.topnavbar::before {
  content: "";
  position: absolute;
  width: 891px;
  max-width: 100vw;
  aspect-ratio: 891 / 89;
  top: 60%;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/shop/roof.png) top no-repeat;
  background-size: cover;
  filter: drop-shadow(0 15px 15px rgba(72, 32, 80, 0.5));
}
@media screen and (max-width: 600px) { 
  .shop.topnavbar::before {
    aspect-ratio: 537 / 89;
    background: url(../img/shop/roof_m.png) top no-repeat;
    background-size: cover;
  }
}

#package{
  --buttonsize: 40px;
  position: relative;
  width: 90vw;
  max-width: 800px;
  height: 450px;
  min-height: fit-content;
  background-image: linear-gradient(to top, #cfacff, #6a54c2);
  border-radius: 10px;
  padding-bottom: 15px;
}

#package .btn_indicator{
  position: absolute;
  background-image: linear-gradient(to top, #cfacff, #6a54c2);
  filter: drop-shadow(0 -1px #d692d1) drop-shadow(0 1px var(--white));
  top: 50%;
  transform: translateY(-50%);
  padding-top: 2px !important;
}
#package .btn_indicator:hover{
  background-image: linear-gradient(to top, #a389eb, #522db9);
  filter: drop-shadow(0 1px var(--white));
}
.btn_indicator.btn_prev{
  padding-right: 2px !important;
  right: calc(100% + 8px);
}
.btn_indicator.btn_next{
  padding-left: 2px !important;
  left:  calc(100% + 8px);
}
@media screen and (max-width: 450px) { 
  .btn_indicator.btn_prev{
    right: 95%;
  }
  .btn_indicator.btn_next{
    left: 95%;
  }
}
.mPoint{
  min-width: 24px;
  min-height: 24px;
  background: url(../img/shop/mpoint.svg) no-repeat center;
  background-size: contain;
}

.shopMain_wrapper{
  position: relative;
  margin-top: 10%;
  max-width: calc(100% - 110px);
  height: fit-content;
  min-height: 415px;
  background-image: linear-gradient(to top, #f2ceff, #c7afff);
  border-radius: 5px;
}
.shopMain_wrapper::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 8%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, .5);
  clip-path: polygon(0 100%, 5% 0, 95% 0, 100% 100%);
}
.shopMain_wrapper::after{
  content: "";
  position: absolute;
  width: 96%;
  height: calc(100% - 20px);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: linear-gradient(to top, #f2ceff, #a389eb);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
#package .itemInner_wrapper{
  position: relative;
  aspect-ratio: unset;
  max-width: 98%;
  height: fit-content;
  max-height: 500px;
  padding: 25px 2%;
  padding-bottom: 50px;
  row-gap: 40px;
  column-gap: 10px;
  overflow: unset !important;
}
@keyframes shopitem{
	from {opacity: 0; transform: translateX(300px);}
    to {opacity: 1; transform: translateX(0px);}
}
.shopItem_wrapper{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  transform-origin: center top;
  animation: shopitem 0.5s ease backwards, swing 1s ease 0.6s backwards;
}

.shopItem_wrapper::before, .shopItem_wrapper::after{
  content: "";
  width: 12px;
  height: 25px;
  position: absolute;
  background: url(../img/shop/chain_b.png) no-repeat center;
  background-size: contain;
  top: -14px;
  left: 50%;
  transform: translateX(-10%);
  opacity: 1;
}
.shopItem_wrapper::after{
  background: url(../img/shop/chain_f.png) no-repeat center;
  background-size: contain;
  transform: translateX(-100%);
  z-index: 10;
}

@keyframes swing{
  0% {rotate: -8deg;}
  25% {rotate: 5deg;}
  50% {rotate: -5deg;}
  75% {rotate: 3deg;}
  100% {rotate: 0deg;}
}

#package .itemPhoto{
  position: absolute;
  width: 105%;
  height: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 5px 5px rgba(0,0,0,.65));
}
.shopItem_wrapper:hover .itemPhoto{
  filter: drop-shadow(0 3px 2px rgba(249, 218, 255, 0.5))
          drop-shadow(0 3px 6px rgba(249, 218, 255, 0.5)) !important;
  transform-origin: center;
  transform: translate(-50%, -50%) scale(1.1) !important;
  transition: all .3s;
}

.shopItem_container{
  position: relative;
  width: 150px;
  aspect-ratio: 1 / 1;
  background-image: linear-gradient(to top, #e077f4, #891a9e);
  border-radius: 10px;
  border: 3px solid #f3b5ff;
  transform-origin: 50% 5%;
  overflow: visible !important;
  filter: drop-shadow(0 3px 6px rgba(89, 21, 102, .5));
}

@media screen and (max-width: 1024px){ 
  .shopItem_container{
    width: 20vw;
  }
}
@media screen and (max-width: 620px){ 
  .shopItem_container{
    width: 28vw;
  }
}
@media screen and (max-width: 500px) { 
  .shopItem_container{
    width: 30vw;
  }
  .shopMain_wrapper{
    max-width: 85%;
  }
  .shopMain_wrapper{
    min-height: 300px;
  }
}
@media screen and (max-width: 350px) { 
  .shopItem_container{
    width: 50vw;
  }
}

.btn_cart.shop{
  text-wrap: nowrap;
  width: 100%;
  max-width: 80%;
  position: absolute;
  top: unset;
  bottom: -10%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50px !important;
  display: flex;
  gap: 5px;
  height: 40px;
  align-items: flex-end;
  align-items: center;
  filter: none;
  background-image: var(--gradient);
  z-index: 10;
}
.btn_cart.shop:hover{
  background-image: var(--gradient3) !important;
  background-image: var(--gradient2) !important;
}
.btn_cart.shop span{
  font-size: 8px;
  color: white !important;
}

#shopPage *{
  color: #6a54c2;
  font-weight: 600;
}
#shopPage h1, #shopPage p{
  font-weight: 900;
}

#package .itemName{
  display: none;
}
#package .itemPrice{
  font-size: 24px;
  margin: 0;
  line-height: 24px;
} 

#package .btn_fav, #package .btn_filter, #package .btn_checkout{
  border-radius: 50px;
  height: 45px;
  font-weight: 600;
  color: white;
  border: none;
  background-image: linear-gradient(to top, #cfacff, #6a54c2);
  filter: drop-shadow(0 1px var(--white));
  gap: 5px;
}
#package .btn_checkout{
  padding: 10px 20px;
  background-image: linear-gradient(to top, #d97cff, var(--highlight));
}
#package .btn_fav span, #package .btn_filter span, #package .btn_checkout span{
  font-size: 18px;
  color: white;
}
#package .btn_fav:hover, #package .btn_filter:hover{
  background-image: linear-gradient(to top, #a389eb, #522db9);
}
#package .btn_checkout:hover{
  background-image: linear-gradient(to top, #c046f0, var(--highlight));
}

#package .char{
  width: 226px;
  aspect-ratio: 226 / 440;
  position: absolute;
  background: url(../img/shop/char.png) center no-repeat;
  background-size: contain;
  bottom: -10%;
  right: 95%;
  z-index: 15;
  animation: slideinleft .5s ease-in-out backwards;
} 
@media screen and (max-width: 1200px) { 
  #package .char{
    display: none;
  }
}
#package .btn_fav::after, #package .btn_filter::after, #package .btn_checkout::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 5%;
  transform: translateX(-50%);
  width: 80%;
  height: 50%;
  border-radius: 35px;
  background-image: linear-gradient(to top, rgb(0, 0, 0), rgb(255, 255, 255) 70%);
  mix-blend-mode: screen;
  opacity: .35;
}
#package .btn_fav::after, #package .btn_filter::after{
  width: 60%;
}
@media screen and (max-width: 768px) { 
  #package .btn_fav, #package .btn_filter, #package .btn_checkout{
    --p_s: 10px;
    height: 40px;
  }
}


/*---------------------------------------
   Topup
-----------------------------------------*/
#topUpWrapper{
  --tabbtn_h: 70px;
  --topbanner_h: 110px;
  --prgWrapper: 110px;
  --dailytab_h: 45px;
  overflow: visible;
  height: 100vh;
}
#topUpWrapper *{
  z-index: 5;
}

#topUpWrapper .tabwrapper{
  position: relative;
  width: 700px;
  max-width: 90vw;
  height: 100%;
  max-height: 90vh;
  border-radius: 0 0 15px 15px;
  overflow: hidden;
}
#topUpContent{
  position: relative;
  height: 100%;
  max-height: fit-content;
  background-image: linear-gradient(to top, #F8E6FF, #ECBBFF);
  border-radius: 15px;
  overflow: hidden;
}
#topUpDaily #topUpContent{
  border-radius: 0 0 15px 15px;
}
#topUpContent .tab-pane{
  height: calc(100% - var(--topbanner_h));
  max-height: fit-content;
}

#topUpContent::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: url(../img/bg3.png) top no-repeat;
  background-attachment: fixed;
  background-size: cover;
  mix-blend-mode: overlay;
  z-index: 0;
}

.topUpBanner_wrapper{
  height: var(--topbanner_h);
  position: relative;
  align-items: flex-end !important;
}

.topUpBanner_wrapper .tabIcon{
  max-height: 60px;
  margin-left: -10px;
}
.topUpBanner_wrapper h2{
  --txt_l: 30px;
  --highlight: #762bac;
  color: var(--white);
  font-size: var(--txt_l);
  line-height: var(--txt_l);
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 5px;
}
@media screen and (max-width: 500px) { 
  .topUpBanner_wrapper h2{
    --txt_l: 24px;
  }
}

.txt_stroke, .marklabel, .topUpBanner_wrapper h2{
  margin: 0;
  text-shadow: 2px 0 var(--highlight), -2px 0 var(--highlight), 0 2px var(--highlight), 0 -2px var(--highlight), 1px 1px var(--highlight), -1px -1px var(--highlight), 1px -1px var(--highlight), -1px 1px var(--highlight), 0px 3px var(--highlight), 1px 3px var(--highlight), -1px 3px var(--highlight);
}

.topUpevent_date{
  position: absolute;
  right: 15px;
  bottom: 10px;
  color: var(--active);
  gap: 5px;
}
.topUpevent_date span{
  font-size: 16px;
}
.eventDate{
  color: var(--active);
  font-weight: 600;
  font-size: 16px;
  margin: 0;
}
@media screen and (max-width: 500px) { 
  .topUpevent_date{
    bottom: 5px;
  }
  .topUpevent_date span{
    font-size: 14px;
  }
  .eventDate{
    font-size: 14px;
  }
}

.btnDaily_wrapper{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  overflow: hidden;
  gap: 0;
  height: var(--dailytab_h);
  background: black;
}
.btn_dailyTU{
  position: relative;
  color: white;
  height: var(--dailytab_h);
  padding: 5px 15px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  max-width: 350px;
  overflow: hidden;
  background: linear-gradient(to top, #762bac, #9133d4);
  flex-grow: 1;
}
.btn_dailyTU:not(.active):hover{
  filter: brightness(1.1);
}
.btn_dailyTU.active{
  background: linear-gradient(to top, #e077f4, #e3a2f0);
}
.btn_dailyTU p{
  font-weight: 900;
  font-size: 30px;
}
.btn_dailyTU.active p{
  color: var(--highlight);
}

#topUpAccum .topUpMission_wrapper{
  max-height: calc(100% - var(--prgWrapper) - 15px);
  padding-bottom: 25px;
}
#topUpDaily .topUpMission_wrapper{
  max-height: calc(100% - var(--prgWrapper) - var(--dailytab_h) - 15px);
  padding-bottom: 25px;
}
.topUpMission{
  width: 95%;
  padding: 15px;
  min-height: fit-content;
  border: 1px solid #e5d3fb;
  background: linear-gradient(to top, #e5d3fb, #baa8ff);
  border-radius: 10px;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.5));
  overflow: hidden;
}
.topUpMission.done::before, #topUpFirst .prizelist_item.done::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
  right: 0;
  top: 0;
  background: rgba(0,0,0,.5);
}
.topUpMission.done::after, #topUpFirst .prizelist_item.done::after{
  content: "";
  position: absolute;
  width: 100%;
  max-width: 253px;
  height: 80%;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/topup/claimed.png) right no-repeat;
  background-size: contain;
  z-index: 10;
}
.topUpMission h6{
  margin: 0;
  font-weight: 600;
  color: #6d287c;
}
.topUpMission.done .btn_cta{
  display: none;
}

#topUpWrapper .btn_cta{
  color: var(--white);
}
.missionReward_wrapper::-webkit-scrollbar {
  display: none;
}
.missionReward_wrapper{
  width: fit-content;
  max-width: calc(100% - 85px);
  height: 52px;
  overflow-x: scroll;
}
.topUpMission.done .missionReward_wrapper, #topUpFirst .missionReward_wrapper{
  max-width: 100%;
}
.missionReward{
  position: relative;
  width: 50px;
  height: 50px;
  min-width: 50px;
  min-height: 50px;
  border-radius: 5px;
  border: 1px solid #e5d3fb;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.25));
  background: linear-gradient(to top, #baa8ff, #936cc2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.missionReward img{
  width: 90%;
  height: 90%;
  object-fit: cover;
}
.rewardNumber{
  --highlight: #58008b;
  position: absolute;
  bottom: 0;
  right: 5px;
  font-size: 14px;
  font-weight: 600;
  text-shadow:  0 2px 0 var(--highlight),
                0 -2px 0 var(--highlight),
                2px 0 0 var(--highlight),
                -2px 0 0 var(--highlight),
                0 1px 2px #111111;
}
.btn_claim{
  border-radius: 15px;
  padding: 15px;
}
.btn_claim[disabled]{
  filter: grayscale(1);
  pointer-events: none;
}

/*---------------------------------------
   Topup_ProgressBar
-----------------------------------------*/
.progress_wrapper{
  --trackW: 625px;
  width: 100%;
  height: var(--prgWrapper);
  position:relative;
  padding: var(--p_s);
  border-bottom: 3px solid #cb60e0;
  background: linear-gradient(to bottom, #e077f4, #891a9e);
  filter: drop-shadow(0 2px 6px #4b1357);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10 !important;
}

.progress_wrapper::before{
  content: "Total Top-Up";
  position: absolute;
  max-width: 70%;  
  font-weight: 900;
  font-size: 60px;
  line-height: 50px;
  text-transform: uppercase;
  bottom: 5px;
  left: 5px;
  opacity: .25;
  mix-blend-mode: overlay;
}

/* Track */
.progress_track{
  position: absolute;
  top: 30px;
  height: 10px;
  width: 90%;
  max-width: var(--trackW);
  border-radius: 15px;
  background:linear-gradient(to top, #891a9e, #ae24ca);
  border: 1px solid #762bac;
  overflow: hidden;
}

#topUpAccum{
  --prgWrapper: 50px;
}
#topUpAccum .progress_track{
  width: 95%;
  max-width: unset;
  top: unset;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px;
}

.progress_num{
  color: var(--highlight);
  font-weight: 600;
  z-index: 10 !important;
}

/* Fill */
.progress_fill{
  position:absolute;
  inset: 0 auto 0 0;
  width: 0%;
  background:linear-gradient(to right, #9fffff, var(--active));
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255,.25);
  transition:width .6s cubic-bezier(.22,.9,.3,1);
}

/* Labels (numbers above the track) */
.marklabel{
  position: absolute;
  top: 45px;
  transform: translateX(-50%);
  font-weight: 600;
  font-size: 14px;
  color: var(--white);
  letter-spacing:.3px;
  z-index: 10 !important;
}

.progress_marks{ 
  max-width: 85%;
  width: var(--trackW);
  position: absolute; 
  top:0; 
  bottom:0; 
}
.progress_reward{
  position: absolute;
  top: 5px;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  filter: drop-shadow(0 6px 8px rgba(0,0,0,.3));
  background: url(../img/topup/reward.png);

  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
}
.progress_reward.reach:hover{
  filter: drop-shadow(0 6px 8px rgba(255, 199, 252, 0.3)) brightness(1.15);
}
.progress_reward.reach{
  animation: rewardBounce .3s ease infinite alternate;
  filter: drop-shadow(0 6px 8px rgba(255, 199, 252, 0.3));
}
.progress_reward.done{
  background: url(../img/topup/reward_done.png);
  background-size: contain;
}
@keyframes rewardBounce{
	from {transform: translateX(-50%) scale(1);}
    to {transform: translateX(-50%) scale(.95);}
}

.progress_reward img{
  display: none;
  max-width: 80%;  
  max-height: 80%;
  align-self: center;
  object-fit: contain;
  filter: drop-shadow(0 6px 8px rgba(0,0,0,.3));
}
.progress_reward:hover img{
  transform: scale(1.2);
  filter: drop-shadow(0 6px 8px rgba(255, 255, 255, 0.3));
  transition: all .3s;
}

.btn_claim.progress{
  position: absolute;
  right: 5%;
  bottom: 10px;
  height: fit-content;
  padding: 5px 25px;
  background:#c756dd;
  color:#f5ccfd;
  font-weight: 600;
  text-transform: uppercase;
  /* filter: saturate(0); */
}
.btn_claim.progress:hover{
  background: var(--active);
  color:#33083b;
}
.btn_claim.progress[disabled]{
  filter: unset !important;
  pointer-events: none;
}

#claimBtn, .btn_3d.highlight{
  min-width: 200px;
  color: var(--active) !important;
  border: 3px solid var(--active);
  box-shadow: 0px 0px 21.7px 0px var(--active) inset !important;
}

#claimBtn[disabled], .btn_3d.highlight[disabled]{
  background-image: linear-gradient(to top, #393939, #393939);
  border-radius: 30px;
  border: 3px solid #393939;
  box-shadow: unset !important;
  transform: translateY(3px);
}

/*---------------------------------------
  TOP UP FIRST
-----------------------------------------*/
#topUpFirst{
  padding: 60px var(--p_s);
  padding-bottom: 0;
}

@media screen and (max-width: 500px) { 
  #topUpFirst .prizelist_item{
    max-width: min(500px, 90vw);
    flex-direction: column;
    align-items: flex-start !important;
  }
}
#topUpFirst .prizelist_item{
  border: 2px solid var(--grey);
  filter: saturate(0) drop-shadow(0 2px 3px black);
}
#topUpFirst .prizelist_item.reached{
  border: 2px solid var(--active);
  filter: drop-shadow( 0 0 6px var(--active));
}
#topUpFirst .prizelist_item.done{
  filter: unset;
}

#topUpFirst .char{
 width: 377px;
  aspect-ratio: 377 / 728;
  background: url(../img/topup/char.png) bottom no-repeat;
  background-size: contain;
  z-index: 15;
  animation: slideinleft .5s ease-in-out backwards;
}
@media screen and (max-width: 768px) { 
  #topUpFirst .char{
    display: none;
  }
}

/*---------------------------------------
  CHECKIN
-----------------------------------------*/
#checkinBtn{
  --cd: 120px;
  width: var(--cd);
  max-width: 120px;
  aspect-ratio: 127 / 206;
  position: fixed;
  bottom: 5%;
  right: 0;
  filter: drop-shadow(0 0 6px rgba(217, 252, 255, 0.5));
  background: url(../img/btn_sidebar.png) center right no-repeat;
  background-size: contain;
  z-index: 9999;
  animation: slideinright .5s ease-in-out backwards;
  animation-delay: 100ms;
}
#checkinBtn:hover{
  background: url(../img/btn_sidebar-hover.png) center right no-repeat;
  background-size: contain;
}

#checkinBtn.checked{
  display: none;
}
@media screen and (max-width: 500px) { 
  #checkinBtn {
    --cd: 30vw;
  }
}