@import url("https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Sarabun:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap");

*,
body {
  font-family: "Prompt", "Sarabun", "Kanit", sans-serif;
}
button.btn,
button.btn:hover,
button.btn:active,
button.btn:focus-visible,
button.btn:focus-within {
  box-shadow: none;
}
.dStep1,
.dStep2,
.dStep3 {
  padding-bottom: 4rem;
  margin-bottom: 4rem;
}
body.bg-black {
  background-color: #333333;
}

body .containerLang {
  width: 100vw;
  min-height: 100vh;
  overflow: hidden;
  background-color: #333333;
}

body .containerLang .containerKV {
  width: 100vw;
  height: auto;
  position: relative;
}

body .containerLang .containerKV .imgTextKv {
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
}

body .containerLang .btn.btn-lang {
  width: 40%;
  max-width: 170px;
  padding: 0 0;
}
.bg-white {
  background-color: #ffffff;
}
body .card-reg {
  background-color: #1d407c;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
.mainPageLange {
  width: 100vw;
  min-height: 100vh;
  background-color: #1d407c;
  text-align: center;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.mainPageLange .card-disney-lang {
  width: 95%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background-color: #fff8ed;
}
.container-reg {
  width: 100%;
  background-color: #fff8ed;
}
.mainPageLange .card-disney-lang .img-banner {
  width: 100%;
  max-width: 100%;
}
.mainPageLange .card-disney-lang .title-intro {
  width: 95%;
  max-width: 550px;
  margin: 0 auto;
  margin-top: 2rem;
}
.mainPageLange .img-left {
  width: auto;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}
.mainPageLange .img-right {
  width: auto;
  height: 100vh;
  position: absolute;
  top: 0;
  right: 0;
}
.mainPageLange .img-center {
  width: auto;
  height: 72vh;
}
.mainPageLange .box-btn-lang {
  margin-top: 1rem;
}
.mainPageLange .box-btn-lang .btn-lang img {
  width: 160px;
}

.mainPageLange .footer-desktop {
  width: 100%;
}

.mainPageLange .footer-mobile {
  display: none;
}

@media screen and (max-width: 768px) {
  .mainPageLange .footer-mobile {
    display: flex;
    width: 100%;
  }
  .mainPageLange .footer-desktop {
    display: none;
  }
  .mainPageLange .card-disney-lang .box-btn-lang {
    margin-bottom: 1.5rem;
  }
  .mainPageLange .card-disney-lang .btn.btn-lang {
    padding: 0 0;
  }
}
@media screen and (max-width: 767px) {
  body .card-reg {
    background-color: #1d407c;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (min-width: 768px) {
  body .containerLang .btn.btn-lang {
    margin-left: 4rem;
    margin-right: 4rem;
  }
}
body .containerLang .btn.btn-lang img {
  width: 100%;
  max-width: 100%;
}
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: #1d407c;
  border-color: #1d407c;
}
.btn.btn-next {
  width: 40%;
  max-width: 120px;
  padding: 0 0;
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.btn.btn-clear {
  width: 40%;
  max-width: 120px;
  padding: 0 0;
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.btn.btn-next img,
.btn.btn.btn-clear img {
  width: 100%;
  max-width: 100%;
}

.imgTitleReg {
  width: 95%;
  max-width: 650px;
}
.txtImportant {
  color: #ff0000;
  font-size: 1.2rem;
}
.custom-control-label,
.span-txtLabel {
  color: #1d407c;
  cursor: pointer;
}
.span-txtLabel a {
  color: #ff001e;
}
.boxPrivacy {
  background-color: #ffffff;
  padding: 1rem;
  padding-right: 0.5rem;
  width: 100%;
  height: 260px;
  border-radius: 0.35rem;
}
.boxPrivacy .boxNDA {
  width: 100%;
  height: calc(260px - 2rem);
  overflow-y: scroll;
  padding-right: 0.5rem;
}
.boxPrivacy .boxNDA p,
.boxPrivacy .boxNDA li {
  font-size: 0.85rem;
  margin-bottom: 0.3rem;
}
.boxPrivacy .boxNDA::-webkit-scrollbar {
  width: 8px;
}

/* Track */
.boxPrivacy .boxNDA::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Handle */
.boxPrivacy .boxNDA::-webkit-scrollbar-thumb {
  background: #1d407c;
}

/* Handle on hover */
.boxPrivacy .boxNDA::-webkit-scrollbar-thumb:hover {
  background: #1d407c;
}
.sig {
  width: 350px;
  height: 200px;
}
.kbw-signature {
  width: 400px;
  height: 200px;
}
.col-form-label {
  color: #1d407c;
  font-size: 1rem;
}

.btn.btn-previous,
.btn.btn-submit {
  width: 40%;
  max-width: 120px;
  padding: 0 0;
}
.btn.btn-previous img,
.btn.btn-submit img {
  width: 100%;
  max-width: 100%;
}
.container-overlay-end {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  min-height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.container-overlay-end .card-overlay-end {
  background-color: #128ec4;
  padding: 2rem;
  border-radius: 1rem;
  text-align: center;
}
.loading-img {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 767px) {
  .container-overlay-end .card-overlay-end {
    padding: 1rem 0.5rem;
    width: 98%;
  }
}
@media screen and (min-width: 768px) {
  .btn.btn-previous,
  .btn.btn-submit {
    margin-left: 3rem;
    margin-right: 3rem;
  }
}

.textThank1 {
  font-size: 2rem;
  font-weight: 500;
  color: #1d407c;
}

.textThank2 {
  font-size: 1.4rem;
  font-weight: 400;
  color: #1d407c;
}

.textThank3 {
  font-size: 1.1rem;
  font-weight: 300;
  color: #1d407c;
  margin-bottom: 0;
}

.bodyLang {
  width: 100vw;
  background-color: #000000;
}

.mainContainer {
  width: 100vw;
  max-width: 1920px;
  height: 100vh;
  max-height: 1080px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
.containBooth {
  max-width: 1920px;
  height: 100vh;
  width: calc((100vh / 9) * 16);
  max-height: 1080px;
  margin: 0 auto;
}
.mainContainer .containVideo {
  max-width: 1920px;
  position: relative;
  height: 100vh;
  width: calc((100vh / 9) * 16);
  max-height: 1080px;
  margin: 0 auto;
}
.mainContainer .containVideo video.video_player {
  width: 100%;
  height: 100%;
}
.containerButton {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000000;
  height: 29vh;
}
.boxBtnMobile {
  display: none;
}
.containPage {
  margin: 0 auto;
  width: 100%;
  max-width: 600px;
  background-color: #000000;
  min-height: 100vh;
}
.containPage .imgAvatar {
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5rem;
}
.containPage .boxName {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 2.3rem;
  padding-right: 2.3rem;
}
.containPage .boxName p {
  color: #ffffff;
  font-weight: 500;
}
.containPage .btnCheckin {
  background-color: #fbb03b;
  font-size: 0.9rem;
  font-weight: 500;
  border: 2px solid #fb9c2b;
  padding: 1rem 1rem;
  min-height: 80px;
  width: 100%;
}
.containPage .btnReward {
  background-color: #29abe2;
  font-size: 0.9rem;
  font-weight: 500;
  border: 2px solid #128ec4;
  padding: 1rem 1rem;
  min-height: 80px;
  width: 100%;
}
.step.step1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}
.textHeaderQR {
  color: #ffffff;
}
.qrscanner {
  margin-bottom: 1.5rem;
}
.qrscanner video {
  max-width: 80vw;
  max-height: 80vw;
}
.img-mobile {
  display: none;
}
@media screen and (orientation: portrait) {
  .mainContainer {
    width: 100vw;
    max-width: 1920px;
    height: calc((100vw / 16) * 9);
    max-height: 100vh;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
  }
  .containBooth {
    max-width: 1920px;
    height: calc((100vw / 16) * 9);
    width: 100vw;
    max-height: 100vh;
    margin: 0 auto;
  }
  .mainContainer .containVideo {
    max-width: 1920px;
    position: relative;
    height: calc((100vw / 16) * 9);
    width: 100vw;
    max-height: 100vh;
    margin: 0 auto;
  }
  .mainContainer .containVideo video.video_player {
    width: 100%;
    height: 100%;
  }
  .mainContainer .containVideo .containerButton .row {
    display: none;
  }
  .containerButton {
    height: calc(((100vw / 16) * 9) * 0.29);
  }
  .boxBtnMobile {
    display: block;
  }
}
@media screen and (min-width: 768px) and (orientation: portrait) and (max-width: 1199px) {
  .mainPageLange .img-left {
    left: -30%;
    opacity: 0.15;
  }
  .mainPageLange .img-right {
    right: -30%;
    opacity: 0.15;
  }
}
@media screen and (min-width: 992px) and (orientation: landscape) and (max-width: 1300px) {
  .mainPageLange .img-left {
    left: -5%;
  }
  .mainPageLange .img-right {
    right: -5%;
  }
  .mainPageLange .box-btn-lang .btn-lang img {
    width: 100px;
  }
}

@media screen and (min-width: 768px) and (orientation: landscape) and (max-width: 992px) {
  .mainPageLange .img-center {
    height: 68vh;
  }
  .mainPageLange .box-btn-lang {
    margin-top: 0.2rem;
  }
  .mainPageLange .box-btn-lang .btn-lang img {
    width: 60px;
  }
}

@media screen and (max-width: 767px) {
  .mainPageLange {
    min-height: 100vh;
    justify-content: flex-start;
    height: auto;
  }
  .btn.btn-clear {
    width: 30%;
    max-width: 110px;
    padding: 0 0;
    margin-top: 1rem;
    margin-bottom: 2rem;
  }
  .textThank1 {
    font-size: 1.5rem;
    font-weight: 500;
    color: #1d407c;
  }

  .textThank2 {
    font-size: 1.25rem;
    font-weight: 400;
    color: #1d407c;
  }

  .textThank3 {
    font-size: 0.9rem;
    font-weight: 300;
    color: #1d407c;
    margin-bottom: 0;
  }
  .mainPageLange .box-btn-lang .btn-lang img {
    width: 100px;
    height: auto;
  }
  .mainPageLange .img-center {
    display: none;
  }
  .mainPageLange .img-left {
    left: -78%;
    opacity: 0.2;
    display: none;
  }
  .mainPageLange .img-right {
    right: -78%;
    opacity: 0.2;
    display: none;
  }
  .img-mobile {
    display: flex;
    width: 100%;
    max-width: 100%;
  }
}
