/* Add here all your css styles (customizations) */
@charset "utf-8";
/* CSS Document */
/* Google Fonts loaded via <link> in header.php for better performance */

html,
body {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

body,
p, a, span, div, li, ul, button, input,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	font-family: 'Google Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
	font-weight: 500;
	color: #1e293b;
}

h1 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.25;
}

h2 {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
}

h3 {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.35;
}

h4 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
}

h5 {
	font-size: 16px;
	font-weight: 600;
}

.headline h2 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 25px;
	color: #0f172a;
	letter-spacing: -0.025em;
}

body {
	font-family: 'Google Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
	color: #475569;
}

.article-content, 
.article-content p, 
.article-content li, 
.article-content span,
.content-area,
.content-area p {
	font-size: 16px !important;
	line-height: 1.8 !important;
	font-weight: 400;
}


.header-fixed-shrink #top-header {
	display: none
}

#top-header {
	font-size: 18px;
	border-bottom: 1px solid #f0f0f0;
	padding: 0px;
	padding-top: 3px;
}

#top-left span {
	margin-right: 15px;
	padding: 3px;
	display: inline-block
}

#top-lang-bt {
	text-align: right;
	/*border-right: 1px solid #dadada*/
}

#top-right-header .nav>li {
	border-right: 1px solid #dadada;
	padding: 0 2px;
	font-weight: 600;
}

#top-right-header .nav>li>a {
	padding: 1px 8px;
}

#top-right-header .nav>li>a img {
	margin-right: 5px;
}

#top-right-header .nav-pills>li.active>a,
#top-right-header .nav-pills>li.active>a:focus,
#top-right-header .nav-pills>li.active>a:hover {
	background: none;
	color: #48c2c6
}

#top-right-header .col {
	float: right;
}

#top-lang-bt {
	padding: 1px 10px;
}

#top-lang-bt a {
	display: inline-block;
	width: 17px;
	height: 17px;
}

#top-lang-bt a.th-bt {
	background: url(../img/custom/flag-th.png) no-repeat top center !important;
}

#top-lang-bt a.th-bt:hover,
.th-lang-ative {
	background: url(../img/custom/flag-th-drop.png) no-repeat top center !important;
}

#top-lang-bt a.en-bt {
	background: url(../img/custom/flag-en.png) no-repeat top center !important;
}

#top-lang-bt a.en-bt:hover,
.en-lang-ative {
	background: url(../img/custom/flag-en-drop.png) no-repeat top center !important;
}

#top-lang-bt span {
	margin-right: 5px;
}

#search-top-bt {
	padding: 3px 10px;
}

/* logo */
.navbar-brand {
	padding: 0px 0;
}

/* menu */
.header-v6 .navbar-nav>li>a {
	font-size: 18px;
	font-weight: 500;
}

/* submenu / dropdown */
.header-v6 .dropdown-menu>li>a {
	font-size: 15px;
	font-weight: 400;
}

/* slider */
.slide-image {
	width: 100%;
	height: 500px;
	object-fit: cover;
}

@media (max-width: 991px) {
	.slide-image {
		height: auto !important;
	}
}

@media (max-width: 575px) {
	.slide-image {
		height: auto !important;
	}
}

.ms-layer {
	background-color: rgb(245 119 234 / 72%);
	padding: 0px 25px !important;
	border-radius: 10px;
}

.ms-layer.sl-b-title {
	font-size: 50px;
	line-height: 1.5em;
}

.ms-layer.sl-s-title {
	font-size: 40px;
	line-height: 1.5em;
}

.ms-skin-black-2 .ms-nav-next,
.ms-skin-black-2 .ms-nav-prev {
	background-color: rgba(255, 255, 255, 0.4);
}

/* icon home box */
#icon-home-box {
	background: #48c2c6
}

#icon-home-box h2.heading-sm {
	color: #fff;
	font-size: 20px;
	margin: 0;
}

#icon-home-box h2.heading-sm a {
	color: #fff;
	display: block;
	padding: 10px 0;
	text-decoration: none
}

#icon-home-box .col-md-3,
#icon-home-box .col-md-4 {
	border-right: 1px solid #41a7a1
}

