@import url('../font/stylesheet.css');
@import url('./reset.css');


*,
::after,
::before {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: 'LINE Seed Sans TH';
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	line-height: 1.2;
	color: #3A3A3A;
}

hr {
	margin: 1rem 0;
	color: inherit;
	border: 0;
	opacity: 0.25;
}

a {
	text-decoration: none;
}

b,
strong,
.t-bold {
	font-weight: 600;
}

.t-exbold {
	font-weight: 800;
}

.gradient-bg-primary {
	background: linear-gradient(135deg, #f7941d, #f7495e, #ec008c);
}

.pd {
	padding: 50px 0;
}

.pd-100 {
	padding: 100px 0;
}

.fw {
	width: 100%;
	float: left;
}

.mb-8px {
	margin-bottom: 8px;
}

.mb-16px {
	margin-bottom: 16px;
}

.mb-40px {
	margin-bottom: 40px;
}

.mb-50px {
	margin-bottom: 50px;
}

.mb-60px {
	margin-bottom: 60px;
}

.mb-70px {
	margin-bottom: 70px;
}

hr.custom {
	height: 4px;
	background-color: #9C005C;
	opacity: 1;
}


.gsb-hero-banner {
	width: 100%;
	background-color: #1C3E74;
}

.gsb-hero-banner video {
	width: 100%;
	height: 100vh;
	min-height: 500px;
	object-fit: contain;
	object-position: center center;
}

.action-fixed {
	position: fixed;
	left: 80px;
	width: auto;
	pointer-events: none;
	bottom: 100px;
	z-index: 5;
}

.action-fixed a {
	pointer-events: all;
}

.banner-content {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.btn-clr-primary {
	position: relative;
	z-index: 1;
	border-radius: 100px;
	background: linear-gradient(0deg, #ED2290 0.02%, #F7B3D1 100%);
	padding: 3px;
	border: 0;
	font-weight: 500;
	color: #fff;
	min-width: 200px;
}

.clr-primary {
	color: #EC008C;
}

a.clr-primary:hover {
	color: #F496BF;
}

.btn-clr-primary:hover {
	color: #fff;
}

.btn-clr-primary>span {
	position: relative;
	background: linear-gradient(0deg, #F496BF 0.02%, #E975B0 25.02%, #DF52A0 57.01%, #D83D97 83%, #D63694 100%);
	border-radius: 100px;
	width: 100%;
	float: left;
	padding: 10px 20px;
	line-height: 1.2;
}

.btn-primary {
	background-color: #EC008C;
	border-color: #EC008C;
	font-size: 20px;
}

.btn-primary:hover {
	background-color: #FCE7F1;
	border-color: #FCE7F1;
	color: #EC008C;
}

.btn-check:active+.btn-primary:focus,
.btn-check:checked+.btn-primary:focus,
.btn-primary.active:focus,
.btn-primary:active:focus,
.show>.btn-primary.dropdown-toggle:focus {
	box-shadow: none;
}

.form-control {
	border-color: #F0F0F0;
}

.form-control:focus {
	border-color: #F0F0F0;
	outline: none;
	box-shadow: none;
}

input::placeholder,
textarea::placeholder {
	color: #B3B3B3;
	/* Set your desired color */
	opacity: 1;
	/* Optional: Make sure the placeholder color is fully visible */
}


.gsb-content {}

.clr-white {
	color: #fff;
}

.clr-gray {
	color: #888888;
}


.container-fluid {
	max-width: 90vw;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {}

h1,
.h1 {
	font-size: 50px;
	line-height: 1.2;
}

h2,
.h2 {
	font-size: 42px;
	line-height: 1.2;
}

h3,
.h3 {
	font-size: 36px;
	line-height: 1.2;
}

h4,
.h4 {
	font-size: 30px;
	line-height: 1.2;
}

h5,
.h5 {
	font-size: 26px;
	line-height: 1.2;
}

h6,
.h6 {
	font-size: 20px;
	line-height: 1.2;
}

h1.oversize {
	font-size: 66px;
}

.extra-oversize {
	font-size: 360px;
	line-height: 0.8;
}

.box-quote {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.box-quote>span {
	font-weight: 700;
	color: #F288BB;
	font-weight: 600;
	line-height: 1;
}

.circle-group {
	display: flex;
	justify-content: center;
	margin: 80px 0;
}

.circle-group .item-circle-group {
	width: 354px;
	height: 354px;
	border-radius: 10000px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.circle-group .item-circle-group h1 {
	font-weight: 800;
}

.circle-group .item-circle-group:first-child {
	position: relative;
	left: 50px;
	background-color: rgba(250, 209, 227, 0.8);
}

.circle-group .item-circle-group:last-child {
	position: relative;
	right: 50px;
	background-color: rgba(255, 132, 151, 0.8);
	z-index: 3;
}

.circle-group .item-circle-group:nth-of-type(2) {
	background-color: rgba(34, 33, 118, 0.8);
	z-index: 2;
}

.sec-banner {
	position: relative;
}

.sec-banner picture img {
	width: 100%;
	float: left;
}

.sec-banner .banner-contain {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	z-index: 1;
}

.doc-report-title {
	font-size: 18px;
	font-weight: 600;
	color: #3A3A3A;
	transition: all ease .3s;
	margin-top: 24px;
}

.doc-report-title>span {
	color: #EC008C;
}

.doc-item .doc-report-title:hover {
	color: #E975B0;
}

.list-read-report img {
	width: 100%;
	float: left;
}

.tab-toolbar {
	position: fixed;
	height: 300px;
	background-color: #F698D0;
	padding: 16px;
	right: 4px;
	top: 4px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	z-index: 9;
}

.list-toolbar {
	display: flex;
	flex-direction: column;
	gap: 16px;
}


.form-check {
	padding-left: 0;
}

/* ซ่อน input ดั้งเดิม */
.form-check-input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}

/* กำหนด style สำหรับ label เพื่อใช้เป็นกล่อง */
.form-check-label {
	position: relative;
	padding-left: 30px;
	cursor: pointer;
	line-height: 1.5;
	user-select: none;
}

/* กล่อง checkbox / radio */
.form-check-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 20px;
	height: 20px;
	border: 2px solid #D9D9D9;
	background: #fff;
	border-radius: 4px;
	/* เปลี่ยนเป็น 50% ถ้าเป็น radio */
	transition: all 0.2s ease;
}

/* สำหรับ radio */
input[type="radio"]+.form-check-label::before {
	border-radius: 50%;
	border-color: #D9D9D9;
}


input[type="radio"]:checked+.form-check-label::before {
	border-color: #EC008C;
}


/* mark ถูกเลือก */
.form-check-input:checked+.form-check-label::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 8px;
	width: 8px;
	height: 8px;
	background: #EC008C;
	border-radius: 50%;

}

input[type="checkbox"]:checked+label::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23FFFFFF'%3E%3Cpath d='M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-color: #EC008C;
	border-color: #EC008C;

}


/* สำหรับ checkbox: เปลี่ยน mark เป็นติ๊กถูก */
input[type="checkbox"]:checked+.form-check-label::after {
	display: none;
	content: "";
	position: absolute;
	left: 5px;
	top: 5px;
	width: 10px;
	height: 10px;
	border: solid #EC008C;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	background: transparent;
}

form hr {
	float: left;
	width: 100%;
	background-color: #F288BB;
	opacity: 1;
	margin: 20px 0 40px;
}


.item-reading {
	position: relative;
	width: 100%;
	float: left;
}

.item-reading:hover .download-thumb {
	opacity: 1;
}

.download-thumb {
	position: absolute;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #D83D97;
	border-radius: 4px;
	top: 10px;
	right: 10px;
	opacity: 0;
	transition: all ease .5s;
}

.download-thumb svg {
	width: 20px;
	height: auto;
}

.ctn-action {
	position: absolute;
	bottom: -10vw;
}



.scrolldown-box {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translate(-50%, 0%);
	width: 60px;
	height: 60px;
	/* background: #fff; */
	border-radius: 100px;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.scrolldown-box span {
	display: block;
	width: 15px;
	height: 15px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin: -7.5px;
	animation: scrolldown 2s infinite;
}

.scrolldown-box span:nth-child(2) {
	animation-delay: -0.2s;
}

.scrolldown-box span:nth-child(3) {
	animation-delay: -0.4s;
}

@keyframes scrolldown {

	0% {
		opacity: 0;
		transform: rotate(45deg) translate(-0px, -0px);
	}

	25% {
		opacity: 1;
	}

	75% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: rotate(45deg) translate(30px, 30px);
	}
}


.wrap-circle-group {
	width: 100%;
	float: left;
	text-align: center;
	padding: 50px 0;
}

.thumb-circle-group {
	display: flex;
	justify-content: center;
}

.thumb-circle-group .thumb-item-circle-group {
	text-align: center;
	color: #fff;
	padding: 20px 30px;
}

.thumb-circle-group .thumb-item-circle-group h4 {
	font-weight: bold;
}

.thumb-circle-group .thumb-item-circle-group img {
	display: none;
}

.thumb-circle-group .thumb-item-circle-group:nth-of-type(2) {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}

@media (min-width: 2000px) {
	.container {
		max-width: 80vw;
	}
}

@media (max-width: 1339px) {
	@media (min-width: 767px) {
		.sec-banner-custom picture img {
			height: 750px;
			object-fit: cover;
		}

		.ctn-action {
			position: relative;
			bottom: 0;
			margin-top: 10vw;
		}
	}
}

@media (max-width: 1199px) {
	.circle-group .item-circle-group {
		width: 250px;
		height: 250px;
	}

	.circle-group .item-circle-group h1 {
		font-size: 38px;
	}

	.circle-group .item-circle-group:first-child {
		left: 30px;
	}

	.circle-group .item-circle-group:last-child {
		right: 30px;
	}

	h1,
	.h1 {
		font-size: 40px;
		line-height: 1.2;
	}

	h2,
	.h2 {
		font-size: 36px;
		line-height: 1.2;
	}

	h3,
	.h3 {
		font-size: 30px;
		line-height: 1.2;
	}

	h4,
	.h4 {
		font-size: 26px;
		line-height: 1.2;
	}

	h5,
	.h5 {
		font-size: 20px;
		line-height: 1.2;
	}

	h6,
	.h6 {
		font-size: 16px;
		line-height: 1.2;
	}

	h1.oversize {
		font-size: 55px;
	}

	.extra-oversize {
		font-size: 260px;
		line-height: 0.8;
	}

	.action-fixed {
		left: 30px;
	}
}

@media (max-width: 1199px) {
	.circle-group .item-circle-group {
		width: 220px;
		height: 220px;
		position: relative;
	}

	.circle-group .item-circle-group h1 {
		font-size: 32px;
	}
}

@media (max-width: 991px) {

	.kv-way-of-work {
		display: none;
	}

	.thumb-circle-group {
		flex-direction: column;
		justify-content: center;
		gap: 20px;
	}

	.thumb-circle-group .thumb-item-circle-group {
		padding: 0 120px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.thumb-circle-group .thumb-item-circle-group:nth-of-type(2) {
		border: 0;
	}

	.thumb-circle-group .thumb-item-circle-group img {
		display: block;
		margin-bottom: 15px;
	}
}

@media (max-width: 768px) {

	.circle-group {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.circle-group .item-circle-group {
		width: 400px;
		height: 400px;
	}

	.circle-group .item-circle-group:first-child {
		left: 0;
	}

	.circle-group .item-circle-group:nth-of-type(2) {
		margin-top: -40px;
	}

	.circle-group .item-circle-group:last-child {
		right: 0;
		margin-top: -40px;
	}

	.banner-contain .gsb-content {
		display: flex;
		gap: 15px;
	}

	.banner-contain .gsb-content h1.extra-oversize {
		font-size: 170px;
	}

	.banner-contain .gsb-content h1 {
		font-size: 28px;
	}

	.ctn-action {
		position: absolute;
		bottom: 0;
	}

	.gsb-hero-banner video {
		width: 100%;
		height: auto;
		min-height: auto;
		object-fit: cover;
	}

	.fw.sec-banner.sec-banner-custom .pd {
		padding-bottom: 20px;
	}

	.ctn-action {
		position: relative;
		padding: 30px 20px;
		width: 100%;
		float: left;
		display: flex;
		justify-content: center;
		background-color: #1C3E74;
	}

	.group-action-fixed.d-flex.gap-3.w-auto.float-start.align-items-center {
		flex-direction: column;
	}

	.thumb-circle-group .thumb-item-circle-group {
		padding: 0 50px;
	}
}

@media (max-width: 576px) {

	h1,
	.h1 {
		font-size: 36px;
		line-height: 1.3;
	}

	h2,
	.h2 {
		font-size: 30px;
		line-height: 1.3;
	}

	h3,
	.h3 {
		font-size: 26px;
		line-height: 1.3;
	}

	h4,
	.h4 {
		font-size: 20px;
		line-height: 1.3;
	}

	h5,
	.h5 {
		font-size: 18px;
		line-height: 1.3;
	}

	h6,
	.h6 {
		font-size: 16px;
		line-height: 1.3;
	}

	h1.oversize {
		font-size: 55px;
	}

	.extra-oversize {
		font-size: 120px;
		line-height: 0.8;
	}

	.action-fixed {
		display: none;
	}

	.banner-contain .gsb-content h1.extra-oversize {
		font-size: 170px;
	}

	.banner-contain .gsb-content h1 {
		font-size: 24px;
	}



	.list-read-report .gsb-content h2 {
		font-size: 18px;
	}

	.pd-100 {
		padding: 60px 0;
	}

	.tab-toolbar {
		height: 250px;
	}

	.scrolldown-box {
		bottom: 10px;
	}

	.scrolldown-box span {
		width: 10px;
		height: 10px;
		margin: -5px
	}

	.thumb-circle-group .thumb-item-circle-group h4 br {
		display: none;
	}

}

@media (max-width: 415px) {
	.circle-group .item-circle-group {
		width: 90vw;
		height: 90vw;
	}

	.banner-contain .gsb-content h1.extra-oversize {
		font-size: 130px;
	}

	.banner-contain .gsb-content h1 {
		font-size: 20px;
	}

	.box-quote {
		gap: 30px;
	}
}

.chapter-cover-img {
	max-width: 170px;
}

.ani-number {
	margin-left: -30px !important;
}