/**
* Theme Name:     Hiroshi Lord
* Author:         Hiroshi Lord
* Template:       flatsome
* Description:    Theme Build by Hiroshi Lord
* Version:        2025
*/
body {
	font-family: 'Neurial Grotesk', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Neurial Grotesk', sans-serif;
	font-weight: 700;

	span {
		font-weight: 700;
	}
}

p,
span,
li,
a {
	font-family: 'Neurial Grotesk', sans-serif;
	font-weight: 400;
}

/* DEFAULT NO BORDER AND LINE-THROUGH */
.section-title-center b {
	opacity: 0;
}

.section-title-normal {
	border-bottom: none;
}

.section-title-normal span {
	border-bottom: none;
}

.text-cap {
	span {
		text-transform: capitalize;
	}
}

.border-radius {
	border-radius: 8px;
	overflow: hidden;

	img {
		border-radius: 8px;
	}
}

.sec-footer {
	.custom-menu-white .ux-menu-link__text {
		color: #ffff !important;
		text-align: left !important;
	}
}

.text-overflow {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	/* Giới hạn tối đa 2 dòng */
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	/* Hiện dấu ... nếu vượt quá */
	white-space: normal;
	/* Cho phép xuống dòng */

	a {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		/* Giới hạn tối đa 2 dòng */
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		/* Hiện dấu ... nếu vượt quá */
		white-space: normal;
		/* Cho phép xuống dòng */
	}
}

.d-none {
	display: none !important;
}

.btn-custom {
	border-radius: 16px !important;
	border: 2px solid #FFF !important;
	background: var(--fs-color-primary) !important;
	padding: 8px 32px !important;
	overflow: hidden !important;
	box-shadow: none !important;

	&:hover {
		box-shadow: 0 4px 12px 0 rgba(236, 32, 39, 0.60) !important;

	}

	i {
		&::before {
			content: '\f061';
			font-family: 'Font Awesome 7 Free';
			font-weight: 600;
		}
	}
}

.nav-breadcrumb-wrap {
	background-color: #F2F2F2;

	.custom-breadcrumb {
		width: 80%;
		margin: 0 auto;
		padding: 12px 20px;
		display: flex;
		align-items: center;
		gap: 8px;

		a {
			color: #303030;
			font-size: 14px;
			font-weight: 400;
			text-decoration: none;

			&:hover {
				color: var(--fs-color-primary);
			}
		}

		.breadcrumb-separator {
			color: #999;
			font-size: 14px;
		}

		.breadcrumb-current {
			color: #999;
			font-size: 14px;
		}

		@media screen and (max-width: 768px) {
			width: 100%;
			padding: 8px 15px;
			display: inline-block !important;
		}
	}
}

/* END */
.header {
	.header-wrapper {
		.header-main {
			.header-nav-main {
				justify-content: center !important;

				li {
					a {
						font-weight: 700;
					}
				}
			}
		}
	}
}


.post-item {

	.col-inner {
		padding: 4px 4px 0 4px;
		border-radius: 24px;
		border: 1px solid #ECECEC;
		background: #FFF;
		box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.10);
		overflow: hidden;
		height: 100%;

		.box {
			.box-image {
				border-radius: 20px;
				overflow: hidden;
			}

			.box-text {
				padding: 16px 8px 0px 8px;

				.post-title {
					a {
						display: -webkit-box;
						-webkit-line-clamp: 2;
						-webkit-box-orient: vertical;
						overflow: hidden;
						text-overflow: ellipsis;
						white-space: normal;
						color: #303030;
						font-size: 18px;
						font-style: normal;
						font-weight: 700;
						line-height: 130%;
					}
				}

				.is-divider {
					display: none;
				}

				p {
					margin-top: 16px;
					color: #303030;
					text-align: center;
					font-size: 16px;
					margin-bottom: 32px;
					font-style: normal;
					font-weight: 400;
					line-height: 130%;
					display: -webkit-box;
					-webkit-line-clamp: 2;
					-webkit-box-orient: vertical;
					overflow: hidden;
					text-overflow: ellipsis;
					white-space: normal;
/* 					text-align:justify; */
				}
			}
		}
	}
}

#post-list {
	.post-item {
		.box-image {
			.image-cover {
				padding-top: 75% !important;
			}
		}

		.from_the_blog_comments {
			display: none;
		}
	}
}