#icon-home-box .col-md-3:last-child,
#icon-home-box .col-md-4:last-child {
	border-right: 0;
}

#icon-home-box .col-md-3:hover,
#icon-home-box .col-md-4:hover {
	background: #00b3b5
}

/* new how box */
#new-home-box .title-news {
	font-size: 25px;
	color: #464646;
	margin: 5px 0;
}

/* footer */
.footer-v3 .footer {
	background: #2a7173;
	border-top: 5px solid #00534f;
}

.footer-v3 .footer p,
.footer-v3 .simple-list a {
	color: #fff
}

#contactname {
	font-size: 22px;
	color: #fff
}

#email-sub {
	color: #fff
}

#email-sub span {
	font-size: 30px;
	font-weight: bold;
	line-height: 1em;
}

#email-sub span small {
	display: block;
	font-weight: normal;
	font-size: 22px
}

#email-sub .fa {
	font-size: 60px;
	float: left;
	margin-right: 10px;
}

.footer-v3 .simple-list li {
	margin-bottom: 5px;
}

.footer-v3 .simple-list li a {
	border-bottom: none;
	/* 1px solid #aac0c1 */
}

.footer-v3 .simple-list li a:hover {
	text-decoration: none;
	border-bottom: 0px solid #b8eaf2;
	color: #b8eaf2
}

#contact-bottom {
	border-right: 1px solid #ffffff
}

/* copyright */
.footer-v3 .copyright {
	background: #e1e1e1;
	color: #0c4338;
	font-size: 18px;
}

.footer-v3 .copyright a,
.footer-v3 .copyright p {
	color: #0c4338
}

/* page header */
#head-page img {
	width: 100%;
}

/* contact page */
#contact-right-detail h4 {
	font-size: 24px;
	color: #555555
}

/* about page */
.col-t.lineup img {
	width: 100%;
}

.col-t {
	width: 20%;
	text-align: center
}

#current-point {
	width: 108px;
	height: 108px;
	-webkit-border-radius: 54px;
	-moz-border-radius: 54px;
	border-radius: 54px;
	background-color: #3cc;
	color: #fff;
	font-size: 34px;
	text-align: center;
	line-height: 108px;
	margin: 15px auto
}

#about-page table tr td {
	border: 0;
}

/* news list page */
#news-page-nav {
	text-align: right;
}

#news-page-nav a.thispage {
	color: #959595;
}

#news-list .thumbnail-style {
	height: 500px;
	position: relative;
}

#news-list .thumbnail-style .btn-u {
	position: absolute;
	left: 7px;
	bottom: 7px;
}

/* news inner */
#news-gallery-photo a.imgzoom {
	margin: 5px 0;
	display: block
}

.cube-portfolio .link-captions li i {
	font-size: 14px !important;
}

#news-page-detail h3 {
	color: #464646;
	font-size: 24px;
}

#news-page-detail time {
	color: #898989;
	font-size: 18px;
}



/* search page  */
#search-page .s-results .inner-results img {
	width: 145px;
}

#top-search-box .results-number {
	font-weight: bold;
	color: #2c2c2c
}

#top-search-box .results-option {
	font-weight: bold;
	color: #2c2c2c
}

.search-block-v2 {
	background: #48c2c6 !important;
	color: #fff !important
}

.search-block-v2 h2 {
	color: #fff !important;
	font-size: 32px;
}

.form-control {
	font-size: 20px;
}

.search-block-v2 .btn-u {
	background: #2a7173 !important;
	line-height: 1em;
}

.search-block-v2 .btn-u i {
	font-size: 15px !important;
}

.search-block-v2 .btn-u:hover,
.search-block-v2 .btn-u:focus,
.search-block-v2 .btn-u:active,
.search-block-v2 .btn-u.active,
.search-block-v2 .open .dropdown-toggle.btn-u {
	background: #26bac8 !important
}

.search-block-v2 {
	padding: 40px 0 40px;
}

/* service page  */
#service-icon3 {
	margin-bottom: 50px;
}

#service-icon3 .heading-sm {
	font-size: 26px;
	color: #464646;
	min-height: 50px
}

#service-icon4 .heading-sm {
	font-size: 26px;
}

/* service page 2 */
#icon-home-box.service-icon-set .heading-sm {
	padding: 20px 0;
}

