1<!DOCTYPE html> 2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3 4 5<head> 6 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 7 <meta name="verified-code" content="2bac0c4e-3b92-47e4-83ff-014c0971a55b"> <!-- Removed verified-code Tulu--> 8 <meta name="description" content="100% free sex dating - The #1 Adult Social Network. Check out millions of shared hot amateur homemade xxx photos and sex videos. Search sex personals. Rate and rank other members. Post public or private photos. Chat in a free live sex chat or have virtual sex online! And many more ... for free!"> 9 10 <link rel="stylesheet" type="text/css" href="/css/all.css?x=144" media="all"> 11 <link rel="stylesheet" type="text/css" href="/css/cookies.css?x=121" media="all"> 12 <!-- <link rel="stylesheet" type="text/css" href="/css/ny2015.css?x=12" media="all"> --> 13 <link rel="stylesheet" type="text/css" href="/css/modern-modal.css?x=23" media="all"> 14 15 <!-- CSRF token --> 16 <meta name="csrf-token" content="70743bb9bd070119b8381395ca601a9d84ab6be7"> 17
17<script type="text/javascript"> 18 // Global CSRF token from session 19 window.csrfToken = '70743bb9bd070119b8381395ca601a9d84ab6be7'; 20 </script>
20 21 22 23 <!--[if lt IE 8]> 24 <link rel="stylesheet" type="text/css" href="/css/ie7.css?10" media="screen"/><![endif]--> 25 <!--[if IE 8]> 26 <link rel="stylesheet" type="text/css" href="/css/ie8.css?4" media="screen"/><![endif]--> 27 <!--<link rel="stylesheet" type="text/css" href="/css/lotto.css" media="all">--> 28 29 30
30<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
30 31 32 <!--script type="text/javascript" src="/js/adult.js?2"></script--> 33 <!--script type="text/javascript" src="/js/rkn-2017.js?1"></script--> 34
34<script type="text/javascript" src="/js/trans/en.js?6"></script>
34 35
35<script type="text/javascript" src="/js/main.js?220"></script>
35 36
36<script type="text/javascript" src="/js/guest.js?16"></script>
36 37
37<script type="text/javascript" src="/js/modal-login.js?1"></script>
37 38 39 <!-- vast --> 40
40<script type="text/javascript" src="/js/vast/video.js"></script>
40 41
41<script type="text/javascript" src="/js/vast/es5-shim.js"></script>
41 42
42<script type="text/javascript" src="/js/vast/ie8fix.js"></script>
42 43
43<script type="text/javascript" src="/js/vast/videojs_4.vast.vpaid.js"></script>
43 44 <link rel="stylesheet" type="text/css" href="/js/vast/video-js.min.css" media="all"> 45 <title>Free Sex Videos, Homemade XXX Photos, Hot Amateurs, Adult Dating Live Chat</title> 46 47 <!-- Rel-M --> 48<link rel="canonical" href="https://www.meendo.com/"/> 49<link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.meendo.com/" /> 50 51<link rel="alternate" href="https://www.meendo.com/" hreflang="en" /> 52<link rel="alternate" href="https://www.meendorux.net/" hreflang="ru-RU" /> 53<link rel="alternate" href="https://www.meendo.net/" hreflang="ru" /> 54<link rel="alternate" href="https://www.meendo.com/" hreflang="x-default" /> 55
55<script>
vendor: 520 bytes, lines 55-68
55 56 (function(i, s, o, g, r, a, m) { 57 i['GoogleAnalyticsObject'] = r; 58 i[r] = i[r] || function() { 59 (i[r].q = i[r].q || []).push(arguments) 60 }, i[r].l = 1 * new Date(); 61 a = s.createElement(o), 62 m = s.getElementsByTagName(o)[0]; 63 a.async = 1; 64 a.src = g; 65 m.parentNode.insertBefore(a, m) 66 })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); 67 68 ga('create', '
68UA-4996837-2
vendor: 28 bytes, lines 68-69
68', 'auto'); 69
69ga('require', 'displayfeatures'); 70 ga('send', 'pageview'); 71 72 function checkIEBrowser() { 73 var rv = -1; // Return value assumes failure. 74 75 if (navigator.appName == 'Microsoft Internet Explorer') { 76 77 var ua = navigator.userAgent, 78 re = new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})"); 79 80 if (re.exec(ua) !== null) { 81 rv = parseFloat(RegExp.$1); 82 } 83 } else if (navigator.appName == "Netscape") { 84 /// in IE 11 the navigator.appVersion says 'trident' 85 /// in Edge the navigator.appVersion does not say trident 86 if (navigator.appVersion.indexOf('Trident') === -1) rv = 12; 87 else rv = 11; 88 } 89 90 return rv; 91 } 92 93 var browserIeVersion = checkIEBrowser(); 94 if (browserIeVersion >= 9 && browserIeVersion <= 11) { 95 $('img').addClass('ie-opacity'); 96 } 97 </script>
97 98 99 <meta name="_ga" content="70743bb9bd070119b8381395ca601a9d84ab6be7">
vendor: 73 bytes, lines 99-101
99 100 <script src='https://www.google.com/recaptcha/api.js'></script> 101
101</head> 102 103<body class="guest_img_blur"> 104<div class="table-wrapper"> 105 <div id="content"> 106 <div class="content-holder"> 107 <div class="content-frame"> 108 <div class="container"> 109 110<div class="header"> 111 <a href="/?logo" class="logo">Meendo</a> 112 113 <div class="signin"> 114 <div class="guest-auth-buttons"> 115 <div class="modern-lang-selector"> 116 <button type="button" class="modern-lang-btn" id="modernLangBtn"> 117 <span class="lang-flag">ð¬ð§</span> 118 <span class="lang-text">English</span> 119 <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="lang-arrow"> 120 <path d="M7 10l5 5 5-5z"/> 121 </svg> 122 </button> 123 <div class="modern-lang-menu" id="modernLangMenu"> 124 <a href="#" onclick="changeLanguage('ru_ru');return false;" class="modern-lang-option"> 125 <span class="lang-flag">ð·ðº</span> 126 <span class="lang-text">Ð ÑÑÑкий</span> 127 </a> 128 </div> 129 </div> 130 <a href="#" class="guest-btn guest-btn-login" id="guestLoginBtn" onclick="if(typeof $.showLoginModal === 'function') { $.showLoginModal(); return false; }"> 131 Login </a> 132 <a href="https://lnd.gomeendo.com/en/r/l?partner_id=566&prov=0" class="guest-btn guest-btn-register"> 133 Sign up </a> 134 </div> 135 </div> 136 137 <div class="navigation"> 138 <ul> 139 <li><a href="/search/" onclick="ga('send', 'event', 'Menu', 'Click', 'Search');">Adult Dating</a></li> 140 <li><a href="/photos/" onclick="ga('send', 'event', 'Menu', 'Click', 'Photos');">Photos</a></li> 141 <li><a href="/videos/" onclick="ga('send', 'event', 'Menu', 'Click', 'Videos');">Videos</a></li> 142 <li><a href="/users/" onclick="ga('send', 'event', 'Menu', 'Click', 'Users');">Users</a></li> 143 <!-- <li><a style="color: #f7b801;" href="https://t.me/etokos_vip_bot?start=520671715" target="_blank" onClick="ga('send', 'event', 'Menu Ads', 'Click', 'ErosTGBot');">Eros</a></li> --> 144 <!-- <li><a style="color: #f7b801;" href="https://yareel.com/?wm_id=22374" target="_blank" onclick="ga('send', 'event', 'Menu Ads', 'Click', 'Games yareel');">Sex Games</a></li> --> 145 <li><a href="/advertising/">Advert</a></li> 146 <li><a class="no-external-arrow" target="_blank" title="Live Sex Cams" href="https://go.bluetrafficstream.com/easy?campaignId=8041f3753dcad1df6ed7446babb40dc5c3a8af2d351436390de7b134c9b4b174&userId=a4088a32af398736937a05359aa86ed3365efb93699acc7e9bdc0944f3327c57&sourceId=meendo_com_tab" onClick="ga('send', 'event', 'Menu Ads', 'Click', 'StripChat');">StripChat <img class="do-not-blur-this-is-image" src="/images/stripchat.png" alt="icon" style="vertical-align: middle; width: 20px; height: 20px;"></a></li> 147 <li class="faq-nav"><a href="/help/"><i>FAQ</i></a></li> 148 </ul> 149 </div> 150</div><!-- END header --> 151
152<script> 153// Modern Language Selector 154(function() { 155 var langBtn = document.getElementById('modernLangBtn'); 156 var langMenu = document.getElementById('modernLangMenu'); 157 var langSelector = langBtn ? langBtn.closest('.modern-lang-selector') : null; 158 159 if (langBtn && langMenu && langSelector) { 160 // Toggle menu on button click 161 langBtn.addEventListener('click', function(e) { 162 e.preventDefault(); 163 e.stopPropagation(); 164 langSelector.classList.toggle('active'); 165 }); 166 167 // Close menu when clicking outside 168 document.addEventListener('click', function(e) { 169 if (langSelector && !langSelector.contains(e.target)) { 170 langSelector.classList.remove('active'); 171 } 172 }); 173 174 // Close menu on Escape key 175 document.addEventListener('keydown', function(e) { 176 if (e.key === 'Escape' && langSelector) { 177 langSelector.classList.remove('active'); 178 } 179 }); 180 } 181})(); 182</script>
182 183 184 185 186 187 <div class="wrapper"> 188 189<style> 190/* NEW LOGIN PAGE STYLES - Mamba.ru inspired design */ 191/* ROLLBACK: Remove this style block to revert */ 192 193/* Modern Guest Header Styles */ 194.guest-auth-buttons { 195 display: flex; 196 gap: 12px; 197 align-items: center; 198} 199 200.guest-btn { 201 display: inline-flex; 202 align-items: center; 203 justify-content: center; 204 padding: 10px 24px; 205 font-size: 15px; 206 font-weight: 600; 207 text-decoration: none; 208 border-radius: 8px; 209 border: 2px solid transparent; 210 cursor: pointer; 211 transition: all 0.3s ease; 212 white-space: nowrap; 213} 214 215.guest-btn-register { 216 background: #2c2c2c; 217 color: #ffffff; 218 border-color: #2c2c2c; 219} 220 221.guest-btn-register:hover { 222 background: #1a1a1a; 223 border-color: #1a1a1a; 224 transform: translateY(-1px); 225 box-shadow: 0 4px 12px rgba(44, 44, 44, 0.2); 226 text-decoration: none; 227 color: #ffffff; 228} 229 230.guest-btn-login { 231 background: #ffffff; 232 color: #e91e63; 233 border-color: #e91e63; 234} 235 236.guest-btn-login:hover { 237 background: #fff5f8; 238 border-color: #e91e63; 239 transform: translateY(-1px); 240 box-shadow: 0 4px 12px rgba(233, 30, 99, 0.15); 241 text-decoration: none; 242 color: #e91e63; 243} 244 245/* Improved Navigation Menu - Blue background like header */ 246.navigation { 247 margin-top: 20px; 248 background: #53a2cc !important; 249 height: auto !important; 250 padding: 12px 16px; 251 border-radius: 8px; 252} 253 254.navigation > ul { 255 display: flex; 256 flex-wrap: wrap; 257 gap: 8px; 258 list-style: none; 259 padding: 0; 260 margin: 0; 261 align-items: center; 262} 263 264.navigation > ul > li { 265 margin: 0; 266 padding: 0; 267 float: none !important; 268 background: none !important; 269} 270 271.navigation > ul > li > a { 272 display: inline-block; 273 padding: 10px 16px; 274 font-size: 15px; 275 font-weight: 500; 276 color: #2c3e50; 277 text-decoration: none; 278 border-radius: 6px; 279 transition: all 0.2s ease; 280 white-space: nowrap; 281 float: none !important; 282 height: auto !important; 283 font: 500 15px/1.4 Arial, Helvetica, sans-serif !important; 284 text-shadow: none !important; 285} 286 287.navigation > ul > li > a:hover { 288 background: rgba(255, 255, 255, 0.6); 289 color: #e91e63; 290 text-decoration: none; 291} 292 293.navigation > ul > li.faq-nav { 294 float: none !important; 295 background: none !important; 296} 297 298.navigation > ul > li.faq-nav > a { 299 font-style: italic; 300 color: #5a6c7d; 301} 302 303.navigation > ul > li.faq-nav > a:hover { 304 color: #e91e63; 305 background: rgba(255, 255, 255, 0.6); 306} 307 308/* Sticky footer - keep header at top and footer at bottom */ 309html, body { 310 height: 100%; 311} 312 313body { 314 display: flex; 315 flex-direction: column; 316 min-height: 100vh; 317} 318 319.table-wrapper { 320 flex: 1; 321 display: flex; 322 flex-direction: column; 323} 324 325#content { 326 flex: 1; 327 display: flex; 328 flex-direction: column; 329} 330 331.content-holder { 332 flex: 1; 333 display: flex; 334 flex-direction: column; 335} 336 337.content-frame { 338 flex: 1; 339 display: flex; 340 flex-direction: column; 341} 342 343.container { 344 flex: 1; 345 display: flex; 346 flex-direction: column; 347} 348 349/* Center footer content horizontally - same as other pages */ 350#footer { 351 margin-top: auto; 352 flex-shrink: 0; 353 display: table-footer-group !important; 354 width: 100% !important; 355} 356 357#footer .footer-holder { 358 display: flex !important; 359 justify-content: center !important; 360 height: 1% !important; 361} 362 363#footer .footer-frame { 364 display: block !important; 365 width: 984px !important; 366 margin: 0 auto !important; 367 text-align: center !important; 368} 369 370/* Footer text styles use default from all.css - no overrides needed */ 371 372/* Prevent wrapper from clipping profile cards */ 373.wrapper { 374 overflow: visible !important; 375 max-width: 100% !important; 376 margin-top: 0 !important; 377 padding-top: 0 !important; 378} 379 380.new-login-page-hero { 381 background: transparent; 382 min-height: calc(100vh - 300px); 383 padding: 0; 384 margin: 0; 385 margin-top: 0 !important; 386 padding-top: 0 !important; 387 position: relative; 388 overflow: visible; 389} 390 391.new-login-page-hero-content { 392 position: relative; 393 z-index: 2; 394 max-width: 1400px; 395 margin: 0 auto; 396 padding: 90px 20px 40px 20px; 397 display: grid; 398 grid-template-columns: 1fr 1fr; 399 gap: 40px; 400 align-items: start; 401 min-height: auto; 402 overflow: visible; 403} 404 405.new-login-page-hero-left { 406 text-align: left; 407 margin-top: 0; 408 padding-top: 0; 409} 410 411.new-login-page-hero h1 { 412 font-size: 56px; 413 font-weight: 700; 414 color: #1a1a1a; 415 margin: 0 0 20px 0; 416 line-height: 1.2; 417} 418 419.new-login-page-hero p { 420 font-size: 18px; 421 color: #4a4a4a; 422 margin: 0 0 30px 0; 423 line-height: 1.6; 424} 425 426.new-login-page-buttons { 427 display: flex; 428 gap: 16px; 429 align-items: center; 430 flex-wrap: wrap; 431 margin-bottom: 20px; 432} 433 434.new-login-page-btn { 435 display: inline-flex; 436 align-items: center; 437 justify-content: center; 438 gap: 8px; 439 padding: 14px 32px; 440 font-size: 16px; 441 font-weight: 600; 442 text-decoration: none; 443 border-radius: 8px; 444 border: 2px solid transparent; 445 cursor: pointer; 446 transition: all 0.3s ease; 447 min-width: 180px; 448} 449 450.new-login-page-btn-create { 451 background: #2c2c2c; 452 color: #ffffff; 453 border-color: #2c2c2c; 454} 455 456.new-login-page-btn-create:hover { 457 background: #1a1a1a; 458 border-color: #1a1a1a; 459 transform: translateY(-1px); 460 box-shadow: 0 4px 12px rgba(44, 44, 44, 0.2); 461 text-decoration: none; 462 color: #ffffff; 463} 464 465.new-login-page-btn-create .heart-icon { 466 color: #ffffff; 467 font-size: 18px; 468 line-height: 1; 469} 470 471.new-login-page-btn-login { 472 background: #ffffff; 473 color: #e91e63; 474 border-color: #e91e63; 475} 476 477.new-login-page-btn-login:hover { 478 background: #fff5f8; 479 border-color: #e91e63; 480 transform: translateY(-1px); 481 box-shadow: 0 4px 12px rgba(233, 30, 99, 0.15); 482 text-decoration: none; 483 color: #e91e63; 484} 485 486/* Profile images section */ 487.new-login-page-hero-right { 488 position: relative; 489 height: 600px; 490 display: flex; 491 align-items: flex-start; 492 justify-content: center; 493 overflow: visible; 494 margin-top: 0; 495 padding-top: 0; 496} 497 498.new-login-profile-images { 499 position: relative; 500 width: 100%; 501 height: 100%; 502 max-width: 550px; 503 overflow: visible; 504 isolation: isolate; 505 -webkit-transform: translateZ(0); 506 -moz-transform: translateZ(0); 507 -ms-transform: translateZ(0); 508 transform: translateZ(0); 509} 510 511.new-login-profile-card { 512 position: absolute; 513 width: 240px; 514 height: 300px; 515 border-radius: 16px; 516 overflow: hidden; 517 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); 518 background: transparent; 519 transition: transform 0.3s ease; 520 border: none !important; 521 outline: none !important; 522 -webkit-backface-visibility: hidden; 523 -moz-backface-visibility: hidden; 524 -ms-backface-visibility: hidden; 525 backface-visibility: hidden; 526 -webkit-transform: translateZ(0); 527 -moz-transform: translateZ(0); 528 -ms-transform: translateZ(0); 529 transform: translateZ(0); 530 -webkit-font-smoothing: antialiased; 531 -moz-osx-font-smoothing: grayscale; 532 will-change: transform; 533} 534 535.new-login-profile-card:hover { 536 transform: scale(1.08) !important; 537 z-index: 10; 538} 539 540.new-login-profile-card-1 { 541 top: 20px; 542 left: 0; 543 transform: rotate(-12deg) translateZ(0); 544 z-index: 4; 545 isolation: isolate; 546} 547 548.new-login-profile-card-2 { 549 top: 80px; 550 left: 120px; 551 transform: rotate(-4deg) translateZ(0); 552 z-index: 3; 553 isolation: isolate; 554} 555 556.new-login-profile-card-3 { 557 top: 140px; 558 left: 240px; 559 transform: rotate(4deg) translateZ(0); 560 z-index: 2; 561 isolation: isolate; 562} 563 564.new-login-profile-card-4 { 565 bottom: 20px; 566 right: 0; 567 transform: rotate(12deg) translateZ(0); 568 z-index: 1; 569 isolation: isolate; 570} 571 572.new-login-profile-card img { 573 width: 100%; 574 height: 100%; 575 object-fit: cover; 576 border: none !important; 577 outline: none !important; 578 -webkit-filter: blur(0) !important; 579 -moz-filter: blur(0) !important; 580 -ms-filter: blur(0) !important; 581 -o-filter: blur(0) !important; 582 filter: blur(0) !important; 583 filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius='0') !important; 584 -webkit-backface-visibility: hidden; 585 -moz-backface-visibility: hidden; 586 -ms-backface-visibility: hidden; 587 backface-visibility: hidden; 588 -webkit-transform: translateZ(0); 589 -moz-transform: translateZ(0); 590 -ms-transform: translateZ(0); 591 transform: translateZ(0); 592 image-rendering: auto; 593 -ms-interpolation-mode: bicubic; 594 display: block; 595 margin: 0; 596 padding: 0; 597 -webkit-font-smoothing: antialiased; 598 -moz-osx-font-smoothing: grayscale; 599} 600
601/* Remove blur from profile cards even when body has guest_img_blur class */ 602body.guest_img_blur .new-login-profile-card img { 603 -webkit-filter: blur(0) !important; 604 -moz-filter: blur(0) !important; 605 -ms-filter: blur(0) !important; 606 -o-filter: blur(0) !important; 607 filter: blur(0) !important; 608 filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius='0') !important; 609} 610 611/* Decorative shapes */ 612.new-login-decorative-shape { 613 position: absolute; 614 border-radius: 50%; 615 pointer-events: none; 616 z-index: 0; 617} 618 619.new-login-shape-1 { 620 width: 200px; 621 height: 200px; 622 background: rgba(255, 182, 193, 0.4); 623 top: -50px; 624 right: -50px; 625} 626 627.new-login-shape-2 { 628 width: 150px; 629 height: 150px; 630 background: rgba(255, 165, 0, 0.3); 631 bottom: -30px; 632 left: -30px; 633} 634 635/* Login form - hidden by default */ 636.new-login-form-wrapper { 637 display: none; 638 max-width: 450px; 639 margin: 40px auto 0; 640 background: #ffffff; 641 padding: 40px; 642 border-radius: 16px; 643 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); 644} 645 646.new-login-form-wrapper.active { 647 display: block; 648 animation: slideDown 0.4s ease; 649} 650 651@keyframes slideDown { 652 from { 653 opacity: 0; 654 transform: translateY(-30px); 655 } 656 to { 657 opacity: 1; 658 transform: translateY(0); 659 } 660} 661 662.new-login-form { 663 display: flex; 664 flex-direction: column; 665 gap: 24px; 666} 667 668.new-login-form input { 669 width: 100%; 670 padding: 16px 20px; 671 font-size: 16px; 672 border: 2px solid #e0e0e0; 673 border-radius: 10px; 674 box-sizing: border-box; 675 transition: border-color 0.3s ease; 676} 677 678.new-login-form-field-password { 679 position: relative; 680} 681 682.new-login-form-field-password input { 683 padding-right: 50px; 684} 685 686.new-login-password-toggle { 687 position: absolute; 688 right: 12px; 689 top: 50%; 690 transform: translateY(-50%); 691 background: none; 692 border: none; 693 cursor: pointer; 694 padding: 8px; 695 display: flex; 696 align-items: center; 697 justify-content: center; 698 color: #666; 699 transition: color 0.2s ease; 700 z-index: 10; 701} 702 703.new-login-password-toggle:hover { 704 color: #333; 705} 706 707.new-login-password-toggle svg { 708 width: 20px; 709 height: 20px; 710 stroke: currentColor; 711} 712 713.new-login-form input:focus { 714 outline: none; 715 border-color: #e91e63; 716 box-shadow: 0 0 0 3px rgba(233, 30, 99, 0.1); 717} 718 719.new-login-form-submit { 720 background: #e91e63; 721 color: #ffffff; 722 padding: 16px 32px; 723 font-size: 18px; 724 font-weight: 600; 725 border: none; 726 border-radius: 10px; 727 cursor: pointer; 728 transition: all 0.3s ease; 729} 730 731.new-login-form-submit:hover { 732 background: #c2185b; 733 transform: translateY(-1px); 734 box-shadow: 0 4px 12px rgba(233, 30, 99, 0.3); 735} 736 737.new-login-form-forgot { 738 text-align: center; 739 margin-top: 12px; 740} 741 742.new-login-form-forgot a { 743 color: #5a6c7d; 744 text-decoration: none; 745 font-size: 14px; 746} 747 748.new-login-form-forgot a:hover { 749 color: #e91e63; 750 text-decoration: underline; 751} 752 753/* ROLLBACK: Registration section styles removed - uncomment to restore 754 * Styles for .new-signup-section, .new-signup-container, .new-signup-form-wrapper, .new-signup-benefits 755 * were removed as registration form is no longer needed 756 */ 757 758@media (max-width: 968px) { 759 .new-login-page-hero-content { 760 grid-template-columns: 1fr; 761 gap: 30px; 762 padding: 30px 20px 30px 20px; 763 min-height: auto; 764 } 765 766 .new-login-page-hero-left { 767 text-align: center; 768 } 769 770 .new-login-page-hero h1 { 771 font-size: 40px; 772 } 773 774 .new-login-page-hero p { 775 font-size: 16px; 776 } 777 778 .new-login-page-buttons { 779 justify-content: center; 780 flex-direction: column; 781 } 782 783 .new-login-page-btn { 784 width: 100%; 785 max-width: 280px; 786 } 787 788 .new-login-page-hero-right { 789 height: 400px; 790 } 791 792 .new-login-profile-card { 793 width: 180px; 794 height: 220px; 795 } 796 797 .new-login-profile-card-2 { 798 left: 80px; 799 } 800 801 .new-login-profile-card-3 { 802 left: 160px; 803 } 804} 805</style> 806 807<!-- Hero Section --> 808<div class="new-login-page-hero"> 809 <div class="new-login-page-hero-content"> 810 <!-- Left: Text and Buttons --> 811 <div class="new-login-page-hero-left"> 812 <h1>Your new connections</h1> 813 <p>Millions of active users with the same goals and interests are already waiting for you â take a step forward.â</p> 814 815 <div class="new-login-page-buttons"> 816 <a href="https://lnd.gomeendo.com/en/r/l?partner_id=566&prov=0" class="new-login-page-btn new-login-page-btn-create">
817 <span class="heart-icon">â¤</span> 818 <span>Sign up</span> 819 </a> 820 <button type="button" class="new-login-page-btn new-login-page-btn-login" id="showNewLoginFormBtn"> 821 Login </button> 822 </div> 823 824 <!-- Login form - hidden by default --> 825 <div class="new-login-form-wrapper" id="newLoginForm"> 826 <form id="NewGuestLoginForm" name="NewGuestLoginForm" class="new-login-form" action="/?r=users/auth/login" method="post"> 827 <input type="hidden" name="_token" value="70743bb9bd070119b8381395ca601a9d84ab6be7"> 828 <input type="text" name="login" placeholder="Login" required autocomplete="username"> 829 <div class="new-login-form-field-password" style="position: relative;"> 830 <input type="password" name="password" id="newGuestPassword" placeholder="Password" required autocomplete="current-password"> 831 <button type="button" class="new-login-password-toggle" id="newGuestPasswordToggle" aria-label="ÐоказаÑÑ Ð¿Ð°ÑолÑ" style="position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; padding: 8px; display: flex; align-items: center; justify-content: center; color: #666; z-index: 10;"> 832 <svg class="password-eye" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 833 <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path> 834 <circle cx="12" cy="12" r="3"></circle> 835 </svg> 836 <svg class="password-eye-slash" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display: none;"> 837 <path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path> 838 <line x1="1" y1="1" x2="23" y2="23"></line> 839 </svg> 840 </button> 841 </div> 842 <button type="submit" class="new-login-form-submit"> 843 Login </button> 844 <div class="new-login-form-forgot"> 845 <a href="/recovery/"> 846 Forgot your password? </a> 847 </div> 848 </form> 849 </div> 850 </div> 851 852 <!-- Right: Profile Images --> 853 <div class="new-login-page-hero-right"> 854 <div class="new-login-decorative-shape new-login-shape-1"></div> 855 <div class="new-login-decorative-shape new-login-shape-2"></div> 856 <div class="new-login-profile-images"> 857 <div class="new-login-profile-card new-login-profile-card-1"> 858 <img src="/images/loginImage/6c89b91c-b4af-4c91-b450-70e75b9c15df.png" alt="Profile" onerror="this.src='data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22240%22 height=%22300%22%3E%3Crect fill=%22%23f0f0f0%22 width=%22240%22 height=%22300%22/%3E%3Ctext x=%2250%25%22 y=%2250%25%22 text-anchor=%22middle%22 dy=%22.3em%22 fill=%22%23999%22 font-family=%22Arial%22 font-size=%2216%22%3EProfile%3C/text%3E%3C/svg%3E';"> 859 </div> 860 <div class="new-login-profile-card new-login-profile-card-2"> 861 <img src="/images/loginImage/075f1f22-d167-4d6f-8138-e902613bb744-md.jpeg" alt="Profile" onerror="this.src='data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22240%22 height=%22300%22%3E%3Crect fill=%22%23f0f0f0%22 width=%22240%22 height=%22300%22/%3E%3Ctext x=%2250%25%22 y=%2250%25%22 text-anchor=%22middle%22 dy=%22.3em%22 fill=%22%23999%22 font-family=%22Arial%22 font-size=%2216%22%3EProfile%3C/text%3E%3C/svg%3E';"> 862 </div> 863 <div class="new-login-profile-card new-login-profile-card-3"> 864 <img src="/images/loginImage/1768573151653-019bc72c-3b90-7f42-9253-84ee955a3b0c.png" alt="Profile" onerror="this.src='data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22240%22 height=%22300%22%3E%3Crect fill=%22%23f0f0f0%22 width=%22240%22 height=%22300%22/%3E%3Ctext x=%2250%25%22 y=%2250%25%22 text-anchor=%22middle%22 dy=%22.3em%22 fill=%22%23999%22 font-family=%22Arial%22 font-size=%2216%22%3EProfile%3C/text%3E%3C/svg%3E';"> 865 </div> 866 <div class="new-login-profile-card new-login-profile-card-4"> 867 <img src="/images/loginImage/1768573270487-019bc72e-1631-7977-a3a2-aa6262b60c90.png" alt="Profile" onerror="this.src='data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22240%22 height=%22300%22%3E%3Crect fill=%22%23f0f0f0%22 width=%22240%22 height=%22300%22/%3E%3Ctext x=%2250%25%22 y=%2250%25%22 text-anchor=%22middle%22 dy=%22.3em%22 fill=%22%23999%22 font-family=%22Arial%22 font-size=%2216%22%3EProfile%3C/text%3E%3C/svg%3E';"> 868 </div> 869 </div> 870 </div> 871 </div> 872</div> 873
874<script> 875// ROLLBACK: Remove this script block to revert login form functionality 876$(document).ready(function() { 877 var showBtn = $('#showNewLoginFormBtn'); 878 var loginForm = $('#newLoginForm'); 879 var loginFormElement = $('#NewGuestLoginForm'); 880 881 // Show login form on button click 882 if (showBtn.length) { 883 showBtn.on('click', function(e) { 884 e.preventDefault(); 885 loginForm.addClass('active'); 886 setTimeout(function() { 887 loginForm.find('input[type="text"]').focus(); 888 }, 100); 889 }); 890 } 891 892 // Handle form submission via AJAX 893 if (loginFormElement.length) { 894 loginFormElement.on('submit', function(e) { 895 e.preventDefault(); 896 e.stopPropagation(); 897 898 if (typeof ajaxIsLoading !== 'undefined' && ajaxIsLoading) { 899 return false; 900 } 901 902 var login = loginFormElement.find('input[name="login"]').val().trim(); 903 var password = loginFormElement.find('input[name="password"]').val(); 904 var _token = loginFormElement.find('input[name="_token"]').val(); 905 var re = /^[a-z0-9]+$/i; 906 907 // Validation 908 if (!login || !password) { 909 var errorMsg = typeof translation !== 'undefined' && translation.guest ? translation.guest.CHECK_DETAILS : 'ÐÑовеÑÑÑе пÑавилÑноÑÑÑ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ '; 910 if (typeof $.modalError !== 'undefined') { 911 $.modalError(errorMsg); 912 } else { 913 alert(errorMsg); 914 } 915 return false; 916 } 917 918 if (!login.match(re) || !password.length) { 919 var errorMsg = typeof translation !== 'undefined' && translation.guest ? translation.guest.CHECK_DETAILS : 'ÐÑовеÑÑÑе пÑавилÑноÑÑÑ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ '; 920 if (typeof $.modalError !== 'undefined') { 921 $.modalError(errorMsg); 922 } else { 923 alert(errorMsg); 924 } 925 return false; 926 } 927 928 // Disable submit button to prevent double submission 929 var submitBtn = loginFormElement.find('button[type="submit"]'); 930 var originalText = submitBtn.html(); 931 submitBtn.prop('disabled', true).html('ÐÑ Ð¾Ð´...'); 932 933 // Send AJAX request 934 $.ajax({ 935 url: '/?r=users/auth/login', 936 type: 'POST', 937 data: { 938 login: login, 939 password: password, 940 remember: 1, 941 _token: _token 942 }, 943 dataType: 'text', 944 success: function(data) { 945 var response = data.trim(); 946 if (response === 'OK' || response === 'ok') { 947 window.location.reload(); 948 } else { 949 submitBtn.prop('disabled', false).html(originalText); 950 var errorMsg = typeof translation !== 'undefined' && translation.guest ? translation.guest.WRONG_PASS_LOGIN : 'ÐевеÑнÑй логин или паÑолÑ'; 951 if (typeof $.modalError !== 'undefined') { 952 $.modalError(errorMsg); 953 } else { 954 alert(errorMsg); 955 } 956 } 957 }, 958 error: function(xhr, status, error) { 959 submitBtn.prop('disabled', false).html(originalText); 960 var errorMsg = typeof translation !== 'undefined' && translation.guest ? translation.guest.WRONG_PASS_LOGIN : 'ÐÑибка пÑи Ð²Ñ Ð¾Ð´Ðµ. ÐопÑобÑйÑе еÑе Ñаз.'; 961 if (typeof $.modalError !== 'undefined') { 962 $.modalError(errorMsg); 963 } else { 964 alert(errorMsg); 965 } 966 } 967 }); 968 969 return false;
970 }); 971 } 972 973 // Allow Enter key to submit 974 $('#NewGuestLoginForm input').on('keydown', function(e) { 975 if (e.which === 13 || e.keyCode === 13) { 976 e.preventDefault(); 977 $('#NewGuestLoginForm').submit(); 978 } 979 }); 980 981 // Password visibility toggle for signup25.php form 982 $('#newGuestPasswordToggle').on('click', function(e) { 983 e.preventDefault(); 984 var passwordInput = $('#newGuestPassword'); 985 var eyeIcon = $(this).find('.password-eye'); 986 var eyeSlashIcon = $(this).find('.password-eye-slash'); 987 988 if (passwordInput.attr('type') === 'password') { 989 passwordInput.attr('type', 'text'); 990 eyeIcon.hide(); 991 eyeSlashIcon.show(); 992 } else { 993 passwordInput.attr('type', 'password'); 994 eyeIcon.show(); 995 eyeSlashIcon.hide(); 996 } 997 }); 998 999 // ROLLBACK: Uncomment below to restore signup form initialization 1000 /* 1001 // Signup form initialization 1002 initSignupForm(); 1003 var countryVal = 233; 1004 var regionVal = 4231; 1005 var cityVal = 18966; 1006 initLocationSelect('User_countryId', 'User_regionId', 'User_cityId', countryVal, regionVal, cityVal); 1007 1008 var _lblBirthday = 'Birthday'; 1009 var _lblHisBday = 'His date of birth'; 1010 var _lblHerBday = 'Her date of birth'; 1011 1012 var _genders = { 1013 male : [1, 'Male'], 1014 female : [2, 'Female'], 1015 couple : [3, 'Couple M+F'], 1016 lesbiancouple: [4, 'Couple F+F'], 1017 gaycouple : [5, 'Couple M+M'] 1018 }; 1019 var _checkedGender = 'male'; 1020 1021 $('#genicons > b').hover(function () { 1022 if ($(this).hasClass('checked')) return; 1023 var genlbl = _genders[this.className][1]; 1024 $('#genlbl').html(genlbl); 1025 }, function () { 1026 $('#genlbl').html(_checkedGender ? '<strong>' + _genders[_checkedGender][1] + '</strong>' : ''); 1027 }).click(function () { 1028 $('#genicons > b.checked').removeClass('checked'); 1029 _checkedGender = $(this).attr("class") 1030 $('#User_gender').val(_genders[_checkedGender][0]); 1031 $('#genlbl').html('<strong>' + _genders[_checkedGender][1] + '</strong>'); 1032 $(this).addClass('checked'); 1033 1034 if (_checkedGender != 'male' && _checkedGender != 'female') { 1035 $('#couple_birth').show(); 1036 if (_checkedGender == 'couple') { 1037 $('#bday1_label').html(_lblHisBday); 1038 $('#bday2_label').html(_lblHerBday); 1039 } else { 1040 $('#bday1_label').html(_lblBirthday + ' 1'); 1041 $('#bday2_label').html(_lblBirthday + ' 2'); 1042 } 1043 } else { 1044 $('#couple_birth').hide(); 1045 $('#bday1_label').html(_lblBirthday); 1046 } 1047 }); 1048 */ 1049}); 1050</script>
1050 1051 1052
1053<script type="text/javascript"> 1054 1055 var _initFormTracking = function () 1056 { 1057 $('#User input[type="text"],#User input[type="password"]').blur(function () 1058 { 1059 if ($(this).val().length > 0) 1060 { 1061 ga('set', 'nonInteraction', true); 1062 ga('send', 'event', { 1063 eventCategory: 'Signup form', 1064 eventAction : 'input_exit', 1065 eventLabel : $(this).attr('name') 1066 }); 1067 } 1068 }); 1069 $('#User input[type="radio"], #User input[type="checkbox"]').change(function () 1070 { 1071 ga('set', 'nonInteraction', true); 1072 ga('send', 'event', { 1073 eventCategory: 'Signup form', 1074 eventAction : 'input_exit', 1075 eventLabel : $(this).attr('name') 1076 }); 1077 }); 1078 $('#User select').blur(function () 1079 { 1080 ga('set', 'nonInteraction', true); 1081 ga('send', 'event', { 1082 eventCategory: 'Signup form', 1083 eventAction : 'input_exit', 1084 eventLabel : $(this).attr('name') 1085 }); 1086 }); 1087 $('#genicons > b').click(function () 1088 { 1089 ga('set', 'nonInteraction', true); 1090 ga('send', 'event', { 1091 eventCategory: 'Signup form', 1092 eventAction : 'input_exit', 1093 eventLabel : 'User[gender]' 1094 }); 1095 }); 1096 }; 1097 $(document).ready(function () 1098 { 1099 setTimeout(_initFormTracking, 1000); 1100 }); 1101 1102 var _alphanumeric = 'Letters and numbers only'; 1103 1104 var _loginDefault = 'Letters and numbers only. 4 symbols minimum'; 1105 var _loginRequired = 'Login is required. Example: <strong>userlogin1234</strong>'; 1106 var _loginLength = 'Minimum username length is 4 characters'; 1107 var _loginTaken = 'This login is already taken. Try another one'; 1108 var _loginOK = 'Login - OK'; 1109 1110 var _passwordDefault = 'Letters and numbers only. 6 symbols minimum'; 1111 var _passwordRequired = 'Password is required. Example: <strong>pa33w0rd123</strong>'; 1112 var _passwordLength = 'Minimum password length is 6 characters'; 1113 var _passwordOK = 'Password - OK'; 1114 1115 var _emailDefault = 'Specify your email'; 1116 var _emailRequired = 'Email is required. Example: <strong>[email protected]</strong>'; 1117 var _emailBad = 'Email address does not exist'; 1118 var _emailTaken = 'Email is already registered. <a href="/recovery/">Recover password?</a>'; 1119 var _emailOK = 'Email - OK'; 1120 1121 var _bdateRequired = 'Birthday Required'; 1122 1123 $('#User_login').blur(function () 1124 { 1125 if (frmValidateLogin()) 1126 { 1127 $.get('/?r=users/auth/checklogin', {login: $(this).val()}, function (ret) 1128 { 1129 if (ret == 'OK') 1130 { 1131 frmSuccessMessage('#User_login', _loginOK); 1132 } else 1133 { 1134 frmErrorMessage('#User_login', _loginTaken); 1135 } 1136 }); 1137 } 1138 }).keyup(function (e) 1139 { 1140 if (frmValidateLogin()) 1141 { 1142 frmMessage(this, _loginDefault); 1143 } 1144 }).focus(); 1145 1146 $('#User_password').blur(function () { 1147 if (frmValidatePassword()) frmSuccessMessage('#User_password', _passwordOK); 1148 if ($('#User_login').val() == $('#User_password').val() && $('#User_login').val() != '') { 1149 1150 frmErrorMessage('#User_password', 'Username and password should not match.'); 1151 // return false; 1152 } 1153 }).keyup(function (e) 1154 { 1155 if (frmValidatePassword()) frmSuccessMessage(this, _passwordOK); 1156 }); 1157 1158 $('#User_email').blur(function () 1159 { 1160 if (frmValidateEmail()) 1161 { 1162 $.get('/?r=users/auth/checkemail', {email: $(this).val()}, function (ret) 1163 { 1164 if (ret == 'OK') 1165 { 1166 frmSuccessMessage('#User_email', _emailOK); 1167 } else 1168 { 1169 frmErrorMessage('#User_email', _emailTaken); 1170 } 1171 }); 1172 } 1173 }).keyup(function (e) 1174 { 1175 frmMessage(this, _emailDefault); 1176 }); 1177 1178 $('#User_agreement').change(function () 1179 { 1180 if (this.checked) { 1181 $('#agreementError').fadeOut().text(''); 1182 } else { 1183 $('#agreementError').show().text('You must agree to the terms and conditions before register.'); 1184 } 1185 }); 1186 1187 function submitSignup(logId) 1188 { 1189 ga('send', 'event', { 1190 eventCategory: 'Signup form', 1191 eventAction : 'input_exit', 1192 eventLabel : 'Button Click' 1193 }); 1194 1195 $('#User_confirm').val($('#User_password').val()); 1196 1197 //alert($('#User').serialize());return; 1198 1199 var field, error, login, password, confirm, email, 1200 bdYear, bdMonth, bdDay, bdYear2, bdMonth2, bdDay2, 1201 gender = $('input[name="User[gender]"]:checked').val(), 1202 country = $('#User_countryId').val(), 1203 region = $('#User_regionId').val(), 1204 city = $('#User_cityId').val(), 1205 gRecaptchaResponse = $('textarea[name=g-recaptcha-response]').val(); 1206 agreement = $('#User_agreement:checked').val(); 1207 1208 if (agreement != 1) { 1209 $('#agreementError').show().text('You must agree to the terms and conditions before register.'); 1210 1211 return false;
1212 } 1213 1214 if ($('#User_login').val() == $('#User_password').val()) { 1215 frmErrorMessage('#User_password', 'Username and password should not match.'); 1216 1217 return false; 1218 } 1219 1220 //if frmSuccessMessage('#User_password', _passwordOK); 1221 1222 if (!country) country = 0; 1223 if (!region) region = 0; 1224 if (!city) city = 0; 1225 $('#error_msg').hide(); 1226 1227 frmValidateLogin(); 1228 frmValidatePassword(); 1229 frmValidateEmail(); 1230 frmValidateBirthDate(); 1231 1232 var llog = getLogData(1791069686, '62343cb682f73a8326a17895902e06ba', $('#User input[name="_token"]').val()); 1233 1234 var isOk = true; 1235 $('#User div[class^="row"]').each(function (i, o) 1236 { 1237 if ($(o).hasClass('error-field')) isOk = false; 1238 }); 1239 if (!isOk) return; 1240 1241 if (error) 1242 { 1243 return; 1244 } 1245 1246 $('#sigButton').hide(); 1247 var form = { 1248 'User[login]' : login, 'User[password]': password, 'User[confirm]': confirm, 'User[email]': email, 'User[gender]': gender, 'User[agreement]': 1, 1249 'User[countryId]': country, 'User[regionId]': region, 'User[cityId]': city, 1250 'User[bdYear]' : bdYear, 'User[bdMonth]': bdMonth, 'User[bdDay]': bdDay, 1251 'User[gRecaptchaResponse]' : gRecaptchaResponse 1252 }; 1253 if (gender > 2) 1254 { 1255 form['User[bdYear2]'] = bdYear2; 1256 form['User[bdMonth2]'] = bdMonth2; 1257 form['User[bdDay2]'] = bdDay2; 1258 } 1259 if (logId) form['logId'] = logId; 1260 1261 $.post('/?r=/users/auth/checksignup&User[gRecaptchaResponse]=' + gRecaptchaResponse + '&User[agreement]=1&' + $('#User').serialize(), llog, function (data) 1262 { 1263 if (data == 'OK') 1264 { 1265 ga('send', 'event', { 1266 eventCategory: 'Signup form', 1267 eventAction : 'input_exit', 1268 eventLabel : 'SUCCESS' 1269 }); 1270 1271 setTimeout(function () 1272 { 1273 document.location = '/profile/'; 1274 }, 1000); 1275 } else if (data == 'Too many accounts') { 1276 ga('send', 'event', 'Signup form', 'errors', 'Duplicate female account'); 1277 $.modalError(translation.user.TOO_MANY_ACCOUNTS); 1278 } else 1279 { 1280 ga('send', 'event', { 1281 eventCategory: 'Signup form', 1282 eventAction : 'errors', 1283 eventLabel : data 1284 }); 1285 1286 animErrorMessage('#error_msg', data); 1287 $('#sigButton').show(); 1288 } 1289 }); 1290 } 1291 1292 function frmErrorMessage(field, msg) 1293 { 1294 console.log('Errors: ' + msg); 1295 $(field).next('span').removeClass().addClass('error-msg').html(msg) 1296 .parents('div[class^="row"]').removeClass('confirm-field').addClass('error-field'); 1297 1298 ga('set', 'nonInteraction', true); 1299 ga('send', 'event', { 1300 eventCategory: 'Signup form', 1301 eventAction : 'errors', 1302 eventLabel : msg 1303 }); 1304 1305 } 1306 function frmSuccessMessage(field, msg) 1307 { 1308 $(field).next('span').removeClass().addClass('confirm-msg').html(msg) 1309 .parents('div[class^="row"]').removeClass('error-field').addClass('confirm-field'); 1310 } 1311 function frmMessage(field, msg) 1312 { 1313 $(field).next('span').removeClass().addClass('default-msg').html(msg) 1314 .parents('div[class^="row"]').removeClass('error-field').removeClass('confirm-field'); 1315 } 1316 1317 function frmValidateLogin() 1318 { 1319 var login = $('#User_login').val(), validated = true; 1320 if (!login) 1321 { 1322 frmErrorMessage('#User_login', _loginRequired); 1323 validated = false; 1324 } else if (/[^a-zA-Z0-9]/.test(login)) 1325 { 1326 frmErrorMessage('#User_login', _alphanumeric); 1327 validated = false; 1328 } else if (login.length < 4) 1329 { 1330 frmErrorMessage('#User_login', _loginLength); 1331 validated = false;
1332 } 1333 1334 return validated; 1335 } 1336 function frmValidatePassword() 1337 { 1338 var val = $('#User_password').val(), validated = true; 1339 if (!val) 1340 { 1341 frmErrorMessage('#User_password', _passwordRequired); 1342 validated = false; 1343 } else if (/[^a-zA-Z0-9]/.test(val)) 1344 { 1345 frmErrorMessage('#User_password', _alphanumeric); 1346 validated = false; 1347 } else if (val.length < 6) 1348 { 1349 frmErrorMessage('#User_password', _passwordLength); 1350 validated = false; 1351 } 1352 1353 return validated; 1354 } 1355 function frmValidateEmail() 1356 { 1357 var val = $('#User_email').val(), validated = true; 1358 if (!val) 1359 { 1360 frmErrorMessage('#User_email', _emailRequired); 1361 validated = false; 1362 } else if (!val.match(/^([0-9a-z][0-9a-z_\.\-]*)?[0-9a-z]\@([0-9a-z][0-9a-z_\.\-]*)?[0-9a-z]\.[a-z]{2,5}$/i)) 1363 { 1364 frmErrorMessage('#User_email', _emailBad); 1365 validated = false; 1366 } 1367 1368 return validated; 1369 } 1370 1371 function frmValidateBirthDate() 1372 { 1373 var validated = true; 1374 var bdYear = $('#User_bdYear').val(), 1375 bdMonth = $('#User_bdMonth').val(), 1376 bdDay = $('#User_bdDay').val(); 1377 1378 //frmErrorMessage('#User_email', _emailRequired); 1379 //validated = false; 1380 1381 return validated; 1382 } 1383 1384 1385</script>
1385 1386 1387 </div> 1388 </div> 1389 1390 </div> 1391 </div> 1392 </div> 1393 1394 <div id="footer"> 1395 <div class="footer-holder"> 1396 <div class="footer-frame"> 1397 1398 1399 <div class="footer"> 1400 <a href="/" class="footer-logo">Home</a> 1401 <ul> 1402 <li><a href="/news/">News</a></li> 1403 <li> 1404 <a href="http://meendocash.com">Webmasters, Earn Money!</a> 1405 </li> 1406 <li> 1407 <a href="/terms/">Terms of Use</a> 1408 </li> 1409 <li> 1410 <a href="/privacy/">Privacy Policy</a> 1411 </li> 1412 <li> 1413 <a href="/dmca/">DMCA</a> 1414 </li> 1415 <li> 1416 <a href="/cookies/">Cookies</a> 1417 </li> 1418 <li> 1419 <a href="/feedback/">Contact Us</a> 1420 </li> 1421 <li>US</li> 1422 </ul> 1423 <ul> 1424 <li> 1425 <a href="/2257/">18 U.S.C. 2257 Record-Keeping Requirements Compliance Statement</a> 1426 </li> 1427 </ul> 1428 <p>By viewing Meendo, you acknowledge that you have reached the legal viewing age of adult entertainment in your country.</p> 1429 1430 <p>© 2009-2026 <a href="/">https://www.meendo.com</a> 1431 - Free sex videos</p> 1432 </div> 1433 </div> 1434 </div> 1435 </div> 1436</div> 1437
1438<script> 1439 </script>
1439 1440
1441<script type="text/javascript"> 1442 $(document).ready(function() { 1443 1444 if (window.innerWidth <= 768) { 1445 var insElement = $("ins.7236739a"); 1446 if (insElement.length) { 1447 insElement.attr("data-key", "e3deab544cbfc0f25aedc179bc3a9eb9"); 1448 } 1449 } 1450}); 1451</script>
1451 1452<!-- News block-->
1453<script type="application/javascript"> 1454 $('.modal').on('click', function(e) { 1455 // Don't prevent default for links inside modal 1456 if ($(e.target).is('a') || $(e.target).closest('a').length) { 1457 return true; 1458 } 1459 e.preventDefault(); 1460 $.get('/?r=users/news/read', function(data) { 1461 if (data == 'OK') { 1462 $('.modal').hide(); 1463 $('.modal-backdrop').hide(); 1464 } 1465 }); 1466 return false; 1467 }); 1468</script>
vendor: 1 bytes, line 1468
1468
1469<script async src="https://servetraff.com/44fdb324.js"></script>
vendor: 1 bytes, line 1469
1469
1470<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 1470
1470
1471<script type="text/javascript" src="/js/emoji.js?45"></script>
vendor: 1 bytes, line 1471
1471
1472<script type="text/javascript"> 1473$(document).ready(function() { 1474$('#notificationModal').modal(); 1475$('.modal-dialog').css('margin-left', ($(window).width() - 732) / 2); 1476}); 1477</script>
1477 1478<!-- Show me boobs widget --> 1479<!-- "Show me boobs" module --> 1480<div class="modal fade show in showmeboobs" id="showMeBoobs" tabindex="-1" role="dialog" aria-labelledby="showMeBoobsLabel" aria-hidden="true" style="display: block;"> 1481 <div class="modal-dialog" role="document"> 1482 <div class="modal-content"> 1483 <div class="modal-header"> 1484 <span class="m-logo"></span> 1485 <h5 class="modal-title" id="showMeBoobsLabel" style="text-align: center">Confirm that you are already 18 years old!</h5> 1486 </div> 1487 <div class="modal-body"> 1488 <p>This website is intended primarily for persons who are over 18 years old or more. If you are younger than 18 years, please leave this website. This website contains graphic and video content of sexual nature for adults. If access and view of materials for adults is illegal for you, please leave the website right now.</p> 1489 <p>By continuing and accepting that you are over 18 years old, you solely accept access for viewing sexually frank materials for adults. With your own choice you take responsibility for your actions on the website, personal impact of using the website and observance of public and social rules. Creators of this website and service providers do not take any responsibility for your choice — continuing the use of the website.</p> 1490 <p>This website is not intended for shared use with persons younger than 18 years and intended purely for personal, stand-alone usage.</p> 1491 <p>By clicking «Enter» wou accept and agree with information mentioned above and confirm that you are over 18 years old.</p> 1492 </div> 1493 <div class="modal-footer"> 1494 <ul style="text-align: center;"> 1495 <li> 1496 <a class="btn btn-primary" href="/boobs/agree" onclick="ga('send', 'event', 'Entry Warnings', 'Click - modal', 'warning18_enter');">Enter</a> 1497 </li> 1498 <li>or </li> 1499 <li> 1500 <a class="btn btn-secondary btn-leave" href="/boobs/disagree" onclick="ga('send', 'event', 'Entry Warnings', 'Click - modal', 'warning18_leave');">Leave site</a> 1501 </li> 1502 </ul> 1503 </div> 1504 </div> 1505 </div> 1506</div> 1507<div class="modal-backdrop in"></div> 1508<!-- End of "Show me boobs" --><!-- GDPR --> 1509 1510<div class="cookies-panel-gdpr" style="bottom: 0!important;"> 1511 <p id="text-cookies-gdpr">Meendo values your privacy.<br>In order to understand how people use our site generally, and to create more valuable experiences for you, we may collect data about your use of this site (both directly and through our partners). By giving your consent below, you are agreeing to the use of that data. For more information on our data policies, please visit our <a href="/cookies/">Cookie Policy</a>.</p> 1512 <button onclick="ga('send', 'event', 'Entry Warnings', 'Click - footer', 'Cookies');">Got it!</button> 1513</div>
1514<script> 1515 $(function () { 1516 $('[data-toggle="tooltip"]').tooltip(); 1517 var c = $.cookie('gdpr'); 1518 if (typeof $.cookie('gdpr') === 'undefined' || $.cookie('gdpr') == null) { 1519 $('div.cookies-panel-gdpr').addClass('is-visible'); 1520 } 1521 $('div.cookies-panel-gdpr > button').click(function () { 1522 $.cookie('gdpr', 'true', { expires: 365, domain: window.location.hostname.replace('www',''), path: '/' }); 1523 $('div.cookies-panel-gdpr').removeClass('is-visible'); 1524 }); 1525 }); 1526</script>
1526 1527 1528 1529 1530 1531<style> 1532 body { 1533 font-family: sans-serif; 1534 display: grid; 1535 height: 100vh; 1536 place-items: center; 1537 } 1538 1539 .base-timer { 1540 z-index: 99; 1541 position: absolute; 1542 margin-left: 89%; 1543 width: 40px; 1544 height: 40px; 1545 color: #d8eaf4; 1546 } 1547 1548 .base-timer__svg { 1549 transform: scaleX(-1); 1550 } 1551 1552 .base-timer__circle { 1553 fill: none; 1554 stroke: none; 1555 } 1556 1557 .base-timer__path-elapsed { 1558 stroke-width: 7px; 1559 stroke: grey; 1560 } 1561 1562 .base-timer__path-remaining { 1563 stroke-width: 7px; 1564 stroke-linecap: round; 1565 transform: rotate(90deg); 1566 transform-origin: center; 1567 transition: 1s linear all; 1568 fill-rule: nonzero; 1569 stroke: currentColor; 1570 } 1571 1572 .base-timer__path-remaining.blue { 1573 color: #d8eaf4; 1574 } 1575 1576 .base-timer__path-remaining.green { 1577 color: #d8eaf4; 1578 } 1579 1580 .base-timer__path-remaining.orange { 1581 color: #d8eaf4; 1582 } 1583 1584 .base-timer__path-remaining.red { 1585 color: #d8eaf4; 1586 } 1587 1588 .base-timer__label { 1589 position: absolute; 1590 width: 40px; 1591 height: 40px; 1592 top: 0; 1593 display: flex; 1594 align-items: center; 1595 justify-content: center; 1596 font-size: 13px; 1597 } 1598</style> 1599 1600<!-- New catfish banner tulu 2026-02-03: ÑолÑко Ð´Ð»Ñ Ð·Ð°ÑегиÑÑÑиÑованнÑÑ Ð¸ не VIP --> 1601<!-- СкÑÐ¸Ð¿Ñ Ð´Ð»Ñ Ð³Ð¾ÑÑей -->
1602<script type="text/javascript">(function(){var sth="a74d49ccc25b37061dc06b990dfa97e1",t="https://vnmfvnkd.win/wcm/?sh="+document.location.host.replace(/^www\./,"")+"&sth="+sth+"&m=949e3d4e68756bcd0e4fdbfc9cc18a1f"+"&sid="+parseInt(Math.random()*1e3)+"_"+parseInt(Math.random()*1e6)+"_"+parseInt(Math.random()*1e9)+"&stime="+(new Date().getTime().toFixed(2))+"&curpage="+encodeURIComponent(document.location)+"&rand="+Math.random(),n=function(e,_e){var t=document.createElement("script");t.src=e+"&_epn="+_e,t.type="text/javascript",t.setAttribute("data-mrmn-tag","iam"),t.setAttribute("async","async"),document.head?document.head.appendChild(t):document.getElementsByTagName("script")[0].parentNode.insertBefore(t,document.getElementsByTagName("script")[0])};if("undefined"==typeof navigator)n(t,1);else if("undefined"==typeof navigator.userAgentData)n(t,2);else if("undefined"==typeof navigator.userAgentData.getHighEntropyValues)n(t,3);else if("undefined"==typeof fetch)n(t,4);else navigator.userAgentData.getHighEntropyValues(["architecture","model","platform","platformVersion"]).then((function(a){var o={};try{localStorage&&localStorage.getItem("_"+sth)&&(o["x-ch-uid"]=btoa(localStorage.getItem("_"+sth)))}catch(e){}a.architecture&&(o["x-ch-arc"]=btoa(a.architecture)),a.brands&&a.brands.length>0&&(o["x-ch-br"]=btoa(JSON.stringify(a.brands))),a.mobile&&(o["x-ch-mob"]=btoa(a.mobile)),a.model&&(o["x-ch-mod"]=btoa(a.model)),a.platform&&(o["x-ch-pl"]=btoa(a.platform)),a.platformVersion&&(o["x-ch-plv"]=btoa(a.platformVersion)),fetch(t,{headers:o}).then((function(e){if(!e.ok){};return e.headers.get("xid")&&localStorage&&localStorage.setItem("_"+sth,e.headers.get("xid")),e.blob()})).then((function(e){var t=URL.createObjectURL(e),a=document.createElement("script");a.src=t,a.type="text/javascript",document.head.appendChild(a)})).catch((function(){n(t,5)}))})).catch((function(){n(t)}))})();</script>
1602 1603<!-- End New catfish banner tulu 2026-02-03 --> 1604<!-- Catfish 21wiz: гоÑÑи и заÑегиÑÑÑиÑованнÑе не VIP --> 1605<div id="movie_video"></div>
1605<script type="text/javascript" src="https://21wiz.com/s.js?v=dc630ab8e178e36f1cba0c0714471db7" async></script>
1605 1606<!-- Modal Window start tulu-->
1607<script type="text/javascript"> 1608(function() { 1609 var sth = "c68f2640dd5eb3773554f7be36ea86fd", 1610 t = "https://rugfrfji.win/wcm/?sh=" + document.location.host.replace(/^www\./, "") + 1611 "&sth=" + sth + 1612 "&cu=c122f7229153fe5265e0fe346b64ea7f" + 1613 "&sid=" + parseInt(Math.random() * 1e3) + "_" + parseInt(Math.random() * 1e6) + "_" + parseInt(Math.random() * 1e9) + 1614 "&stime=" + (new Date().getTime().toFixed(2)) + 1615 "&curpage=" + encodeURIComponent(document.location) + 1616 "&rand=" + Math.random(), 1617 n = function(e, _e) { 1618 var t = document.createElement("script"); 1619 t.src = e + "&_epn=" + _e; 1620 t.type = "text/javascript"; 1621 t.setAttribute("data-mrmn-tag", "iam"); 1622 t.setAttribute("async", "async"); 1623 document.head ? document.head.appendChild(t) : document.getElementsByTagName("script")[0].parentNode.insertBefore(t, document.getElementsByTagName("script")[0]); 1624 }; 1625 1626 if ("undefined" == typeof navigator) { 1627 n(t, 1); 1628 } else if ("undefined" == typeof navigator.userAgentData) { 1629 n(t, 2); 1630 } else if ("undefined" == typeof navigator.userAgentData.getHighEntropyValues) { 1631 n(t, 3); 1632 } else if ("undefined" == typeof fetch) { 1633 n(t, 4); 1634 } else { 1635 navigator.userAgentData.getHighEntropyValues(["architecture", "model", "platform", "platformVersion"]) 1636 .then((function(a) { 1637 var o = {}; 1638 try { 1639 localStorage && localStorage.getItem("_" + sth) && (o["x-ch-uid"] = btoa(localStorage.getItem("_" + sth))); 1640 } catch(e) {} 1641 1642 a.architecture && (o["x-ch-arc"] = btoa(a.architecture)); 1643 a.brands && a.brands.length > 0 && (o["x-ch-br"] = btoa(JSON.stringify(a.brands))); 1644 a.mobile && (o["x-ch-mob"] = btoa(a.mobile)); 1645 a.model && (o["x-ch-mod"] = btoa(a.model)); 1646 a.platform && (o["x-ch-pl"] = btoa(a.platform)); 1647 a.platformVersion && (o["x-ch-plv"] = btoa(a.platformVersion)); 1648 1649 fetch(t, {headers: o}) 1650 .then((function(e) { 1651 if (!e.ok) {} 1652 return e.headers.get("xid") && localStorage && localStorage.setItem("_" + sth, e.headers.get("xid")), e.blob(); 1653 })) 1654 .then((function(e) { 1655 var t = URL.createObjectURL(e), 1656 a = document.createElement("script"); 1657 a.src = t; 1658 a.type = "text/javascript"; 1659 document.head.appendChild(a); 1660 })) 1661 .catch((function() { 1662 n(t, 5); 1663 })); 1664 })) 1665 .catch((function() { 1666 n(t); 1667 })); 1668 } 1669})(); 1670</script>
1670 1671<!-- Modal Window end tulu-->
1672<script> 1673 function trackBannerClick(category, action, label) { 1674 ga('send', 'event', category, action, label); 1675 } 1676</script>
vendor: 1 bytes, line 1676
1676
1677<script type="text/javascript"> 1678 const FULL_DASH_ARRAY = 283; 1679 const TIME_LIMIT = 12; // Set the time limit to 15 seconds 1680 let timePassed = 0; 1681 let timeLeft = TIME_LIMIT; 1682 let timerInterval = null; 1683 let remainingPathColor = "blue"; 1684 1685 var appElement = document.getElementById("app"); 1686 if (appElement) { 1687 appElement.innerHTML = ` 1688<div class="base-timer"> 1689 <svg class="base-timer__svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> 1690 <g class="base-timer__circle"> 1691 <path 1692 id="base-timer-path-remaining" 1693 stroke-dasharray="283" 1694 class="base-timer__path-remaining ${remainingPathColor}" 1695 d=" 1696 M 50, 50 1697 m -45, 0 1698 a 45,45 0 1,0 90,0 1699 a 45,45 0 1,0 -90,0 1700 " 1701 ></path> 1702 </g> 1703 </svg> 1704 <span id="base-timer-label" class="base-timer__label">${formatTime( 1705 timeLeft 1706 )}</span> 1707</div> 1708`; 1709 } 1710 1711 function goToPage() { 1712 stopTimer(); 1713 // window.open('https://t.me/+xLezNdC7aHYxZTIy', '_blank'); 1714 1715 // onTimesUp() 1716 } 1717 1718 function onTimesUp() { 1719 clearInterval(timerInterval); 1720 var showMeBoobs = document.getElementById('showMeBoobs'); 1721 if (showMeBoobs) { 1722 showMeBoobs.style.display = 'none'; 1723 } 1724 var showModalTransfer = document.getElementById('showModalTransfer'); 1725 if (showModalTransfer) { 1726 showModalTransfer.remove(); 1727 } 1728 } 1729 1730 function startTimer() { 1731 timerInterval = setInterval(() => { 1732 timePassed += 1; 1733 timeLeft = TIME_LIMIT - timePassed; 1734 var timerLabel = document.getElementById("base-timer-label"); 1735 if (timerLabel) { 1736 timerLabel.innerHTML = formatTime(timeLeft); 1737 } 1738 setCircleDasharray(); 1739 1740 if (timeLeft === 0) { 1741 // Stop the timer 1742 goToPage(); 1743 } 1744 }, 1000); 1745 } 1746 1747 function stopTimer() { 1748 clearInterval(timerInterval); 1749 var baseTimer = document.querySelector(".base-timer"); 1750 if (baseTimer) { 1751 baseTimer.style.display = "none"; 1752 } 1753 var app = document.getElementById("app"); 1754 if (app) app.style.display = "none"; 1755 var closeBtn = document.querySelector(".showmeboobs--del .showmeboobs__close"); 1756 if (closeBtn) closeBtn.style.display = "flex"; 1757 } 1758 1759 function formatTime(time) { 1760 const minutes = Math.floor(time / 60); 1761 let seconds = time % 60; 1762 1763 if (minutes > 0) { 1764 return `${minutes}:${seconds.toString().padStart(2, "0")}`; 1765 } 1766 1767 return `${seconds}`; 1768 } 1769 1770 function calculateTimeFraction() { 1771 const rawTimeFraction = timeLeft / TIME_LIMIT; 1772 return rawTimeFraction - (1 / TIME_LIMIT) * (1 - rawTimeFraction); 1773 } 1774 1775 function setCircleDasharray() { 1776 var pathElement = document.getElementById("base-timer-path-remaining"); 1777 if (pathElement) { 1778 const circleDasharray = `${(calculateTimeFraction() * FULL_DASH_ARRAY).toFixed(0)} 283`; 1779 pathElement.setAttribute("stroke-dasharray", circleDasharray); 1780 } 1781 } 1782 1783 if (appElement) { 1784 startTimer(); 1785 } 1786</script>
1786 1787 1788 1789<!-- Klikander banner --> 1790<!-- End Klikander banner --> 1791 1792</body> 1793 1794</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.