/*
Theme Name: ducphat
Description: Giao dien website ducphat
Theme URI: https://ducphat.updata.top/
Author URI: https://vutruso.com
Template: flatsome
Version: 4.3
*/

.flickity-enabled {
	display: block;
	overflow-x: visible;
}

body {
	font-size: 16px !important;
}

b,
strong {
	font-weight: 700;
}

.wpcf7-spinner {
	display: none;
}

.footer-wrapper p {
	margin-bottom: 0.3em;
}

.nav-previous,
.nav-next {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 90%;
}

.absolute-footer {
	padding: 10px 0 10px;
}

.form-flat input:not([type="submit"]),
.form-flat select,
.form-flat textarea {
	background: #fff !important;
}

.home .icon-angle-right {
	position: relative;
}

/* Header */
.logo h1 {
	margin-bottom: 0;
}

.form-flat input:not([type="submit"]),
.form-flat select,
.form-flat textarea {
	border-color: #e9e3e5 !important;
}

.header-search-form-wrapper .icon-search {
	color: #fff;
}

.nav>li>a,
.mobile-sidebar-levels-2 .nav>li>ul>li>a {
	font-weight: 400;
	font-style: normal;
}

.stuck .header-vertical-menu__opener {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}

.nav-left .header-block {
	width: 90% !important;
	float: left;
}

.header-block h3 {
	font-size: 12px;
}

.header-block {
	float: left;
	width: 200px;
}

.searchform-wrapper {
	width: 100%;
	border-radius: 9px;
	outline: none;
}

.searchform .button.icon i {
	font-size: 1.2em;
	color: #ef8845;
}

.searchform .button.icon {
	height: 3.07em;
	padding: 0px 15px;
	background: #ffff;
}

.ux-search-box form {
	background: #ffffff;
	border: 1px solid #e5e5e5;
	box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
	border-radius: 6px;
}

.ux-search-box form input {
	border-radius: 5px 0 0 5px;
	color: #333;
	font-size: 0.97em;
	height: 2.07em;
	max-width: 100%;
	padding: 0 0.75em;
	box-shadow: inset 0 0px 0px rgba(0, 0, 0, 0);
	transition: color 0.3s, border 0.3s, background 0.3s, opacity 0.3s;
	vertical-align: middle;
	width: 100%;
	border: none;
}

.header-block-block-1 .icon-box {
	padding: 5px 10px 5px 10px;
}

.header-block-block-1 .icon-box a {
	color: #fff;
}

.header-block-block-1 {
	float: left;
}


/*Home project*/
.home-section-project {
	background: #ED132A;
	padding: 56px 0 70px;
}

.home-section-project .home-project-title {
	font-style: normal;
	font-weight: 700;
	font-size: 46px;
	line-height: 56px;
	color: #fff;
	padding-bottom: 25px;
	position: relative;
	text-align: center;
}

.home-section-project .home-project-title:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 80px;
	height: 10px;
	margin-left: -40px;
	background: #fff;
}

.home-section-project .home-project-items {
	padding-top: 0px;
	padding-bottom: 0px;
}

.home-section-project .home-project-items .home-project-item {
	position: relative;
	display: block;
	overflow: hidden;
}

.home-section-project .home-project-items .home-project-item .item-image img {
	width: 100%;
	height: auto;
	transition: all .5s ease-in-out;
	border-radius: 8px;
}

.home-section-project .home-project-items .home-project-item:hover .item-image img {
	scale: 1.15;
}

.home-section-project .home-project-items .home-project-item .item-box {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, #ED132A 9.5%, rgba(19, 73, 156, 0.00) 100%);
	z-index: 2;
	display: flex;
	flex-direction: column;
	transition: all .5s ease-in-out;
	top: calc(100% - 200px);
}

.home-section-project .home-project-items .home-project-item .item-title {
	color: #FFF;
	text-align: center;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	padding: 90px 60px 25px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	min-height: 200px;
}

.home-section-project .home-project-items .home-project-item:hover .item-box {
	top: 0;
}

.home-section-project .home-project-items .home-project-item:hover .item-title {
	padding-top: 0;
	padding-bottom: 75px;
}