#icon-home-box.service-icon-set h2.heading-sm {
	font-size: 46px;
	height: 100px;
}

#other-service-page {
	margin: 50px 0;
}

#other-service-page .service-block img {
	max-height: 120px
}

#other-service-page .heading-sm {
	height: 50px;
}

#other-service-page .md-margin-bottom-40 {
	margin-bottom: 30px
}

/* service inside */
#tb-1 tr th {
	background: #33cccc;
	color: #fff;
	font-size: 32px;
	text-align: center
}

#tb-1 td {
	font-size: 18px;
}

#tbline th {
	font-size: 12px !important;
	height: 20px;
	overflow: hidden
}

#text-bt-inside-page {
	margin: 30px 0;
}

#text-bt-inside-page h3 {
	font-size: 30px;
	color: #464646;
	line-height: 1.2em;
}

#text-bt-inside-page p {
	font-size: 22px;
}

@media (max-width : 1199px) {
	#icon-home-box h2.heading-sm {
		font-size: 16px
	}

	#icon-home-box .heading-sm img {
		width: 40px
	}

	body.header-fixed-space,
	body.header-fixed-space-v2 {
		padding-top: 0;
	}

	#icon-home-box.service-icon-set h2.heading-sm {
		font-size: 25px;
	}
}

@media (min-width : 992px) {}

@media (max-width : 991px) {

	#icon-home-box .col-md-3,
	#icon-home-box .col-md-4 {
		border-right: 0;
	}

	#icon-home-box .heading-sm {
		border-bottom: 1px solid #41a7a1;
	}

	#contact-bottom {
		border-right: 0;
	}

	#top-header {
		position: relative;
		bottom: 0px;
		/*
	    left: 50%;
	    margin-left: -35%;
	    */
	}

	.navbar {
		position: relative;
		top: 0px;
		width: 100% !important;
		background: #fff !important;
	}

	.navbar-brand {
		height: 60px !important;
		padding: 0 15px !important;
		display: flex !important;
		align-items: center;
	}
}

@media (max-width : 767px) {
	.ms-skin-black-2 .ms-bullets.ms-dir-h {
		display: none
	}

	#news-list .thumbnail-style {
		height: auto;
		position: relative;
	}

	#news-list .thumbnail-style .btn-u {
		position: relative;
		left: inherit;
		bottom: inherit;
	}
}

@media (min-width : 768px) {
	.navbar-nav {
		float: right;
		margin: 0;
	}
}

@media (max-width :575px) {
	#icon-home-box .col-xs-6 {
		width: 100% !important;
	}

	#top-header {
		position: relative;
		bottom: 0px;
		left: 0;
		margin-left: 0;
	}

}

/* News Cards Flex Layout Optimization */
.box {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}

.news-item-col {
	display: flex;
	padding: 0 10px 20px 10px !important;
}

@media (max-width: 767px) {
	.news-item-col {
		padding: 0 10px 15px 10px !important;
	}
}

.news-card {
	display: flex;
	flex-direction: column;
	height: 100% !important;
	width: 100%;
	border-radius: 12px;
	background-color: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	border: 1px solid rgba(0, 0, 0, 0.04) !important;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.news-card .thumbnail-img img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.news-card:hover .thumbnail-img img {
	transform: scale(1.03);
}

.news-card .postinfo {
	padding: 12px 15px 0 !important;
	border-bottom: 0px !important;
	margin: 0 !important;
	font-size: 0.95rem !important;
	color: #64748b;
}

.news-card .caption {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 10px 15px 15px 15px !important;
}

.news-card .caption h3 {
	font-size: 1.15rem !important;
	line-height: 1.4;
	margin-top: 5px;
	margin-bottom: 8px;
	font-weight: 600;
}

.news-card .caption h3 a {
	color: #1e293b;
	text-decoration: none;
}

.news-card .caption h3 a:hover {
	color: #0ea5e9;
}

.news-card .caption p {
	color: #475569;
	font-size: 16px !important;
	line-height: 1.6;
	margin-bottom: 12px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex-grow: 1;
}

.news-card .btn-wrap .btn-u {
	font-size: 0.9rem !important;
}

.news-card .btn-wrap {
	margin-top: auto;
}

/* Facebook wrapper */
.fb-wrapper {
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	height: 0;
}

.fb-wrapper iframe {
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	position: absolute;
}

._2p3a {
	width: 100% !important;
}

/* Lazy-load Facebook iframe placeholder */
.fb-lazy-placeholder {
	background: #f0f0f0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 400px;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.3s ease;
}

.fb-lazy-placeholder:hover {
	background: #e0e0e0;
}

.fb-lazy-placeholder span {
	color: #666;
	font-size: 14px;
	text-align: center;
}

.fb-lazy-placeholder i {
	font-size: 32px;
	color: #1877f2;
	display: block;
	margin-bottom: 8px;
}

/* Dean Card Styles */
.dean-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background: #fff;
	border: 1px solid #ebebeb;
}

