@import url('https://fonts.googleapis.com/css2?family=Maitree:wght@200;300;400;500;600;700&family=Noto+Sans+Thai:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://use.typekit.net/vbk6mvm.css');

html {
	scroll-behavior: smooth;
}

* {
	font-family: "preuksa", sans-serif;
	font-optical-sizing: auto;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background-image: url(../images/main-bg.webp?v=4.10);
	background-position: top center;
	background-repeat: no-repeat;
	background-color: #fffdf5;
	overflow-x: hidden;
}

.section-1 {
	background-image: url(../images/header-bg-apr.webp?v=4.10);
	height: 1020px;
	background-repeat: no-repeat;
	background-position: center top;
	/* background-size: cover; */
	/* background-attachment: fixed; */
	position: relative;
}

/* ================================= */
/* ============= SEO =============== */
/* ================================= */
.vh {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.text-vh {
	font-size: 0 !important;
	line-height: 0 !important;

}

/* ================== */
/* ==== play-btn ==== */
/* ================== */
.play-video {
	margin-top: 208px;
	margin-bottom: 36px;
}

/* .modal-dialog {
	max-width: 800px;
	margin: 30px auto;
} */

.modal-body {
	position: relative;
	padding: 0px;
}

.btn-close {
	position: absolute;
	right: -30px;
	top: 0;
	fill: #fffcf4 !important;
}

.video-modal__close {
	margin-left: 50px;
	position: relative;
	z-index: 10;
}

#myModal .modal-content {
	background-color: transparent;
	border: none;
}

#myModal .modal-dialog {
	max-width: 1200px;
}

.reg-modal__close {
	position: absolute;
	right: 0;
	top: 20px;
	z-index: 10;
}

.play-video .btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
	background-color: transparent;
	border-color: transparent;
	filter: brightness(120%);
	scale: 1.1;
	transition: all 0.3s ease;
}

.play-video .video-btn:hover {
	background-color: transparent;
	border-color: transparent;
	filter: brightness(120%);
	scale: 1.05;
	transition: all 0.3s ease;
}

/* ============================ */
/* ==== cbt-pre-register-section ==== */
/* ============================ */
.cbt-pre-register-section {
	margin-top: -35px;
}

/* ============================ */
/* ==== pre-register-count ==== */
/* ============================ */

.pre-register-total {
	width: 748px;
	height: 200px;
	background-image: url(../images/pre-register-count.webp?v=4.10);
	background-position: center top;
	/* padding-top: 20px; */
	margin: -40px auto;
	position: relative;
}

.total-bar {
	padding-top: 74px;
}

.total-bar img {
	display: none;
}

.pre-register-total-text {
	/* position: absolute;
  top: 0; */
	color: #fff;
	/* margin-top: -100px; */
}

.pre-register-total-title {
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	color: #4a4237;
}

.pre-register-result {
	font-size: 48px;
	font-weight: 700;
	color: #4a4237;
	line-height: 54px;
	text-align: center;
	font-family: "Maitree";
}

.pre-register-btn {
	margin-top: 14px;
	overflow: hidden;
}

.pre-register-button-link {
	width: 276px;
}

.pre-register-button-link {
	transition: 0.2s;
	/* display: inline-block; */
}

.pre-register-button-link :hover {
	transform: scale(102%);
	filter: brightness(130%);
	transition: 0.2s;
	/* box-shadow: #fec644 10px 10px 10px; */
}

@keyframes zoomInOut {
	0% {
		transform: scale(.90);
	}

	50% {
		transform: scale(1);
	}

	100% {
		transform: scale(.90);
	}
}

.zoom-in-out {
	animation: zoomInOut 2.3s infinite ease-in-out;
	will-change: transform;
	display: inline-block;
}

/* ============================ */
/* ==== Mileages Section-2 ==== */
/* ============================ */
/* Mileage */
.mileage-container {
	max-width: 940px !important;
	margin-top: -70px;
}

.milest-normal-1 {
	padding-top: 15px;
}

.milest-normal-2 {
	padding-top: 40px;
}

.milest-normal-3 {
	padding-top: 15px;
}

.mileage-gold {
	width: 180px;
	padding-top: 5px;
}

.mileage-status {
	position: relative;
}