.home-section-project .home-project-items .home-project-item .item-hover {
	opacity: 0;
	position: absolute;
	top: 100%;
	bottom: 0;
	left: 0;
	right: 0;
	transition: all 0.55s ease-in-out;
	text-align: center;
	color: #ffffff;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	z-index: 2;
	padding: 0 30px;
}

.home-section-project .home-project-items .home-project-item:hover .item-hover {
	opacity: 1;
	top: 50%;
}

.home-section-project .home-project-items .home-project-item .item-more {
	margin-top: 10px;
}

@media screen and (max-width: 992px) {
	.page-layout-home .main .container {
		width: 100%;
		max-width: 100%;
	}

	.home-section-project {
		padding: 30px 0;
	}

	.home-section-project .home-project-title {
		font-size: 28px;
		line-height: 32px;
		padding-bottom: 14px;
	}

	.home-section-project .home-project-title:after {
		height: 5px;
	}

	.home-section-project .home-project-items {
		padding-top: 30px;
		padding-bottom: 0;
	}
}

.home-section-project {
	position: relative;
}

.home-section-project:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -13px;
	height: 13px;
	background: url(https://ducphat.updata.top/wp-content/uploads/2025/06/project-icon-red.svg) no-repeat bottom;
	background-size: contain;
}

.home-project-items .row .col-md-4 {
	padding: 0;
}

.home-project-seemore {
	text-align: center;
}

.button-new-blue {
	background: #ED132A;
	border: solid 1px #FFF;
	min-width: 160px;
	padding: 5px 16px;
	color: #FFF;
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	transition: all 0.25s ease-in-out;
}

.button-new-blue:hover {
	background: #ffffff;
	color: #ED132A;
}


/* Generate */
.row-collapse .badge-circle {
	margin-left: 0;
	font-size: 10px;
}

.boanh .img-inner {
	border-radius: 10px;
}

.breadcrumbs {
	font-weight: 400;
}

.section-title-normal span {
	border-bottom: none;
	padding: 3px;
	margin-right: 0;
}

.section-title-normal {
	border-bottom: none;
	width: auto;
	padding: 3px 10px;
	font-size: 18px;
	position: relative;
	margin: 0;
	float: left;
}

.section-title a {
	display: block;
	font-size: 0.66em;
	margin-left: auto;
	padding-left: 15px;
	font-family: sans-serif;
	font-weight: normal;
}

.title-wrapper {
	font-size: 16px;
}

.large-columns-1 {
	margin-top: 20px;
}

/* Sidebar */
.widget .is-divider {
	margin-top: 3px;
	background: transparent;
}

.blog-single .large-8,
.post-sidebar {
	padding: 0 15px 15px !important;
}

.post-sidebar .badge {
	height: 4.8em;
	width: 4.8em;
}

/* Archive */
.box.box-normal.box-text-bottom.box-blog-post.has-hover {
	background: #ffffff;
	box-shadow: 0px 3px 7px -3px rgba(0, 0, 0, 0.3),
		0px 6px 12px -2px rgba(50, 50, 93, 0.25);
	border-radius: 6px;
	overflow: hidden;
}

.post-item .box-text {
	padding: 10px 10px 10px 10px;
}

.col-social .icon-box-left {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}

.archive .page-title {
	text-align: left;
	padding-left: 1%;
}

.category .large-8 {
	padding: 0 43px 30px;
}

.archive .text-center {
	margin-bottom: 0;
	padding-bottom: 15px;
}

/*Single post*/

.single-post .entry-header-text-top {
	padding-bottom: 0;
	margin-bottom: 0;
}

.single-post .entry-content {
	padding-top: 15px;
}

.single-post .entry-meta {
	margin-bottom: 12px;
}

.single-post .posted-on {
	margin-right: 10px;
}

#comments .comment-respond {
	background-color: rgb(5 161 168 / 4%);
	border-radius: 8px;
}

.comment-respond input[type="email"],
.comment-respond input[type="number"],
.comment-respond input[type="search"],
.comment-respond input[type="tel"],
.comment-respond input[type="text"],
.comment-respond input[type="url"],
.comment-respond textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	box-shadow: none;
	border-radius: 4px;
}

