diff --git a/README.md b/README.md index c507d02c4..a53639c08 100644 --- a/README.md +++ b/README.md @@ -111,3 +111,7 @@ You must integrate at least one of the following APIs to populate your applicati * **No Pre-built Templates:** Utilizing standard initializers (like Vite, Create React App, or Next.js) is permitted. However, cloning a full boilerplate containing pre-built application features or routing architectures is strictly prohibited. * **AI Assistance:** AI tooling (e.g., GitHub Copilot, Gemini, ChatGPT) may be used for debugging, syntax, and scaffolding. The core architectural decisions and library integrations must remain your team's own work. * **Time Limits:** All Pull Requests must be opened before the 120-minute mark. Late submissions will be subject to point deductions. + + +// You Tube Video Link of TVA_IIITL +https://youtu.be/TNmhRf5nuDk diff --git a/TVA_IIITL.html b/TVA_IIITL.html new file mode 100644 index 000000000..7f5b167bb --- /dev/null +++ b/TVA_IIITL.html @@ -0,0 +1,321 @@ + + + + + +IIIT Lucknow — Institute of National Importance + + + + + + + + + + + + + +
+
+
+ + +
+ +
+
+

INDIAN INSTITUTE OF INFORMATION TECHNOLOGY

+

IIIT LUCKNOW

+

[ SYSTEM READY ]

+
+
+
+ + +
+Home +About +Programs +Fees +Placements +Campus +Contact +
+ + +
+ + + + + +
+
+
+
+
+
+

ESTABLISHED 2015 — INSTITUTE OF NATIONAL IMPORTANCE

+

BUILDING THE
FUTURE OF
TECHNOLOGY

+

Where innovation meets education. IIIT Lucknow shapes tomorrow's tech leaders through cutting-edge research and world-class pedagogy.

+ +
+
SCROLL
+
+ + +
+
+
0
STUDENTS
+
0
FACULTY
+
0
PLACED
+
0
HIGHEST
+
0
AVERAGE
+
0
PLACEMENT RATE
+
+
+ + +
+
+
+
+

// ABOUT THE INSTITUTE

+

WHERE VISION
MEETS EXECUTION

+

Indian Institute of Information Technology, Lucknow (IIITL) was established in 2015 by the Government of India under the Public-Private Partnership model. Located on a 50-acre campus at Chinhut, Lucknow, the institute is recognized as an Institute of National Importance by an Act of Parliament.

+

Mentored initially by IIIT Allahabad, IIITL has rapidly grown into a premier center for technology education. The PPP model brings together the Government of India (50%), Government of Uttar Pradesh (35%), and industry partners including TCS and HCL Technologies (15%).

+
+

National Importance

Act of Parliament

+

50-Acre Campus

Chinhut, Lucknow

+

PPP Model

Govt + State + Industry

+

AICTE Approved

Ministry of Education

+

Industry Partners

TCS, HCL Technologies

+

24/7 WiFi Campus

Fully Residential

+
+
+
+
IIIT Lucknow Campus
+
+
+
+
+
+
+ + +
+
+
+

// ACADEMIC PROGRAMS

+

B.TECH PROGRAMS

+

Admission through JEE Main and CSAB/JoSAA Counseling.

+
+
+
+
+

Computer Science

+

B.Tech CSE — 60 Seats — JEE Rank: ~8K-12K

+

Deep dive into algorithms, systems design, AI/ML, compilers, and theoretical CS.

+

> Operating Systems and Networks

> Machine Learning and Deep Learning

> Database and Distributed Systems

> Compiler Design and TOC

+
AI/MLSYSTEMSALGO
+
+
+
+

Information Technology

+

B.Tech IT — 60 Seats — JEE Rank: ~12K-18K

+

Master web tech, cloud computing, cybersecurity, data science, and software engineering.

+

> Full-Stack Web Development

> Cloud Computing (AWS/Azure/GCP)

