Help
RSS
API
Feed
Maltego
Contact
Domain > cityscapepro.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-06-01
3.171.171.89
(
ClassC
)
2025-08-05
3.170.91.2
(
ClassC
)
2026-01-27
3.175.34.118
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Tue, 27 Jan 2026 00:14:05 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://cityscapepro.com/X-Cache: Redirect from cloudfrontVia: 1.1 6f487ff94f33b54cc57c94581b06fb50.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P3X-Amz-Cf-Id: 9UYS7b9WnstRf6CGKRPYWHQGdNn32semHu-RsNpW7y4xs12KsbDQTQ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 69051Connection: keep-aliveDate: Tue, 27 Jan 2026 00:14:06 GMTLast-Modified: Thu, 29 May 2025 15:56:15 GMTETag: eed1871e11917d4445acdd7a7c58d8d4Server: AmazonS3X-Cache: Miss from cloudfrontVia: 1.1 08193d741a1ee26c807b4f48b77fcd40.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P3X-Amz-Cf-Id: iU9VeRTrbk_w81LwoF23i8OpWW-dTzQZ2h_GgNQ2zWv9hM4N_Op3Cg !DOCTYPE html>html langen>head> meta charsetutf-8> title>RealCRM - Real Estate CRM Solution/title> meta contentwidthdevice-width, initial-scale1.0 nameviewport> meta contentReal Estate CRM, Lead Management, Property Management namekeywords> meta contentPowerful CRM solution for real estate professionals namedescription> !-- Favicon --> link hrefimg/favicon.ico relicon> !-- Google Web Fonts --> link relpreconnect hrefhttps://fonts.googleapis.com> link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link hrefhttps://fonts.googleapis.com/css2?familyRoboto:wght@400;500&familyOswald:wght@600&displayswap relstylesheet> !-- Gilroy Font --> style> @font-face { font-family: Gilroy; src: url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Light.woff2) format(woff2), url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Light.woff) format(woff); font-weight: 300; font-style: normal; } @font-face { font-family: Gilroy; src: url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Regular.woff2) format(woff2), url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Regular.woff) format(woff); font-weight: 400; font-style: normal; } @font-face { font-family: Gilroy; src: url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Medium.woff2) format(woff2), url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Medium.woff) format(woff); font-weight: 500; font-style: normal; } @font-face { font-family: Gilroy; src: url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Bold.woff2) format(woff2), url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Bold.woff) format(woff); font-weight: 700; font-style: normal; } @font-face { font-family: Gilroy; src: url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Black.woff2) format(woff2), url(https://cdn.jsdelivr.net/npm/@typopro/web-gilroy@3.7.5/TypoPRO-Gilroy-Black.woff) format(woff); font-weight: 900; font-style: normal; } /style> !-- WebGL and animation styles --> style> /* Global containers and WebGL */ .global-webgl-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; overflow: hidden; } #webgl-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; } .content-container, .content-wrapper { position: relative; z-index: 5; } /* Floating shapes */ .floating-shapes { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 2; overflow: hidden; pointer-events: none; } .shape { position: absolute; background: rgba(255, 255, 255, 0.03); border-radius: 50%; animation: float 15s infinite linear; } .shape-1 { width: 250px; height: 250px; top: 10%; left: 10%; animation-duration: 35s; } .shape-2 { width: 450px; height: 450px; top: 60%; left: 70%; animation-delay: 5s; animation-duration: 45s; } .shape-3 { width: 350px; height: 350px; top: 30%; left: 80%; animation-delay: 2s; animation-duration: 40s; } .shape-4 { width: 200px; height: 200px; top: 70%; left: 20%; animation-delay: 8s; animation-duration: 30s; } @keyframes float { 0% { transform: rotate(0deg) translate(0, 0) scale(1); } 25% { transform: rotate(90deg) translate(40px, 50px) scale(1.05); } 50% { transform: rotate(180deg) translate(15px, 25px) scale(1.1); } 75% { transform: rotate(270deg) translate(-25px, 50px) scale(1.05); } 100% { transform: rotate(360deg) translate(0, 0) scale(1); } } /* Hero and text effects */ .hero-animate-gradient { background: transparent; } .glow-effect { text-shadow: 0 0 15px rgba(255, 255, 255, 0.3), 0 0 30px rgba(0, 0, 0, 0.5); } #heroText span { font-weight: 900; text-shadow: 0 0 20px rgba(0, 0, 0, 0.9), 0 0 30px rgba(0, 0, 0, 0.7); padding: 5px 10px; display: inline-block; } /* Feature boxes and sections */ .hero-feature-box, .features-card { background: rgba(10, 10, 10, 0.5) !important; border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); } .features-card { backdrop-filter: blur(3px); border-radius: 8px; } /* Compact feature cards */ .features-card.d-flex { padding: 2rem 1rem 2rem 0 !important; min-height: auto !important; } .features-card .ps-4 { padding-left: 1rem !important; padding-right: 1rem !important; } .features-card h3 { font-size: 1.3rem !important; margin-bottom: 1rem !important; line-height: 1.2 !important; } .features-card p { font-size: 0.95rem !important; line-height: 1.4 !important; margin-bottom: 0.5rem !important; } .features-card .btn-square { width: 40px !important; height: 40px !important; right: -35px !important; bottom: -35px !important; } .features-card .btn-square i { font-size: 1rem !important; } /* Reduce icon container size */ .features-card .bg-dark { width: 50px !important; height: 50px !important; flex-shrink: 0 !important; } .features-card .bg-dark i { font-size: 1.5rem !important; } /* Responsive adjustments for compact cards */ @media (max-width: 767.98px) { .features-card.d-flex { padding: 1.5rem 0.8rem 1.5rem 0 !important; } .features-card .ps-4 { padding-left: 0.8rem !important; padding-right: 0.8rem !important; } .features-card h3 { font-size: 1.2rem !important; margin-bottom: 0.8rem !important; } .features-card p { font-size: 0.9rem !important; margin-bottom: 0.3rem !important; } .features-card .bg-dark { width: 45px !important; height: 45px !important; } .features-card .bg-dark i { font-size: 1.3rem !important; } /* Hero feature box responsive */ .hero-feature-box { padding: 1.5rem !important; } .hero-feature-box h4 { font-size: 1.3rem !important; line-height: 1.3 !important; } .hero-feature-box i { font-size: 28px !important; } } @media (max-width: 575.98px) { .features-card.d-flex { padding: 1.2rem 0.5rem 1.2rem 0 !important; } .features-card h3 { font-size: 1.1rem !important; } .features-card p { font-size: 0.85rem !important; } .features-card .bg-dark { width: 40px !important; height: 40px !important; } .features-card .bg-dark i { font-size: 1.2rem !important; } /* Hero feature box responsive */ .hero-feature-box { padding: 1.2rem !important; } .hero-feature-box h4 { font-size: 1.2rem !important; line-height: 1.2 !important; } .hero-feature-box i { font-size: 24px !important; } } @media (max-width: 480px) { .hero-feature-box { padding: 1rem !important; } .hero-feature-box h4 { font-size: 1.1rem !important; line-height: 1.2 !important; } .hero-feature-box i { font-size: 22px !important; } } @media (max-width: 375px) { .hero-feature-box { padding: 0.8rem !important; } .hero-feature-box h4 { font-size: 1rem !important; line-height: 1.1 !important; } .hero-feature-box i { font-size: 20px !important; } } /* Extra mobile optimization */ @media (max-width: 480px) { .hero-headline { min-height: 40vh !important; } #about { min-height: 40vh !important; padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } } @media (max-width: 375px) { .hero-headline { min-height: 35vh !important; } #about { min-height: 35vh !important; padding-top: 1rem !important; padding-bottom: 1rem !important; } } /* Extra small devices */ @media (max-width: 320px) { .hero-headline { padding: 0 0.2rem; } .hero-headline h1 { font-size: 1.9rem; letter-spacing: 0; } } /* Hero subheading responsive */ .hero-subheading { font-size: 1.5rem; } @media (max-width: 991.98px) { .hero-subheading { font-size: 1.3rem; } } @media (max-width: 767.98px) { .hero-subheading { font-size: 1.2rem; margin-top: 1.5rem !important; } } @media (max-width: 575.98px) { .hero-subheading { font-size: 1.1rem; margin-top: 1rem !important; padding: 0 1rem; } } @media (max-width: 480px) { .hero-subheading { font-size: 1rem; margin-top: 0.8rem !important; } } @media (max-width: 375px) { .hero-subheading { font-size: 0.95rem; margin-top: 0.5rem !important; } } @media (max-width: 320px) { .hero-subheading { font-size: 0.9rem; margin-top: 0.5rem !important; } } /* Team image sizing */ .team-img { height: 350px; width: 100%; overflow: hidden; position: relative; cursor: pointer; } .team-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); } /* COMPLETELY REMOVE GREY OVERLAY - Override external CSS */ .team-item .team-img::before, .team-item .team-img::after { display: none !important; content: none !important; width: 0 !important; height: 0 !important; background: none !important; } .team-item:hover .team-img::before, .team-item:hover .team-img::after { display: none !important; width: 0 !important; } .team-item .team-img .team-social { display: none !important; } /* Clean hover effect - NO OVERLAY */ .team-img:hover img { transform: scale(1.05) rotate(1deg); filter: brightness(1.1) contrast(1.1); } /* Add a subtle pulse animation */ .team-img:active img { transform: scale(0.98); transition: transform 0.1s ease; } /* Responsive team image sizing */ @media (max-width: 991.98px) { .team-img { height: 320px; } } @media (max-width: 767.98px) { .team-img { height: 300px; } } @media (max-width: 575.98px) { .team-img { height: 280px; } } @media (max-width: 480px) { .team-img { height: 250px; } } /* Section backgrounds */ #team { background-color: transparent; position: relative; z-index: 2; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); } #about, #features { background-color: transparent; position: relative; z-index: 3; } .bg-secondary { background-color: rgba(28, 28, 28, 0.9) !important; } /* Text enhancements */ .about-text-enhanced, .features-text-enhanced { text-shadow: 0 0 15px rgba(0, 0, 0, 0.9), 0 0 30px rgba(0, 0, 0, 0.7); } .about-content-overlay { background: transparent; border-radius: 15px; padding: 2rem; } /* Navbar and general */ .navbar { position: relative; z-index: 100; background-color: #000000 !important; min-height: 70px; } .navbar-brand { display: flex; align-items: center; padding: 0; } .logo-img { transition: all 0.3s ease; filter: brightness(1.1); } /* Footer and overlays */ .footer { position: relative; z-index: 2; background-color: rgba(28, 28, 28, 0.95) !important; } body::before { content: ; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 100%); pointer-events: none; z-index: 2; } /* Button effects */ .btn-primary { transition: all 0.3s ease; position: relative; overflow: hidden; } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); } .btn-primary::after { content: ; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: rgba(255, 255, 255, 0.2); border-radius: 50%; transform: translate(-50%, -50%); transition: width 0.6s ease-out, height 0.6s ease-out; } .btn-primary:hover::after { width: 300%; height: 300%; } .btn-primary i { transition: transform 0.3s ease; } .btn-primary:hover i { transform: translateX(5px); } /* Scroll behavior */ html { scroll-behavior: smooth; } #core-features, #features, #team { scroll-margin-top: 80px; } /* Standardized Section Spacing - Uniform Padding */ .container-xxl.py-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; } /* Section headers standardization */ .section-header { margin-bottom: 3rem !important; } /* Responsive section spacing */ @media (max-width: 991.98px) { .container-xxl.py-6 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } @media (max-width: 767.98px) { .container-xxl.py-6 { padding-top: 3rem !important; padding-bottom: 3rem !important; } } @media (max-width: 575.98px) { .container-xxl.py-6 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } } @media (max-width: 480px) { .container-xxl.py-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } } /* Team section specific responsive improvements */ @media (max-width: 991.98px) { #team .row.g-4 { row-gap: 2rem !important; } } @media (max-width: 767.98px) { #team .row.g-4 { row-gap: 1.5rem !important; } #team .col-lg-4 { margin-bottom: 1rem; } } @media (max-width: 575.98px) { #team .row.g-4 { row-gap: 1rem !important; } } /* Why CityScape Pro section improvements */ @media (max-width: 991.98px) { #features .hero-feature-box { margin-bottom: 2rem !important; } } @media (max-width: 767.98px) { #features .hero-feature-box { margin-bottom: 1.5rem !important; padding: 1.5rem !important; } #features .col-lg-6 { margin-bottom: 1rem; } } @media (max-width: 575.98px) { #features .hero-feature-box { margin-bottom: 1rem !important; padding: 1.2rem !important; } } @media (max-width: 480px) { #features .hero-feature-box { padding: 1rem !important; } #features .hero-feature-box h4 { font-size: 1.3rem !important; } #features .hero-feature-box i { font-size: 28px !important; } } @media (max-width: 375px) { #features .hero-feature-box { padding: 0.8rem !important; } #features .hero-feature-box h4 { font-size: 1.2rem !important; } #features .hero-feature-box i { font-size: 24px !important; } } /* Stats box responsive */ .stats-box { width: 50%; } @media (max-width: 991.98px) { .stats-box { width: 60%; padding: 1.5rem !important; } .stats-box h1 { font-size: 2.5rem !important; } .stats-box h2 { font-size: 1.2rem !important; } .logo-img { height: 45px !important; } .navbar-collapse { background-color: #000000; } #heroText { font-size: 4rem !important; } .hero-headline { min-height: 60vh !important; } } @media (max-width: 767.98px) { .stats-box { width: 70%; padding: 1rem !important; } .stats-box h1 { font-size: 2rem !important; } .stats-box h2 { font-size: 1rem !important; } #heroText { font-size: 3rem !important; } .hero-headline { min-height: 50vh !important; } #about { min-height: 50vh !important; } } @media (max-width: 575.98px) { .stats-box { width: 80%; padding: 0.8rem !important; } .stats-box h1 { font-size: 1.8rem !important; } .stats-box h2 { font-size: 0.9rem !important; } .logo-img { height: 40px !important; } .navbar { min-height: 60px; } .hero-headline { min-height: 45vh !important; } #about { min-height: 45vh !important; padding-top: 2rem !important; } } /style> !-- Icon Font Stylesheet --> link hrefhttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.0/css/all.min.css relstylesheet> link hrefhttps://cdn.jsdelivr.net/npm/bootstrap-icons@1.4.1/font/bootstrap-icons.css relstylesheet> !-- Libraries Stylesheet --> link hreflib/animate/animate.min.css relstylesheet> !-- Customized Bootstrap Stylesheet --> link hrefcss/bootstrap.min.css relstylesheet> !-- Template Stylesheet --> link hrefcss/style.css relstylesheet> !-- Three.js for WebGL --> script srchttps://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js>/script> !-- GSAP and SplitType for animations --> script srchttps://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js>/script> script srchttps://unpkg.com/split-type@0.3.4/dist/index.umd.js>/script> style> /* Hero headline styles */ .hero-headline { position: relative; z-index: 10; min-height: 100vh; display: flex; align-items: center; justify-content: center; background: transparent; overflow: hidden; padding: 0 2rem; /* Add base padding */ } .hero-headline h1 { font-family: Gilroy, sans-serif; font-weight: 900; font-size: 8rem; line-height: 1.1; text-transform: uppercase; letter-spacing: -0.02em; color: #ffffff; text-shadow: 0 0 30px rgba(0, 0, 0, 0.8); text-align: center; margin: 0; width: 100%; max-width: 100%; overflow: visible; } .hero-headline h1 span { display: block; white-space: nowrap; } .hero-headline h1 div { display: block; white-space: nowrap; overflow: hidden; text-overflow: clip; } .hero-headline .char { display: inline-block; opacity: 0; transform: translateY(100px) rotateX(90deg); } /* Responsive adjustments - maintain large sizes */ @media (max-width: 1199.98px) { .hero-headline { padding: 0 3rem; } .hero-headline h1 { font-size: 7rem; } } @media (max-width: 991.98px) { .hero-headline { padding: 0 3rem; } .hero-headline h1 { font-size: 6rem; } } @media (max-width: 767.98px) { .hero-headline { padding: 0 1rem; } .hero-headline h1 { font-size: 3.8rem; letter-spacing: -0.01em; } } @media (max-width: 575.98px) { .hero-headline { padding: 0 0.8rem; } .hero-headline h1 { font-size: 3.2rem; letter-spacing: 0; } } @media (max-width: 480px) { .hero-headline { padding: 0 0.5rem; } .hero-headline h1 { font-size: 2.8rem; letter-spacing: 0; } } @media (max-width: 414px) { .hero-headline { padding: 0 0.5rem; } .hero-headline h1 { font-size: 2.5rem; letter-spacing: 0; } } @media (max-width: 375px) { .hero-headline { padding: 0 0.3rem; } .hero-headline h1 { font-size: 2.2rem; letter-spacing: 0; } } /* Samsung Galaxy specific fixes */ @media (max-width: 414px) and (max-height: 896px) { .hero-headline { padding: 0 0.5rem; } .hero-headline h1 { font-size: 2.5rem; letter-spacing: 0; } } /style>/head>body> !-- Global WebGL Container (fixed to cover entire page) --> div classglobal-webgl-container> canvas idwebgl-canvas>/canvas> div classfloating-shapes> div classshape shape-1>/div> div classshape shape-2>/div> div classshape shape-3>/div> div classshape shape-4>/div> /div> /div> !-- Content wrapper for all page content --> div classcontent-wrapper> !-- Spinner Start --> div idspinner classshow bg-dark position-fixed translate-middle w-100 vh-100 top-50 start-50 d-flex align-items-center justify-content-center> div classspinner-grow text-primary stylewidth: 3rem; height: 3rem; rolestatus> span classsr-only>Loading.../span> /div> /div> !-- Spinner End --> !-- Navbar Start --> nav classnavbar navbar-expand-lg navbar-dark sticky-top py-lg-0 px-lg-5 wow fadeIn data-wow-delay0.1s stylebackground-color: rgba(0, 0, 0, 0.9);> a hrefindex.html classnavbar-brand ms-4 ms-lg-0 d-flex align-items-center> img srcimg/CSP on black bg.svg altData Lab Logo classlogo-img me-2 styleheight: 50px; width: auto;> /a> button typebutton classnavbar-toggler me-4 data-bs-togglecollapse data-bs-target#navbarCollapse> span classnavbar-toggler-icon>/span> /button> div classcollapse navbar-collapse idnavbarCollapse> div classnavbar-nav ms-auto p-4 p-lg-0> a href# classnav-item nav-link active>Home/a> a href#core-features classnav-item nav-link>Features/a> a href#team classnav-item nav-link>Users/a> a href#features classnav-item nav-link>Why CityScape Pro/a> /div> a href# classbtn btn-primary rounded-0 py-2 px-lg-4 d-none d-lg-block data-bs-togglemodal data-bs-target#demoModal>Take Demoi classfa fa-arrow-right ms-3>/i>/a> /div> /nav> !-- Navbar End --> !-- Demo Request Modal --> div classmodal fade iddemoModal tabindex-1 aria-labelledbydemoModalLabel aria-hiddentrue> div classmodal-dialog> div classmodal-content bg-secondary> div classmodal-header border-0> h5 classmodal-title text-primary iddemoModalLabel>Request a Demo/h5> button typebutton classbtn-close data-bs-dismissmodal aria-labelClose>/button> /div> div classmodal-body> form iddemoForm> div classmb-3> label forname classform-label text-white>Full Name/label> input typetext classform-control idname required> /div> div classmb-3> label foremail classform-label text-white>Email Address/label> input typeemail classform-control idemail required> /div> div classmb-3> label forphone classform-label text-white>Phone Number/label> input typetel classform-control idphone required> /div> div classmb-3> label forcompany classform-label text-white>Company Name/label> input typetext classform-control idcompany> /div> div classmb-3> label formessage classform-label text-white>Message (Optional)/label> textarea classform-control idmessage rows3>/textarea> /div> button typesubmit classbtn btn-primary w-100>Schedule Demo/button> /form> /div> /div> /div> /div> !-- Hero Headline Start --> div classhero-headline stylemin-height: 70vh;> div classcontainer> div classrow> div classcol-12> h1 idheroHeadline> div stylewhite-space: nowrap;>Sell Smarter./div> div stylewhite-space: nowrap;>Grow Faster./div> /h1> p classhero-subheading text-center text-white mt-4 stylefont-family: Gilroy, sans-serif; font-size: 1.5rem; font-weight: 400; line-height: 1.6; max-width: 800px; margin: 2rem auto 0; opacity: 0.9;> The CRM designed for real estate developers and channel partners. /p> /div> /div> /div> /div> !-- Hero Headline End --> !-- Hero Section Start --> div classcontainer-fluid p-0 wow fadeIn hero-animate-gradient data-wow-delay0.1s styleposition: relative; min-height: 70vh; display: flex; align-items: center; justify-content: center; overflow: hidden; z-index: 3;> !-- Content --> div classcontent-container position-relative w-100 stylemax-width: 1400px; margin: 0 auto; padding: 4rem 2rem; z-index: 4;> div classrow align-items-center> div classcol-lg-10 mx-auto text-center> h1 idheroText classtext-uppercase mb-5 glow-effect stylefont-family: Gilroy, sans-serif; font-size: 5.5rem; font-weight: 900; letter-spacing: -2px; line-height: 1.05; max-width: 1200px; margin: 0 auto; position: relative;> span stylecolor: rgb(80, 80, 80); transition: color 0.5s ease;>Reimagine/span>br> span stylecolor: rgb(80, 80, 80); transition: color 0.5s ease;>Your/span>br> span stylecolor: rgb(80, 80, 80); transition: color 0.5s ease;>Sales/span>br> span stylecolor: rgb(80, 80, 80); transition: color 0.5s ease;>Process/span>br> span stylecolor: rgb(80, 80, 80); transition: color 0.5s ease;>with/span>br> span stylecolor: rgb(80, 80, 80); transition: color 0.5s ease;>CityScapePro/span>br> /h1> /div> /div> /div> /div> !-- Hero Section End --> !-- Core Features Start --> div idcore-features classcontainer-xxl py-6 styleposition: relative; z-index: 4;> div classcontainer position-relative stylez-index: 5;> div classtext-center mx-auto mb-5 wow fadeInUp data-wow-delay0.1s stylemax-width: 600px;> p classd-inline-block bg-secondary text-primary py-1 px-4>Features/p> h1 classtext-uppercase text-white features-text-enhanced>Core Platform Features/h1> /div> div classrow g-4> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.1s> div classservice-item position-relative overflow-hidden features-card d-flex h-100 p-5 ps-0> div classbg-dark d-flex flex-shrink-0 align-items-center justify-content-center stylewidth: 60px; height: 60px;> i classfa fa-bullseye fa-2x text-primary>/i> /div> div classps-4> h3 classtext-uppercase mb-3 text-white features-text-enhanced>Lead Capture/h3> p classtext-white features-text-enhanced>Capture leads from multiple sources with smart lead forms and automated data collection./p> /div> a classbtn btn-square href>i classfa fa-plus text-primary>/i>/a> /div> /div> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.2s> div classservice-item position-relative overflow-hidden features-card d-flex h-100 p-5 ps-0> div classbg-dark d-flex flex-shrink-0 align-items-center justify-content-center stylewidth: 60px; height: 60px;> i classfa fa-file-excel fa-2x text-primary>/i> /div> div classps-4> h3 classtext-uppercase mb-3 text-white features-text-enhanced>Upload Your Own Excel Data/h3> p classtext-white features-text-enhanced>Import your existing customer data seamlessly with our excel upload feature./p> /div> a classbtn btn-square href>i classfa fa-plus text-primary>/i>/a> /div> /div> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.3s> div classservice-item position-relative overflow-hidden features-card d-flex h-100 p-5 ps-0> div classbg-dark d-flex flex-shrink-0 align-items-center justify-content-center stylewidth: 60px; height: 60px;> i classfa fa-comments fa-2x text-primary>/i> /div> div classps-4> h3 classtext-uppercase mb-3 text-white features-text-enhanced>SMS, Email and WhatsApp Nudges/h3> p classtext-white features-text-enhanced>Stay connected with automated multi-channel communication and follow-ups./p> /div> a classbtn btn-square href>i classfa fa-plus text-primary>/i>/a> /div> /div> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.4s> div classservice-item position-relative overflow-hidden features-card d-flex h-100 p-5 ps-0> div classbg-dark d-flex flex-shrink-0 align-items-center justify-content-center stylewidth: 60px; height: 60px;> i classfa fa-chart-bar fa-2x text-primary>/i> /div> div classps-4> h3 classtext-uppercase mb-3 text-white features-text-enhanced>Generate Reports/h3> p classtext-white features-text-enhanced>Create comprehensive analytics and reports to track your sales performance./p> /div> a classbtn btn-square href>i classfa fa-plus text-primary>/i>/a> /div> /div> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.5s> div classservice-item position-relative overflow-hidden features-card d-flex h-100 p-5 ps-0> div classbg-dark d-flex flex-shrink-0 align-items-center justify-content-center stylewidth: 60px; height: 60px;> i classfa fa-paint-brush fa-2x text-primary>/i> /div> div classps-4> h3 classtext-uppercase mb-3 text-white features-text-enhanced>DIY Style Lead Form Customization/h3> p classtext-white features-text-enhanced>Customize lead forms independently at your end without the need for IT development./p> /div> a classbtn btn-square href>i classfa fa-plus text-primary>/i>/a> /div> /div> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.6s> div classservice-item position-relative overflow-hidden features-card d-flex h-100 p-5 ps-0> div classbg-dark d-flex flex-shrink-0 align-items-center justify-content-center stylewidth: 60px; height: 60px;> i classfa fa-plug fa-2x text-primary>/i> /div> div classps-4> h3 classtext-uppercase mb-3 text-white features-text-enhanced>Integrate with Your Website & Property Portals/h3> p classtext-white features-text-enhanced>Connect with your own website and property listing platforms like MagicBricks, 99acres, etc. for automated lead flow./p> /div> a classbtn btn-square href>i classfa fa-plus text-primary>/i>/a> /div> /div> /div> /div> /div> !-- Core Features End --> !-- Team Start --> div idteam classcontainer-xxl py-6 styleposition: relative; z-index: 4;> div classcontainer position-relative stylez-index: 5;> div classtext-center mx-auto mb-5 wow fadeInUp data-wow-delay0.1s stylemax-width: 600px;> p classd-inline-block bg-secondary text-primary py-1 px-4>Users/p> h1 classtext-uppercase text-center text-white features-text-enhanced>Platform dedicated to/h1> /div> div classrow g-4 justify-content-center> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.1s> div classteam-item> div classteam-img position-relative overflow-hidden> img classimg-fluid srcimg/developers.jpg alt> /div> div classbg-secondary text-center p-4> h5 classtext-uppercase>Developers/h5> /div> /div> /div> div classcol-lg-4 col-md-6 wow fadeInUp data-wow-delay0.3s> div classteam-item> div classteam-img position-relative overflow-hidden> img classimg-fluid srcimg/cps.jpg alt> /div> div classbg-secondary text-center p-4> h5 classtext-uppercase>Channel Partners/h5> /div> /div> /div> /div> /div> /div> !-- Team End --> !-- Features Start --> div idfeatures classcontainer-xxl py-6 styleposition: relative; z-index: 4;> div classcontainer position-relative stylez-index: 5;> div classtext-center mx-auto mb-5 wow fadeInUp data-wow-delay0.1s stylemax-width: 600px;> p classd-inline-block bg-secondary text-primary py-1 px-4>Why CityScape Pro/p> h1 classtext-uppercase text-white features-text-enhanced>Why Choose Our Platform/h1> /div> div classrow g-4> div classcol-lg-6 col-md-6 wow fadeInUp data-wow-delay0.1s> div classd-flex align-items-center mb-4 hero-feature-box stylepadding: 2rem; border-radius: 12px;> i classfa fa-check-circle text-primary me-3 stylefont-size: 32px;>/i> h4 classtext-white text-uppercase mb-0 stylefont-size: 1.5rem;>Built Specifically for Real Estate/h4> /div> /div> div classcol-lg-6 col-md-6 wow fadeInUp data-wow-delay0.2s> div classd-flex align-items-center mb-4 hero-feature-box stylepadding: 2rem; border-radius: 12px;> i classfa fa-check-circle text-primary me-3 stylefont-size: 32px;>/i> h4 classtext-white text-uppercase mb-0 stylefont-size: 1.5rem;>Low Cost. High Value/h4> /div> /div> /div> /div> /div> !-- Features End --> !-- About Start --> div idabout classcontainer-xxl py-3 stylemin-height: 60vh; display: none; align-items: center; position: relative; z-index: 4;> div classcontainer position-relative stylez-index: 5;> div classrow g-4 align-items-center about-content-overlay> div classcol-lg-6 wow fadeIn data-wow-delay0.1s> div classd-flex flex-column> img srcimg/buildings1.png altModern buildings classimg-fluid w-75 align-self-end stylemax-height: 500px; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.4));> div classstats-box bg-secondary p-5 stylemargin-top: -15%; box-shadow: 0 15px 35px rgba(0,0,0,0.7); border: 1px solid rgba(255, 255, 255, 0.15); backdrop-filter: blur(5px); border-radius: 10px;> h1 classtext-uppercase text-primary mb-3 stylefont-size: 3rem; font-weight: 700; text-shadow: 0 0 15px rgba(0, 0, 0, 0.5);>10,000+/h1> h2 classtext-uppercase mb-0 text-white styletext-shadow: 0 0 15px rgba(0, 0, 0, 0.5);>Happy Users/h2> /div> /div> /div> div classcol-lg-6 wow fadeIn data-wow-delay0.5s> p classd-inline-block bg-secondary text-primary py-1 px-4 stylefont-size: 1.2rem;>About Us/p> h1 classtext-uppercase mb-4 text-white about-text-enhanced stylefont-size: 3.5rem; font-weight: 700; line-height: 1.2;>Your Complete Real Estate Business Solution/h1> p classtext-white about-text-enhanced stylefont-size: 1.2rem; line-height: 1.8;>RealCRM is designed specifically for real estate professionals who want to grow their business efficiently. Our platform streamlines your entire workflow from lead capture to closing./p> p classmb-4 text-white about-text-enhanced stylefont-size: 1.2rem; line-height: 1.8;>With powerful automation tools, intelligent analytics, and seamless integrations, we help you focus on what matters most - closing deals and growing your business./p> div classrow g-4> div classcol-md-6> h3 classtext-uppercase mb-3 text-white about-text-enhanced>Since 2015/h3> p classmb-0 text-white about-text-enhanced>Trusted by thousands of real estate professionals across the country./p> /div> div classcol-md-6> h3 classtext-uppercase mb-3 text-white about-text-enhanced>24/7 Support/h3> p classmb-0 text-white about-text-enhanced>Dedicated customer success team to help you every step of the way./p> /div> /div> /div> /div> /div> /div> !-- About End --> !-- Footer Start --> div classcontainer-fluid bg-secondary text-light footer mt-5 pt-5 wow fadeIn data-wow-delay0.1s> div classcontainer py-5> div classrow g-5> div classcol-lg-4 col-md-6> h4 classtext-uppercase mb-4>Get In Touch/h4> div classd-flex align-items-center mb-2> div classbtn-square bg-dark flex-shrink-0 me-3> span classfa fa-map-marker-alt text-primary>/span> /div> span>123 Tech Plaza, Silicon Valley, CA/span> /div> div classd-flex align-items-center mb-2> div classbtn-square bg-dark flex-shrink-0 me-3> span classfa fa-phone-alt text-primary>/span> /div> span>+91 7506451692/span> /div> div classd-flex align-items-center> div classbtn-square bg-dark flex-shrink-0 me-3> span classfa fa-envelope-open text-primary>/span> /div> span>cityscape.pro9@gmail.com/span> /div> /div> div classcol-lg-4 col-md-6> h4 classtext-uppercase mb-4>Quick Links/h4> a classbtn btn-link href#core-features>Features/a> a classbtn btn-link href#team>Users/a> a classbtn btn-link href#features>Why CityScape Pro/a> /div> div classcol-lg-4 col-md-6> h4 classtext-uppercase mb-4>Newsletter/h4> div classposition-relative mb-4> input classform-control border-0 w-100 py-3 ps-4 pe-5 typetext placeholderYour email> button typebutton classbtn btn-primary py-2 position-absolute top-0 end-0 mt-2 me-2>SignUp/button> /div> div classd-flex pt-1 m-n1> a classbtn btn-lg-square btn-dark text-primary m-1 href>i classfab fa-twitter>/i>/a> a classbtn btn-lg-square btn-dark text-primary m-1 href>i classfab fa-facebook-f>/i>/a> a classbtn btn-lg-square btn-dark text-primary m-1 href>i classfab fa-youtube>/i>/a> a classbtn btn-lg-square btn-dark text-primary m-1 href>i classfab fa-linkedin-in>/i>/a> /div> /div> /div> /div> div classcontainer> div classcopyright> div classrow> div classcol-md-6 text-center text-md-start mb-3 mb-md-0> © a classborder-bottom href#>RealCRM/a>, All Rights Reserved. /div> /div> /div> /div> /div> !-- Footer End --> !-- Back to Top --> a href# classbtn btn-primary btn-lg-square back-to-top>i classbi bi-arrow-up>/i>/a> !-- JavaScript Libraries --> script srchttps://code.jquery.com/jquery-3.4.1.min.js>/script> script srchttps://cdn.jsdelivr.net/npm/bootstrap@5.0.0/dist/js/bootstrap.bundle.min.js>/script> script srclib/wow/wow.min.js>/script> script srclib/easing/easing.min.js>/script> script srclib/waypoints/waypoints.min.js>/script> !-- Template Javascript --> script srcjs/main.js>/script> !-- WebGL Animation --> script> document.addEventListener(DOMContentLoaded, function() { // Initialize WebGL animation const canvas document.getElementById(webgl-canvas); const renderer new THREE.WebGLRenderer({ canvas: canvas, antialias: true, alpha: true }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); // Limit pixel ratio for performance const scene new THREE.Scene(); const camera new THREE.PerspectiveCamera( 60, // Wider field of view window.innerWidth / window.innerHeight, 0.1, 1000 ); camera.position.z 7; // Position further back to see more particles // Add ambient light const ambientLight new THREE.AmbientLight(0xffffff, 0.6); // Brighter ambient light scene.add(ambientLight); // Add point lights with different colors for more visual interest const pointLight1 new THREE.PointLight(0x4CAF50, 0.7); // Green pointLight1.position.set(2, 3, 4); scene.add(pointLight1); const pointLight2 new THREE.PointLight(0x2196F3, 0.5); // Blue pointLight2.position.set(-3, -2, 3); scene.add(pointLight2); // Create particles - increase count for more visual density const particlesGeometry new THREE.BufferGeometry(); // Adjust particle count based on screen width for better performance on mobile let particlesCount 3500; // Default for desktop // Reduce particles for mobile devices if (window.innerWidth 768) { particlesCount 2000; } else if (window.innerWidth 576) { particlesCount 1500; } const posArray new Float32Array(particlesCount * 3); // Distribute particles in a more interesting pattern - spherical distribution for(let i 0; i particlesCount; i++) { // Create a spherical distribution with some randomness const radius 5 + Math.random() * 5; // Between 5 and 10 const theta Math.random() * Math.PI * 2; // 0 to 2π const phi Math.random() * Math.PI; // 0 to π posArrayi * 3 radius * Math.sin(phi) * Math.cos(theta); // x posArrayi * 3 + 1 radius * Math.sin(phi) * Math.sin(theta); // y posArrayi * 3 + 2 radius * Math.cos(phi); // z } particlesGeometry.setAttribute(position, new THREE.BufferAttribute(posArray, 3)); // Improved particle material with custom size and color const particlesMaterial new THREE.PointsMaterial({ size: 0.04, color: 0xffffff, transparent: true, opacity: 0.7, blending: THREE.AdditiveBlending // Add glow effect }); const particlesMesh new THREE.Points(particlesGeometry, particlesMaterial); scene.add(particlesMesh); // Create optimized geometric shapes for visual interest // Torus 1 const torusGeometry new THREE.TorusGeometry(1.5, 0.4, 16, 100); const torusMaterial new THREE.MeshStandardMaterial({ color: 0x4CAF50, wireframe: true, transparent: true, opacity: 0.15 }); const torus new THREE.Mesh(torusGeometry, torusMaterial); torus.position.set(-4, 2, -3); scene.add(torus); // Sphere 1 const sphereGeometry new THREE.SphereGeometry(1.2, 32, 32); const sphereMaterial new THREE.MeshStandardMaterial({ color: 0x2196F3, wireframe: true, transparent: true, opacity: 0.15 }); const sphere new THREE.Mesh(sphereGeometry, sphereMaterial); sphere.position.set(4, -2, -3); scene.add(sphere); // Icosahedron const icoGeometry new THREE.IcosahedronGeometry(1.5, 0); const icoMaterial new THREE.MeshStandardMaterial({ color: 0xE91E63, // Pink wireframe: true, transparent: true, opacity: 0.1 }); const ico new THREE.Mesh(icoGeometry, icoMaterial); ico.position.set(-3, -3, -4); scene.add(ico); // Octahedron const octaGeometry new THREE.OctahedronGeometry(1.3, 0); const octaMaterial new THREE.MeshStandardMaterial({ color: 0x00BCD4, // Cyan wireframe: true, transparent: true, opacity: 0.15 }); const octa new THREE.Mesh(octaGeometry, octaMaterial); octa.position.set(0, 5, -3); scene.add(octa); // Animation variables for smoother motion let mouseX 0; let mouseY 0; let targetX 0; let targetY 0; const windowHalfX window.innerWidth / 2; const windowHalfY window.innerHeight / 2; // Animation loop function animate() { requestAnimationFrame(animate); // Smooth mouse movement with lerp (linear interpolation) targetX mouseX * 0.001; targetY mouseY * 0.001; // Rotate particles slowly with some mouse influence particlesMesh.rotation.x + 0.0005; particlesMesh.rotation.y + 0.0007; particlesMesh.rotation.y + (targetX - particlesMesh.rotation.y) * 0.05; particlesMesh.rotation.x + (targetY - particlesMesh.rotation.x) * 0.05; // Rotate geometric shapes torus.rotation.x + 0.003; torus.rotation.y + 0.002; torus.rotation.z + 0.001; sphere.rotation.x + 0.002; sphere.rotation.y + 0.003; sphere.rotation.z + 0.002; ico.rotation.x + 0.003; ico.rotation.y + 0.002; ico.rotation.z + 0.004; octa.rotation.x + 0.002; octa.rotation.y + 0.004; octa.rotation.z + 0.003; renderer.render(scene, camera); } // Mouse move effects - track mouse position document.addEventListener(mousemove, (event) > { mouseX event.clientX - windowHalfX; mouseY event.clientY - windowHalfY; }); // Handle window resize window.addEventListener(resize, () > { // Update camera aspect ratio camera.aspect window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); // Adjust particle count on window resize let newParticlesCount 3500; // Default for desktop // Reduce particles for mobile devices if (window.innerWidth 768) { newParticlesCount 2000; } else if (window.innerWidth 576) { newParticlesCount 1500; } // Only update if the count has changed if (newParticlesCount ! particlesCount) { // Update particlesCount particlesCount newParticlesCount; // Create new geometry with updated count const newPosArray new Float32Array(particlesCount * 3); // Fill with new positions for(let i 0; i particlesCount; i++) { const radius 5 + Math.random() * 5; // Between 5 and 10 const theta Math.random() * Math.PI * 2; // 0 to 2π const phi Math.random() * Math.PI; // 0 to π newPosArrayi * 3 radius * Math.sin(phi) * Math.cos(theta); // x newPosArrayi * 3 + 1 radius * Math.sin(phi) * Math.sin(theta); // y newPosArrayi * 3 + 2 radius * Math.cos(phi); // z } // Update geometry particlesGeometry.setAttribute(position, new THREE.BufferAttribute(newPosArray, 3)); } }); // Start animation loop animate(); }); /script> !-- Hero Headline Animation Script --> script> document.addEventListener(DOMContentLoaded, function() { // Initialize SplitType on the hero headline const heroHeadline document.getElementById(heroHeadline); if (heroHeadline) { // Split the text into characters const splitText new SplitType(heroHeadline, { types: chars, tagName: span }); // Set initial state for characters gsap.set(splitText.chars, { opacity: 0, y: 100, rotationX: 90, transformOrigin: 50% 50% }); // Create the animation timeline const tl gsap.timeline({ delay: 0.5 // Start after page load }); // Animate characters in sequence tl.to(splitText.chars, { opacity: 1, y: 0, rotationX: 0, duration: 0.8, ease: back.out(1.7), stagger: { amount: 1.2, from: start } }); // Add a subtle floating animation after the initial animation tl.to(heroHeadline, { y: -10, duration: 2, ease: power2.inOut, yoyo: true, repeat: -1 }, +1); // Add glow effect on hover heroHeadline.addEventListener(mouseenter, function() { gsap.to(this, { textShadow: 0 0 50px rgba(255, 255, 255, 0.8), 0 0 100px rgba(255, 255, 255, 0.4), duration: 0.3, ease: power2.out }); }); heroHeadline.addEventListener(mouseleave, function() { gsap.to(this, { textShadow: 0 0 30px rgba(0, 0, 0, 0.8), duration: 0.3, ease: power2.out }); }); // Responsive animation adjustments function updateAnimation() { if (window.innerWidth 768) { // Reduce animation complexity on mobile gsap.set(splitText.chars, { rotationX: 0 // Remove 3D rotation on mobile for better performance }); } } // Update on resize window.addEventListener(resize, updateAnimation); updateAnimation(); // Initial call } }); /script> !-- Scroll Color Effect Script --> script> document.addEventListener(DOMContentLoaded, function() { const heroText document.getElementById(heroText); const spans heroText.querySelectorAll(span); // Initial state - calculate which spans should be visible function initializeSpans() { const viewportHeight window.innerHeight; const triggerPoint viewportHeight * 0.6; spans.forEach((span) > { // Set initial color without animation on load span.style.transition none; const spanRect span.getBoundingClientRect(); if (spanRect.top triggerPoint) { span.style.color rgb(255, 255, 255); span.style.textShadow 0 0 15px rgba(0, 0, 0, 0.5), 0 0 5px rgba(255, 255, 255, 0.5); } else { span.style.color rgb(80, 80, 80); span.style.textShadow 0 0 15px rgba(0, 0, 0, 0.8); } // Reset transitions after initial state is set setTimeout(() > { span.style.transition color 0.5s ease, text-shadow 0.5s ease; }, 50); }); } function updateTextColor() { const viewportHeight window.innerHeight; const triggerPoint viewportHeight * 0.6; spans.forEach((span) > { const spanRect span.getBoundingClientRect(); const spanTop spanRect.top; const spanMiddle spanTop + (spanRect.height / 2); if (spanMiddle triggerPoint) { // Calculate how far past the trigger (as percentage) const distance triggerPoint - spanMiddle; const maxDistance 150; // pixels over which to transition const percentage Math.min(distance / maxDistance, 1); // Apply smooth easing const eased easeOutCubic(percentage); // Calculate color based on percentage const startColor 80; // darker grey const endColor 255; // white const colorValue Math.round(startColor + (endColor - startColor) * eased); span.style.color `rgb(${colorValue}, ${colorValue}, ${colorValue})`; span.style.textShadow `0 0 15px rgba(0, 0, 0, ${0.8 - eased * 0.3}), 0 0 5px rgba(255, 255, 255, ${eased * 0.5})`; } else { span.style.color rgb(80, 80, 80); span.style.textShadow 0 0 15px rgba(0, 0, 0, 0.8); } }); } // Easing function for smoother visual transition function easeOutCubic(x) { return 1 - Math.pow(1 - x, 3); } // Efficient scroll handling with requestAnimationFrame let ticking false; window.addEventListener(scroll, function() { if (!ticking) { requestAnimationFrame(function() { updateTextColor(); ticking false; }); ticking true; } }); // Handle resize for responsive behavior window.addEventListener(resize, initializeSpans); // Initialize spans on load initializeSpans(); // Also initialize after a slight delay to account for any layout shifts setTimeout(initializeSpans, 500); }); /script> !-- Demo Form Handler --> script> document.getElementById(demoForm).addEventListener(submit, function(e) { e.preventDefault(); // Collect form data const formData { name: document.getElementById(name).value, email: document.getElementById(email).value, phone: document.getElementById(phone).value, company: document.getElementById(company).value, message: document.getElementById(message).value }; // Here you would typically send this data to your server console.log(Demo request:, formData); // Show success message alert(Thank you for your interest! Our team will contact you shortly to schedule your demo.); // Close the modal var modal bootstrap.Modal.getInstance(document.getElementById(demoModal)); modal.hide(); // Reset the form this.reset(); }); // Navbar active state handler document.addEventListener(DOMContentLoaded, function() { const navLinks document.querySelectorAll(.nav-link); const sections document.querySelectorAll(section, divid); // Handle navbar link clicks navLinks.forEach(link > { link.addEventListener(click, function(e) { if (this.getAttribute(href).startsWith(#)) { e.preventDefault(); const targetId this.getAttribute(href).substring(1); const targetElement document.getElementById(targetId); if (targetElement) { targetElement.scrollIntoView({ behavior: smooth }); } // Update active state navLinks.forEach(l > l.classList.remove(active)); this.classList.add(active); } }); }); // Update active state on scroll window.addEventListener(scroll, function() { let current ; sections.forEach(section > { const sectionTop section.offsetTop; const sectionHeight section.clientHeight; if (scrollY > (sectionTop - 200)) { current section.getAttribute(id); } }); navLinks.forEach(link > { link.classList.remove(active); if (link.getAttribute(href) # + current) { link.classList.add(active); } }); }); }); /script> /div>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]