/* ==== --------- (4.03) footer styles start --------- ==== */ @use "../abstracts/mixins" as *; .footer { background: linear-gradient(180deg, #0a0a0a 0%, #0f0f0f 50%, #050505 100%); border-top: 1px solid rgba(74, 158, 255, 0.2); overflow-x: clip; position: relative; z-index: 1; padding: 0; // Decorative background .footer-bg-decoration { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 20% 30%, rgba(74, 158, 255, 0.05) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(0, 212, 255, 0.05) 0%, transparent 50%); pointer-events: none; z-index: 0; } // Footer Logo Section .footer-logo-section { border-bottom: 1px solid rgba(255, 255, 255, 0.08); margin-bottom: 0; position: relative; z-index: 2; .enterprise-logo-container { position: relative; z-index: 2; } .enterprise-security-badges { display: flex; align-items: center; justify-content: center; gap: 60px; flex-wrap: wrap; @media (max-width: 991.98px) { gap: 40px; } @media (max-width: 767.98px) { flex-direction: column; gap: 30px; } } .security-badges-left, .security-badges-right { display: flex; flex-direction: column; gap: 15px; min-width: 160px; @media (max-width: 767.98px) { flex-direction: row; justify-content: center; gap: 15px; min-width: auto; width: 100%; } @media (max-width: 575.98px) { flex-direction: column; gap: 12px; } } .logo-center { flex-shrink: 0; position: relative; .footer-tagline { margin-top: 16px; color: rgba(255, 255, 255, 0.6); font-size: 13px; font-weight: 400; letter-spacing: 0.5px; text-transform: uppercase; font-family: var(--mont); @media (max-width: 767.98px) { font-size: 11px; margin-top: 12px; } } } .footer-logo { display: inline-block; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; &:hover { transform: translateY(-3px); filter: brightness(1.15); } img { filter: brightness(0) invert(1); transition: all 0.4s ease; max-height: 100px; width: auto; } .footer-logo-image { width: auto !important; height: auto !important; max-width: 140px; max-height: 100px; @media (max-width: 991.98px) { max-width: 120px; max-height: 85px; } @media (max-width: 767.98px) { max-width: 100px; max-height: 70px; } } &:hover img { filter: brightness(0) invert(1) sepia(1) saturate(5) hue-rotate(200deg); } } .security-badge { display: flex; align-items: center; gap: 10px; padding: 12px 20px; background: linear-gradient(135deg, rgba(74, 158, 255, 0.12), rgba(0, 212, 255, 0.08)); border: 1px solid rgba(74, 158, 255, 0.3); border-radius: 16px; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); backdrop-filter: blur(20px); position: relative; overflow: hidden; box-shadow: 0 4px 15px rgba(74, 158, 255, 0.15); &::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent); transition: left 0.7s ease; } &::after { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; background: linear-gradient(45deg, #4a9eff, #00d4ff, #4a9eff); border-radius: 18px; z-index: -1; opacity: 0; transition: opacity 0.4s ease; animation: pulse-glow 4s ease-in-out infinite; } i { color: #4a9eff; font-size: 16px; transition: all 0.4s ease; filter: drop-shadow(0 0 6px rgba(74, 158, 255, 0.4)); min-width: 16px; } span { color: #ffffff; font-weight: 500; font-size: 13px; letter-spacing: 0.4px; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); white-space: nowrap; } &:hover { background: linear-gradient(135deg, rgba(74, 158, 255, 0.2), rgba(0, 212, 255, 0.15)); border-color: rgba(74, 158, 255, 0.5); transform: translateY(-3px) scale(1.03); box-shadow: 0 10px 30px rgba(74, 158, 255, 0.35); &::before { left: 100%; } &::after { opacity: 0.4; } i { color: #00d4ff; transform: scale(1.15) rotate(5deg); filter: drop-shadow(0 0 10px rgba(0, 212, 255, 0.6)); } span { color: #ffffff; text-shadow: 0 0 10px rgba(74, 158, 255, 0.6); } } @media (max-width: 991.98px) { padding: 10px 16px; gap: 8px; i { font-size: 14px; min-width: 14px; } span { font-size: 12px; } } @media (max-width: 767.98px) { padding: 9px 14px; i { font-size: 13px; min-width: 13px; } span { font-size: 11px; } } @media (max-width: 575.98px) { padding: 8px 12px; i { font-size: 12px; min-width: 12px; } span { font-size: 10px; } } } @keyframes pulse-glow { 0%, 100% { opacity: 0; transform: scale(1); } 50% { opacity: 0.25; transform: scale(1.03); } } } // Enterprise footer sections .footer-section { margin-bottom: 40px; @media (max-width: 991.98px) { margin-bottom: 35px; } @media (max-width: 767.98px) { margin-bottom: 30px; } .footer-section-title { color: #ffffff; font-weight: 700; font-size: 16px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: 24px; position: relative; padding-bottom: 12px; font-family: var(--mont); &::after { content: ''; position: absolute; bottom: 0; left: 0; width: 40px; height: 3px; background: linear-gradient(90deg, #4a9eff, #00d4ff); border-radius: 2px; box-shadow: 0 0 10px rgba(74, 158, 255, 0.5); } @media (max-width: 767.98px) { font-size: 15px; margin-bottom: 20px; padding-bottom: 10px; &::after { width: 35px; height: 2px; } } } } // CTA Section .footer-cta-section { display: flex; align-items: flex-start; justify-content: flex-end; height: 100%; @media (max-width: 991.98px) { justify-content: flex-start; margin-top: 20px; } .cta-content { text-align: right; max-width: 100%; @media (max-width: 991.98px) { text-align: left; } .cta-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; background: linear-gradient(135deg, rgba(74, 158, 255, 0.15), rgba(0, 212, 255, 0.1)); border: 1px solid rgba(74, 158, 255, 0.3); border-radius: 20px; margin-bottom: 16px; font-size: 11px; font-weight: 600; color: #4a9eff; text-transform: uppercase; letter-spacing: 0.8px; font-family: var(--mont); i { font-size: 10px; animation: sparkle 2s ease-in-out infinite; } @keyframes sparkle { 0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; } 50% { transform: scale(1.2) rotate(180deg); opacity: 0.8; } } } .cta-title { color: #ffffff; font-weight: 700; font-size: 22px; letter-spacing: -0.5px; margin-bottom: 16px; line-height: 1.3; font-family: var(--mont); @media (max-width: 767.98px) { font-size: 20px; } } .cta-description { color: rgba(255, 255, 255, 0.7); font-size: 15px; line-height: 1.6; margin-bottom: 28px; max-width: 100%; @media (max-width: 767.98px) { font-size: 14px; margin-bottom: 24px; } } } } .footer-links { list-style: none; padding: 0; margin: 0; li { margin-bottom: 14px; &:last-child { margin-bottom: 0; } @media (max-width: 767.98px) { margin-bottom: 12px; } } a { color: rgba(255, 255, 255, 0.7); font-weight: 400; font-family: var(--mont); font-size: 14px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; position: relative; &::before { content: ''; position: absolute; left: -12px; width: 0; height: 2px; background: linear-gradient(90deg, #4a9eff, #00d4ff); transition: width 0.3s ease; border-radius: 1px; } &:hover { color: #4a9eff; transform: translateX(6px); padding-left: 12px; &::before { width: 6px; } } @media (max-width: 767.98px) { font-size: 13px; } } } .footer__inner { padding-bottom: 60px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); @media (max-width: 767.98px) { padding-bottom: 50px; } } .footer__inner-single { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 30px; @media (max-width: 767.98px) { gap: 16px; margin-bottom: 25px; } .contact-icon-wrapper { flex-shrink: 0; } .contact-icon { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, rgba(74, 158, 255, 0.2) 0%, rgba(0, 212, 255, 0.15) 100%); border: 1px solid rgba(74, 158, 255, 0.3); display: flex; align-items: center; justify-content: center; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; &::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: radial-gradient(circle, rgba(74, 158, 255, 0.3), transparent); transform: translate(-50%, -50%); transition: width 0.4s ease, height 0.4s ease; border-radius: 50%; } i { color: #4a9eff; font-size: 20px; transition: all 0.4s ease; position: relative; z-index: 1; filter: drop-shadow(0 0 4px rgba(74, 158, 255, 0.3)); } &:hover { background: linear-gradient(135deg, rgba(74, 158, 255, 0.3) 0%, rgba(0, 212, 255, 0.25) 100%); border-color: rgba(74, 158, 255, 0.5); transform: translateY(-4px) scale(1.05); box-shadow: 0 8px 25px rgba(74, 158, 255, 0.3); &::before { width: 100px; height: 100px; } i { color: #00d4ff; transform: scale(1.1); filter: drop-shadow(0 0 8px rgba(0, 212, 255, 0.5)); } } @media (max-width: 767.98px) { width: 48px; height: 48px; i { font-size: 18px; } } } .content { flex: 1; .contact-title { color: #ffffff; font-weight: 600; font-size: 17px; letter-spacing: 0.5px; margin-bottom: 12px; font-family: var(--mont); @media (max-width: 767.98px) { font-size: 16px; margin-bottom: 10px; } } .contact-text { color: rgba(255, 255, 255, 0.65); font-size: 14px; line-height: 1.7; margin: 0; font-family: var(--mont); a { color: rgba(255, 255, 255, 0.65); transition: all 0.3s ease; text-decoration: none; &:hover { color: #4a9eff; text-shadow: 0 0 8px rgba(74, 158, 255, 0.3); } } @media (max-width: 767.98px) { font-size: 13px; } } } } .footer-copyright { padding: 30px 0; border-top: 1px solid rgba(255, 255, 255, 0.08); position: relative; z-index: 2; @media (max-width: 767.98px) { padding: 25px 0; } .copyright-text { color: rgba(255, 255, 255, 0.5); font-size: 14px; margin: 0; font-family: var(--mont); line-height: 1.6; .copyright-link { color: #4a9eff; font-weight: 600; text-decoration: none; transition: all 0.3s ease; &:hover { color: #00d4ff; text-shadow: 0 0 8px rgba(74, 158, 255, 0.4); } } @media (max-width: 767.98px) { font-size: 13px; text-align: center; } } .social-links { display: flex; align-items: center; gap: 12px; @media (max-width: 767.98px) { justify-content: center; margin-top: 20px; } .social-link { width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, rgba(74, 158, 255, 0.12) 0%, rgba(0, 212, 255, 0.08) 100%); border: 1px solid rgba(74, 158, 255, 0.25); display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, 0.7); font-size: 18px; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); text-decoration: none; position: relative; overflow: hidden; &::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: radial-gradient(circle, rgba(74, 158, 255, 0.4), transparent); transform: translate(-50%, -50%); transition: width 0.4s ease, height 0.4s ease; border-radius: 50%; } i { position: relative; z-index: 1; transition: all 0.4s ease; } &:hover { color: #ffffff; background: linear-gradient(135deg, rgba(74, 158, 255, 0.25) 0%, rgba(0, 212, 255, 0.2) 100%); border-color: rgba(74, 158, 255, 0.5); transform: translateY(-4px) scale(1.1); box-shadow: 0 8px 25px rgba(74, 158, 255, 0.4); &::before { width: 80px; height: 80px; } i { transform: scale(1.15); filter: drop-shadow(0 0 8px rgba(74, 158, 255, 0.6)); } } @media (max-width: 767.98px) { width: 40px; height: 40px; font-size: 16px; } } } } // Luxury CTA Button .btn-luxury-cta { display: inline-flex; align-items: center; gap: 12px; padding: 16px 32px; background: linear-gradient(135deg, #4a9eff 0%, #00d4ff 100%); border: none; border-radius: 50px; color: #ffffff; font-weight: 600; font-size: 15px; letter-spacing: 0.5px; text-decoration: none; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; box-shadow: 0 4px 20px rgba(74, 158, 255, 0.3); font-family: var(--mont); .btn-shine { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); transition: left 0.6s ease; } i { transition: transform 0.4s ease; font-size: 14px; } &:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(74, 158, 255, 0.5); background: linear-gradient(135deg, #5aafff 0%, #10e4ff 100%); .btn-shine { left: 100%; } i { transform: translateX(4px); } } &:active { transform: translateY(-1px); } @media (max-width: 767.98px) { padding: 14px 28px; font-size: 14px; width: 100%; justify-content: center; } } // GoodFirms Badge .goodfirms-badge { border: none !important; outline: none !important; box-shadow: none !important; text-decoration: none !important; padding: 0 !important; margin: 0 !important; display: inline-block !important; background: transparent !important; line-height: 0 !important; &:focus, &:focus-visible, &:active, &:hover { border: none !important; outline: none !important; box-shadow: none !important; text-decoration: none !important; } .goodfirms-image, img { border: none !important; outline: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; display: block !important; vertical-align: top !important; max-width: 100% !important; height: auto !important; } // Target the actual img element that Next.js Image renders img { border: 0 !important; border-style: none !important; border-width: 0 !important; border-color: transparent !important; border-image: none !important; } } .goodfirms-wrapper { line-height: 0 !important; * { border: none !important; outline: none !important; } } } /* ==== --------- (4.03) footer styles end --------- ==== */