> Information Security

> Big Data Analytics

+
CLOUDCYBERSECDATA
+
+
+
+

Electronics and Comm.

+

B.Tech ECE — 60 Seats — JEE Rank: ~15K-22K

+

Explore VLSI design, embedded systems, signal processing, IoT, and communication systems.

+

> VLSI Design and FPGA

> Digital Signal Processing

> Embedded Systems and IoT

> Analog and Digital Comm.

+
VLSIIoTDSP
+
+
+

IIITL also offers Ph.D. programs in CSE, IT, and ECE with UGC NET/JRF fellowships.

+
+
+ + +
+
+
+

// MENTORS AND GUIDES

+

DISTINGUISHED FACULTY

+

Hover cards to see specializations and contact info.

+
+
+
+
+ + +
+
+
+

// INVESTMENT IN YOUR FUTURE

+

FEE STRUCTURE

+
+
+
+ + + +
+
COMPONENTPER SEMESTERPER ANNUM
Tuition FeeRs. 67,500Rs. 1,35,000
Hostel FeeRs. 10,000Rs. 20,000
Mess AdvanceRs. 15,000Rs. 30,000
One-Time AdmissionRs. 10,000Rs. 10,000
Caution DepositRs. 5,000Rs. 5,000
Medical / InsuranceRs. 2,500Rs. 5,000
Exam FeeRs. 1,500Rs. 3,000
TOTALRs. 1,11,500Rs. 2,08,000

* Approximate. Mess charges adjustable based on consumption.

+
COMPONENTPER SEMESTERPER ANNUM
Tuition FeeWAIVEDWAIVED
Hostel FeeRs. 10,000Rs. 20,000
Mess AdvanceRs. 15,000Rs. 30,000
Admission FeeRs. 10,000Rs. 10,000
Caution DepositRs. 5,000Rs. 5,000
TOTALRs. 44,000Rs. 70,000

* Full tuition waiver. Additional Rs. 3,000/month from UP state govt may apply.

+
COMPONENTPER SEMESTERPER ANNUM
Tuition FeeWAIVEDWAIVED
Hostel FeeRs. 10,000Rs. 20,000
Mess AdvanceRs. 15,000Rs. 30,000
Admission FeeRs. 10,000Rs. 10,000
Caution DepositRs. 5,000Rs. 5,000
TOTALRs. 44,000Rs. 70,000

* Full tuition waiver with valid EWS certificate. Requires income verification.

+
+
+ + +
+
+
+

// FINANCIAL SUPPORT

+

SCHOLARSHIPS AND WAIVERS

+

Click each card to expand details.

+
+
+
+
+ + +
+
+
+

// PLACEMENTS AND OUTCOMES

+

PLACEMENT ANALYTICS

+
+
+
42 LPA
HIGHEST
+
15.2 LPA
AVERAGE
+
95%
PLACEMENT RATE
+
50+
RECRUITERS
+
+
+

PLACEMENT TREND

+

BRANCH-WISE AVG (LPA)

+

SECTOR DISTRIBUTION

+

PACKAGE BRACKETS

+
+
+

TOP RECRUITING COMPANIES

+
MICROSOFTAMAZONGOOGLEADOBEGOLDMAN SACHSDE SHAWORACLEATLASSIANRAZORPAYFLIPKARTMAKEMYTRIPPHONEPECREDINFOSYSTCSWIPROMICROSOFTAMAZONGOOGLEADOBEGOLDMAN SACHSDE SHAWORACLEATLASSIANRAZORPAYFLIPKARTMAKEMYTRIPPHONEPECREDINFOSYSTCSWIPRO
+
+
+
+ + +
+
+
+

// STUDENT TECH COMMUNITY

+

TECHNICAL WINGS

+
+
+
+
+ + +
+
+
+

// LIFE AT IIITL

+

CAMPUS EXPERIENCE

