.cate_childs h1 { position: relative; z-index: 2; font-family: 'Roboto', 'Noto Serif', 'Open Sans', sans-serif; /* Font tốt cho tiếng Việt */ font-size: 2.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; /* Giảm letter-spacing để các dấu tiếng Việt không bị xa nhau quá */ margin: 0 auto 25px; padding: 0 20px; text-align: center; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); transform: perspective(500px) translateZ(0); transition: all 0.5s ease; max-width: 80%; /* Hiệu ứng gradient text */ background: linear-gradient(45deg, #FFD700, #FFA500, #FF8C00); -webkit-background-clip: text; background-clip: text; color: transparent; /* Đảm bảo hiển thị đúng dấu tiếng Việt */ font-feature-settings: "dlig" 1, "calt" 1; text-rendering: optimizeLegibility; display: inline-block; } /* Import font từ Google Fonts nếu chưa có */ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&family=Open+Sans:wght@400;600;700&family=Noto+Serif:wght@400;700&display=swap'); /* Thêm hiệu ứng line dưới tiêu đề */ .cate_childs h1::after { content: ''; position: absolute; bottom: -10px; left: 50%; width: 80px; height: 3px; background: linear-gradient(to right, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.8), rgba(255, 215, 0, 0.3)); transform: translateX(-50%); transition: width 0.5s ease; } .cate_childs:hover h1 { transform: perspective(500px) translateZ(20px); text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.8); } .cate_childs:hover h1::after { width: 120px; } /* Hiệu ứng glow khi hover */ @keyframes glow { 0% { text-shadow: 0 0 5px rgba(255, 215, 0, 0.5); } 50% { text-shadow: 0 0 20px rgba(255, 215, 0, 0.8), 0 0 30px rgba(255, 165, 0, 0.6); } 100% { text-shadow: 0 0 5px rgba(255, 215, 0, 0.5); } } .cate_childs:hover h1 { animation: glow 2s infinite; } /* Container cho tiêu đề */ .cate_childs { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 20px 0; } .title:hover h2 { transform: perspective(500px) translateZ(20px); } .subtitle { position: relative; z-index: 2; color: #9e9c9c; font-family: 'Playfair Display', serif; font-size: 1.2rem; font-weight: 400; font-style: italic; max-width: 80%; margin: 0 auto; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); opacity: 0.9; transform: translateY(0); transition: transform 0.3s ease, opacity 0.3s ease; } .title:hover .subtitle { opacity: 1; transform: translateY(5px); } /* Full-width container to eliminate gaps */ body, html { margin: 0; padding: 0; overflow-x: hidden; } @media (max-width: 768px) { .title h2 { font-size: 1.8rem; letter-spacing: 2px; } } .mainsubtitle { position: relative; z-index: 2; color: #ffffff; font-family: 'Playfair Display', serif; font-weight: 400; font-style: italic; max-width: 80%; margin: 0 auto; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); opacity: 0.9; transform: translateY(0); transition: transform 0.3s ease, opacity 0.3s ease; color: #fff; font-size: 1.5rem; } .address li i { color: #ffc107; } .about_box .bottom .right { margin-top: 8rem; padding-top: 1rem; text-align: justify; } .banner_slider { width: 100%; height: 490px; overflow: hidden; } .swiper-slide { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } .swiper-slide img { width: 100%; height: 100%; object-fit: cover; display: block; } .swiper-wrapper { height: 100%; } @media (max-width: 1024px) { .banner_slider { height: 300px; } } @media (max-width: 668px) { .banner_slider { height: 200px; } } /* CSS cải tiến cho phần nội dung bên trong box */ .project-item { flex: 0 0 25%; max-width: 25%; padding: 15px; margin-bottom: 20px; box-sizing: border-box; } .project-item .item { height: 100%; position: relative; border: 1px solid rgba(174, 127, 65, 0.3); border-radius: 8px; overflow: hidden; background-color: #1a1f25; /* Màu nền tối cho box */ transition: transform 0.3s ease, box-shadow 0.3s ease; } .project-item .item:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); } .project-item .item::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(135deg, rgba(241, 224, 117, 0.6), rgba(174, 127, 65, 0.6)); } /* Cải thiện hình ảnh */ .project-item .box_img { width: 100%; height: 220px; /* Tăng kích thước ảnh */ background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; overflow: hidden; } /* Thêm overlay khi hover vào ảnh */ .project-item .box_img::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5)); z-index: 1; } /* Đảm bảo ảnh không bị lỗi */ .project-item .box_img::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(30, 35, 45, 0.3); opacity: 0; transition: opacity 0.3s ease; } .project-item .item:hover .box_img::after { opacity: 1; } .project-item.hidden { display: none; } /* Cải thiện phần thông tin */ .project-item .info { padding: 20px; display: flex; flex-direction: column; } /* Cải thiện tiêu đề */ .project-item .info h3 { margin: 0 0 15px 0; font-size: 1.1rem; font-weight: 600; line-height: 1.4; color: #F1E075; /* Màu vàng cho tiêu đề */ overflow: hidden; text-overflow: ellipsis; display: -webkit-box; line-clamp: 2; -webkit-box-orient: vertical; } .project-item .info h3 a { color: #F1E075; text-decoration: none; transition: color 0.3s ease; } .project-item .info h3 a:hover { color: #AE7F41; } /* Cải thiện danh sách thông tin */ .project-item .info ul { margin: 0; padding: 0; list-style: none; } .project-item .info ul li { display: flex; margin-bottom: 12px; font-size: 0.9rem; color: #a0a0a0; position: relative; } /* Cải thiện label và value */ .project-item .info ul li .label { font-weight: 400; color: #888; min-width: 80px; position: relative; padding-left: 22px; /* Để thêm icon */ } /* Thêm icon cho mỗi loại thông tin */ .project-item .info ul li.user .label::before { content: '\f007'; /* Icon người dùng */ font-family: 'Font Awesome 5 Free', sans-serif; font-weight: 900; position: absolute; left: 0; top: 0; color: #AE7F41; } .project-item .info ul li.marker .label::before { content: '\f3c5'; /* Icon địa điểm */ font-family: 'Font Awesome 5 Free', sans-serif; font-weight: 900; position: absolute; left: 0; top: 0; color: #AE7F41; } .project-item .info ul li.home .label::before { content: '\f015'; /* Icon nhà */ font-family: 'Font Awesome 5 Free', sans-serif; font-weight: 900; position: absolute; left: 0; top: 0; color: #AE7F41; } .project-item .info ul li .value { color: #dfdfdf; font-weight: 400; flex-grow: 1; text-align: right; } /* Responsive */ @media (max-width: 992px) { .project-item { flex: 0 0 50%; max-width: 50%; } .project-item .box_img { height: 200px; } } @media (max-width: 668px) { .project-item { flex: 0 0 100%; max-width: 100%; } .project-item .box_img { height: 220px; /* Giữ kích thước ảnh lớn trên mobile */ } } .user{ color: #ffffff; } /* Tiêu đề cơ bản */ .title-footer { color: #F1E075; /* Màu chữ vàng */ font-size: 24px; /* Kích thước chữ */ font-weight: bold; margin-bottom: 20px; transition: all 0.3s ease; /* Hiệu ứng mượt mà khi hover */ } /* Thêm hiệu ứng glow cho chữ */ .title-footer:hover { text-shadow: 0 0 10px rgba(241, 224, 117, 0.8); /* Glow vàng khi hover */ } /* Căn chỉnh tiêu đề */ .title-with-underline { position: relative; padding-bottom: 10px; /* Khoảng cách giữa chữ và gạch chân */ margin-bottom: 20px; /* Khoảng cách giữa tiêu đề và nội dung bên dưới */ display: inline-block; /* Đảm bảo gạch chân chỉ dài bằng nội dung */ } /* Tạo gạch chân đẹp hơn với gradient và glow */ .title-with-underline::after { content: ''; position: absolute; left: 0; bottom: 0; width: 60px; /* Chiều dài gạch chân */ height: 3px; /* Độ dày gạch chân */ background: linear-gradient(to right, #F1E075, #AE7F41); /* Gradient từ vàng sáng đến vàng đậm */ border-radius: 2px; /* Bo tròn nhẹ các góc của gạch chân */ box-shadow: 0 0 8px rgba(241, 224, 117, 0.6); /* Hiệu ứng glow cho gạch chân */ transition: all 0.3s ease; /* Hiệu ứng mượt mà khi hover */ } /* Hiệu ứng khi hover: gạch chân mở rộng và glow mạnh hơn */ .title-with-underline:hover::after { width: 80px; /* Gạch chân dài hơn khi hover */ box-shadow: 0 0 12px rgba(241, 224, 117, 0.9); /* Glow mạnh hơn */ } /* Căn chỉnh tiêu đề "FANPAGE" và nội dung bên dưới */ @media (min-width: 992px) { .text-lg-right { text-align: right; } /* Căn chỉnh iframe bên dưới "FANPAGE" */ .fanpage-content { display: flex; justify-content: flex-end; } .fanpage-content iframe { max-width: 100%; /* Đảm bảo iframe không vượt quá container */ } } .fanpage-content { display: flex; justify-content: center; } .fanpage-content iframe { max-width: 100%; margin-left: -180px; /* Lùi sang trái */ } .footer-section { display: flex; justify-content: space-between; align-items: flex-start; } .footer-title { position: relative; margin-bottom: 20px; font-weight: bold; color: #d6af64; padding-left: 5px; /* đảm bảo không bị lệch so với đường gạch */ } .footer-title::after { content: ""; display: block; width: 60px; height: 3px; background-color: #d6af64; position: absolute; bottom: -5px; left: 0; } .fanpage-container { display: flex; flex-direction: column; align-items: flex-start; /* quan trọng: để cả tiêu đề và iframe thẳng hàng */ margin-left: 10px; /* điều chỉnh tùy vị trí mong muốn */ } .fanpage-container iframe { margin-top: 10px; width: 100%; /* hoặc cố định chiều rộng */ } .feature-box { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin-top: 50px; padding: 0 20px; } .feature-item { background: linear-gradient(to bottom right, #1e2630, #12171d); border: 1px solid rgba(199, 156, 93, 0.5); border-radius: 16px; padding: 30px 25px; width: 28%; text-align: center; color: #fff; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); position: relative; overflow: hidden; transition: all 0.4s ease; } .feature-item::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.1), transparent); transition: all 0.6s ease; } .feature-item:hover::before { left: 100%; } .feature-item:hover { transform: translateY(-8px); box-shadow: 0 10px 30px rgba(241, 224, 117, 0.15); border-color: #F1E075; } .feature-item i { font-size: 2.8rem; color: #F1E075; margin-bottom: 20px; transition: transform 0.3s; } .feature-item:hover i { transform: scale(1.2); } .feature-item h3 { font-size: 22px; margin-bottom: 15px; font-weight: 700; background: linear-gradient(to right, #F1E075, #AE7F41); background-clip: text; -webkit-text-fill-color: transparent; } .feature-item p { font-size: 15px; color: #ccc; line-height: 1.6; text-align: justify; } /* Responsive */ @media (max-width: 992px) { .feature-item { width: 45%; } } @media (max-width: 768px) { .feature-box { flex-direction: column; align-items: center; } .feature-item { width: 100%; max-width: 500px; padding: 20px; } .feature-item i { font-size: 2.2rem; } .feature-item h3 { font-size: 20px; } .feature-item p { font-size: 14px; } } @media (max-width: 480px) { .feature-item { padding: 16px; } .feature-item h3 { font-size: 18px; } .feature-item i { font-size: 1.8rem; } .feature-item p { font-size: 13px; } } .line-item { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px; } .bullet-icon { color: #F1E075; font-size: 16px; margin-top: 4px; flex-shrink: 0; } .line-item p, .line-item span { font-size: 14px; color: #ccc; margin: 0; line-height: 1.6; } @media (max-width: 768px) { .line-item { margin-bottom: 8px; } .bullet-icon { font-size: 14px; margin-top: 3px; } .line-item p, .line-item span { font-size: 13px; } } .banner_container .images { display: flex; justify-content: center; align-items: center; height: 100px; } .banner_container .images img { max-height: 80px; width: auto; } @media screen and (max-width: 768px) { .banner_container .images { justify-content: center; align-items: center; margin-top: 10px; } .banner_container .images img { max-height: 60px; } } @media (max-width: 668px) { .line-item p, .line-item span { font-size: 12px; } } @media (max-width: 768px) { .images img { max-width: 250px; /* Giảm kích thước logo trên mobile */ } .footer-item { padding: 0 15px; /* Thêm padding để tránh sát lề */ } } @media (max-width: 668px) { .images img { max-width: 200px; /* Giảm thêm kích thước cho màn hình nhỏ hơn */ } } [data-animate] { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; } [data-animate].is-visible { opacity: 1; transform: translateY(0); } .no-js [data-animate] { opacity: 1; transform: translateY(0); } @media (max-width: 768px) { #banner { position: fixed; top: 0; left: 0; width: 100%; z-index: 999; background-color: #1b242d; } #banner .images img { max-width: 100%; height: auto; } .banner_container .row { flex-direction: column; align-items: center; text-align: center; } .contact_header { margin-top: 10px; } } #mobileMenu { position: fixed; top: 0; left: -100%; width: 80%; max-width: 300px; height: 100%; background-color: #1b242d; z-index: 99999; padding: 20px; transition: left 0.3s ease-in-out; display: flex; flex-direction: column; } #mobileMenu.active { left: 0; } #mobileMenu .close-nav { align-self: flex-end; margin-bottom: 20px; cursor: pointer; } #mobileMenu .close-nav i { font-size: 2rem; color: #fff; } #mobileMenu ul { list-style: none; padding: 0; margin: 0; } #mobileMenu ul li { margin-bottom: 15px; } #mobileMenu ul li a { color: #fff; font-size: 18px; font-weight: 700; text-transform: uppercase; text-decoration: none; display: block; padding: 10px 0; border-bottom: 1px solid #c79c5d; } #mobileMenu ul li a:hover { color: #F1E075; } .banner_container .images { display: flex; justify-content: center; align-items: center; height: 100px; } .banner_container .images img { max-height: 80px; width: auto; } @media screen and (max-width: 768px) { #banner { background-color: #1b242d; width: 100%; } .banner_container .images { display: flex; justify-content: center; align-items: center; padding: 10px 0; } .banner_container .images img { width: auto; max-width: 100%; height: auto; display: block; } .body__main { margin-top: 150px; } } .toggle-nav { width: 25px; height: 2px; background-color: white; position: absolute; top: 46%; left: 10px; z-index: 999; border: none; padding: 0; margin: 0; box-sizing: content-box; } .toggle-nav::before, .toggle-nav::after { content: ""; position: absolute; width: 25px; height: 2px; background-color: white; left: 0; } .toggle-nav::before { top: -7px; } .toggle-nav::after { top: 7px; }