1 2<!DOCTYPE html> 3<html lang="en"> 4<head> 5
5<script src="api/premium_flag.php" type="text/javascript"></script>
5 6 <meta charset="UTF-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>Tech EDU Videos - Learn Here Free</title> 9 <link rel="icon" type="image/svg+xml" href="Fabicon.svg"> 10 11 <!-- Fast CDN Preconnects --> 12 <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin> 13 <link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin> 14 <link rel="dns-prefetch" href="https://bendspecimen.com"> 15 16 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> 17 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"> 18 19 <!-- Vidiqs Popunder Ad Script --> 20
20<script src="https://bendspecimen.com/18/f2/18/18f218265d28f99a57c42b426fb8c25d.js" defer></script>
20 21 <style> 22 :root { 23 --primary-color: #667eea; 24 --secondary-color: #764ba2; 25 --accent-color: #f093fb; 26 --success-color: #4facfe; 27 --text-dark: #2d3748; 28 --text-light: #718096; 29 --bg-light: #f7fafc; 30 --white: #ffffff; 31 --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1); 32 --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1); 33 --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1); 34 } 35 36 * { 37 margin: 0; 38 padding: 0; 39 box-sizing: border-box; 40 } 41 42 body { 43 font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 44 background: var(--bg-light); 45 color: var(--text-dark); 46 line-height: 1.6; 47 min-height: 100vh; 48 } 49 50 /* Header Styles */ 51 .header { 52 background: var(--white); 53 box-shadow: var(--shadow-sm); 54 padding: 1rem 0; 55 position: sticky; 56 top: 0; 57 z-index: 1000; 58 } 59 60 .header-content { 61 max-width: 1200px; 62 margin: 0 auto; 63 padding: 0 2rem; 64 display: flex; 65 justify-content: space-between; 66 align-items: center; 67 } 68 69 .logo { 70 display: flex; 71 align-items: center; 72 gap: 0.75rem; 73 text-decoration: none; 74 color: var(--primary-color); 75 } 76 77 .logo-icon { 78 width: 45px; 79 height: 45px; 80 border-radius: 12px; 81 display: flex; 82 align-items: center; 83 justify-content: center; 84 overflow: hidden; 85 transition: all 0.3s ease; 86 } 87 88 .logo-icon img { 89 width: 100%; 90 height: 100%; 91 object-fit: contain; 92 } 93 94 .logo-text { 95 font-size: 1.5rem; 96 font-weight: 700; 97 color: var(--text-dark); 98 } 99 100 /* Breadcrumb */ 101 .breadcrumb-section { 102 background: var(--white); 103 padding: 1rem 0; 104 border-bottom: 1px solid #e5e7eb; 105 } 106 107 .breadcrumb-content { 108 max-width: 1200px; 109 margin: 0 auto; 110 padding: 0 2rem; 111 } 112 113 .breadcrumb { 114 background: none; 115 padding: 0; 116 margin: 0; 117 } 118 119 .breadcrumb-item { 120 color: var(--text-light); 121 font-size: 0.9rem; 122 } 123 124 .breadcrumb-item a { 125 color: var(--primary-color); 126 text-decoration: none; 127 } 128 129 .breadcrumb-item.active { 130 color: var(--text-dark); 131 font-weight: 500; 132 } 133 134 /* Main Container */ 135 .main-container { 136 max-width: 1200px; 137 margin: 0 auto; 138 padding: 3rem 2rem; 139 } 140 141 /* Page Header */ 142 .page-header { 143 text-align: center; 144 margin-bottom: 3rem; 145 background: var(--white); 146 padding: 3rem 2rem; 147 border-radius: 16px; 148 box-shadow: var(--shadow-sm); 149 } 150 151 .page-title { 152 display: flex; 153 align-items: center; 154 justify-content: center; 155 gap: 1rem; 156 margin-bottom: 1rem; 157 } 158 159 .page-icon { 160 font-size: 3rem; 161 color: var(--primary-color); 162 } 163 164 .page-name { 165 font-size: 3rem; 166 font-weight: 800; 167 color: var(--text-dark); 168 margin: 0; 169 } 170 171 .page-description { 172 font-size: 1.1rem; 173 color: var(--text-light); 174 max-width: 600px; 175 margin: 0 auto; 176 } 177 178 /* Content Sections */ 179 .content-section { 180 margin-bottom: 3rem; 181 } 182 183 .section-header { 184 display: flex; 185 align-items: center; 186 gap: 1rem; 187 margin-bottom: 2rem; 188 } 189 190 .section-icon { 191 font-size: 1.5rem; 192 color: var(--success-color); 193 } 194 195 .section-title { 196 font-size: 1.5rem; 197 font-weight: 700; 198 color: var(--text-dark); 199 margin: 0; 200 } 201 202 .section-count { 203 background: var(--success-color); 204 color: var(--white); 205 padding: 0.25rem 0.75rem; 206 border-radius: 20px; 207 font-size: 0.9rem; 208 font-weight: 600; 209 } 210 211 /* Cards Grid */ 212 .cards-grid { 213 display: grid; 214 grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); 215 gap: 2rem; 216 margin-bottom: 3rem; 217 } 218 219 .content-card { 220 background: var(--white); 221 border-radius: 20px; 222 overflow: hidden; 223 box-shadow: var(--shadow-md); 224 transition: transform 0.15s ease, box-shadow 0.15s ease; 225 text-decoration: none !important; 226 color: inherit !important; 227 border: 1px solid rgba(0, 0, 0, 0.05); 228 position: relative; 229 display: flex; 230 flex-direction: column; 231 cursor: pointer !important; 232 user-select: none; 233 -webkit-tap-highlight-color: transparent; 234 } 235 236 .content-card::before { 237 content: ''; 238 position: absolute; 239 top: 0; 240 left: 0; 241 right: 0; 242 height: 4px; 243 background: linear-gradient(90deg, var(--primary-color), var(--secondary-color), var(--accent-color)); 244 transform: scaleX(0); 245 transition: transform 0.15s ease; 246 z-index: 2; 247 } 248 249 .content-card:hover { 250 transform: translateY(-6px); 251 box-shadow: var(--shadow-lg); 252 text-decoration: none !important; 253 color: inherit !important; 254 } 255 256 .content-card:active { 257 transform: scale(0.98); 258 } 259 260 .content-card:hover::before { 261 transform: scaleX(1); 262 } 263 264 .card-image { 265 height: 200px; 266 background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); 267 display: flex; 268 align-items: center; 269 justify-content: center; 270 overflow: hidden; 271 position: relative; 272 } 273 274 .card-image::after { 275 content: ''; 276 position: absolute; 277 top: 0; 278 left: 0; 279 right: 0; 280 bottom: 0; 281 background: linear-gradient(45deg, rgba(0,0,0,0.1) 0%, transparent 100%); 282 } 283 284 .card-image img { 285 width: 100%; 286 height: 100%; 287 object-fit: cover; 288 transition: transform 0.3s ease; 289 } 290 291 .content-card:hover .card-image img { 292 transform: scale(1.05); 293 } 294 295 .card-fallback { 296 font-size: 4rem; 297 color: var(--white); 298 opacity: 0.8; 299 } 300 301 .card-content { 302 padding: 1.5rem; 303 } 304 305 .card-title { 306 font-size: 1.5rem; 307 font-weight: 700; 308 color: var(--text-dark); 309 margin-bottom: 1rem; 310 line-height: 1.3; 311 } 312 313 .card-stats { 314 display: flex; 315 align-items: center; 316 justify-content: space-between; 317 margin-bottom: 1rem; 318 } 319 320 .card-count { 321 color: var(--text-light); 322 font-size: 0.9rem; 323 } 324 325 .stat-badge { 326 display: inline-flex; 327 align-items: center; 328 gap: 0.5rem; 329 background: var(--bg-light); 330 color: var(--text-dark); 331 padding: 0.5rem 1rem; 332 border-radius: 20px; 333 font-size: 0.9rem; 334 font-weight: 500; 335 } 336 337 .stat-badge i { 338 color: var(--primary-color); 339 } 340 341 .card-link { 342 display: inline-flex; 343 align-items: center; 344 gap: 0.5rem; 345 color: var(--primary-color); 346 font-weight: 600; 347 text-decoration: none; 348 transition: all 0.3s ease; 349 } 350 351 .card-link:hover { 352 color: var(--secondary-color); 353 transform: translateX(4px); 354 } 355 356 .explore-btn { 357 display: inline-flex; 358 align-items: center; 359 gap: 0.5rem; 360 color: var(--primary-color); 361 font-weight: 600; 362 font-size: 0.9rem; 363 transition: all 0.3s ease; 364 } 365 366 .content-card:hover .explore-btn { 367 color: var(--secondary-color); 368 transform: translateX(4px); 369 } 370 371 /* Empty State */ 372 .empty-state { 373 text-align: center; 374 padding: 4rem 2rem; 375 background: var(--white); 376 border-radius: 16px; 377 box-shadow: var(--shadow-sm); 378 } 379 380 .empty-state i { 381 font-size: 4rem; 382 margin-bottom: 1.5rem; 383 opacity: 0.3; 384 color: var(--primary-color); 385 } 386 387 .empty-state h3 { 388 font-size: 1.5rem; 389 margin-bottom: 1rem; 390 color: var(--text-dark); 391 } 392 393 .empty-state p { 394 color: var(--text-light); 395 } 396 397 /* Grid View Toggle */ 398 .grid-view-toggle { 399 display: flex; 400 gap: 0.5rem; 401 margin: 2rem 0; 402 justify-content: center; 403 } 404 405 /* View Buttons */ 406 .view-btn { 407 display: inline-flex; 408 align-items: center; 409 gap: 0.5rem; 410 padding: 0.5rem 1rem; 411 border-radius: 20px; 412 border: 1px solid var(--primary-color); 413 color: var(--primary-color); 414 font-weight: 600; 415 font-size: 0.9rem; 416 transition: all 0.3s ease; 417 cursor: pointer; 418 } 419 420 .view-btn:hover { 421 background: var(--primary-color); 422 color: var(--white); 423 font-weight: 600; 424 } 425 426 .view-btn.active { 427 background: var(--primary-color); 428 color: var(--white); 429 font-weight: 600; 430 } 431 432 /* Grid Layouts */ 433 .cards-grid.compact { 434 grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); 435 gap: 1rem; 436 } 437 438 .cards-grid.compact .content-card { 439 padding: 0.75rem; 440 text-align: center; 441 } 442 443 .cards-grid.compact .card-image { 444 width: 60px; /* 2.5 times smaller than original 150px */ 445 height: 60px; /* 2.5 times smaller than original 150px */ 446 margin: 0 auto 0.5rem; 447 } 448 449 .cards-grid.compact .card-title { 450 font-size: 0.875rem; 451 margin-bottom: 0.25rem; 452 } 453 454 .cards-grid.compact .card-count { 455 font-size: 0.75rem; 456 } 457 458 /* List View - More concise and narrower */ 459 .cards-grid.list { 460 grid-template-columns: 1fr; 461 gap: 0.75rem; 462 max-width: 800px; 463 margin: 0 auto; 464 } 465 466 .cards-grid.list .content-card { 467 display: flex; 468 align-items: center; 469 padding: 0.75rem 1rem; 470 gap: 1rem; 471 } 472 473 .cards-grid.list .card-image { 474 width: 80px; 475 height: 80px; 476 flex-shrink: 0; 477 } 478 479 .cards-grid.list .card-content { 480 flex: 1; 481 min-width: 0; 482 } 483 484 .cards-grid.list .card-title { 485 font-size: 1rem; 486 margin-bottom: 0.25rem; 487 } 488 489 .cards-grid.list .card-count { 490 font-size: 0.875rem; 491 margin-bottom: 0.5rem; 492 } 493 494 /* Responsive Design */ 495 @media (max-width: 768px) { 496 .page-name { 497 font-size: 2.5rem; 498 } 499 500 .page-icon { 501 font-size: 2.5rem; 502 } 503 504 .main-container { 505 padding: 2rem 1rem; 506 } 507 508 .header-content { 509 padding: 0 1rem; 510 } 511 512 .breadcrumb-content { 513 padding: 0 1rem; 514 } 515 516 .page-header { 517 padding: 2rem 1rem; 518 } 519 520 .cards-grid { 521 grid-template-columns: 1fr; 522 gap: 1.5rem; 523 } 524 } 525 526 @media (max-width: 480px) { 527 .page-name { 528 font-size: 2rem; 529 } 530 531 .page-icon { 532 font-size: 2rem; 533 } 534 535 .page-title { 536 flex-direction: column; 537 gap: 0.5rem; 538 } 539 } 540 </style> 541</head> 542<body> 543 <!-- Header --> 544 <header class="header"> 545 <div class="header-content"> 546 <a href="index.php" class="logo"> 547 <div class="logo-icon"><img src="Logo.svg" alt="Learn Here Free Logo"></div>
548 <span class="logo-text">Learn Here Free</span> 549 </a> 550 </div> 551 </header> 552 553 <!-- Breadcrumb --> 554 <section class="breadcrumb-section"> 555 <div class="breadcrumb-content"> 556 <nav aria-label="breadcrumb"> 557 <ol class="breadcrumb"> 558 <li class="breadcrumb-item"><a href="index.php">Home</a></li> 559 <li class="breadcrumb-item active" aria-current="page">Tech EDU Videos</li> 560 </ol> 561 </nav> 562 </div> 563 </section> 564 565 <!-- Header Ads Removed --> 566 567 568 <!-- Main Content --> 569 <main class="main-container"> 570 <!-- Header Banner Ad --> 571 572<style> 573.banner-ad-container { 574 width: 100%; 575 margin: 10px 0; 576 text-align: center; 577 /* No background, no border, no shadow - completely merged */ 578} 579 580.banner-ad-header { 581 margin-bottom: 20px; 582} 583 584.banner-ad-footer { 585 margin-top: 20px; 586} 587 588/* Responsive design */ 589@media (max-width: 768px) { 590 .banner-ad-container { 591 margin: 5px 0; 592 } 593 594 .banner-ad-container iframe { 595 max-width: 100% !important; 596 height: auto !important; 597 } 598} 599 600/* Mobile responsive ads - keep visible but adjust size */ 601@media (max-width: 480px) { 602 .banner-ad-container { 603 margin: 3px 0; 604 padding: 5px; 605 } 606 607 .banner-ad-container iframe { 608 max-width: 100% !important; 609 height: auto !important; 610 min-height: 50px; 611 } 612} 613 614/* Integrated Ad Styling - Looks like folder/video */ 615.integrated-ad-container { 616 width: 100%; 617 margin: 10px 0; 618 text-align: center; 619 /* No background, no border - completely merged */ 620} 621 622.integrated-ad-wrapper { 623 display: inline-block; 624 max-width: 100%; 625 border-radius: 8px; 626 overflow: hidden; 627 box-shadow: 0 2px 8px rgba(0,0,0,0.1); 628 transition: transform 0.3s ease, box-shadow 0.3s ease; 629} 630 631.integrated-ad-wrapper:hover { 632 transform: translateY(-2px); 633 box-shadow: 0 4px 12px rgba(0,0,0,0.15); 634} 635 636/* Make it look like a content card */ 637.integrated-ad-container { 638 display: flex; 639 justify-content: center; 640 align-items: center; 641 margin: 15px 0; 642} 643 644/* Responsive for integrated ads */ 645@media (max-width: 768px) { 646 .integrated-ad-wrapper { 647 max-width: 90%; 648 } 649} 650 651@media (max-width: 480px) { 652 .integrated-ad-container { 653 margin: 5px 0; 654 padding: 5px; 655 } 656 657 .integrated-ad-wrapper { 658 max-width: 100%; 659 border-radius: 4px; 660 } 661} 662</style> 663<div class="banner-ad-container banner-ad-header" data-ad-position="header" style="min-height:90px;display:flex;align-items:center;justify-content:center;margin:10px auto;overflow:hidden;"> 664
664<script type="text/javascript"> 665 atOptions = { 666 'key' : '8833db24afb3c28be337155f6df3fb31', 667 'format' : 'iframe', 668 'height' : 60, 669 'width' : 468, 670 'params' : {} 671 }; 672</script>
vendor: 1 bytes, line 672
672
673<script type="text/javascript" src="//www.highperformanceformat.com/8833db24afb3c28be337155f6df3fb31/invoke.js"></script>
673 674</div> <!-- Page Header --> 675 <div class="page-header"> 676 <div class="page-title"> 677 <div class="page-icon"> 678 <i class="fas fa-folder"></i> 679 </div> 680 <h1 class="page-name">Tech EDU Videos</h1> 681 </div> 682 <p class="page-description">Explore batches, courses, and educational content in this category</p> 683 </div> 684 685 <!-- Batches Section --> 686 <div class="content-section"> 687 <div class="section-header"> 688 <div class="section-icon"> 689 <i class="fas fa-layer-group"></i> 690 </div> 691 <h2 class="section-title">Available Batches</h2> 692 <div class="section-count">1</div> 693 </div> 694 695 <!-- Grid View Toggle --> 696 <div class="grid-view-toggle"> 697 <button class="view-btn active" onclick="changeView('batches-grid')" title="Grid View"> 698 <i class="fas fa-th"></i> Grid 699 </button> 700 <button class="view-btn" onclick="changeView('batches-list')" title="List View"> 701 <i class="fas fa-list"></i> List 702 </button> 703 <button class="view-btn" onclick="changeView('batches-compact')" title="Compact View"> 704 <i class="fas fa-compress"></i> Compact 705 </button> 706 </div> 707 708 <div class="cards-grid" id="batches-grid"> 709 <a href="batches.php?batch_id=11" class="content-card"> 710 <div class="card-image"> 711 <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRVzN7hkuTIDwVu9gKuvakg3rgU2lJln9AInw&s" 712 alt="Grabdigitals" 713 loading="lazy" decoding="async"> 714 </div> 715 <div class="card-content"> 716 <h3 class="card-title">Grabdigitals</h3> 717 <div class="card-stats"> 718 <div class="stat-badge"> 719 <i class="fas fa-book"></i> 720 <span>0 Courses</span> 721 </div> 722 </div> 723 724 <div class="explore-btn"> 725 Explore Courses <i class="fas fa-arrow-right"></i> 726 </div> 727 </div> 728 </a> 729 </div> 730 </div> 731 732 <!-- Direct Videos Section --> 733 734 735 736 737 <!-- Empty State --> 738 <!-- Footer Banner Ad --> 739 740<div class="banner-ad-container banner-ad-footer" data-ad-position="footer" style="min-height:90px;display:flex;align-items:center;justify-content:center;margin:10px auto;overflow:hidden;"> 741
741<script type="text/javascript"> 742 atOptions = { 743 'key' : 'f1312d2eb6097a52e11efa0729f7cf12', 744 'format' : 'iframe', 745 'height' : 250, 746 'width' : 300, 747 'params' : {} 748 }; 749</script>
vendor: 1 bytes, line 749
749
750<script type="text/javascript" src="//www.highperformanceformat.com/f1312d2eb6097a52e11efa0729f7cf12/invoke.js"></script>
750 751</div> </main> 752 753 <!-- Footer Ads --> 754 755 756 <!-- Bootstrap JS --> 757
757<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
757 758 759
759<script> 760 // Grid View Management 761 function changeView(viewType) { 762 const viewBtns = document.querySelectorAll('.view-btn'); 763 let targetGrid; 764 765 // Remove active class from all buttons in the same section 766 if (viewType.startsWith('videos-')) { 767 targetGrid = document.getElementById('videos-grid'); 768 document.querySelectorAll('[onclick*="videos-"]').forEach(btn => btn.classList.remove('active')); 769 } else { 770 targetGrid = document.getElementById('batches-grid'); 771 document.querySelectorAll('[onclick*="batches-"]').forEach(btn => btn.classList.remove('active')); 772 } 773 774 // Add active class to clicked button 775 event.target.closest('.view-btn').classList.add('active'); 776 777 if (targetGrid) { 778 // Remove all view classes 779 targetGrid.classList.remove('grid', 'list', 'compact'); 780 781 // Add new view class 782 const viewClass = viewType.replace('videos-', '').replace('batches-', ''); 783 targetGrid.classList.add(viewClass); 784 } 785 } 786 787 // Video Player Function (Secure: Only video_id passed) 788 function openVideo(videoId, ...args) { 789 let categoryId = 0; 790 if (args.length === 1 && typeof args[0] === 'number') { 791 categoryId = args[0]; 792 } else if (args.length >= 5) { 793 categoryId = args[4] || 0; 794 } 795 let videoPageUrl = 'video_player.php?video_id=' + parseInt(videoId, 10); 796 if (categoryId) { 797 videoPageUrl += '&category_id=' + parseInt(categoryId, 10); 798 } 799 window.open(videoPageUrl, '_blank'); 800 } 801 802 // Initialize grid view 803 document.addEventListener('DOMContentLoaded', function() { 804 // Set default views 805 const batchesGrid = document.getElementById('batches-grid'); 806 const videosGrid = document.getElementById('videos-grid'); 807 808 if (batchesGrid) batchesGrid.classList.add('grid'); 809 if (videosGrid) videosGrid.classList.add('grid'); 810 }); 811 </script>
811 812 813 <!-- Popunder Ads Removed --> 814 <!-- New Direct Popunder System --> 815
815<script type="text/javascript">window.LHFreePremiumUser=false;</script>
815<script type="text/javascript">window.LHFreePopunderConfig = {"cooldownSeconds":15,"maxPerSession":10,"adCode":"
815<script type=\"text\/javascript\" src=\"https:\/\/bendspecimen.com\/18\/f2\/18\/18f218265d28f99a57c42b426fb8c25d.js\"><\/script>","adName":"Adsterra Popunder Ad"};</script>
815<script type="text/javascript" src="js/popunder_new.js?v=1790905661"></script>
815 816<!-- Social Bar Ads - Adsterra -->
817<script src="https://bendspecimen.com/0a/5e/17/0a5e175b92721ea3772f907fb3ac2166.js"></script>
817 818<!-- /Social Bar Ads --> 819</body> 820</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.