+
+
+

ANNUAL FESTIVALS

+
+
Aavhan
TECHNICAL FEST

AAVHAN

Hackathons, workshops, tech talks, coding competitions.

+
Utsav
CULTURAL FEST

UTSAV

Dance, music, drama, art, and fashion shows.

+
Spardha
SPORTS FEST

SPARDHA

Cricket, football, basketball, badminton, athletics.

+
+

INFRASTRUCTURE

+
+
+ + +
+
+
+

// PUSHING BOUNDARIES

+

RESEARCH DOMAINS

+
+
+

Artificial Intelligence

Deep learning, NLP, computer vision, reinforcement learning, generative AI.

+

Cybersecurity

Cryptography, network security, malware analysis, blockchain security.

+

IoT and Edge Computing

Smart systems, sensor networks, edge AI, industrial IoT.

+

Blockchain and Web3

Distributed ledgers, smart contracts, DeFi, dApp development.

+

Computer Vision

Object detection, segmentation, medical imaging, visual transformers.

+

VLSI and Embedded

Chip design, FPGA, low-power VLSI, AI accelerators, RISC-V.

+
+
+
+ + +
+
+
+

// GET IN TOUCH

+

CONTACT US

+
+
+
+

Campus Address

IIIT Lucknow, Chinhut, Hardoi Road, Lucknow, UP - 226002

+

Phone

+91-522-2763021

+

Email

info@iiitl.ac.in | admissions@iiitl.ac.in

+

Website

https://iiitl.ac.in

+
+
+
+
+
+
+ +
+
+
+
+ + + +
+ + + + + + \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 000000000..af3f993a5 --- /dev/null +++ b/script.js @@ -0,0 +1,475 @@ +// THREE.JS MODULE +import * as THREE from 'three'; +var c=document.getElementById('three-container'); +var s=new THREE.Scene(); +var cam=new THREE.PerspectiveCamera(60,innerWidth/innerHeight,0.1,100); +cam.position.z=5; +var r=new THREE.WebGLRenderer({alpha:true,antialias:true}); +r.setSize(innerWidth,innerHeight); +r.setPixelRatio(Math.min(devicePixelRatio,2)); +c.appendChild(r.domElement); +var ig=new THREE.IcosahedronGeometry(1.8,1); +var im=new THREE.MeshBasicMaterial({color:0x00f0ff,wireframe:true,transparent:true,opacity:0.35}); +var ico=new THREE.Mesh(ig,im); +s.add(ico); +var gg=new THREE.IcosahedronGeometry(2.0,1); +var gm=new THREE.MeshBasicMaterial({color:0x00f0ff,wireframe:true,transparent:true,opacity:0.08}); +var glo=new THREE.Mesh(gg,gm); +s.add(glo); +var pc=300,pg=new THREE.BufferGeometry(),pp=new Float32Array(pc*3); +for(var i=0;i

'+f.n+'

'+f.d+'

'+f.dp+'

'+f.n+'

'+f.d+' - '+f.dp+'

'+f.sp+'

'+f.em+'

'; +}); + +// Scholarships +var sl=document.getElementById('scholarship-list'); +SD.forEach(function(s){ +sl.innerHTML+='

'+s.t+'

'+s.tg.join(' / ')+'

'+s.x+'

'+s.tg.map(function(t){return ''+t+'';}).join('')+'
'; +}); + +// Wings +var wg=document.getElementById('wings-grid'); +WD.forEach(function(w){ +wg.innerHTML+='
'+w.st+'

'+w.n+'

'+w.x+'

'; +}); + +// Infrastructure +var ig2=document.getElementById('infra-grid'); +ID.forEach(function(item){ +ig2.innerHTML+='

'+item.n+'

