first commit
This commit is contained in:
39
html/assets/css/style.css
Normal file
39
html/assets/css/style.css
Normal file
@@ -0,0 +1,39 @@
|
||||
:root {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
body {
|
||||
font-family: 'Plus Jakarta Sans', sans-serif;
|
||||
background-color: #f8fafc;
|
||||
color: #0f172a;
|
||||
}
|
||||
.font-industrial { font-family: 'Space Grotesk', sans-serif; }
|
||||
.font-premium { font-family: 'Plus Jakarta Sans', sans-serif; }
|
||||
|
||||
.glass-effect {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(16px);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
/* Premium Typography Styles */
|
||||
.premium-kerning { letter-spacing: -0.04em; }
|
||||
.industrial-tracking { letter-spacing: 0.15em; }
|
||||
.hero-title {
|
||||
line-height: 1.05;
|
||||
}
|
||||
|
||||
/* Animations */
|
||||
@keyframes fadeIn {
|
||||
from { opacity: 0; transform: translateY(20px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
.animate-fade-in { animation: fadeIn 0.8s ease-out forwards; }
|
||||
|
||||
/* Hide scrollbar but keep functionality */
|
||||
.no-scrollbar::-webkit-scrollbar { display: none; }
|
||||
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
|
||||
|
||||
.service-card:hover .service-image {
|
||||
transform: scale(1.1);
|
||||
filter: grayscale(0);
|
||||
}
|
||||
BIN
html/assets/images/ControlRoom1.png
Normal file
BIN
html/assets/images/ControlRoom1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
BIN
html/assets/images/ControlRoom2.png
Normal file
BIN
html/assets/images/ControlRoom2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
BIN
html/assets/images/ControlRoom3.png
Normal file
BIN
html/assets/images/ControlRoom3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
BIN
html/assets/images/ControlRoom4.png
Normal file
BIN
html/assets/images/ControlRoom4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
BIN
html/assets/images/ControlRoom5.png
Normal file
BIN
html/assets/images/ControlRoom5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 MiB |
BIN
html/assets/images/ControlRoom6.png
Normal file
BIN
html/assets/images/ControlRoom6.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
48
html/assets/js/script.js
Normal file
48
html/assets/js/script.js
Normal file
@@ -0,0 +1,48 @@
|
||||
// Header scroll effect
|
||||
const mainHeader = document.getElementById('main-header');
|
||||
const brandName = document.getElementById('brand-name');
|
||||
const navLinks = document.querySelectorAll('.nav-link');
|
||||
|
||||
window.addEventListener('scroll', () => {
|
||||
if (window.scrollY > 50) {
|
||||
mainHeader.classList.add('glass-effect', 'py-3');
|
||||
mainHeader.classList.remove('py-6');
|
||||
if (brandName) brandName.classList.replace('text-white', 'text-slate-900');
|
||||
navLinks.forEach(link => {
|
||||
link.classList.replace('text-slate-100', 'text-slate-700');
|
||||
});
|
||||
} else {
|
||||
mainHeader.classList.remove('glass-effect', 'py-3');
|
||||
mainHeader.classList.add('py-6');
|
||||
if (brandName) brandName.classList.replace('text-slate-900', 'text-white');
|
||||
navLinks.forEach(link => {
|
||||
link.classList.replace('text-slate-700', 'text-slate-100');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Mobile menu open
|
||||
const mobileMenuBtn = document.getElementById('mobile-menu-btn');
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
const closeMenuBtn = document.getElementById('close-menu-btn');
|
||||
|
||||
if (mobileMenuBtn) {
|
||||
mobileMenuBtn.addEventListener('click', () => {
|
||||
mobileMenu.classList.remove('translate-x-full');
|
||||
});
|
||||
}
|
||||
|
||||
// Mobile menu close
|
||||
if (closeMenuBtn) {
|
||||
closeMenuBtn.addEventListener('click', () => {
|
||||
mobileMenu.classList.add('translate-x-full');
|
||||
});
|
||||
}
|
||||
|
||||
// Close on nav link click
|
||||
const mobileNavLinks = mobileMenu ? mobileMenu.querySelectorAll('a') : [];
|
||||
mobileNavLinks.forEach(link => {
|
||||
link.addEventListener('click', () => {
|
||||
mobileMenu.classList.add('translate-x-full');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user