.sec-about-home {
	.row {
		background-color: #f6f6f6;
		padding: 20px;
		border-radius: 12px;
		overflow: hidden;

		.btn-custom {
			padding: 6px 32px !important;
		}

		h3 {
			font-size: 32px;
			font-style: normal;
			font-weight: 700;
			line-height: 130%;
			color: #303030;
			margin-bottom: 16px;

			span {
				font-weight: 700;
			}
		}

		p {
			margin-top: 10px;
			text-align:justify;
		}
	}
}

.custom-icon-box {
	.col-inner {
		padding: 20px;
		border-radius: 12px;
		border: 1px solid #ECECEC;
		background: #FFF;
		box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.10);
		overflow: hidden;
		height: 100%;

		.icon-box {

			.icon-box-text {
				padding: 16px 8px 0px 8px;

				h3 {
					font-size: 18px;
					font-style: normal;
					font-weight: 700;
					line-height: 130%;
					color: #303030;

					span {
						font-weight: 700;
					}
				}

				p {
					margin-top: 16px;
					color: #303030;
					text-align: center;
					font-size: 16px;
					margin-bottom: 32px;
					font-style: normal;
					font-weight: 400;
					line-height: 130%;
					text-align:justify;
				}
			}

		}

		&:hover {
			background-color: var(--fs-color-primary);
			box-shadow: 0 4px 12px 0 rgba(236, 32, 39, 0.60) !important;

			img {
				filter: brightness(0) invert(1);
			}

			.icon-box-text {

				h3,
				p {
					color: #FFF;
				}
			}
		}
	}
}

.sec-doc-home {
	.section-content {
		&>.row {
			background-color: #f6f6f6;
			padding: 20px;
			border-radius: 12px;
			overflow: hidden;

			.btn-custom {
				padding: 6px 32px !important;
			}


			.custom-text-doc {
				h3 {
					font-size: 32px;
					font-style: normal;
					font-weight: 700;
					line-height: 130%;
					color: #303030;
					margin-bottom: 16px;

					span {
						font-weight: 700;
					}
				}

				p {
					margin-top: 10px;
				}
			}

			.tai-lieu-item {
				.col-inner {
					padding: 4px 4px 20px 4px;
					border-radius: 24px;
					border: 1px solid #ECECEC;
					background: #e5e5e5;
					box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.10);
					overflow: hidden;
					height: 280px;

					a {
						display: flex;
						flex-direction: column;
						height: 100%;

						.tai-lieu-thumb {
							border-top-left-radius: 20px;
							border-top-right-radius: 20px;
							overflow: hidden;

							img {
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						}

						.tai-lieu-title {
							font-size: 16px;
							font-weight: 700;
							color: #303030;
							margin-top: 16px;
							display: -webkit-box;
							-webkit-line-clamp: 2;
							-webkit-box-orient: vertical;
							overflow: hidden;
							text-overflow: ellipsis;
							white-space: normal;

							&:hover {
								color: var(--fs-color-primary);
							}
						}

						.tai-lieu-desc {
							margin-top: 8px;
							color: #000;
							font-size: 14px;
							font-weight: 400;
							display: -webkit-box;
							-webkit-line-clamp: 2;
							-webkit-box-orient: vertical;
							overflow: hidden;
							text-overflow: ellipsis;
							white-space: normal;
						}
					}

					&:hover {
						background-color: #ccc;
						box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;

					}
				}
			}
		}
	}


}

.blog-archive {
	padding-top: 0;
	.nav-breadcrumb-wrap{
		display: none;
	}
	.page-title {
		margin-top: 30px;
		span {
			font-size: 32px;
			font-style: normal;
			font-weight: 700;
			line-height: 130%;
			color: #000;
		}
	}

	.large-9 {
		border-left: none !important;
	}
}

.blog-single {
	padding-top: 0;

	.row-large {
		padding-top: 30px;

		.large-9 {
			border-left: none !important;

			.is-divider {
				display: none;
			}
		}
	}
}

