/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}

.entry-header .rank-math-breadcrumb {
    text-align:left;
}
.single-du_an .entry-title h1, .single-du_an .entry-header-text.text-center {
    text-align:left;
}
.single-du_an .entry-header-text.text-center .is-divider {
    margin:unset !important;
}
.single-du_an .entry-header .rank-math-breadcrumb p {
    margin-bottom:6px;
}
.dark .rank-math-breadcrumb * {
	color:#fff !important;
}
/* Ẩn ảnh từ thứ 7 trở đi khi chưa expand */
.row.large-columns-3.gallery-limit-6 .gallery-col:nth-child(n+7) {
    display: none;
}

/* Khi expand: hiển thị hết ảnh */
.row.large-columns-3.gallery-limit-6.expanded .gallery-col:nth-child(n+7) {
    display: block;
    animation: fadeIn 0.6s ease forwards;
}

/* Overlay +X trên ảnh thứ 6 */
.row.large-columns-3.gallery-limit-6.has-more .gallery-col:nth-child(6) .col-inner {
    position: relative;
}

.row.large-columns-3.gallery-limit-6.has-more .gallery-col:nth-child(6) .col-inner::after {
    content: attr(data-more);
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    font-size: 2.8rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    border-radius: inherit;
    transition: background 0.3s ease;
}

.row.large-columns-3.gallery-limit-6.has-more .gallery-col:nth-child(6) .col-inner::after:hover {
    background: rgba(0, 0, 0, 0.9);
}

/* Ẩn overlay khi đã expand */
.row.large-columns-3.gallery-limit-6.expanded .gallery-col:nth-child(6) .col-inner::after {
    display: none;
}

/* Nút "Xem thêm ảnh" khi có class .gallery-more */
.row.large-columns-3.gallery-more::after {
    content: "Xem thêm ảnh";
    display: block;
    width: fit-content;
    /* margin: 40px auto 0; */
    /* padding: 14px 40px; */
    background: var(--primary-color);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    border-radius: 50px;
    /* cursor: pointer; */
    transition: all 0.3s 
ease;
    /* clear: both; */
    position: absolute;
    right: 15px;
    width: 130px;
    height: 35px;
    line-height: 35px;
    top: -50px;
}

.gallery-more {
	    overflow: visible;
    position: relative;
}
.row.large-columns-3.gallery-more:hover::after {
    background: #333;
    transform: translateY(-4px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.15);
}

.row.large-columns-3.gallery-more.expanded::after {
    content: "Thu gọn";
    background: #666;
}

.row.large-columns-3.gallery-more.expanded:hover::after {
    background: #888;
}


/* Animation mở ảnh */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.related-projects > .row {
	padding-bottom:30px;
}
.related-projects .related-title {
	font-weight:bold;
	    font-size: 40px;
    font-weight: 700;
    text-transform: uppercase;
	color:black;
	padding-left:50px;
	margin-bottom:20px;
}
.project-header .rank-math-breadcrumb p {
	margin-bottom:7px;
}
.project-header {
	margin-top:40px;
}
.project-header h1 {
	font-size:28px;
	margin-bottom:5px;
}
.rank-math-breadcrumb a {
	color:#333;
	font-size:15px;
}
.rank-math-breadcrumb .last {
	font-weight:600;
	font-size:15px;
	color:var(--primary-color);
}
.mfp-bg.mfp-ready {
    opacity: 0.9;
}
.archive_filter a {
    color: #474747;
    border: 1px solid #999;
    text-align: center;
    padding: 10px;
    border-top: 1px solid #999;
    min-width: 210px;
    width: 210px;
    display: inline-block;
    transition: all 0.5s;
}
.archive_filter a:hover, .archive_filter a.active {
    background-color: var(--main);
    color: #fff;
    border:none;
}
.project-wrapper {
    margin-top: 70px;
}
.project-item .box-image *, .project-item  .box-image {
    border-radius: 0;
}
.vamtam-read-more-icon {
    z-index: 1;
    font-size: 22px;
    padding: 15px;
    background-color: #fff;
    transition: color .3s ease;
    display: flex;
    align-items: center;
}
.vamtam-read-more-icon img {
    width: 20px;
    height: 20px;
}
.elementor-post__read-more {
    transition: translate .7s ease,color .3s ease;
    height: 50px;
    background: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    transform-origin: center right;
    translate: 100% 0;
    transition: translate .7s ease,color .3s ease;
    font-size: 12px;
    padding: 0 20px;
    font-weight: 300;
}
.project-item:hover .elementor-post__read-more  {
    translate: 0;
}
.vamtam-read-more-wrap {
    overflow: visible;
    display: flex;
    flex-flow: row-reverse nowrap;
    justify-content: flex-end;
    align-items: stretch;
    position: absolute;
    bottom: 0;
    right: 0;
}