.mileage-status::before {
	content: '';
	position: absolute;
	top: 40%;
	right: -48px;
	width: 72px;
	height: 64px;
	background-image: url(../images/arrow-white.png?v=4.10);
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.mileage-gold .mileage-status::before {
	display: none;
	content: '';
	position: absolute;
	top: 40%;
	right: -48px;
	width: 72px;
	height: 64px;
	background-image: url(../images/arrow-white.png?v=4.10);
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.milest-normal-3 .mileage-status::before {
	display: none;
	content: '';
	position: absolute;
	top: 40%;
	right: -48px;
	width: 72px;
	height: 64px;
	background-image: url(../images/arrow-white.png?v=4.10);
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.btn-main.row {
	--bs-gutter-x: 18px;
	--bs-gutter-y: 18px;
}

.btn-main>div {
	filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.25));
}

.btn-main .btn-item {
	transition: all 0.3s ease;
	display: block;
	position: relative;
	overflow: hidden;
}

.btn-main .btn-download {
	-webkit-mask-image: url(../images/btn-download.webp);
	mask-image: url(../images/btn-download.webp);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.btn-main .btn-reg {
	-webkit-mask-image: url(../images/btn-reg.webp);
	mask-image: url(../images/btn-reg.webp);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.btn-main .btn-topup {
	-webkit-mask-image: url(../images/btn-topup.webp);
	mask-image: url(../images/btn-topup.webp);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.btn-main .btn-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: -150%;
	width: 60%;
	height: 100%;
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
	transform: skewX(-25deg);
	z-index: 2;
	pointer-events: none;
}

.btn-main .btn-item:hover::before {
	animation: shine-sweep 1.5s ease-in-out;
}

@keyframes shine-sweep {
	0% {
		left: -150%;
	}

	100% {
		left: 150%;
	}
}

.btn-main .btn-item:hover {
	transform: scale(1.05);
	filter: brightness(110%);
}

.mileage-status a {
	transition: 0.1s;
	display: block;
}

.mileage-status a:hover {
	cursor: pointer;
	transform: scale(104%);
}

.modal-mileage-item .modal-header {
	border-bottom: 0px;
	padding-bottom: 0;
}

.modal-mileage-item .modal-footer {
	border-top: 0px;
	justify-content: center;
}

.modal-mileage-item .modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	/* color: var(--bs-modal-color); */
	pointer-events: auto;
	background-color: #fff;
	background-clip: padding-box;
	border: none;
	border-radius: 10px;
	outline: 0;
	padding: 20px 20px 20px 20px;
	border-radius: 10px;
	background: #fff7e7 url(../images/bg-invite-friend-section-s.png?v=4.10) center !important;
	border-radius: 10px;
	border-style: dashed;
	border: 2px dashed #c8b59d;
	outline: 8px solid #fff7e7;
	margin: 0 20px;
}

.modal-mileage-item .modal-body {
	text-align: center;
	/* background-image: url(../images/bg-pattern.jpg); */
	/* background-color: #f1e9d3; */
	/* background-repeat: repeat;
	border: 2px solid rgba(74, 66, 55, 0.35);
	border-style: dashed;
	border-radius: 5px; */

}

.modal-mileage-item .modal-body img {
	max-width: 100%;
}

.modal-mileage-item .modal-body .title {
	font-weight: 700;
	color: #4a4237;
	margin-bottom: 5px;
	margin-top: 10px;
}

.modal-mileage-item .modal-body p {
	font-family: "Maitree";
	font-size: 14px;
	font-weight: 600;
}

.modal-mileage-item .modal-body p:last-child {
	margin-bottom: 0;
}

/* .modal-mileage-item .modal-footer {
	padding-top: 0px;
	padding-bottom: 20px;
} */

.modal-mileage-item .modal-body .btn {
	width: 50%;
	height: 50px;
	background-color: #0BAA7E;
	color: #FFF;
	padding: 8px 0;
	border: none;
	border-radius: 5px;
	align-content: center;
}

/* =================================================== */
/* =========== Section-3 Event & Section 6 =========== */
/* =================================================== */
.section-3 {
	position: relative;
	margin-top: -120px;
}

.swipper-slider-event-container {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 0;
}

/* .swipper-slider-event-container.game-feature {
	scale: 0.8;
	margin: 0px auto;
} */
.swipper-slider-event-mask {
	mask-image: linear-gradient(to left, transparent, transparent 0%, white 20%, white 80%, transparent 100%);
	mask-mode: alpha;
}

/* Hide Owl Carousel arrows in the event slider */
.swipper-slider-event-container .owl-nav {
	/* display: none !important; */
	width: 56% !important;
}

/* scale: 0.5; */
.owl-carousel .owl-nav {
	position: absolute;
	top: 40%;
	width: 37%;
	margin: 0 auto;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	transform: translateY(-50%);
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
	background: none;
	border: none;
	color: #fff;
}

.owl-carousel .owl-nav button.owl-prev {
	position: absolute;
	left: 0;
	transition: 0.1s;
}

.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover {
	filter: brightness(130%);
	/* transform: scale(103%); */
}

.owl-carousel .owl-nav button.owl-next {
	position: absolute;
	right: 0;
	transition: 0.1s;
}

.owl-item {
	opacity: 75%;
	transform: scale(0.85) !important;
	transition: 0.1s;
}

.owl-item.active {
	opacity: 75%;
	transform: scale(0.85);
	transition: 0.1s;
}

.owl-item.active.center {
	opacity: 1;
	transform: scale(1) !important;
	transition: 0.1s;
}

.owl-carousel .owl-dots .owl-dot {
	width: 30px;
	height: 12px;
	border-radius: 6px;
	background-color: #bcbcbc;
	margin-left: 3px;
	margin-right: 3px;
}

.owl-carousel .owl-dots .owl-dot.active {
	background-color: #8a361a;
	width: 50px;
}

.owl-carousel .owl-dots {
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
}

/* .owl-carousel .owl-item {
		margin-right: -250px !important;
	} */
.owl-caption-border {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	/* margin-top: -10.5%; */
	margin-bottom: 30px;
	position: relative;
	z-index: 1;
}

.news-tabs-container {
	position: relative;
}

.caption-title {
	width: 100%;
	margin-top: -58px;
	position: relative;
	z-index: 2;
	margin-left: auto;
	margin-right: auto;

}

.owl-caption h2 {
	font-size: 24px;
	color: #111111;
	font-weight: 700;
}

.owl-caption p {
	font-size: 14px;
	color: #111111;
	font-weight: 400;
	margin-bottom: 0;
}

.caption-title {
	width: 100%;
	margin-top: -58px;
	position: relative;
	z-index: 2;
	margin-left: auto;
	margin-right: auto;

}

.owl-caption h3 {
	font-size: 24px;
	color: #4a4237;
	font-weight: 700;
}

.owl-caption p {
	font-size: 14px;
	color: #4a4237;
	font-weight: 400;
	margin-bottom: 0;
}

.owl-dot {
	margin-left: 5px;
	margin-right: 5px;
	height: 26px;
	width: 16px;
	background-image: url(https://cdn.exe.in.th/granado-espada-web/official-site/images/bullet-slide.png?v=4.10) !important;
}

.owl-dot.active {
	background-image: url(https://cdn.exe.in.th/granado-espada-web/official-site/images/active-bullet-slide.png?v=4.10) !important;
}

.swipper-slider-container .owl-carousel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Section 4 */
.news-highlight {
	padding: 8px;
	max-width: 555px;
	width: 100%;
	max-height: 321px;
	display: block;
	position: relative;
	justify-self: center;
}

.news-highlight::before {
	content: " ";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../images/frame-t-l-news.png?v=4.10") top left no-repeat, url("../images/frame-b-r-news.png?v=4.10") bottom right no-repeat;
	display: block;
}

.news-highlight .carousel-inner {
	border: 1px solid #897055;
	box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.2);
	border-radius: 20px;
}

.news-highlight .carousel-indicators [data-bs-target] {
	box-sizing: content-box;
	flex: 0 1 auto;
	height: 9px;
	width: 34px;
	padding: 0;
	margin-right: 3px;
	margin-left: 3px;
	text-indent: -999px;
	cursor: pointer;
	background-color: #673200;
	background-clip: padding-box;
	border: 0;
	opacity: .5;
	transition: opacity .6s ease;
	border-radius: 10px;
}

.news-highlight .carousel-indicators .active {
	opacity: 1;
}

.nav-tabs-container nav {
	padding: 9px 10px;
}

.nav-tabs-container .nav-tabs {
	border-bottom: 0px;
}

.nav-tabs-container .nav-tabs .nav-link {
	border: 0;
	margin-bottom: 0;
	border-radius: 0;
	padding-bottom: 1px;
	padding-top: 1px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: 2px;
	margin-right: 2px;
	font-size: 16px;
	font-weight: 500;
	color: #613c20;

}

.nav-tabs-container .nav-tabs .nav-link.active {
	background-color: #014d4b;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
}

.nav-tabs-container .nav-tabs .nav-link:hover {
	background-color: #014d4b;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
}

.all-news-btn a {
	border: 0;
	margin-bottom: 0;
	border-radius: 0;
	padding-bottom: 2px;
	padding-top: 4px;
	padding-left: 10px;
	padding-right: 10px;
	font-size: 16px;
	font-weight: 500;
	color: #111111;
	display: block;
	background-color: transparent;
	border: 1px solid rgba(0, 0, 0, 1);
	text-decoration: none;
	line-height: 26px;
	transition: 0.1s;
}

.all-news-btn a:hover {
	background-color: #613c20;
	color: #fff;
	border: 1px solid #613c20;
}



.news-right-side .tab-content {
	padding-left: 7px;
	padding-right: 7px;
}

.news-right-side .tab-content .tab-pane {
	padding-bottom: 6px;
	/* border-bottom: 5px solid rgb(0 0 0); */
}

.home-news-row {
	background-color: #fff8e3;
	padding: 10px 10px 8px 10px;
	margin-top: 5px;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
	text-decoration: none;
	transition: 0.1s;
	border-radius: 10px;
}

.home-news-row.pined {
	background-color: #f7dcaa;
}

.home-news-row:hover {
	transform: scale(103%);
}

.home-news-row:hover .news-title {
	color: #613c20;
	filter: brightness(110%);
}

.home-news-row div {
	margin: auto;
}

.cate-tag {
	padding-top: 5px;
	padding-bottom: 1px;
	font-size: 12px;
	color: #fff;
	font-weight: 500;
	padding-left: 10px;
	padding-right: 10px;
	background-color: #adadad;
	display: inline-block;
	width: 70px;
	text-align: center;
	position: relative;
	top: -1px;
	border-radius: 5px;
}

.tag-promotion {
	background-color: #9B0000;
}

.tag-update {
	background-color: #6a1871;
}

.tag-event {
	background-color: #4D7CAE;
}

.news-title {
	font-size: 14px;
	color: #613c20;
	line-height: 24px;
	font-weight: 600;
	margin: auto;
}

.news-sub {
	font-size: 12px;
	color: rgba(131, 111, 78, 0.8);
}

.news-date {
	font-size: 12px;
	color: #5e5d5d;
	text-align: right;
	font-weight: 500;
	line-height: 24px;
}

/* ================================= */
/* =========== Section 4 =========== */
/* ================================= */
.nav-tabs-container.character-detail nav {
	padding: 9px 10px;
}

.nav-tabs-container.character-detail .nav-tabs {
	border-bottom: 0px;
	flex-wrap: wrap;
	justify-content: center;
}

.nav-tabs-container.character-detail .nav-tabs .nav-link {
	border: 0;
	margin-bottom: 0;
	border-radius: 0;
	padding-bottom: 1px;
	padding-top: 1px;
	padding-left: 0px;
	padding-right: 0px;
	margin-left: 5px;
	margin-right: 5px;
	font-size: 16px;
	font-weight: 500;
	color: #613c20;
	filter: grayscale(50%);
	scale: 0.85;

}

.nav-tabs-container.character-detail .nav-tabs .nav-link.active {
	background-color: transparent;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
	filter: grayscale(0%) brightness(1.2);
	scale: 1;
}

.nav-tabs-container.character-detail .nav-tabs .nav-link:hover {
	background-color: transparent;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
	filter: grayscale(0%) brightness(1.2);
	scale: 1;
}

.nav-tabs-container.character-detail.class nav {
	padding: 9px 10px;
}

.nav-tabs-container.character-detail.class .nav-tabs {
	border-bottom: 0px;
}

.nav-tabs-container.character-detail.class .nav-tabs .nav-link {
	border: 0;
	margin-bottom: 0;
	border-radius: 0;
	padding-bottom: 1px;
	padding-top: 1px;
	padding-left: 0px;
	padding-right: 0px;
	margin-left: 10px;
	margin-right: 10px;
	font-size: 16px;
	font-weight: 500;
	color: #613c20;
	filter: grayscale(50%);
	scale: 0.8;
}

.nav-tabs-container.character-detail.class .nav-tabs .nav-link.active {
	background-color: transparent;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
	filter: grayscale(0%) brightness(1.2);
	scale: 1;
}

.nav-tabs-container.character-detail.class .nav-tabs .nav-link:hover {
	background-color: transparent;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
	filter: grayscale(0%) brightness(1.2);
	scale: 1;
}

.class-detail-text h1 {
	font-family: "Maitree";
	font-weight: 600;
	font-size: 32px;
	color: #4a4237;
}

.nav-tabs-container.character-detail.class nav {
	/* border-top: 1px solid rgb(0 0 0); */
	/* border-bottom: 1px solid rgb(0 0 0); */
	/* background-color: rgba(255, 255, 255, 0.6); */
	padding: 0px 0px;
}

.nav-tabs-container.character-detail.class.sub .nav-tabs {
	border-bottom: 0px;
}

.nav-tabs-container.character-detail.class.sub .nav-tabs .nav-link {
	border: 0;
	margin-bottom: 0;
	border-radius: 0;
	padding-bottom: 1px;
	padding-top: 1px;
	padding-left: 0px;
	padding-right: 0px;
	margin-left: 0px;
	margin-right: 0px;
	font-size: 16px;
	font-weight: 500;
	color: #613c20;
	filter: grayscale(50%);
	scale: 0.8;
}

.nav-tabs-container.character-detail.class.sub .nav-tabs .nav-link.active {
	background-color: transparent;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
	filter: grayscale(0%) brightness(1.2);
	scale: 1;
}

.nav-tabs-container.character-detail.class.sub .nav-tabs .nav-link:hover {
	background-color: transparent;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 5px;
	filter: grayscale(0%) brightness(1.2);
	scale: 1;
}

.play-video-character {
	margin-top: 0px;
}

.play-video-character .btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
	background-color: transparent;
	border-color: transparent;
	filter: brightness(120%);
	scale: 1.1;
	transition: all 0.3s ease;
}

.play-video-character .video-btn:hover {
	background-color: transparent;
	border-color: transparent;
	filter: brightness(120%);
	scale: 1.05;
	transition: all 0.3s ease;
}

.class-sub-text {
	font-size: 18px;
	font-family: "Maitree";
	font-weight: 700;
}

.class-sub-detail-text {
	font-size: 14px;
}

.class-detail-text h4 {
	font-family: "Maitree";
	font-weight: 600;
	font-size: 32px;
	color: #4a4237;
}

.class-sub-detail-fyi-text {
	padding: 8px;
	/* background-color: rgba(0, 0, 0, 0.8); */
	/* background: url(../images/frame-news.png?v=4.10) no-repeat 100%; */
	background: url(../images/icon-text-l.png?v=4.10), url(../images/icon-text-r.png?v=4.10);
	background-repeat: no-repeat;
	background-position: top left, bottom right;
	/* max-width: 554px;
    width: 100%;
    max-height: 554px;
    height: 100%; */
	display: block;
	justify-self: end;
	padding: 0px 50px;
}

.class-sub-detail-fyi-text p {
	font-size: 18px;
	font-weight: 800;
}

.end-text-fyi-text {
	padding: 8px;
	background: url(../images/icon-text-l.png?v=4.10), url(../images/icon-text-r.png?v=4.10);
	background-repeat: no-repeat;
	background-position: top left, bottom right;
	display: block;
	justify-self: center;
	text-align: center;
	margin: 40px auto;
	width: fit-content;
	padding: 0px 50px;
}

.end-text-fyi-text p {
	font-size: 32px;
	font-weight: 800;
}

.modal-dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	pointer-events: none;
	margin: 0;
	width: 100% !important;
	max-width: 768px !important;
}

.modal.show .modal-dialog {
	transform: translate(-50%, -50%);
}

.modal.fade .modal-dialog {
	transition: transform .3s ease-out;
	transform: translate(-50%, -50%);
}

.btn-close {
	--bs-btn-close-color: #fff;
}

.title-name {
	font-family: "maitree", sans-serif;
	font-weight: 800;
	font-size: 2rem;
	color: #4a4237;
	text-align: center;
}

.title-name-th {
	font-family: "preuksa", sans-serif;
	font-weight: 600;
	font-size: 2rem;
	color: #4a4237;
	text-align: center;
}

.title-sub-th {
	font-family: "preuksa", sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #91826E;
	text-align: center;
}

.modal-main .carousel-indicators {
	margin-bottom: -2rem;
}

/* ================================= */
/* ======== Media queries  ========= */
/* ================================= */
@media (min-width: 1920.98px) {

	/* Section 1 */
	.section-1-bg-motion {
		width: 1920px;
		margin: 0 auto;
		left: 0;
		right: 0;
	}

	.section-1 {
		background-image: url(../images/header-bg-over-apr.webp?v=4.10);
		height: 1020px;
		background-repeat: no-repeat;
		background-position: center top;
		/* background-size: cover; */
		/* background-attachment: fixed; */
		position: relative;
	}

	/* Section 6 */
	.owl-carousel-container {
		width: 1900px;
		margin: 0 auto;
	}
}

@media (max-width: 1399.98px) {

	/* Mileages Section-2 */
	.milest-normal-1 {
		padding-top: 35px;
	}

	.milest-normal-2 {
		padding-top: 55px;
	}

	.milest-normal-3 {
		padding-top: 35px;
	}

	.mileage-gold {
		width: 180px;
		padding-top: 24px;
	}

	/* section-4 */
	.news-title {
		font-size: 12px;
	}

	.news-date {
		font-size: 10px;
	}

	.nav-tabs-container .nav-tabs .nav-link {
		font-size: 12px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.all-news-btn a {
		font-size: 12px;
	}
}

/* Section-3 Event & Section 5 */
/* .owl-caption-border {
	width: 100%;
	margin-top: -13%;
} */

.owl-caption h2 {
	font-size: 24px;
	color: #111111;
	font-weight: 700;
}

@media (max-width: 1199.98px) {

	/* Mileages Section-2 */
	.mileage-gold {
		width: 180px;
		margin: 0 auto;
		padding-top: 16px;
	}

	.milest-normal {
		padding-top: 25px;
	}

	.mileage-status::before {
		width: 74px;
		height: 53px;
		background-repeat: no-repeat;
		background-size: contain;
	}

	/* Section-3 Event & Section 6 */
	/* .owl-caption-border {
		width: 80%;
		margin-top: -10%;
	} */

	.caption-title {
		width: 100%;
		margin-top: -45px;
		position: relative;
		z-index: 2;
	}

	.owl-caption h2 {
		font-size: 24px;
		color: #111111;
		font-weight: 700;
	}

	.owl-caption p {
		font-size: 14px;
		color: #111111;
		font-weight: 400;
		margin-bottom: 0;
	}

	/* Section-4 */

	.nav-tabs-container .nav-tabs .nav-link {
		font-size: 12px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.nav-tabs-container .nav-tabs .nav-link.active,
	.nav-tabs-container .nav-tabs .nav-link:hover {
		font-size: 12px;
	}

	.news-title {
		font-size: 10px;
		padding-left: 10px;
	}

	.news-sub {
		font-size: 10px;
		padding-left: 10px;
	}

	.all-news-btn a {
		font-size: 12px;
	}

}

@media (max-width: 991.98px) {
	.title-name {
		font-family: "Maitree";
		font-weight: 800;
		font-size: 1.8rem;
		color: #4a4237;
		text-align: center;
	}

	.title-name-th {
		font-size: 1.8rem;
	}

	/* Section 1 */
	.section-1 {
		background-image: url(../images/header-lg-bg-apr.webp?v=4.10);
		height: 962px;
		background-repeat: no-repeat;
		background-position: center top;
		/* background-size: cover; */
		/* background-attachment: fixed; */
		position: relative;
	}

	.cbt-pre-register-section {
		margin-top: 0;
	}

	.sec-1-img-title {
		margin-top: 60px;
	}

	.pre-register-container {
		margin-top: -290px;
		text-align: center;
	}

	.pre-register-total {
		width: 520px;
		height: 200px;
		background-image: url(../images/pre-register-count-sm.webp?v=4.10);
		background-position: center top;
		/* padding-top: 20px; */
		margin: 0 auto;
		position: relative;
	}

	.total-bar {
		padding-top: 50px;
	}

	.pre-register-btn {
		margin-top: 30px;
	}

	/* Mileages Section-2 */
	.mileage-container {
		max-width: 768px !important;
		margin-top: -210px;
	}

	.mileage-gold {
		width: 140px;
		margin: 0 auto;
		padding-top: 9px;
	}

	.milest-normal {
		padding-top: 16px;
	}

	/* .modal-dialog {
		margin-left: 10px;
		margin-right: 15px;
	} */

	/* Section-3 Event & Section 6 */
	.owl-carousel .owl-nav {
		width: 90%;
		top: 43%;
	}

	.owl-caption-border {
		margin-top: 0;
	}

	.swipper-slider-event-container {
		scale: 0.8;
		margin: -65px auto;
	}

	.swipper-slider-event-mask {
		mask-image: linear-gradient(to left, transparent, transparent 0%, white 0%, white 100%, transparent 100%);
		mask-mode: alpha;
	}

	.swipper-slider-container.game-feafures .owl-carousel img {
		width: 75%;
		height: 100%;
		object-fit: cover;
	}

	.swipper-slider-event-container .owl-nav {
		width: 75% !important;
	}

	/* Section 4 */
	.news-right-side {
		margin-top: 20px;
	}

	/* Section-5 */
	.class-sub-detail-fyi-text {
		justify-self: center;
		padding: 0px 50px;
	}

	.end-text-fyi-text {
		justify-self: center;
		padding: 0px 50px;
	}

	.caption-title {
		width: 55%;
		margin-top: -80px;
		position: relative;
		z-index: 2;
		margin-left: auto;
		margin-right: auto;
	}

	.owl-caption h2 {
		font-size: 24px;
		color: #111111;
		font-weight: 700;
	}

	.owl-caption p {
		font-size: 14px;
		color: #111111;
		font-weight: 400;
		margin-bottom: 0;
	}
}

@media (max-width: 767.98px) {
	.pre-register-result {
		font-size: 38px;
		font-weight: 700;
		line-height: 40px;
	}

	.section-1 {
		background-size: 100vh;
	}

	/* All Title */
	.sec-3-title img,
	.sec-4-title img,
	.sec-5-title img,
	.sec-6-title img,
	.requirements-title img {
		height: 46px;
	}

	/* Section 1 */
	.sec-1-img-title {
		margin-top: 60px;
	}

	.pre-register-container {
		margin-top: -200px;
		text-align: center;
	}

	/* Mileages Section-2 */
	.milest-normal {
		width: 85px;
		padding-top: 15px;
	}

	.mileage-gold {
		padding-top: 10px;
		margin: 0 auto;
		width: 96px;
	}

	.mileage-status::before {
		width: 32px;
		height: 30px;
		right: -17px;
	}

	.mileage-container {
		max-width: 500px !important;
		margin-top: -240px;
	}

	/* Section-3 Event & Section 6 */
	/* .owl-caption-border {
		width: 80%;
		margin-bottom: 20px;
	} */
	.swipper-slider-event-container .owl-nav {
		width: 75% !important;
	}

	.caption-title {
		width: 63%;
		margin-top: -60px;
		position: relative;
		z-index: 2;
		margin-left: auto;
		margin-right: auto;
	}

	.owl-caption h2 {
		font-size: 18px;
		color: #4a4237;
		font-weight: 700;
	}

	.owl-caption p {
		font-size: 14px;
		color: #4a4237;
		font-weight: 400;
		margin-bottom: 0;
	}

	.owl-carousel .owl-dots .owl-dot {
		width: 14px;
		height: 6px;
	}

	.owl-carousel .owl-dots .owl-dot.active {
		width: 20px;
	}

	.swipper-slider-event-container {
		scale: 0.8;
		margin: -40px auto;
	}

	/* section-5 */
	.nav-tabs-container.character-detail .nav-tabs .nav-link {
		margin-left: 5px;
		margin-right: 5px;
		scale: 0.85;
		width: 155px;
	}

	.nav-tabs-container.character-detail.class .nav-tabs .nav-link {
		margin-left: 5px;
		margin-right: 5px;
		width: 60px;
	}

	.end-text-fyi-text p {
		font-size: 20px;
		font-weight: 800;
	}

	.popup-modal .modal-dialog {
		max-width: 90% !important;
		width: 90% !important;
		margin: 1.75rem auto;
	}
}

@media (max-width: 575.98px) {
	/* Section 1 */

	.pre-register-container {
		margin-top: -130px;
		text-align: center;
	}

	.pre-register-result {
		font-size: 32px;
		font-weight: 700;
		line-height: 40px;
	}

	.pre-register-total {
		width: auto;
		height: auto;
		margin: 0 auto;
		position: relative;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		padding-top: 0px;
		padding-bottom: 0px;
	}

	.total-bar {
		padding-top: 80px;
	}

	.pre-register-btn {
		margin-top: 48px;
		scale: 0.8;

	}

	/* milest */
	.mileage-gold {
		margin: 0 auto;
		padding-top: 8px;
		width: 76px;
	}

	.milest-normal {
		width: 70px;
		padding-top: 10px;
	}

	.milest-normal-2 {
		padding-top: 43px;
	}

	.mileage-status::before {
		width: 35px;
		height: 29px;
		right: -19px;
	}

	.mileage-container {
		max-width: 426px !important;
	}

	/* Section-3 Event  */
	.swipper-slider-event-container {
		scale: 0.8;
		margin: -30px auto;
	}

	.swipper-slider-event-container .owl-nav {
		display: block !important;
		width: 93% !important;
	}

	/* Section 4 */
	.section-4 {
		margin-bottom: 12px;
	}

	.news-title {
		padding-left: 0px;
		line-height: 16px;
	}

	.all-news-btn a {
		padding-left: 5px;
		padding-right: 5px;
		font-size: 10px;
	}

	/* Section 5 */
	.section-5 {
		margin-bottom: 60px;
	}

	.nav-tabs-container.character-detail .nav-tabs .nav-link {
		margin-left: 5px;
		margin-right: 5px;
		scale: 0.85;
		width: 132px;
	}

	.nav-tabs-container.character-detail.class .nav-tabs .nav-link {
		margin-left: 5px;
		margin-right: 5px;
		width: 50px;
	}
}

@media (max-width: 524.98px) {
	.pre-register-total {
		padding-top: 48px;
		padding-bottom: 0px;
	}

	.pre-register-btn {
		margin-top: 30px;
		scale: 0.7;
	}

	.total-bar {
		padding-top: 18px;
	}
}

@media (max-width: 468.98px) {

	/* Section 1 */
	.section-1 {
		height: 911px;
	}

	.pre-register-total-title {
		font-size: 14px;
		font-weight: 600;
		text-align: center;
		color: #4a4237;
	}

	.prgister-line {
		scale: 0.8;
	}

	.pre-register-result {
		font-size: 32px;
		font-weight: 700;
		line-height: 40px;
	}

	.pre-register-btn {
		scale: 0.6;
		margin-top: 20px;
	}

	.total-bar {
		padding-top: 0px;
	}

	.pre-register-total {
		padding-top: 70px;
		padding-bottom: 0px;
	}

	/* milest */
	.mileage-gold {
		margin: 0 auto;
		padding-top: 7px;
		width: 57px;
	}

	.milest-normal {
		width: 50px;
		padding-top: 10px;
	}

	.mileage-status::before {
		width: 25px;
		height: 29px;
		right: -14px;
	}

	.mileage-container {
		/* max-width: 330px !important; */
		margin-top: -250px;
	}

	/* section-3 */
	.swipper-slider-event-container {
		scale: 0.8;
		margin: 0px auto;
	}

	/* .section-4 */
	.icon-news-all {
		display: none;
	}

	/* section-5 */
	.nav-tabs-container.character-detail .nav-tabs .nav-link {
		margin-left: 5px;
		margin-right: 5px;
		scale: 0.85;
		width: 90px;
	}

	.end-text-fyi-text p {
		font-size: 12px;
		font-weight: 800;
	}

	.caption-title {
		width: 63%;
		margin-top: -50px;
		position: relative;
		z-index: 2;
		margin-left: auto;
		margin-right: auto;
	}

	.owl-caption h2 {
		font-size: 18px;
		color: #111111;
		font-weight: 700;
	}

	.owl-caption p {
		font-size: 14px;
		color: #111111;
		font-weight: 400;
		margin-bottom: 0;
	}
}

@media (max-width: 420.98px) {
	.pre-register-total {
		padding-top: 48px;
		padding-bottom: 0px;
	}

	.pre-register-btn {
		margin-top: 14px;
		scale: 0.6;
	}

	.total-bar {
		padding-top: 8px;
	}

	.caption-title {
		width: 63%;
		margin-top: -40px;
		position: relative;
		z-index: 2;
		margin-left: auto;
		margin-right: auto;
	}

	.owl-caption h2 {
		font-size: 18px;
		color: #111111;
		font-weight: 700;
	}

	.owl-caption p {
		font-size: 14px;
		color: #111111;
		font-weight: 400;
		margin-bottom: 0;
	}
}

@media (max-width: 388.98px) {

	/* Section 1 */
	.section-1 {
		height: 830px;
		background-size: 90vh;
	}

	.pre-register-total-title {
		font-size: 14px;
		font-weight: 600;
		text-align: center;
		color: #4a4237;
	}

	.prgister-line {
		scale: 0.6;
	}

	.pre-register-result {
		font-size: 28px;
		font-weight: 700;
		line-height: 40px;
	}

	.pre-register-btn {
		scale: 0.6;
		margin-top: 5px;
	}

	.pre-register-total {
		padding-top: 55px;
		padding-bottom: 0px;
	}

	.total-bar {
		padding-top: 0px;
	}


}

.pr-modal.modal .modal-dialog {
	max-width: 650px;
}

.pr-modal .modal-content.pr-modal__content {
	border: 0;
	border-radius: 18px;
	overflow: hidden;
	background: url(../images/popup/bg-pr-modal-preregis.webp?v=4.10?v=2.1) top center no-repeat;
	background-size: 100%;
	min-height: 400px;
	color: #fff;
	position: relative;
	font-family: "preuksa", sans-serif;
}

.pr-modal .modal-backdrop.show {
	opacity: .9;
}


.pr-modal .banner-modal {
	display: flex;
	justify-content: center;
	align-items: center;
}


/* disable default Bootstrap close icon background */
.btn-close,
.pr-modal__close,
.reg-modal__close {
	--bs-btn-close-bg: none !important;
}

.pr-modal__close {
	position: absolute;
	right: -55px;
	top: 0px;
	/* remove default bootstrap icon filter */
	filter: none;
	opacity: .85;
	background-color: #4a4237;
	color: #ffe1a3;
	border: 2px solid #c9af79;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}

.pr-modal__close::before {
	content: "×";
	font-weight: 700;
	font-size: 28px;
	line-height: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0% 0%;
}

.pr-modal__close:hover {
	opacity: 1;
	background-color: #ffe1a3;
	color: #4a4237;
	border-color: #4a4237;
}

.reg-modal__close:hover {
	opacity: 1;
	background-color: #ffe1a3;
	color: #4a4237;
	border-color: #4a4237;
}

.pr-modal__body {
	padding: 15% 4%;
}

.header-modal {
	padding: 2% 0 3% 33%;
	min-height: 55px;
}

.pr-modal__title {
	font-weight: 800;
	font-size: 2em;
	margin: 0 0 8px;
	letter-spacing: .2px;
}

.pr-modal__desc {
	opacity: .9;
	font-size: 1.1em;
	line-height: 1.55;
}

.social-group-modal {
	background: url(../images/popup/bg-pr-modal-social.webp?v=4.10) center center no-repeat;
	background-size: 135%;
	padding: 2%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-top: 10px;
	gap: 4px;

}

.social-group-modal p {
	color: #ffffff !important;
	font-size: .9em;
	font-family: "preuksa", sans-serif;
	margin-bottom: 5px;
}

.pr-modal .social-group-modal__icons {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #000;
}

.pr-modal .social-group-modal__icons a {
	width: 23%;
}

.pr-modal__btn {
	background: url(../images/popup/btn-pr.webp?v=4.10) center center no-repeat;
	width: 100%;
	border-radius: 12px;
	border: none;
	padding: 12px 14px;
	font-weight: 700;
	color: #fff !important;
	display: block;
	transition: .3s;
	margin-top: 20px;
	text-decoration: none;
}

.pr-modal__btn:hover {
	filter: brightness(1.2);
}

.modal-backdrop {
	--bs-backdrop-opacity: 0.75;
}

.banner-modal a {
	transition: .3s;
}

.banner-modal a:hover {
	filter: brightness(1.1);
	scale: 1.05;
}

.reg-modal.modal .modal-dialog {
	max-width: 650px;
}

.reg-modal .modal-content.pr-modal__content {
	border: 0;
	border-radius: 18px;
	overflow: hidden;
	background: url(../images/popup/bg_pr_modal_reg.webp?v=4.10) top center no-repeat;
	background-size: 100%;
	min-height: 400px;
	color: #fff;
	position: relative;
	font-family: "preuksa", sans-serif;
	display: flex;
	flex-direction: column;
}

.reg-modal .modal-backdrop.show {
	opacity: .9;
}

.reg-modal .banner-modal {
	display: flex;
	justify-content: center;
	align-items: center;
}

.reg-modal__close {
	position: absolute;
	right: 14px;
	top: 14px;
	filter: none;
	opacity: .85;
	background-color: #4a4237;
	color: #ffe1a3;
	border: 2px solid #c9af79;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	padding: 0;
}

.reg-modal__close::before {
	content: "×";
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.reg-modal__close:hover {
	opacity: 1;
	background-color: #ffe1a3;
	color: #4a4237;
	border-color: #4a4237;
}

.reg-modal__body {
	padding: 26% 7% 4% 9%;
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.header-modal {
	padding: 2% 0 3% 33%;
	min-height: 55px;
}

.reg-modal__title {
	font-weight: 800;
	font-size: 2em;
	margin: 0 0 8px;
	letter-spacing: .2px;
}

.reg-modal__desc {
	opacity: .9;
	font-size: 1.1em;
	line-height: 1.55;
}

/* ============================ */
/* ======= Popup Modal ======== */
/* ============================ */
.popup-modal .modal-content.bg-none {
	background: none;
	border: none;
}

.popup-modal .modal-header {
	padding: 0;
	position: relative;
	z-index: 1060;
}

.popupImg-close {
	position: absolute;
	right: 0;
	top: -54px;
	background-color: #4a4237;
	color: #ffe1a3;
	border: 2px solid #c9af79;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.85;
	transition: all 0.3s ease;
	cursor: pointer;
}

.popupImg-close::before {
	content: "×";
	font-weight: 700;
	font-size: 28px;
	line-height: 1;
	margin-top: 1px;
}

.popupImg-close:hover {
	opacity: 1;
	background-color: #ffe1a3;
	color: #4a4237;
	border-color: #4a4237;
}

.modal {
	background-color: rgb(0 0 0 / 60%);
	z-index: 99999;
}

.img-popup {
	border-radius: 15px;
	box-shadow: 0 0px 0px rgba(0, 0, 0, 0.5);
	width: 100%;
}

.btnBullet-popupModal {
	width: 12px !important;
	height: 12px !important;
	border-radius: 50% !important;
	background-color: #fff !important;
	opacity: 0.5;
	border: 2px solid #8a361a !important;
	margin: 0 5px !important;
	transition: 0.3s;
}

.btnBullet-popupModal.active {
	opacity: 1;
	background-color: #8a361a !important;
	transform: scale(1.2);
}

.popup-modal .modal-dialog {
	max-width: 900px !important;
	width: 900px !important;
}

@media (max-width: 991.98px) {
	.popup-modal .modal-dialog {
		max-width: 92% !important;
		width: 92% !important;
	}
}

@media (max-width: 767.98px) {
	.popup-modal .modal-dialog {
		max-width: 94% !important;
		width: 94% !important;
		margin: 1rem auto;
	}
}

@media (max-width: 575.98px) {
	.popup-modal .modal-dialog {
		max-width: 96% !important;
		width: 96% !important;
		margin: 0.5rem auto;
	}
}

/* ==========================================================================
   SYSTEM REQUIREMENTS PAGE
   ========================================================================== */

.requirements-title {
	margin-top: 10rem;
}

.download-requirement {
	margin-top: -450px;
	position: relative;
	z-index: 10;
	padding-bottom: 80px;
}

.requirements-sub {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	padding: 20px;
}

/* Section Header Styles */
.client-header-group {
	display: inline-block;
	text-align: left;
}

.client-main-row {
	margin-bottom: 5px;
}

.client-header-group .client-icon-pc {
	width: 34px;
	height: auto;
}

.client-header-group .client-icon-mobile {
	width: 18px;
	height: auto;
}

.client-header-group .client-title {
	color: #4A4237;
	font-family: "preuksa", sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.5px;
}

.client-header-group .client-subtitle {
	color: #A4927D;
	font-family: "preuksa", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	margin-top: 5px;
}

/* Table Container & Decorative Elements */
.requirements-table-container {
	position: relative;
	margin-top: 15px;
	background-color: #F1E9D3;
	padding: 10px;
	border-radius: 15px;
}

.client-emoji {
	position: absolute;
	right: -30px;
	top: -90px;
	width: 145px;
	z-index: 5;
	pointer-events: none;
}

.emoji-mobile {
	top: -90px;
	width: 110px;
	right: -15px;
}

/* Table Wrapper Styles */
.pc-table.requirements-table-wrapper {
	border-radius: 12px;
	border: 2px solid #BEBAAC;
	background: #FBF8EF;
	box-shadow: none;
	overflow: hidden;
}

.pc-table .requirements-table {
	position: relative;
	z-index: 1;
	width: 100%;
	border-collapse: collapse;
}

.pc-table .requirements-table th {
	background: #749D8E;
	color: #fff;
	font-family: "preuksa", sans-serif;
	font-size: 16px;
	font-weight: 700;
	padding: 10px 15px;
	border-bottom: 2px solid #BEBAAC;
	border-right: 1px solid rgba(255, 255, 255, 0.4);
	text-align: left;
}

.pc-table .requirements-table th:last-child {
	border-right: none;
}

.pc-table .requirements-table td {
	background: #FBF8EF;
	color: #524940;
	font-family: "preuksa", sans-serif;
	font-size: 14px;
	font-weight: 500;
	padding: 10px 15px;
	border-bottom: 1px solid #BEBAAC;
	border-right: 1px solid #BEBAAC;
	vertical-align: middle;
}

.pc-table .requirements-table td:last-child {
	border-right: none;
}

.pc-table .requirements-table tr:last-child td {
	border-bottom: none;
}

/* Table Column Widths */
.pc-table .requirements-table .cat-col {
	width: 32%;
	font-weight: 600;
}

.pc-table .requirements-table .req-col {
	width: 68%;
}

.mobile-device-table .cat-col,
.mobile-device-table .req-col {
	width: 50% !important;
}

/* ==========================================================================
   DOWNLOAD PAGE SECTION
   ========================================================================== */

.download-header {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.download-bg {
	background-image: url(../images/download/bg-download.webp?v=4.10);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 1920px auto;
}

.title-download {
	margin: 0 auto;
	background-image: url(../images/download/download-title.webp?v=4.10);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
	width: 100%;
	max-width: 650px;
	height: 190px;
	margin-top: 120px;
}

/* Download Navigation Links */
.download-link {
	text-align: center;
	color: #ffffff;
	font-family: "preuksa", sans-serif;
	font-size: 14px;
	margin-top: 15px;
	position: relative;
	z-index: 5;
}

.download-link {
	color: #ffffff;
	font-size: 16px;
	margin-top: 10px;
}

.download-link a,
.download-link span {
	color: #ffffff;
	text-decoration: none;
	margin: 0 10px;
	transition: 0.3s;
	font-weight: 500;
}

.download-link a:hover {
	color: #B8F3FB;
}

/* Download Action Buttons */
.download-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
}

.download-btn a,
.download-btn .download-badge-wrapper {
	transition: 0.3s;
	display: block;
	max-width: 180px;
	width: 100%;
}

.download-btn img {
	width: 100%;
	height: auto;
}

.download-btn a:hover {
	transform: scale(1.05);
	filter: brightness(1.1);
}

/* ==========================================================================
   FAQ SECTION
   ========================================================================== */

.download-faq {
	padding: 80px 0;
	position: relative;
	z-index: 10;
}

.faq-title {
	margin-bottom: 50px;
}

.faq-title .title-name-th {
	font-family: "preuksa", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #4A4237;
}

.faq-accordion {
	max-width: 1100px;
	margin: 0 auto;
}

.faq-accordion .accordion-item {
	background-color: #F1EAD7;
	border: none;
	border-bottom: 1px solid #BEBAAC;
	margin-bottom: 0px;
	border-radius: 0;
	overflow: hidden;
}

.faq-accordion .accordion-item:first-of-type {
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
}

.faq-accordion .accordion-item:last-of-type {
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;
	border-bottom: none;
	margin-bottom: 0;
}

.faq-accordion .accordion-button {
	background-color: #F1E9D3;
	color: #4A4237;
	font-family: "preuksa", sans-serif;
	font-size: 16px;
	font-weight: 600;
	padding: 13px 20px;
	box-shadow: none;
	border: none;
	text-align: left;
	display: flex;
	align-items: end;
}

.faq-accordion .accordion-button:not(.collapsed) {
	background-color: #F1E9D3;
	color: #4A4237;
	box-shadow: none;
}

.faq-accordion .accordion-button::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23A4927D'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	background-size: 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
}

.faq-accordion .accordion-body {
	background-color: #FFF6DD;
	color: #524940;
	font-family: "preuksa", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	padding: 20px;
}

.faq-content-block {
	margin-top: 15px;
}

.faq-list {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0px;
}

.faq-list li {
	position: relative;
	padding-left: 15px;
	margin-bottom: 5px;
}

.faq-list li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: #524940;
}

.faq-section-title {
	font-weight: 700;
	margin-top: 15px;
	margin-bottom: 10px;
	display: block;
}

.faq-footer-text {
	max-width: 1100px;
	margin: 50px auto 0;
	padding: 0 15px;
}

.faq-footer-text p {
	color: #524940;
	font-family: "preuksa", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 0;
}

/* ==========================================================================
   STICKY FOOTER BANNER
   ========================================================================== */

.sticky-footer-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	pointer-events: none;
	transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
}

.sticky-footer-banner.banner-hidden {
	transform: translateY(100%);
	opacity: 0;
}

.banner-container {
	position: relative;
	width: 100%;
	max-width: 1226px;
	height: auto;
	aspect-ratio: 1226 / 127;
	background: url('../images/download/pre-download-footer.webp?v=4.10') no-repeat center bottom;
	background-size: contain;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 40px 95px 0px 246px;
	/* Optimized offset for design */
	pointer-events: auto;
}

.banner-text {
	flex: 1;
	text-align: left;
	margin-right: 20px;
}

.banner-text .title-nav-download {
	font-family: "preuksa", sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #FFEAB1;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4), 0 0 10px rgba(0, 0, 0, 0.4);
	margin-bottom: -2px;
	white-space: nowrap;
}

.banner-text p {
	font-family: "preuksa", sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9);
	margin-bottom: 0;
	white-space: nowrap;
}

.banner-buttons {
	display: flex;
	gap: 12px;
	align-items: center;
}

.banner-buttons a {
	display: block;
	transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.banner-buttons a:hover {
	transform: translateY(-5px) scale(1.05);
}

.banner-buttons img {
	height: 50px;
	width: auto;
}

/* Coming Soon Badge */
.download-badge-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.coming-soon-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #000;
	color: #fff;
	font-family: "preuksa", sans-serif;
	font-size: 11px;
	font-weight: 500;
	padding: 2px 14px;
	border-radius: 20px;
	white-space: nowrap;
	z-index: 10;
	pointer-events: none;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.btn-coming-soon {
	pointer-events: none !important;
	cursor: default !important;
}

.btn-coming-soon img {
	filter: grayscale(1) brightness(0.6) !important;
}

/* ==========================================================================
   RESPONSIVE DESIGN (MEDIA QUERIES)
   ========================================================================== */

/* Large screens (>= 1920px) */
@media (min-width: 1920px) {
	.download-bg {
		background-image: url(../images/download/bg-download-over.webp?v=4.10);
		background-size: auto;
	}
}

/* Mid-Large screens (<= 1226px) */
@media (max-width: 1226px) {
	.banner-buttons img {
		height: 40px;
		width: auto;
	}
}

/* Desktop Medium (<= 1199px) */
@media (max-width: 1199px) {
	.title-download h1 {
		font-size: 72px;
	}

	.title-download h2 {
		font-size: 28px;
	}

	.banner-container {
		padding: 40px 113px 0px 212px;
	}
}

/* Tablet Landscape (<= 991px) */
@media (max-width: 991px) {
	.play-video {
		margin-top: 285px;
		margin-bottom: 0px;
	}

	.download-bg {
		background-image: url(../images/download/bg-download-md.webp?v=4.10);
		background-size: 100%;
	}

	.title-download {
		width: 80%;
		height: 140px;
		margin-top: 75px;
	}

	.title-download h1 {
		font-size: 60px;
	}

	.title-download h2 {
		font-size: 24px;
	}

	.requirements-title {
		margin-top: 8rem;
	}

	.client-emoji {
		width: 110px;
		right: -15px;
		top: -75px;
	}

	.emoji-mobile {
		top: -85px;
		width: 90px;
	}

	.sticky-footer-banner {
		bottom: 40px;
	}

	.banner-container {
		background-image: url('../images/download/pre-download-footer-md.webp?v=4.10');
		max-width: 748px;
		aspect-ratio: 748 / 136;
		padding: 15px 30px 0 30px;
		justify-content: center;
	}

	.banner-text {
		display: block;
		flex: 0 1 auto;
		margin-top: 15px;
		margin-right: 15px;
	}

	.banner-text .title-nav-download {
		font-size: 18px;
	}

	.banner-text p {
		font-size: 12px;
	}

	.banner-buttons {
		margin-top: 15px;
	}

	.banner-buttons img {
		height: 42px;
	}

	.banner-buttons a:last-child {
		display: none;
	}

	.download-badge-wrapper {
		display: none !important;
	}

	.pr-modal__close {
		width: 28px;
		height: 28px;
		top: -50px;
		right: 0px;
	}
}

/* Tablet Portrait (<= 820px) */
@media (max-width: 820px) {
	.requirements-title {
		margin-top: 6rem;
	}
}

/* Mobile Large (<= 767px) */
@media (max-width: 767px) {
	.play-video {
		margin-top: 200px;
	}

	.download-bg {
		background-image: url(../images/download/bg-download-sm.webp?v=4.10);
		background-size: 100%;
	}

	.title-download {
		max-width: 90%;
		height: 140px;
		margin-top: 75px;
	}

	.download-link {
		font-size: 14px;
	}

	.download-link a {
		margin: 0 8px;
	}

	.requirements-pc-title,
	.requirements-mobile-title {
		margin-bottom: 15px !important;
	}

	.client-main-row {
		gap: 8px !important;
	}

	.client-header-group .client-title {
		font-size: 24px;
	}

	.client-emoji {
		width: 90px;
		right: -5px;
		top: -65px;
	}

	.emoji-mobile {
		top: -75px;
		width: 75px;
	}

	/* Mobile Table Styling */
	.requirements-table thead {
		display: table-header-group !important;
	}

	.requirements-table tr {
		display: table-row !important;
	}

	.requirements-table th {
		padding: 10px 12px !important;
		font-size: 16px !important;
	}

	.requirements-table td {
		display: table-cell !important;
		padding: 10px 12px !important;
		font-size: 14px !important;
	}

	.faq-title .title-name-th {
		font-size: 32px;
	}

	.faq-accordion .accordion-button {
		padding: 15px 20px;
	}

	.faq-accordion .accordion-body {
		padding: 20px;
	}

	.download-btn a {
		max-width: 150px;
	}

	.sticky-footer-banner {
		bottom: 46px;
	}

	.banner-container {
		background-image: url('../images/download/pre-download-footer-sm.webp?v=4.10');
		max-width: 371px;
		aspect-ratio: 371 / 125;
		flex-direction: column;
		padding: 5px 20px 0;
	}

	.banner-text {
		margin-top: 10px;
		text-align: center;
		margin-right: 0px;
	}

	.banner-text h3 {
		font-size: 20px;
		margin-bottom: 0;
	}

	.banner-buttons {
		margin-top: 5px;
	}

	.banner-buttons img {
		height: 40px;
	}

	/* reg-modal responsive */
	.reg-modal .modal-content.pr-modal__content {
		min-height: auto;

	}

	.pr-modal__close {
		width: 28px;
		height: 28px;
		top: -50px;
		right: 0px;
	}

	.pr-modal__close::before {
		font-size: 24px;
		align-items: center;
		padding-bottom: 2px;
	}
}

/* Mobile Small (<= 575px) */
@media (max-width: 575px) {
	.title-download {
		height: 90px;
		margin-top: 50px;
	}

	.title-download h1 {
		font-size: 42px;
	}

	.title-download h2 {
		font-size: 20px;
	}

	/* reg-modal responsive */
	.pr-modal__close {
		width: 24px;
		height: 24px;
		top: -50px;
		right: 0px;
	}

	.pr-modal__close::before {
		font-size: 24px;
		align-items: center;
		padding-bottom: 2px;
	}
}

/* Nano screens (<= 480px) */
@media (max-width: 480px) {
	.requirements-title {
		margin-top: 5rem;
	}

	.banner-text h3 {
		font-size: 18px;
	}

	.banner-buttons img {
		height: 36px;
	}

	/* reg-modal responsive */
	.pr-modal__close {
		width: 22px;
		height: 22px;
		top: -50px;
		right: 0px;
	}

	.pr-modal__close::before {
		font-size: 24px;
		align-items: center;
		padding-bottom: 2px;
	}
}

/* Utility Classes */
.sr_only {
	overflow: hidden;
	visibility: hidden;
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	font-size: 0;
	line-height: 0;
}

.cbt-title-container {
	margin-bottom: -50px;
	position: relative;
	z-index: 0;
	text-align: center;
}

.cbt-title-container img {
	display: inline-block;
	max-width: 480px;
	width: 95%;
	height: auto;
}

/* Mobile Adjustments for CBT Title */
@media (max-width: 991.98px) {
	.cbt-title-container {
		margin-bottom: -5px;
	}

	.cbt-title-container img {
		max-width: 400px;
	}
}

@media (max-width: 575.98px) {
	.cbt-title-container {
		margin-bottom: -35px;
	}

	.cbt-title-container img {
		max-width: 320px;
	}
}

@media (max-width: 350px) {
	.cbt-title-container {
		margin-bottom: -40px;
	}
}

/* Tablet and Mobile adjustments for Section 3 gap */
@media (max-width: 991.98px) {
	.section-3 {
		margin-top: -80px;
	}
}

@media (max-width: 767.98px) {
	.section-3 {
		margin-top: -120px;
	}
}

@media (max-width: 575.98px) {
	.section-3 {
		margin-top: -160px;
	}
}

/* Ensure popup modal is always on top */
.popup-modal {
	z-index: 99999 !important;
}