/* Wrapper */
#tai-lieu-wrapper {
	width: 100%;

	/* List */
	.tai-lieu-list {
		border-top: 1px solid #00a99d;

		/* Row */
		.tai-lieu-row {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 15px 0;
			border-bottom: 1px solid #00a99d;
			transition: 0.3s;

			/* Hover nhẹ */
			&:hover {
				background: #f9f9f9;
			}

			/* Left */
			.tai-lieu-left {
				display: flex;
				align-items: center;
				gap: 15px;

				/* Icon */
				.tai-lieu-icon {
					/* width: 42px;
					height: 42px;
					background: var(--fs-color-primary); */
					color: #fff;
					display: flex;
					align-items: center;
					justify-content: center;
					border-radius: 8px;
					font-size: 18px;
					flex-shrink: 0;

					i {
						font-size: 50px;
						color: #0a91cf;
					}
				}

				/* Info */
				.tai-lieu-title {
					a {
						font-weight: 600;
						color: #000;
						text-decoration: none;
						display: block;
						margin-bottom: 3px;
						font-size: 16px;

						&:hover {
							color: var(--fs-color-primary);
							cursor: pointer;
						}
					}
				}

				.tai-lieu-date {
					font-size: 12px;
					color: #999;
				}

			}

			/* Right */
			.tai-lieu-right {
				flex-shrink: 0;

				/* Button download */
				.tai-lieu-download {
					border: 1px solid var(--fs-color-primary);
					color: var(--fs-color-primary);
					padding: 6px 14px;
					border-radius: 6px;
					text-decoration: none;
					font-size: 13px;
					transition: 0.3s;
					display: inline-block;

					&:hover {
						background: var(--fs-color-primary);
						color: #fff;
					}
				}
			}

			/* Responsive */
			@media screen and (max-width: 768px) {

				flex-direction: column;
				align-items: flex-start !important;
				gap: 10px;


				.tai-lieu-right {
					width: 100%;
				}

				.tai-lieu-download {
					width: 100%;
					text-align: center;
				}
			}
		}
	}
}

/* Pagination */
.tai-lieu-pagination {
	margin-top: 20px;
	text-align: center;

	a {
		display: inline-block;
		padding: 6px 12px;
		margin: 0 4px;
		border: 1px solid #ddd;
		color: #333;
		text-decoration: none;
		border-radius: 4px;
		transition: 0.2s;

		&:hover {
			background: var(--fs-color-primary);
			color: #fff;
			border-color: var(--fs-color-primary);
		}

		&.active {
			background: var(--fs-color-primary);
			color: #fff;
			border-color: var(--fs-color-primary);
		}
	}
}



.tai-lieu-single {
	h1 {
		font-size: 26px;
		line-height: 1.5em;
		font-weight: 500;
		padding-bottom: 15px;
		text-align: left;
		border-bottom: 2px solid #eee;
	}

	.tai-lieu-meta {
		font-size: 16px;
		color: #000;
		margin-top: 15px;
	}

	.tai-lieu-excerpt {
		margin-bottom: 30px;
		margin-top: 5px;
	}

	.tai-lieu-download-wrap {
		margin-top: 20px;

		.tai-lieu-download {
			background-color: var(--fs-color-primary);
			color: #fff;
			padding: 10px 20px;
			border-radius: 6px;
			text-decoration: none;
			font-size: 16px;
		}
	}
}

.tai-lieu-related {
	margin-top: 50px;

	.related-title {
		background: #eee;
		padding: 10px 15px;
		font-weight: 700;
		color: #b22222;
		text-transform: uppercase;
	}

	.related-list {
		list-style: none;
		padding: 10px 0;
		margin: 0;

		.related-item {
			margin-bottom: 8px;

			a {
				text-decoration: none;
				color: #000;
				font-size: 16px;

				&:hover {
					color: var(--fs-color-primary);
				}
			}

			.icon {
				margin-right: 6px;
			}
		}
	}
}

.form-search-single {
	width: 80%;
	margin: 30px auto;
	display: flex;
	/* gap: 10px; */
	border-radius: 8px;
	overflow: hidden;

	input {
		flex: 1;
		padding: 10px 15px;
		border: 1px solid #ddd;
		border-radius: 6px 0 0 6px;
		font-size: 16px;
		outline: none;
		margin-bottom: 0;
		border-top-left-radius: 8px;
		border-bottom-left-radius: 8px;
		height: 45px;

		&:focus {
			border-color: var(--fs-color-primary);
		}

	}

	button {
		margin-bottom: 0 !important;
	}
}

.search {
	.page-numbers {
		display: flex;
		align-items: center;
		justify-content: center;
		list-style: none;
		gap: 10px;

		li {
			margin-bottom: 0 !important;

			a {
				border: 1px solid var(--fs-color-primary);
				padding: 6px 12px;
				border-radius: 4px;
				color: var(--fs-color-primary);
				text-decoration: none;
				font-size: 14px;

				&:hover {
					color: #fff;
					background-color: var(--fs-color-primary);
				}
			}

			.current {
				background-color: var(--fs-color-primary);
				color: #fff;
				padding: 6px 12px;
				border-radius: 4px;
				border-color: var(--fs-color-primary);
			}
		}
	}
}
.header-language-dropdown {
	.header-language-dropdown__link {
		gap:5px;
		align-items: center;
		.image-icon {
			/* height: 11px; */
		}
	}
}