.page-load-status {
  display: none;
}
.d-block {
    display: block !important;
}

.loader-ellips {
  font-size: 20px;
  position: relative;
  width: 4em;
  height: 1em;
  margin: 10px auto;
}

.see-more button:disabled,
.see-more button[disabled] {
  display: none;
}

.loader-ellips__dot {
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 0.5em;
  background: var(--primary-color);
  position: absolute;
  animation-duration: 0.5s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}

.loader-ellips__dot:nth-child(1),
.loader-ellips__dot:nth-child(2) {
  left: 0;
}

.loader-ellips__dot:nth-child(3) {
  left: 1.5em;
}

.loader-ellips__dot:nth-child(4) {
  left: 3em;
}

@keyframes reveal {
  from {
    transform: scale(0.001);
  }

  to {
    transform: scale(1);
  }
}

@keyframes slide {
  to {
    transform: translateX(1.5em);
  }
}

.loader-ellips__dot:nth-child(1) {
  animation-name: reveal;
}

.loader-ellips__dot:nth-child(2),
.loader-ellips__dot:nth-child(3) {
  animation-name: slide;
}

.loader-ellips__dot:nth-child(4) {
  animation-name: reveal;
  animation-direction: reverse;
}


.d-none {
    display: none;
}
.view-more-button {
    font-weight: bold;
    font-size: 16px;
    background: var(--primary-color);
    color: #fff;
    padding: 15px 20px;
    border-radius: 5px;
}
.view-more-button:hover {
	color: #fffb00 !important

}


.scene {
  position: absolute;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
}
.scene--active {
  position: fixed;
}
.scene--ended {
  position: absolute;
  bottom: 0;
  top: auto;
}

.horizontal-scroll-section {
  position: relative;
  min-height: 100vh;
  opacity: 0;
  transition: 0.2s opacity;
}

.horizontal-scroll-section .shape {
    position: absolute;
}
.horizontal-scroll-section .shape.right {
    right: 0;
}
.horizontal-scroll-section .shape.right {
    top: 0;
}
.horizontal-scroll-section .shape.bottom {
    bottom: 0;
    left: 0;
}
.horizontal-scroll-section__content {
  display: flex;
  align-items: center;
}
.horizontal-scroll-section__content-wrapper {
  display: flex;
  height: 100%;
  align-items: center;
  position: relative;
}
.horizontal-scroll-section__content-section {
  position: relative;
  text-align: center;
  height: 100%;
  display: flex;
  align-items: center;
}



@media(max-width:767px) {
	.row.large-columns-3.gallery-more::after {
		display:none;
	}
	.row.large-columns-3.gallery-limit-6.has-more .gallery-col:nth-child(6) .col-inner::after {
		font-size:1.8rem
	}
	.project-header {
		margin-top: 30px;
	}
	.project-header h1 {
		font-size:22px;
	}
	.related-projects .related-title {
		font-size:22px;
		margin:15px;
		padding-left:0;
	}
	.related-projects .row-slider .col {
		    flex-basis: 80%;
    max-width: 80%;
	}
}