.article-inner.has-shadow .entry-header-text-top {
	padding-top: 0;
}

#comments .comment-respond {
	padding: 15px 0 0;
}

.single-post .slider-nav-outside .flickity-prev-next-button.previous {
	right: 97%;
}

.single-post .slider-nav-outside .flickity-prev-next-button.next {
	left: 97%;
}

.row-divided>.col+.col:not(.large-12) {
	border-left: 1px solid #37b3b914;
}

.icon-box-img+.icon-box-text {
	padding-left: 0.5em;
}

#comments {
	margin-bottom: 0;
	padding-bottom: 0;
}

.badge-circle .badge-inner {
	background: transparent;
}

/*404*/
.error-404 {
	padding: 0;
	margin: 0;
}

.error-404 .medium-3 {
	max-width: 100%;
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	text-align: center;
	font-size: 45px!important;
	padding: 0;
	margin: 0;
}

.error-404 .header-font:after {
	content: "404";
	color: #e9ebe7;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(calc(-50% + 22px),14px);
	-ms-transform: translate(calc(-50% + 22px),14px);
	transform: translate(calc(-50% + 22px),14px);
	z-index: 0;
}

.error-404 .medium-9 {
	max-width: 100%;
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	text-align: center;
}

.error-404 .page-content {
	width: 766px;
	text-align: center;
	display: block;
	margin: 0 auto;
}
/*end 404*/


.row-uudiem img {
	border-radius: 12px;
}

.title-content {
	margin-left: 0;
	text-align: left;
}

.featured-title .page-title-inner {
	padding-bottom: 20px;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: center;
	align-content: center;
}

.dark .breadcrumbs {
	color: #fff;
	display: block;
	clear: both;
}

.featured-title .page-title-inner .text-center {
	text-align: left;
	margin: 0;
}

.vts-footer .ux-menu-link__link {
	min-height: 1em;
	padding-bottom: .3em;
	padding-top: .3em;
}

.wpcf7 form .wpcf7-response-output {
	margin-top: 0;
}

.home .blog-post-inner .post-title a {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.home .blog-post-inner .post-title {
	min-height: 44px;
}

.time-post {
	margin-bottom: 5px;
}

.xo {
	padding: 0 6px;
	color: rgba(215, 210, 210, .75);
	height: 5px;
	position: relative;
}

.back-to-top {
	background-color: #ec1b2e !important;
	z-index: 100;
	border: none !important;
}

.back-to-top:hover {
	color: #fff;
	background-color: #ec1b2e !important;
}

.why .ux-menu.stack {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}

.back-to-top i {
	color: #fff;
}

.back-to-top {
	right: 8px;
}

.single-post .author-box {
	border-radius: 12px;
	border: 1px solid #ccc;
	margin-top: 0;
	padding-bottom: 0;
	padding-top: 6px;
	padding: 10px;
	border-bottom: none;
}

.side-nav-categories .block-title {
	color: #fff;
	font-size: 14px;
	margin: 0;
	padding: 11px 15px;
	font-weight: normal;
	background-color: #1d85e6;
	letter-spacing: 1px;
}

.side-nav-categories .block-title h2 {
	color: #fff;
	margin: 0;
	font-size: 14px;
	display: inline;
}

ul#magicat li span a {
	color: #333;
	font-weight: bold;
}

.box-content.box-category {
	border: 1px solid #ddd;
	padding: 15px;
	border-radius: 0 0 14px 14px;
	padding-top: 0;
	padding-bottom: 0;
}

#magicat li {
	list-style: none;
	display: block;
	list-style-type: none;
	position: relative;
	width: 100% !important;
	box-shadow: 0 1px 0 #ddd, 0 2px 0 #fff;
	padding-bottom: 2px;
	margin-bottom: 3px;
	margin-top: 0;
	padding-top: 5px;
}

#magicat li:last-child {
	border: none;
	box-shadow: none !important;
}

.side-nav-categories {
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 15px;
}

.box-category .active ul {
	margin-left: 5%;
}

.box-category .active ul li {
	padding: 0 !important;
	margin: 0 !important;
	margin-bottom: 4px !important;
	box-shadow: 0 1px 0 rgba(221, 221, 221, .76), 0 2px 0 #fff !important;
}