'; +}); + +// Re-init icons after dynamic content +lucide.createIcons(); + +// ========== TOAST ========== +function showToast(m,d){ +d=d||3000; +var c=document.getElementById('toast-container'); +var t=document.createElement('div'); +t.className='toast'; +t.textContent=m; +c.appendChild(t); +requestAnimationFrame(function(){t.classList.add('show');}); +setTimeout(function(){t.classList.remove('show');setTimeout(function(){t.remove();},400);},d); +} + +// ========== MATRIX RAIN ========== +(function(){ +var cv=document.getElementById('matrix-canvas'); +var cx=cv.getContext('2d'); +cv.width=innerWidth; +cv.height=innerHeight; +var ch='IIITLUCKNOW01ABCDEF0123456789'; +var fs=14; +var co=Math.floor(cv.width/fs); +var dr=[]; +for(var i=0;i0.95?'#00f0ff':b>0.7?'rgba(0,240,255,0.4)':'rgba(0,240,255,0.12)'; +cx.fillText(cc,x,y); +if(y>cv.height&&Math.random()>0.975) dr[i]=0; +dr[i]+=0.5+Math.random()*0.5; +} +} +var iv=setInterval(draw,45); +addEventListener('resize',function(){cv.width=innerWidth;cv.height=innerHeight;}); +window.cleanupMatrixRain=function(){clearInterval(iv);}; +})(); + +// ========== TYPING EFFECT ========== +(function(){ +var el=document.getElementById('sys-status'); +if(!el) return; +var texts=['[ SYSTEM READY ]','[ AWAITING INPUT... ]','[ STANDING BY ]']; +var ti=0,ci=0,del=false; +function type(){ +var cur=texts[ti]; +if(!del){ +el.textContent=cur.substring(0,ci+1); +ci++; +if(ci===cur.length){del=true;setTimeout(type,2000);return;} +setTimeout(type,60); +} else { +el.textContent=cur.substring(0,ci-1); +ci--; +if(ci===0){del=false;ti=(ti+1)%texts.length;setTimeout(type,400);return;} +setTimeout(type,30); +} +} +setTimeout(type,1500); +})(); + +// ========== FEE TABS ========== +document.querySelectorAll('.fee-tab').forEach(function(tab){ +tab.addEventListener('click',function(){ +document.querySelectorAll('.fee-tab').forEach(function(t){t.classList.remove('active');}); +document.querySelectorAll('.fee-panel').forEach(function(p){p.classList.remove('active');}); +this.classList.add('active'); +document.getElementById('panel-'+this.dataset.tab).classList.add('active'); +}); +}); + +// ========== ENTER BUTTON - THE FIX ========== +document.getElementById('enter-btn').addEventListener('click',function(){ +var ep=document.getElementById('enter-page'); +var ms=document.getElementById('main-site'); +var ss=document.getElementById('sys-status'); + +ss.textContent='[ ACCESSING MAINFRAME... ]'; + +// Trigger Three.js explosion +if(window.animateThreeEnter) window.animateThreeEnter(); + +// Build the transition timeline +var tl=gsap.timeline({ +onComplete:function(){ +// Cleanup enter page +if(window.cleanupThreeScene) window.cleanupThreeScene(); +if(window.cleanupMatrixRain) window.cleanupMatrixRain(); +ep.remove(); +// Enable scrolling +document.body.style.overflow=''; +// Start scroll animations +initMainSiteAnimations(); +} +}); + +// Step 1: Fade out enter page text +tl.to('#enter-page .relative.z-10',{ + opacity:0, + scale:1.5, + duration:0.5, + ease:'power2.in' +}); + +// Step 2: Fade out matrix canvas +tl.to('#matrix-canvas',{ + opacity:0, + duration:0.3 +},'-=0.3'); + +// Step 3: Darken background +tl.to('#enter-page',{ + backgroundColor:'#0a0a0f', + duration:0.3 +},'-=0.3'); + +// Step 4: Fade out enter page entirely +tl.to('#enter-page',{ + opacity:0, + duration:0.4, + ease:'power2.out' +},'-=0.1'); + +// Step 5: Show main site - use inline style to override +tl.to(ms,{ + opacity:1, + pointerEvents:'auto', + duration:0.01 +}); + +// Step 6: Animate navbar in +tl.from('#navbar',{ + y:-80, + opacity:0, + duration:0.6, + ease:'power3.out' +}); + +// Step 7: Stagger hero elements +tl.from('.hero-line',{ + y:60, + opacity:0, + duration:0.8, + stagger:0.15, + ease:'power3.out' +},'-=0.3'); + +// Lock scroll during transition +document.body.style.overflow='hidden'; +}); + +// ========== MAIN SITE SCROLL ANIMATIONS ========== +function initMainSiteAnimations(){ +gsap.registerPlugin(ScrollTrigger); + +// Reveal sections +document.querySelectorAll('.reveal-section').forEach(function(s){ +gsap.to(s,{ + opacity:1, + y:0, + duration:0.8, + ease:'power3.out', + scrollTrigger:{ + trigger:s, + start:'top 85%', + toggleActions:'play none none none' + } +}); +}); + +// Counter animation +document.querySelectorAll('.counter').forEach(function(c){ +var t=parseInt(c.dataset.target); +var sx=c.dataset.suffix||'+'; +gsap.to({val:0},{ + val:t, + duration:2, + ease:'power2.out', + scrollTrigger:{trigger:c,start:'top 90%'}, + onUpdate:function(){ + c.textContent=Math.floor(this.targets()[0].val)+sx; + } +}); +}); + +// Init charts when placements section scrolls into view +ScrollTrigger.create({ +trigger:'#placements', +start:'top 70%', +once:true, +onEnter:initCharts +}); +} + +// ========== CHART.JS CHARTS ========== +function initCharts(){ +Chart.defaults.color='#64748b'; +Chart.defaults.font.family="'Space Grotesk',sans-serif"; +Chart.defaults.font.size=11; +Chart.defaults.plugins.legend.labels.usePointStyle=true; +Chart.defaults.plugins.legend.labels.pointStyleWidth=8; +var gc='rgba(26,26,46,0.5)'; + +// Chart 1: Placement Trend Line +new Chart(document.getElementById('chart-trend'),{ +type:'line', +data:{ +labels:['2019','2020','2021','2022','2023','2024'], +datasets:[ +{label:'Highest (LPA)',data:[12,15,22,32,38,42],borderColor:'#00f0ff',backgroundColor:'rgba(0,240,255,0.1)',fill:true,tension:0.4,pointRadius:4,pointBackgroundColor:'#00f0ff'}, +{label:'Average (LPA)',data:[6,7,9,11,13,15.2],borderColor:'#a855f7',backgroundColor:'rgba(168,85,247,0.1)',fill:true,tension:0.4,pointRadius:4,pointBackgroundColor:'#a855f7'} +] +}, +options:{responsive:true,plugins:{legend:{position:'bottom'}},scales:{x:{grid:{color:gc},ticks:{font:{size:10}}},y:{grid:{color:gc},ticks:{font:{size:10}}}}} +}); + +// Chart 2: Branch-wise Bar +new Chart(document.getElementById('chart-branch'),{ +type:'bar', +data:{ +labels:['CSE','IT','ECE'], +datasets:[ +{label:'Highest',data:[42,35,28],backgroundColor:'rgba(0,240,255,0.7)',borderColor:'#00f0ff',borderWidth:1,borderRadius:4}, +{label:'Average',data:[18,15,12],backgroundColor:'rgba(168,85,247,0.7)',borderColor:'#a855f7',borderWidth:1,borderRadius:4}, +{label:'Median',data:[16,13,10],backgroundColor:'rgba(16,185,129,0.7)',borderColor:'#10b981',borderWidth:1,borderRadius:4} +] +}, +options:{responsive:true,plugins:{legend:{position:'bottom'}},scales:{x:{grid:{color:gc}},y:{grid:{color:gc},ticks:{callback:function(v){return v+' LPA';}}}}} +}); + +// Chart 3: Sector Doughnut +new Chart(document.getElementById('chart-sector'),{ +type:'doughnut', +data:{ +labels:['Product/SaaS','Finance/BFSI','Consulting','EdTech','IT Services','Others'], +datasets:[{data:[35,20,15,12,10,8],backgroundColor:['#00f0ff','#a855f7','#10b981','#f97316','#ec4899','#64748b'],borderWidth:0,hoverOffset:8}] +}, +options:{responsive:true,cutout:'60%',plugins:{legend:{position:'bottom',labels:{font:{size:10},padding:12}}}} +}); + +// Chart 4: Package Brackets Bar +new Chart(document.getElementById('chart-brackets'),{ +type:'bar', +data:{ +labels:['0-5','5-10','10-15','15-20','20-25','25-30','30-35','35-40','40+'], +datasets:[{ +label:'Students', +data:[5,15,40,50,35,20,10,3,2], +backgroundColor:['rgba(100,116,139,0.5)','rgba(100,116,139,0.5)','rgba(16,185,129,0.8)','rgba(16,185,129,0.8)','rgba(168,85,247,0.8)','rgba(168,85,247,0.8)','rgba(0,240,255,0.8)','rgba(0,240,255,0.8)','rgba(0,240,255,0.8)'], +borderWidth:0, +borderRadius:4 +}] +}, +options:{responsive:true,plugins:{legend:{display:false}},scales:{x:{grid:{display:false},title:{display:true,text:'LPA',font:{size:10}}},y:{grid:{color:gc},title:{display:true,text:'Students',font:{size:10}}}}} +}); +} + +// ========== NAVBAR SCROLL ========== +var nb=document.getElementById('navbar'); +var btt=document.getElementById('back-to-top'); +var sp=document.getElementById('scroll-progress'); +addEventListener('scroll',function(){ +if(scrollY>60) nb.classList.add('scrolled'); else nb.classList.remove('scrolled'); +if(scrollY>600) btt.classList.add('visible'); else btt.classList.remove('visible'); +var pct=(scrollY/(document.documentElement.scrollHeight-innerHeight))*100; +sp.style.width=pct+'%'; +}); +btt.addEventListener('click',function(){scrollTo({top:0,behavior:'smooth'});}); + +// ========== ACTIVE NAV LINK ========== +var secs=document.querySelectorAll('section[id]'); +var nls=document.querySelectorAll('.nav-link'); +addEventListener('scroll',function(){ +var cur=''; +secs.forEach(function(s){if(scrollY>=s.offsetTop-100) cur=s.getAttribute('id');}); +nls.forEach(function(l){l.classList.remove('active');if(l.getAttribute('href')==='#'+cur) l.classList.add('active');}); +}); + +// ========== MOBILE MENU ========== +var ham=document.getElementById('hamburger'); +var mm=document.getElementById('mobile-menu'); +var mo=false; +ham.addEventListener('click',function(){ +mo=!mo; +mm.classList.toggle('open',mo); +document.body.style.overflow=mo?'hidden':''; +}); +document.querySelectorAll('.mobile-link').forEach(function(l){ +l.addEventListener('click',function(){mo=false;mm.classList.remove('open');document.body.style.overflow='';}); +}); + +// ========== 3D TILT CARDS ========== +document.querySelectorAll('.tilt-card').forEach(function(card){ +card.addEventListener('mousemove',function(e){ +var r=card.getBoundingClientRect(); +var x=e.clientX-r.left; +var y=e.clientY-r.top; +var cx=r.width/2; +var cy=r.height/2; +card.style.transform='perspective(800px) rotateX('+((y-cy)/cy)*-8+'deg) rotateY('+((x-cx)/cx)*8+'deg) translateY(-4px)'; +}); +card.addEventListener('mouseleave',function(){ +card.style.transform='perspective(800px) rotateX(0) rotateY(0) translateY(0)'; +}); +}); + +// ========== CONTACT FORM ========== +document.getElementById('contact-form').addEventListener('submit',function(e){ +e.preventDefault(); +var fd=new FormData(this); +if(!fd.get('name')||!fd.get('email')||!fd.get('subject')||!fd.get('message')){ +showToast('Please fill in all fields.'); +return; +} +var btn=this.querySelector('button[type="submit"]'); +btn.innerHTML=' SENDING...'; +btn.disabled=true; +var self=this; +setTimeout(function(){ +showToast('Message sent successfully!'); +self.reset(); +btn.innerHTML='SEND MESSAGE '; +btn.disabled=false; +lucide.createIcons(); +},1500); +}); \ No newline at end of file diff --git a/styles.css b/styles.css new file mode 100644 index 000000000..7b3ecfbb0 --- /dev/null +++ b/styles.css @@ -0,0 +1,53 @@ +*{margin:0;padding:0;box-sizing:border-box} +body{background:#0a0a0f;color:#e2e8f0;font-family:'Space Grotesk',sans-serif;overflow-x:hidden} +.noise-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")} +.glitch{position:relative;display:inline-block}.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.glitch::before{animation:gl1 3s infinite linear alternate-reverse;clip-path:polygon(0 0,100% 0,100% 40%,0 40%);color:#00f0ff;left:-3px}.glitch::after{animation:gl2 3s infinite linear alternate-reverse;clip-path:polygon(0 60%,100% 60%,100% 100%,0 100%);color:#a855f7;left:3px} +@keyframes gl1{0%,100%{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-1px,1px)}80%{transform:translate(2px,-2px)}} +@keyframes gl2{0%,100%{transform:translate(0)}20%{transform:translate(3px,-2px)}40%{transform:translate(-2px,1px)}60%{transform:translate(1px,-1px)}80%{transform:translate(-3px,2px)}} +.scanlines::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.015) 2px,rgba(0,240,255,.015) 4px)} +.scan-beam::before{content:'';position:absolute;left:0;right:0;height:3px;z-index:5;background:linear-gradient(90deg,transparent,rgba(0,240,255,.4),transparent);animation:scanB 4s linear infinite} +@keyframes scanB{0%{top:-3px}100%{top:100%}} +.enter-btn{position:relative;padding:18px 64px;font-family:'Orbitron',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.3em;color:#00f0ff;background:0 0;border:2px solid #00f0ff;cursor:pointer;overflow:hidden;transition:all .4s ease;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)} +.enter-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,240,255,.2),transparent);transition:left .5s ease} +.enter-btn:hover::before{left:100%}.enter-btn:hover{background:rgba(0,240,255,.1);box-shadow:0 0 40px rgba(0,240,255,.3),inset 0 0 40px rgba(0,240,255,.05)} +.gradient-text{background:linear-gradient(135deg,#00f0ff 0%,#a855f7 50%,#10b981 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text} +.gradient-text-alt{background:linear-gradient(90deg,#00f0ff,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text} +.glass-nav{background:rgba(10,10,15,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(26,26,46,.6)} +.glass-nav.scrolled{background:rgba(10,10,15,.92);box-shadow:0 4px 30px rgba(0,0,0,.5)} +.nav-link{position:relative}.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(90deg,#00f0ff,#a855f7);transition:width .3s ease}.nav-link:hover::after,.nav-link.active::after{width:100%} +.float-shape{position:absolute;border-radius:50%;pointer-events:none;filter:blur(60px);opacity:.12} +@keyframes floatA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-40px) scale(1.1)}} +@keyframes floatB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,30px) scale(.9)}} +.ring-shape{position:absolute;border:1px solid rgba(0,240,255,.15);border-radius:50%;pointer-events:none} +@keyframes spinSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}} +@keyframes spinReverse{from{transform:rotate(360deg)}to{transform:rotate(0)}} +.glow-card{position:relative;background:#0d0d18;border-radius:16px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease} +.glow-card::before{content:'';position:absolute;inset:-2px;border-radius:18px;padding:2px;background:linear-gradient(135deg,rgba(0,240,255,.3),transparent,rgba(168,85,247,.3));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease} +.glow-card:hover::before{opacity:1}.glow-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,240,255,.08)} +.stat-card{background:linear-gradient(135deg,rgba(13,13,24,.9),rgba(26,26,46,.4));border:1px solid rgba(26,26,46,.6);border-radius:12px;padding:24px;transition:all .3s ease;position:relative;overflow:hidden} +.stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00f0ff,transparent);opacity:0;transition:opacity .3s ease} +.stat-card:hover::after{opacity:1}.stat-card:hover{border-color:rgba(0,240,255,.2)} +.marquee-track{display:flex;gap:48px;animation:marq 30s linear infinite;width:max-content} +@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}} +.reveal-section{opacity:0;transform:translateY(50px)} +.grid-pattern{background-image:linear-gradient(rgba(0,240,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,240,255,.03) 1px,transparent 1px);background-size:60px 60px} +.toast-container{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:8px} +.toast{padding:14px 24px;border-radius:10px;font-size:.9rem;background:rgba(13,13,24,.95);border:1px solid rgba(0,240,255,.3);backdrop-filter:blur(10px);color:#00f0ff;transform:translateX(120%);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 40px rgba(0,0,0,.4)} +.toast.show{transform:translateX(0)} +.mobile-menu{position:fixed;inset:0;z-index:90;background:rgba(10,10,15,.97);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translateX(100%);transition:transform .5s cubic-bezier(.16,1,.3,1)} +.mobile-menu.open{transform:translateX(0)} +.fee-tab{padding:10px 24px;font-family:'Orbitron',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.15em;border:1px solid #1a1a2e;border-radius:8px;color:#64748b;background:0 0;cursor:pointer;transition:all .3s ease} +.fee-tab.active{color:#00f0ff;border-color:#00f0ff;background:rgba(0,240,255,.05);box-shadow:0 0 20px rgba(0,240,255,.1)} +.fee-panel{display:none;animation:fadeP .4s ease}.fee-panel.active{display:block} +@keyframes fadeP{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}} +.scholarship-content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)} +.scholarship-card.expanded .scholarship-content{max-height:300px} +.scholarship-card.expanded .sch-chevron{transform:rotate(180deg)} +.sch-chevron{transition:transform .3s ease} +.faculty-card{perspective:1000px}.faculty-inner{position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1)}.faculty-card:hover .faculty-inner{transform:rotateY(180deg)}.faculty-front,.faculty-back{backface-visibility:hidden;-webkit-backface-visibility:hidden}.faculty-back{transform:rotateY(180deg);position:absolute;top:0;left:0;right:0;bottom:0} +.back-to-top{position:fixed;bottom:32px;left:32px;z-index:80;width:48px;height:48px;border-radius:50%;border:1px solid rgba(0,240,255,.3);background:rgba(10,10,15,.8);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(20px);transition:all .3s ease;color:#00f0ff} +.back-to-top.visible{opacity:1;transform:translateY(0)}.back-to-top:hover{background:rgba(0,240,255,.1);border-color:#00f0ff} +#scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#00f0ff,#a855f7);z-index:60;width:0;transition:width .05s linear} +::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0a0a0f}::-webkit-scrollbar-thumb{background:#1a1a2e;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00f0ff} +@media(max-width:768px){.glitch{font-size:2.5rem!important}.enter-btn{padding:14px 40px;font-size:.9rem}} +@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}} \ No newline at end of file