html { scroll-behavior: smooth } :root { --primary: #000000; --primary-dark: #2b2b2b; --dark: #2b2d42; --light: #f8f9fa; --gray: #6c757d; --transition: all 0.3s ease } * { margin: 0; padding: 0; box-sizing: border-box } body { font-family: 'Lato', 'Open Sans', sans-serif; background-color: var(--light); color: var(--dark); line-height: 1.6 } header { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: #fff; padding: 1.5rem 0; box-shadow: 0 4px 12px rgb(0 0 0 / .1); position: sticky; top: 0; z-index: 100 } header { display: flex; flex-direction: row; /* justify-content: space-around; */ padding: 35px; } .header-container { display: flex; justify-content: center; align-items: center; /* max-width: 1200px; */ /* margin: 0 auto; */ padding: 0 2rem } @media only screen and (min-width: 790px) { .header-container{ margin: 0 290px 0px 11%; } } .logo { height: 25px; filter: invert(1); display: flex; align-items: center; gap: 1rem; font-size: 1.8rem; font-weight: 700 } .hero { text-align: center; padding: 4rem 2rem; background-color: #fff } .hero h1 { font-size: 3rem; margin-bottom: 1rem; background: linear-gradient(to right, var(--primary), var(--primary-dark)); -webkit-background-clip: text; background-clip: text; color: #fff0 } h1 span.highlight-title { filter: blur(0); color: #000 } .highlight-title:after { content: ''; position: absolute; top: 95%; width: 150%; aspect-ratio: 3 / 1; left: 50%; transform: translate(-50%, 0); border-radius: 50%; border: 6px solid hsl(194 80% 50%); --spread: 140deg; --start: 290deg; mask: conic-gradient(from var(--start), white 0 var(--spread), transparent var(--spread)) } .hero p { font-size: 1.2rem; color: var(--gray); max-width: 700px; margin: 0 auto 2rem } .cta-button { display: inline-block; background: linear-gradient(to right, var(--primary), var(--primary-dark)); color: #fff; padding: .8rem 2rem; border-radius: 50px; text-decoration: none; font-weight: 600; transition: var(--transition); box-shadow: 0 4px 15px rgb(67 97 238 / .3) } .cta-button:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgb(67 97 238 / .4) } .filter-container { max-width: 1200px; margin: 2rem auto; padding: 0 2rem } .filter-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem } .filter-btn { padding: .6rem 1.5rem; background-color: #fff; border: none; border-radius: 50px; cursor: pointer; transition: var(--transition); font-weight: 600; box-shadow: 0 2px 8px rgb(0 0 0 / .1); color: var(--gray) } .filter-btn:hover { background-color: var(--primary); color: #fff } .filter-btn.active { background: linear-gradient(to right, var(--primary), var(--primary-dark)); color: #fff } .gallery { columns: 3; column-gap: 1.5rem; max-width: 1450px; margin: 0 auto; padding: 0 2rem } .gallery-item { break-inside: avoid; margin-bottom: 1.5rem; position: relative; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 8px rgb(0 0 0 / .1); transition: var(--transition) } .gallery-item:hover { cursor: cell; transform: translateY(-5px); box-shadow: 0 10px 20px rgb(0 0 0 / .15) } .gallery-item img { width: 100%; height: auto; display: block; transition: var(--transition) } .gallery-item:hover img { transform: scale(1.05) } .gallery-item .overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgb(0 0 0 / .8), transparent); color: #fff; padding: 1.5rem; opacity: 0; transition: var(--transition) } .gallery-item:hover .overlay { opacity: 1 } .gallery-item h3 { margin-bottom: .5rem; font-size: 1.2rem } .gallery-item p { font-size: .9rem; opacity: .9 } .modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(0 20 31 / 90%); z-index: 1000; overflow: auto; backdrop-filter: blur(5px) } .modal-content { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 2rem } .modal-img { max-width: 80%; max-height: 80vh; object-fit: contain; border-radius: 15px } .modal-caption { color: #fff; text-align: center; margin-top: 1rem; max-width: 600px } .close-modal { position: absolute; top: 2rem; right: 2rem; color: #fff; font-size: 2rem; cursor: pointer; transition: var(--transition) } .close-modal:hover { color: var(--primary) } footer { background-color: #000; color: #fff; padding: 3rem 2rem; margin-top: 3rem } .footer-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem } .footer-logo { font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; display: flex; align-items: center; gap: .5rem } .footer-about p { margin-bottom: 1.5rem; opacity: .8 } .social-links { display: flex; gap: 1rem } .social-links a { color: #fff; font-size: 1.2rem; transition: var(--transition) } .social-links a:hover { color: var(--primary) } .footer-links h3, .footer-contact h3 { font-size: 1.2rem; margin-bottom: 1.5rem; position: relative; padding-bottom: .5rem } .footer-links h3::after, .footer-contact h3::after { content: ''; position: absolute; bottom: 0; left: 0; width: 50px; height: 2px; background-color: var(--primary) } .footer-links ul { list-style: none } .footer-links li { margin-bottom: .8rem } .footer-links a { color: #fff; text-decoration: none; opacity: .8; transition: var(--transition) } .footer-links a:hover { opacity: 1; padding-left: 5px } .contact-info { margin-bottom: 1rem; opacity: .8 } .contact-info i { margin-right: .5rem; color: #fff } .copyright { text-align: center; padding-top: 2rem; margin-top: 2rem; border-top: 1px solid rgb(255 255 255 / .1); opacity: .7; font-size: .9rem } @media (max-width:992px) { .gallery { columns: 2 } } @media (max-width:768px) { .header-container { flex-direction: column; gap: 1rem } nav ul { gap: 1.5rem } .hero h1 { font-size: 3.2rem } .hero p { font-size: 1rem } } @media (max-width:576px) { .gallery { columns: 1 } .filter-buttons { gap: .5rem } .filter-btn { padding: .5rem 1rem; font-size: .8rem } .footer-container { grid-template-columns: 1fr } } .circles { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden } .circles li { position: absolute; display: block; list-style: none; width: 20px; height: 20px; background: rgb(255 255 255 / .2); animation: animate 25s linear infinite; bottom: -150px } .circles li:nth-child(1) { left: 25%; width: 80px; height: 80px; animation-delay: 0s } .circles li:nth-child(2) { left: 10%; width: 20px; height: 20px; animation-delay: 2s; animation-duration: 12s } .circles li:nth-child(3) { left: 70%; width: 20px; height: 20px; animation-delay: 4s } .circles li:nth-child(4) { left: 40%; width: 60px; height: 60px; animation-delay: 0s; animation-duration: 18s } .circles li:nth-child(5) { left: 65%; width: 20px; height: 20px; animation-delay: 0s } .circles li:nth-child(6) { left: 75%; width: 110px; height: 110px; animation-delay: 3s } .circles li:nth-child(7) { left: 35%; width: 150px; height: 150px; animation-delay: 7s } .circles li:nth-child(8) { left: 50%; width: 25px; height: 25px; animation-delay: 15s; animation-duration: 45s } .circles li:nth-child(9) { left: 20%; width: 15px; height: 15px; animation-delay: 2s; animation-duration: 35s } .circles li:nth-child(10) { left: 85%; width: 150px; height: 150px; animation-delay: 0s; animation-duration: 11s } @keyframes animate { 0% { transform: translateY(0) rotate(0deg); opacity: 1; border-radius: 0 } 100% { transform: translateY(-1000px) rotate(720deg); opacity: 0; border-radius: 50% } } .object-viewer-section { height: 47vh; width: 100%; margin: auto; display: flex; align-items: center; justify-content: center; background: #b1f3ff; background-image: url(https://images.unsplash.com/photo-1642059893618-22daf30e92a2?fm=jpg&q=60&w=3000&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D); background-repeat: no-repeat; background-size: cover; background-position: center } .notice-title { font-size: 14px; text-align: center; padding: 14px 0 0 } video { height: auto; width: 100% } .gallery-item:has(video) { box-shadow: none } .gallery-item:hover:has(video) { box-shadow: none } * { scrollbar-width: thin; scrollbar-color: #000 #535353 } *::-webkit-scrollbar { width: 16px } *::-webkit-scrollbar-track { background: #fff } *::-webkit-scrollbar-thumb { background-color: #4361ee; border-radius: 10px; border: 3px solid #fff } .video-lightbox { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(0 0 0 / .9); z-index: 1000; justify-content: center; align-items: center } .video-container { position: relative; width: 80%; max-width: 1200px } .video-container video { width: 100%; max-height: 80vh; outline: none } .close-video { position: absolute; top: -40px; right: 0; color: #fff; font-size: 30px; cursor: pointer; background: none; border: none } .loader { width: 40px; height: 30px; --c: no-repeat linear-gradient(#000 0 0); background: var(--c) 0 100%/8px 30px, var(--c) 50% 100%/8px 20px, var(--c) 100% 100%/8px 10px; position: relative; clip-path: inset(-100% 0) } .loader:before { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #00aeff; left: -16px; top: 0; animation: l5-1 2s linear infinite, l5-2 0.5s cubic-bezier(0, 200, .8, 200) infinite } @keyframes l5-1 { 0% { left: -16px; transform: translateY(-8px) } 100% { left: calc(100% + 8px); transform: translateY(22px) } } @keyframes l5-2 { 100% { top: -.1px } } div#loader { width: 100%; height: 100%; background: #f0f0f0; display: flex; align-items: center; justify-content: center; z-index: 999; top: 0; bottom: 0; overflow: hidden; position: fixed }