.box-category .active ul li a {
	font-weight: normal !important;
}

.single-post #page-breadcrumbs {
	padding-left: 0 !important;
}

.header-top {
	border-bottom: 1px solid rgba(204, 204, 204, .53);
}

.row-slider {
	position: relative !important;
	overflow: visible !important;
}

.slider-nav-dots-dashes-spaced .flickity-page-dots .dot {
	width: 16px;
}

.flickity-button {
	display: none !important;
}

.box.box-overlay {
	position: relative;
	overflow: hidden;
}

.box-overlay .box-text {
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .5);
	cursor: pointer;
	position: absolute;
	z-index: 99;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
	opacity: .6;
	transition: all .5s;
	transform: translateY(41px) !important;
	max-height: 36px !important;
	padding-top: 4px;
}

.box-overlay .box-text p:first-child {
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	padding: 0;
	margin: 0;
}

.box-overlay .box-text p:last-child {
	font-size: 12px;
}

.box.box-overlay:hover .box-text {
	transform: translateY(0px) !important;
}

.home .time-post span:nth-child(2), .home .posted {
	display: none;
}

.nav-dropdown.nav-dropdown-default>li>a {
	color: #333;
}

.nav-dropdown {
	min-width: 460px;
}

.nav-dropdown-has-shadow .nav-dropdown {
	box-shadow: 0 0 20px -5px;
}

.nav-dropdown-default {
	padding: 3px;
}

.mfp-content input {
	min-height: 36px;
	border-left: 2px solid #1d85e6;
	margin-bottom: 10px;
	background: #c7edcc;
}

.lightbox-content {
	border-radius: 8px;
	padding: 10px 15px !important;
	padding-top: 0 !important;
}

.mfp-content strong {
	text-align: center;
	text-transform: uppercase;
	font-size: 25px;
	margin-bottom: 15px;
	font-weight: 500;
	color: #1d85e6;
	float: left;
	width: 100%;
	padding-top: 10px;
}

.mfp-content input.wpcf7-submit {
	background: #1d85e6;
	margin-top: 0;
	color: #fff;
	border: none;
	padding: 2px 20px;
	display: block;
	width: 100%;
	text-transform: uppercase;
	font-weight: bold;
}

.wpcf7 form.invalid .wpcf7-response-output {
	margin-right: 0;
	margin-left: 0;
}

