/* Custom styles for Exemine Minecraft Server */ /* Smooth scrolling */ html { scroll-behavior: smooth; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #1f2937; } ::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #6b7280; } /* Gradient text animation */ @keyframes gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .gradient-text { background: linear-gradient(-45deg, #3b82f6, #8b5cf6, #06b6d4, #10b981); background-size: 400% 400%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: gradient 15s ease infinite; } /* Card hover effects */ .card-hover { transition: all 0.3s ease; } .card-hover:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); } /* Button animations */ .btn-pulse { animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); } 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); } } /* Minecraft block pattern background */ .minecraft-bg { background-image: repeating-linear-gradient( 0deg, transparent, transparent 2px, rgba(59, 130, 246, 0.03) 2px, rgba(59, 130, 246, 0.03) 4px ), repeating-linear-gradient( 90deg, transparent, transparent 2px, rgba(59, 130, 246, 0.03) 2px, rgba(59, 130, 246, 0.03) 4px ); } /* Floating animation for hero elements */ .float { animation: float 6s ease-in-out infinite; } @keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0px); } } /* Status indicator pulse */ .status-online { position: relative; } .status-online::before { content: ''; position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; background: #10b981; border-radius: 50%; transform: translate(-50%, -50%); animation: ping 2s infinite; z-index: -1; } @keyframes ping { 75%, 100% { transform: translate(-50%, -50%) scale(2); opacity: 0; } } /* Custom focus styles */ button:focus, a:focus { outline: 2px solid #3b82f6; outline-offset: 2px; } /* Code text styling */ code { font-family: 'Courier New', Courier, monospace; background-color: #374151; padding: 0.25rem 0.5rem; border-radius: 0.25rem; font-weight: bold; } /* Mobile optimizations */ @media (max-width: 768px) { .hero-title { font-size: 2.5rem; } .hero-subtitle { font-size: 1.25rem; } } /* Loading animation */ .loading-dots { display: inline-block; position: relative; width: 80px; height: 80px; } .loading-dots div { position: absolute; top: 33px; width: 13px; height: 13px; border-radius: 50%; background: #3b82f6; animation-timing-function: cubic-bezier(0, 1, 1, 0); } .loading-dots div:nth-child(1) { left: 8px; animation: loading-dots1 0.6s infinite; } .loading-dots div:nth-child(2) { left: 8px; animation: loading-dots2 0.6s infinite; } .loading-dots div:nth-child(3) { left: 32px; animation: loading-dots2 0.6s infinite; } .loading-dots div:nth-child(4) { left: 56px; animation: loading-dots3 0.6s infinite; } @keyframes loading-dots1 { 0% { transform: scale(0); } 100% { transform: scale(1); } } @keyframes loading-dots3 { 0% { transform: scale(1); } 100% { transform: scale(0); } } @keyframes loading-dots2 { 0% { transform: translate(0, 0); } 100% { transform: translate(24px, 0); } } /* Server IP button effect */ .server-ip-button { position: relative; overflow: hidden; transition: all 0.3s ease; } .server-ip-button:hover { transform: scale(1.05); } .server-ip-button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); transition: left 0.5s; } .server-ip-button:hover::before { left: 100%; }