.dean-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
}

.dean-image-container {
	overflow: hidden;
	background: #f8f9fa;
}

.dean-image-container img {
	transition: transform 0.5s ease;
	object-fit: cover;
	height: 380px;
}

.dean-card:hover .dean-image-container img {
	transform: scale(1.05);
}

.dean-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.01));
}

.dean-info h5 {
	color: #333;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	margin-bottom: 5px !important;
}

.dean-info p {
	font-size: 1.1rem !important;
	font-style: italic;
	color: #666 !important;
}

.dean-contact span {
	font-size: 1.15rem !important;
	font-weight: 500;
}

.dean-contact .btn {
	font-size: 1.1rem !important;
	padding: 10px 30px !important;
	transition: all 0.3s ease;
}

/* Facebook Modern Placeholder */
.fb-modern-placeholder {
	background: linear-gradient(135deg, #1877f2 0%, #0c5dc7 100%);
	color: white;
	padding: 25px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 8px 20px rgba(24, 119, 242, 0.2);
}

.fb-modern-placeholder:hover {
	transform: scale(1.02);
	box-shadow: 0 12px 25px rgba(24, 119, 242, 0.3);
}

.fb-icon-circle {
	width: 60px;
	height: 60px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	margin-right: 20px;
}

.fb-text-content {
	display: flex;
	flex-direction: column;
}

.fb-title {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.2;
}

.fb-subtitle {
	font-size: 1.1rem;
	opacity: 0.95;
}

/* --- Expand Container Width --- */
@media (min-width: 1400px) {
	.container {
		width: 1380px !important;
		max-width: 98% !important;
	}
}

@media (min-width: 1600px) {
	.container {
		width: 1550px !important;
	}
}

/* Ensure images and elements adapt */
.img-responsive,
.img-fluid {
	width: 100%;
	height: auto;
}

.header-v6 .navbar-nav > li > a {
	font-size: 16px !important;
}
.header-v6 .dropdown-menu li a {
	font-size: 16px !important;
}

/* Fix footer text colors overridden by body text color */
#footer p, 
#footer .foot-info p,
#footer .footer-info p {
	color: #e2e8f0;
}
#footer a {
	color: #f8f9fa;
}
#footer a:hover {
	color: #38bdf8;
}

/* Prevent right-most main dropdown menus from overflowing the screen */
.header-v6 .navbar-nav > li:nth-last-child(-n+2) > .dropdown-menu {
	left: auto;
	right: 0;
}

/* Force level-3 submenus of the right-most main menus to open to the left */
.header-v6 .navbar-nav > li:nth-last-child(-n+4) .dropdown-submenu > .dropdown-menu {
	left: auto !important;
	right: 100% !important;
	margin-right: -1px;
}

/* Make mobile menu float over content instead of pushing it down */
@media (max-width: 991px) {
	/* Ensure the navbar wrapper is the reference point for absolute positioning */
	.header-v6 .navbar.mega-menu {
		position: relative;
	}
	
	/* Apply absolute positioning to both the open state and the animating state */
	.header-v6 .navbar-collapse.in,
	.header-v6 .navbar-collapse.collapsing {
		position: absolute !important;
		top: 100%;
		left: 15px; /* Align with container padding */
		right: 15px;
		z-index: 9999;
		background-color: #ffffff;
		box-shadow: 0 10px 25px rgba(0,0,0,0.15);
		border-top: 1px solid #eee;
	}
}