.mfp-close-btn-in .mfp-close {
	top: 5px !important;
	position: absolute;
	right: 4px;
	width: 30px;
	height: 30px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #272727;
	border-radius: 100%;
	opacity: 1;
	padding: 6px;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

:before, :after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.list-unstyled {
	padding-left: 0;
	list-style: none;
}

.list-inline {
	padding-left: 0;
	margin-left: -5px;
	list-style: none;
}

.list-inline>li {
	display: inline-block;
	padding-right: 5px;
	padding-left: 5px;
	margin-bottom: 0;
}

.top_bar .top_bar_content ul {
	margin-bottom: 5px;
}

.top_bar .top_bar_content ul li {
	color: #666;
}

.top_bar .top_bar_content ul li a {
	color: #666;
}

.top_bar .top_bar_content ul li a {
	font-size: 14px;
}

.top_bar .top_bar_content ul li a:hover {
	color: #1d85e6;
}

.top_bar .top_bar_content ul li img {
	margin-top: -2px;
	width: 20px;
	height: 20px;
}

ul.top_bar_ul_inline {
	display: inline-block;
}

.footer-note .text {
	max-width: 1170px !important;
	margin: 0 auto;
}

.footer-note .col-inner {
	padding: 20px 0 !important;
}

.vts-footer {
	padding-bottom: 0 !important;
}

.absolute-footer {
	display: none;
}

.vts-footer .icon-box-img img {
	width: 16px !important;
}

.vts-footer .icon-box-left .icon-box-img+.icon-box-text {
	padding-left: 2px;
}

.details-pro {
	width: 100%;
	float: left;
}

.details-pro .value {
	color: #1d85e6;
	font-weight: 600;
	font-size: 14px;
	clear: both;
}

.rank-math-breadcrumb a, .rank-math-breadcrumb span {
	font-weight: normal;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.phone-box {
		width: 48px;
		height: 48px;
		line-height: 48px;
		text-align: center;
		border-radius: 30px;
		display: inline-block;
		color: #fff;
		font-size: 18px;
	}

	.phone-box img {
		max-width: 25px;
		animation: play0 1.5s ease infinite;
	}

	.zalo-box, .fb-box {
		width: 48px;
		height: 48px;
		line-height: 47px;
		text-align: center;
		border-radius: 30px;
		display: inline-block;
		color: #fff;
		font-size: 18px;
	}

	.zalo-box img, .fb-box img {
		max-width: 33px;
		filter: hue-rotate(65deg);
	}

	.phone {
		margin-bottom: 10px;
	}

	.fix-phone {
		position: fixed;
		bottom: 65px;
		top: inherit !important;
		z-index: 999;
		right: 7px;
	}

	.fix-phone .bbh {
		display: inline-block;
		position: relative;
	}

	.phone-box, .zalo-box, .fb-box {
		background: linear-gradient(-61deg, #ed132a 0%, #ed132a 70%);
	}

	.bbh {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
	}

	.phone-box img {
		margin-left: 2px;
		margin-top: 1px;
	}
}

.phone img {
	margin-left: -2px;
	margin-top: -3px;
}

.phone-box, .zalo-box, .fb-box {
	background: #ed132a;
	padding: 10px;
}

.mobile {
	display: none;
}

.desktop {
	display: block;
}

.phone-box img {
	margin-left: 2px;
	margin-top: -3px;
}

@keyframes play0 { 0% { transform: rotate(0deg) scale(1) skew(1deg); } 10% { transform: rotate(-25deg) scale(1) skew(1deg); } 20% { transform: rotate(25deg) scale(1) skew(1deg); } 30% { transform: rotate(-25deg) scale(1) skew(1deg); } 40% { transform: rotate(25deg) scale(1) skew(1deg); } 50% { transform: rotate(0deg) scale(1) skew(1deg); } 100% { transform: rotate(0deg) scale(1) skew(1deg); } }

@media (max-width: 768px) {
	.phone {
		width: calc(100%/3);
		display: inline-block;
		float: left;
		text-align: center;
	}

	.phone img {
		max-height: 35px;
	}

	.fix-phone {
		overflow: hidden;
		position: fixed;
		bottom: 0;
		width: 100%;
		background: rgba(255, 255, 255, 0.9);
		padding: 8px 0;
		z-index: 998;
		top: inherit !important;
	}
}


/* Custom CSS Mobile */
@media (max-width: 549px) {
	.off-canvas .sidebar-menu {
		padding-top: 0;
	}

	.breadcrumbs {
		font-weight: 400;
		list-style-type: decimal;
		white-space: nowrap;
		display: block;
		height: 35px;
		overflow-x: scroll;
		background: transparent;
		padding-top: 10px;
		padding: 0 17px;
	}

	.header .flex-row {
		display: flex;
		align-items: center;
	}

	.icon-menu:before {
		color: #000000;
		opacity: 1;
	}

	.searchform-wrapper {
		font-size: 0.8rem;
	}

	.page-wrapper {
		padding-top: 10px;
	}

	.mobile {
		display: block;
	}

	.desktop {
		display: none;
	}

	.fb-box,.phone-box,.zalo-box {
		display: flex;
		flex-wrap: nowrap;
		align-content: center;
		justify-content: center;
		align-items: center;
	}

	.mfp-close-btn-in .mfp-close {
		top: -3px !important;
		right: -4px;
		border: none;
	}

	.off-canvas .nav-vertical>li>a {
		color: #000;
	}

	.footer-3 p, .footer-note .text {
		padding: 5px 15px;
	}

	.footer-3 {
		margin-bottom: 13%;
		padding: 10px;
	}

	table {
		width: 100% !important;
 /* Giữ chiều rộng 100% */
		overflow-x: auto;
 /* Thêm thanh cuộn ngang khi nội dung vượt quá */
		display: block;
 /* Quan trọng: chuyển table thành block để overflow hoạt động */;
	}

	td {
		padding: 5px;
	}
}