PageSourceSearch

https://chessprime.com/

html chessprime.com collected 2026-10-02 19:59:35 UTC 137,836 bytes, 3,207 lines download raw bytes

1<!doctype html>
2<html lang="en">
3
4<head>
5    
5<script src="https://chessprime.com/js/jquery-3.5.1.min.js"></script>
5
6    <link rel="stylesheet" type="text/css" href="https://chessprime.com/js/jquery-ui.min.css" />
7            
8        
8<script>
9            const path = window.location.pathname;
10
11            if (
12                path.startsWith('/tournaments/') ||
13                path.startsWith('/es/torneos/')
14            ) {
15                const script = document.createElement('script');
16                script.async = true;
17                script.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6786390033809170";
18                script.crossOrigin = "anonymous";
19
20                document.head.appendChild(script);
21            }
22        </script>
22
23    
24            <!-- Google tag (gtag.js) -->
vendor: 72 bytes, lines 24-25
24
25        <script async src="https://www.googletagmanager.com/gtag/js?id=
25G-WX9W06J1G4
vendor: 20 bytes, lines 25-26
25"></script>
26        
26<script>
27            
vendor: 167 bytes, lines 27-31
27window.dataLayer = window.dataLayer || [];
28            function gtag() { dataLayer.push(arguments); }
29            gtag('js', new Date());
30
31            gtag('config', '
31G-WX9W06J1G4
vendor: 12 bytes, lines 31-32
31');
32        
32</script>
32
33        
33<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous"></script>
33
34        
34<script>
35            window.googletag = window.googletag || { cmd: [] };
36            googletag.cmd.push(function () {
37                googletag.defineSlot('/1076369/app-analisis', [1, 1], 'div-gpt-ad-1766106151078-0').addService(googletag.pubads());
38                googletag.pubads().enableSingleRequest();
39                googletag.enableServices();
40            });
41        </script>
41
42        
42<script>
43        function langPref(ido) {
44            /* AJAX TO CHANGE LANG PREF */
45            $.ajax({
46                type: 'get',
47                url: '/langpref/',
48                data: {
49                    'lang': ido
50                },
51                success: function (data) {
52                    return true;
53                }
54            })
55        }
56        function showLogin() {
57            $('#login_background_popuplogin').show();
58            $('#login_popup-login').show();
59
60            $('#email').val('');
61            $('#pass').val('');
62            $('#popupemail').val('');
63            $('#popuppass').val('');
64            $('#email, #pass, #popupemail, #popuppass').attr('autocomplete', 'on');
65        }
66        function hideLogin() {
67            $('#login_background_popuplogin').hide();
68            $('#login_popup-login').hide();
69        }
70        function trylogin() {
71            var idio = "en";
72            /* POPUP LOGIN */
73                            $.ajaxSetup({
74                    headers: {
75                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
76                    }
77                });
78                var emailogin = $('#email').val();
79                var emailpassword = $('#pass').val();
80
81                if ($("#popup-login").is(":visible")) {
82                    emailogin = $('#popupemail').val();
83                    emailpassword = $('#popuppass').val();
84                }
85                $.ajax({
86                    type: 'post',
87                    url: '/login/',
88                    data: {
89                        'email': emailogin,
90                        'password': emailpassword,
91                        'frompopup': true,
92                        'url': window.location.pathname,
93                        'idio': idio
94                    },
95                    success: function (data) {
96                        if (data[0].charAt(0) == "/") {
97                            window.location.href = data[0];
98                        } else {
99                            $(".erlog").html(data[0]);
100                            $("#errorenlogin").css('display', 'block');
101                        }
102                    }
103                })
104                    }
105    </script>
105
106        <link rel="canonical" href="https://chessprime.com/" />
107            <link rel="alternate" hreflang="es" href="https://chessprime.com/es/" />
108        <title>ChessPrime</title>
109<meta name="description" content="ChessPrime, the ultimate app for chess players. Search and filter tournaments, find chess players, chess games database, problems and much more.">
110<meta charset="utf-8">
111<meta name="viewport" content="width=device-width, initial-scale=1">
112<meta name="csrf-token" content="kRLEV5bnCjk3ICoqaX9ESFbAq9UUWVD2JS4htiCT">    <meta http-equiv="X-UA-Compatible" content="IE=edge">
113    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
114    <link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
115    <link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
116    <link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
117    <link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
118    <link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
119    <link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
120    <link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
121    <link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
122    <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
123    <link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
124    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
125    <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
126    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
127    <link rel="manifest" href="/manifest.json">
128    <meta name="msapplication-TileColor" content="#212529">
129    <meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
130    <meta name="theme-color" content="#212529">
131
132    <meta property="og:image" content="https://chessprime.com/ms-icon-310x310.png" />
133    <meta property="og:image:secure_url" content="https://chessprime.com/ms-icon-310x310.png" />
134    <meta property="og:image:type" content="image/png" />
135    <meta property="og:image:width" content="1000" />
136    <meta property="og:image:height" content="1000" />
137
138
139    <meta name="csrf-token" content="kRLEV5bnCjk3ICoqaX9ESFbAq9UUWVD2JS4htiCT">
140    <!-- Styles -->
141
142    <style>
143        /* Popup estilo notificación Android */
144        #android-popup,
145        #ios-popup {
146            display: none;
147            position: fixed;
148            top: 20px;
149            left: 50%;
150            transform: translateX(-50%) translateY(-120%);
151            background-color: rgb(33, 37, 41);
152            /* fondo oscuro */
153            color: #FFFFFF !important;
154            width: calc(100% - 40px);
155            max-width: 360px;
156            border-radius: 12px;
157            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
158            font-family: Roboto, sans-serif;
159            z-index: 9999;
160            transition: transform 0.5s ease, opacity 0.5s ease;
161            opacity: 0;
162            display: flex;
163            align-items: center;
164            padding: 12px 16px;
165            position: fixed;
166            border: solid 1px white;
167
168            display: flex;
169            /* hace que hijos estén en fila */
170            align-items: center;
171            /* alinea verticalmente en el centro */
172            padding: 12px 16px;
173        }
174
175        #android-popup.show,
176        #ios-popup.show {
177            transform: translateX(-50%) translateY(0);
178            opacity: 1;
179        }
180
181        #android-popup a,
182        #ios-popup a {
183            display: flex;
184            align-items: center;
185            text-decoration: none !important;
186            color: inherit;
187            width: 100%;
188            color: #FFFFFF !important;
189        }
190
191        #android-popup img,
192        #ios-popup img {
193            width: 80px;
194            height: 80px;
195            border-radius: 12px;
196            flex-shrink: 0;
197        }
198
199        #android-popup .content,
200        #ios-popup .content {
201            flex: 1;
202            font-size: 16px;
203            line-height: 1.3;
204            color: #FFFFFF !important;
205        }
206
207        #android-popup .close-btn,
208        #ios-popup .close-btn {
209            position: absolute;
210            top: 8px;
211            right: 8px;
212            background-color: transparent;
213            color: #CCCCCC;
214            font-size: 18px;
215            padding: 0;
216            line-height: 1;
217            cursor: pointer;
218            color: #FFFFFF !important;
219        }
220
221        #android-popup .close-btn:hover,
222        #ios-popup .close-btn:hover {
223            color: #FFFFFF;
224        }
225
226        .btn-primary {
227            color: #fff;
228            background-color: #1779ca !important;
229            border-color: #1779ca !important
230        }
231
232        .breadcrumb {
233            background-color: #fff !important;
234            border-bottom: 1px solid #e9ecef
235        }
236
237        .nav-tabs .nav-link.disabled {
238            color: #666 !important
239        }
240
241        body {
242            font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
243            color: #242728 !important;
244            background-color: #fff !important
245        }
246
247        h1,
248        h2,
249        h3,
250        h4,
251        h5,
252        h6 {
253            font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
254            font-weight: 700 !important
255        }
256
257        .masthead {
258            position: relative !important;
259            background-color: #343a40 !important;
260            background-size: cover !important;
261            padding-top: 2rem !important;
262            padding-bottom: 2rem !important
263        }
264
265        .overlay {
266            position: absolute;
267            background-color: #212529;
268            height: 100%;
269            width: 100%;
270            top: 0;
271            left: 0;
272            opacity: .6
273        }
274
275        .masthead h1 {
276            font-size: 2rem !important
277        }
278
279        @media (min-width:768px) {
280            header.masthead {
281                padding-top: 2rem !important;
282                padding-bottom: 2rem !important
283            }
284
285            header.masthead h1 {
286                font-size: 3rem !important
287            }
288        }
289
290        .showcase .showcase-text {
291            padding: 3rem !important
292        }
293
294        .showcase .showcase-img {
295            min-height: 30rem !important;
296            background-size: cover !important
297        }
298
299        @media (min-width:768px) {
300            .showcase .showcase-text {
301                padding: 7rem !important
302            }
303        }
304
305        .features-icons {
306            padding-top: 2rem;
307            padding-bottom: 2rem
308        }
309
310        .features-icons .features-icons-item {
311            max-width: 20rem
312        }
313
314        .features-icons .features-icons-item .features-icons-icon {
315            height: 7rem
316        }
317
318        .features-icons .features-icons-item .features-icons-icon i {
319            font-size: 4.5rem
320        }
321
322        .features-icons .features-icons-item:hover .features-icons-icon i {
323            font-size: 5rem
324        }
325
326        footer.footer {
327            padding-top: 0.5rem !important;
328            padding-bottom: 0.5rem !important
329        }
330
331        .tournament-listing,
332        .tournament-map {
333            font-size: 1.3em !important
334        }
335
336        @media (min-width:768px) {
337
338            .tournament-listing,
339            .tournament-map {
340                padding-top: 2rem !important
341            }
342        }
343
344        #country {
345            max-width: 100% !important;
346            font-size: 13px !important;
347            background-color: #fff !important
348        }
349
350        select.form-control:not([size]):not([multiple]) {
351            height: auto !important
352        }
353
354        a {
355            color: #2d2df0 !important;
356            text-decoration: none !important
357        }
358
359        a:visited {
360            color: #2d2df0 !important;
361            text-decoration: none !important
362        }
363
364        a:hover {
365            color: #1864c7 !important;
366            text-decoration: none !important
367        }
368
369        .full-height {
370            height: 100vh !important
371        }
372
373        .flex-center {
374            align-items: center;
375            display: flex;
376            justify-content: center
377        }
378
379        .position-ref {
380            position: relative
381        }
382
383        .top-right {
384            position: absolute;
385            right: 10px;
386            top: 18px
387        }
388
389        .content {}
390
391        .title {
392            font-size: 84px
393        }
394
395        .links>a {
396            color: #636b6f !important;
397            padding: 0 25px !important;
398            font-size: 12px !important;
399            font-weight: 600 !important;
400            letter-spacing: .1rem !important;
401            text-transform: uppercase !important
402        }
403
404        .m-b-md {
405            margin-bottom: 30px !important
406        }
407
408        .menu-top {
409            max-width: 1150px !important;
410            margin: auto !important;
411            border-bottom: 1px solid #ccc !important;
412            padding-top: 30px !important;
413            padding-bottom: 10px !important;
414            text-align: center !important
415        }
416
417        .popup {
418            display: none;
419            background-color: #fff;
420            bottom: 0;
421            box-shadow: 2.5px 4.3px 76px rgba(32, 32, 32, 0.5);
422            box-sizing: border-box;
423            height: 110px;
424            left: 0;
425            margin: auto;
426            max-width: calc(100% - 30px);
427            padding: 36px;
428            position: fixed;
429            right: 0;
430            top: 0;
431            width: 500px;
432            z-index: 400001;
433            text-align: center
434        }
435
436        .titulo {
437            font-size: 19px
438        }
439
440        .cupon_popup {
441            font-size: 38px;
442            color: #f06598;
443            margin-top: 22px
444        }
445
446        .parentesis {
447            font-size: 14px;
448            margin-top: 22px
449        }
450
451        .close_popup {
452            background-color: #fff;
453            position: absolute;
454            top: -15px;
455            right: -15px;
456            height: 34px;
457            width: 34px;
458            border-radius: 100%;
459            cursor: pointer
460        }
461
462        .close_icon {
463            position: absolute;
464            top: 0;
465            right: 0;
466            font-size: 30px;
467            color: #dc3545;
468            padding-right: 2px;
469            padding-top: 2px
470        }
471
472        table.extend-filter td,
473        .table.extend-filter th {
474            padding-left: 0;
475            padding-right: 0;
476            padding-top: 10px;
477            padding-bottom: 10px
478        }
479
480        table.round-filter td,
481        .table.round-filter th {
482            padding-left: 2px;
483            padding-right: 2px;
484            padding-top: 10px;
485            padding-bottom: 10px
486        }
487
488        table.medium-filter td,
489        .table.medium-filter th {
490            padding-left: 2px;
491            padding-right: 2px;
492            padding-top: 10px;
493            padding-bottom: 10px
494        }
495
496        @media  screen and (max-width: 997px) {
497            .container {
498                max-width: none !important
499            }
500
501            table.extend-filter td,
502            .table.extend-filter th {
503                font-size: .8rem
504            }
505
506            table.round-filter td,
507            .table.round-filter th {
508                font-size: .6rem
509            }
510
511            table.extend-filter td a,
512            .table.extend-filter th {
513                font-size: .8rem
514            }
515
516            table.round-filter td a,
517            .table.round-filter th {
518                font-size: .8rem
519            }
520        }
521
522        @media  screen and (max-width: 773px) {
523            .container {
524                max-width: none !important
525            }
526
527            .results-filter,
528            .medium-filter {
529                font-size: .8rem
530            }
531
532            body {
533                font-size: .7rem
534            }
535
536            table.extend-filter td,
537            .table.extend-filter th {
538                font-size: .8rem
539            }
540
541            table.round-filter td,
542            .table.round-filter th {
543                font-size: .6rem
544            }
545
546            table.extend-filter td a,
547            .table.extend-filter th {
548                font-size: .8rem
549            }
550
551            table.round-filter td a,
552            .table.round-filter th {
553                font-size: .6rem
554            }
555        }
556
557        @media  screen and (max-width: 530px) {
558            .titulo {
559                font-size: 17px
560            }
561
562            table.extend-filter td,
563            .table.extend-filter th {
564                font-size: .8rem
565            }
566
567            table.round-filter td,
568            .table.round-filter th {
569                font-size: .5rem
570            }
571
572            table.extend-filter td a,
573            .table.extend-filter th {
574                font-size: .8rem
575            }
576
577            table.round-filter td a,
578            .table.round-filter th {
579                font-size: .6rem
580            }
581        }
582
583        @media  screen and (max-width: 508px) {
584            .titulo {
585                font-size: 16px
586            }
587
588            .popup {
589                padding: 20px;
590                height: 184px
591            }
592
593            .nav-tabs .nav-item {
594                font-size: .8rem
595            }
596
597            .nav-link {
598                padding: .42rem .75rem
599            }
600        }
601
602        @media  screen and (max-width: 490px) {
603            .titulo {
604                font-size: 15px
605            }
606
607            .cupon_popup {
608                font-size: 36px
609            }
610
611            .popup {
612                height: 180px
613            }
614
615            .parentesis {
616                font-size: 13px
617            }
618        }
619
620        @media  screen and (max-width: 461px) {
621
622            .results-filter,
623            .medium-filter {
624                font-size: .75rem
625            }
626
627            .clas-filter {
628                font-size: .4rem
629            }
630        }
631
632        @media  screen and (max-width: 427px) {
633            .titulo {
634                font-size: 14px
635            }
636
637            .cupon_popup {
638                font-size: 34px
639            }
640        }
641
642        @media  screen and (max-width: 412px) {
643            .titulo {
644                font-size: 13px
645            }
646
647            .cupon_popup {
648                font-size: 32px
649            }
650
651            .popup {
652                height: 150px;
653                padding: 12px
654            }
655
656            .parentesis {
657                font-size: 12px
658            }
659        }
660
661        #informacion>div {
662            margin-top: 10px
663        }
664
665        #informacion {
666            font-size: medium
667        }
668
669        .ranking {
670            text-align: left
671        }
672
673        .nav-pills .nav-link.active,
674        .nav-pills .show>.nav-link {
675            background-color: #6c757d !important
676        }
677
678        .popover {
679            max-width: 100%
680        }
681
682        .modal-dialog {
683            max-width: 1000px !important
684        }
685
686        .table {
687            background-color: transparent !important
688        }
689
690        .listing-tournaments {
691            padding-top: 4rem;
692            padding-bottom: 4rem
693        }
694
695        header.tournament-title {
696            position: relative;
697            background-color: #343a40;
698            background-size: cover;
699            padding-top: 2rem;
700            padding-bottom: 2rem
701        }
702
703        .search-section {
704            padding-top: 4rem;
705            padding-bottom: 4rem
706        }
707
708        .nav-tabs .nav-item.show .nav-link,
709        .nav-tabs .nav-link.active {
710            color: #2d2df0 !important
711        }
712
713        .nav-link {
714            //color:#636b6f!important}#listing,#listingupdated{margin-top:1rem;margin-bottom:1rem}.pagi > nav > ul{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}#monthsnav,#yearsnav{margin-top:4rem;font-size:1.2rem;line-height:50px}.disabled{cursor:not-allowed!important}.nomasthead{}.mb-5,.my-5{margin-bottom:2rem!important}.cookie-consent{display:block;position:fixed;min-width:100%;height:auto;z-index:100000;font-size:13px;line-height:20px;left:0;text-align:center;bottom:0;background-color:#212529;color:#fff;padding:12px}.modal-body{font-size:.8rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff!important}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#fff!important}.ui-state-default{color:#363636!important}.ui-state-default:hover{color:#000!important}#map{height:0;width:100%}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#fff!important;background-color:#2176bd!important;border-color:#1f6fb2!important}.nav-tabs .nav-link{border-top-left-radius:0!important;border-top-right-radius:0!important}.nav-tabs{background-color:#343a40;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.nav-link{color:#fff}.nav-tabs .nav-link{color:#fff!important}.breadcrumb{margin-bottom:0!important}a.nav-link:hover{border:0!important}a.nav-link{border:0!important}.nav-tabs .nav-item{margin-bottom:0!important;padding:8px}.btn-light > a{color:#343a40!important}.card-body{padding:0!important}.card{border:0!important}.card-header{border-bottom:0!important}.toggle{width: 80px!important;font-size: 16px!important;} #onoff > label.toggle.btn.btn-secondary.active { background-color: #3490dc!important; border: none!important; }
715    </style>
716    <style>
717        @font-face {
718            font-family: 'icomoon';
719            src: url('/webfonts/icomoon.eot?6gneh6');
720            src: url('/webfonts/icomoon.eot?6gneh6#iefix') format('embedded-opentype'),
721                url('/webfonts/icomoon.ttf?6gneh6') format('truetype'),
722                url('/webfonts/icomoon.woff?6gneh6') format('woff'),
723                url('/webfonts/icomoon.svg?6gneh6#icomoon') format('svg');
724            font-weight: normal;
725            font-style: normal;
726            font-display: block;
727        }
728
729        [class^="icon-"],
730        [class*=" icon-"] {
731            /* use !important to prevent issues with browser extensions that change fonts */
732            font-family: 'icomoon' !important;
733            speak: never;
734            font-style: normal;
735            font-weight: normal;
736            font-variant: normal;
737            text-transform: none;
738            font-size: 16px;
739
740            /* Better Font Rendering =========== */
741            -webkit-font-smoothing: antialiased;
742            -moz-osx-font-smoothing: grayscale;
743        }
744
745        /* Animación invisible para detectar autocompletado */
746        input:-webkit-autofill {
747            animation-name: autofill;
748            animation-duration: 0.01s;
749        }
750
751        @keyframes  autofill {}
752
753        .login-container {
754            display: flex;
755            justify-content: center;
756            align-items: center;
757            margin-left: -24px;
758            margin-right: -18px;
759        }
760
761        .login-btn {
762            display: flex;
763            align-items: center;
764            background-color: white;
765            color: white;
766            border: 1px solid #ced4da;
767            border-radius: 5px;
768            cursor: pointer;
769            font-size: 16px;
770            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
771            transition: background-color 0.3s ease;
772            width: 50px;
773            height: 50px;
774            margin-left: 10px;
775            padding-left: 6px;
776        }
777
778        .login-btn:hover {
779            background-color: #f0f0f0;
780            /* mucho más claro al pasar el ratón */
781            transform: scale(1.05);
782            /* efecto opcional para dar feedback visual */
783        }
784
785        .login-logo {
786            width: 28px;
787            height: 28px;
788            margin-left: 4px;
789        }
790
791        .divider {
792            display: flex;
793            align-items: center;
794            width: 100%;
795            /* ancho total del contenedor */
796            margin: 20px 0;
797        }
798
799        .divider .line {
800            flex-grow: 1;
801            /* las líneas se expanden */
802            height: 2px;
803            /* grosor de la línea */
804            background-color: #ccc;
805        }
806
807        .divider .text {
808            margin: 0 10px;
809            font-size: 13px;
810            color: #666;
811        }
812
813
814
815        .icon-tiktok:before {
816            content: "\e900";
817        }
818
819        .icon-facebook2:before {
820            content: "\ea91";
821        }
822
823        .icon-instagram:before {
824            content: "\ea92";
825        }
826
827        .icon-twitter:before {
828            content: "\ea96";
829        }
830
831        .icon-youtube:before {
832            content: "\ea9d";
833        }
834
835        .icon-twitch:before {
836            content: "\ea9f";
837        }
838
839        h1 {
840            padding-top: 12px;
841        }
842
843        #menoslineas,
844        #maslineas,
845        #pauselineas,
846        #playlineas {
847            cursor: pointer;
848        }
849
850        #playlineas {
851            display: none;
852        }
853
854        #menoslineas {
855            color: gray;
856            pointer-events: none;
857        }
858
859        #stockfish-2,
860        #stockfish-3 {
861            display: none;
862        }
863
864        /* MODE STUDY */
865        #study {}
866
867        /* PROMOTION */
868        .promotion-piece {
869            width: 12.5%;
870            height: 12.5%;
871            background-size: cover;
872            z-index: 2;
873            will-change: transform;
874        }
875
876        .queen.white {
877            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJv
877cHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjI1MyIgeTE9IjM3LjIyIiB4Mj0iNzcuNjQiIHkyPSIzNy4zNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0eT0iMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIHN0cm9rZT0iIzFmMWExNyIgc3Ryb2tlLXdpZHRoPSIuMDc2Ij48cGF0aCBmaWxsPSIjMWYxYTE3IiBkPSJtNDQuNTQxIDE0LjcyM2MtLjk0IDAtMS43NDQtLjMzLTIuNDA1LS45ODItLjY2LS42NTItLjk5MS0xLjQ0OC0uOTkxLTIuMzk2IDAtLjkyMy4zMy0xLjcxOS45OTEtMi4zODguNjYtLjY3NyAxLjQ2NS0xLjAxIDIuNDA1LTEuMDEuOTMxIDAgMS43MjcuMzMgMi4zODggMS4wMS42Ni42NjkuOTkxIDEuNDY1Ljk5MSAyLjM4OCAwIC45NDgtLjMzIDEuNzQ0LS45OTEgMi4zOTYtLjY2LjY1Mi0xLjQ1Ni45ODItMi4zODguOTgyem0tNC4zMSAyOS4yMmMtLjgxMy43MTEtMi42MzMgMS4zMDQtNS40NjEgMS43ODYtMi44MjguNDc0LTYuMDg3LjcyLTkuNzcuNzItMy43NTEgMC03LjA1LS4yNTQtOS44OTgtLjc0NS0yLjg0NS0uNDk5LTQuNjQtMS4xMTgtNS4zODUtMS44NjNsMS41NjYtNS45NTItLjY5NC0zLjg5NS0yLjE4NC0zLjc5My0yLjEwOC0xNS40MjYgMS4yMTEtLjQ3NCA2Ljc5OSAxMS40NTUuMTUyLTEzLjY0IDEuNjg1LS4yOTYgNS4xODIgMTMuNzE2IDIuNzc3LTE0Ljc1N2gxLjcxOWwyLjc3NyAxNC43MDcgNS4xMzEtMTMuNjY1IDEuNzEuMjk2LjE1MiAxMy42NCA2LjgyNC0xMS40ODEgMS4xNi41NDItMi4wNTcgMTUuMzU5LTIuMjEgMy43OTMtLjY5NCAzLjk0NiAxLjYxNyA2LjAzem0tMjUuNjk2LTMxLjk1M2MtLjk0OCAwLTEuNzUzLS4zMjItMi40MTMtLjk3NC0uNjYtLjY1Mi0uOTkxLTEuNDU2LS45OTEtMi4zOTYgMC0uOTIzLjMzLTEuNzE5Ljk5MS0yLjM3OS42Ni0uNjYgMS40NjUtLjk5MSAyLjQxMy0uOTkxLjkyMyAwIDEuNzE5LjMzIDIuMzc5Ljk5MS42Ni42Ni45OTEgMS40NTYuOTkxIDIuMzc5IDAgLjk0LS4zMyAxLjc0NC0uOTkxIDIuMzk2LS42Ni42NTItMS40NTYuOTc0LTIuMzc5Ljk3NHptLTkuMTM2IDIuNzM1Yy0uOTQgMC0xLjczNi0uMzMtMi4zODgtLjk4Mi0uNjUyLS42NTItLjk4Mi0xLjQ0OC0uOTgyLTIuMzk2IDAtLjkyMy4zMy0xLjcxOS45ODItMi4zODguNjUyLS42NzcgMS40NDgtMS4wMSAyLjM4OC0xLjAxLjk0OCAwIDEuNzQ0LjMzIDIuNDEzIDEuMDEuNjYuNjY5Ljk5MSAxLjQ2NS45OTEgMi4zODggMCAuOTQ4LS4zMyAxLjc0NC0uOTkxIDIuMzk2LS42NjkuNjUyLTEuNDY1Ljk4Mi0yLjQxMy45ODJ6bTE5LjU1LTMuOTcxYy0uOTQgMC0xLjc0NC0uMzMtMi4zOTYtLjk5MS0uNjUyLS42Ni0uOTc0LTEuNDY1LS45NzQtMi40MDUgMC0uOTMxLjMyMi0xLjcyNy45NzQtMi4zODguNjUyLS42NiAxLjQ1Ni0uOTkxIDIuMzk2LS45OTEuOTIzIDAgMS43MjcuMzMgMi4zOTYuOTkxLjY2OS42Ni45OTkgMS40NTYuOTk5IDIuMzg4IDAgLjk0LS4zMyAxLjc0NC0uOTk5IDIuNDA1LS42NjkuNjYtMS4
8770NzMuOTkxLTIuMzk2Ljk5MXptMTAuNDE0IDEuMjM2Yy0uOTQgMC0xLjczNi0uMzIyLTIuMzg4LS45NzQtLjY1Mi0uNjUyLS45ODItMS40NTYtLjk4Mi0yLjM5NiAwLS45MjMuMzMtMS43MTkuOTgyLTIuMzc5LjY1Mi0uNjYgMS40NDgtLjk5MSAyLjM4OC0uOTkxLjk0OCAwIDEuNzUzLjMzIDIuNDEzLjk5MS42Ni42Ni45OTEgMS40NTYuOTkxIDIuMzc5IDAgLjk0LS4zMyAxLjc0NC0uOTkxIDIuMzk2LS42Ni42NTItMS40NjUuOTc0LTIuNDEzLjk3NHoiLz48cGF0aCBmaWxsPSJ1cmwoIzApIiBkPSJtMzguMjIgNDMuMDRjLTMuMDItMS4yNTMtNy40MTctMS44OC0xMy4xNjYtMS44OC01Ljg3NiAwLTEwLjMxMi42NDMtMTMuMzI3IDEuOTMgMi44OTYgMS4xNDMgNy4zMTUgMS43MSAxMy4yNSAxLjcxIDIuODQ1IDAgNS40NDQtLjE1MiA3Ljc5OC0uNDY2IDIuMzYyLS4zMTMgNC4xNzQtLjc0NSA1LjQ0NC0xLjI5NXptLTEzLjI2Ny0zNC4wM2MxLjEwOSAwIDEuNjYtLjU1OSAxLjY2LTEuNjU5IDAtMS4wOTItLjU1LTEuNjQzLTEuNjYtMS42NDMtMS4wOTIgMC0xLjYzNC41NS0xLjYzNCAxLjY0MyAwIDEuMTAxLjU0MiAxLjY1OSAxLjYzNCAxLjY1OXptMTIuNjI0IDI0Ljk3N2MtMy4xOTItLjgxMy03LjM2Ni0xLjIxMS0xMi41MjItMS4yMTEtNS4yOTIgMC05LjUxNy40MDYtMTIuNjc1IDEuMjM2bC4zNzMgMi4zNzljMy4yMTctLjc2MiA3LjMyNC0xLjE0MyAxMi4zMDItMS4xNDMgNC45NDQgMCA4Ljk3NS4zNzMgMTIuMSAxLjExOGwuNDIzLTIuMzc5em0uNjE4LTEuNDlsMS42MTctMi44NTNjLS43OTYuMzIyLTEuNjA5LjQ3NC0yLjQzLjQ3NC0yLjIxOCAwLTMuOTg4LS44OTctNS4zMDktMi43MDEtLjk5MS44MjEtMi4xIDEuMjM2LTMuMzI3IDEuMjM2LTEuNTgzIDAtMi44NTMtLjYxOC0zLjc5My0xLjg2My0xLjA1OCAxLjE2LTIuMzIgMS43NDQtMy43OTMgMS43NDQtMS4xOTQgMC0yLjI4Ni0uNDA2LTMuMjc3LTEuMjE5LTEuMzg5IDEuNzctMy4xODMgMi42NS01LjM4NSAyLjY1LS44MzggMC0xLjY3Ni0uMTUyLTIuNTA2LS40NjZsMS43MzYgMi45NzJjMy4yMDktLjkyMyA3LjYyLTEuMzg5IDEzLjIyNS0xLjM4OSA1LjcwNiAwIDEwLjExOC40NzQgMTMuMjQyIDEuNDE0em0tMTEuMTEtNS45MjdsLTIuMTA4LTEyLjEzMy0yLjEwOCAxMS45ODljLjA1MS0uMDM0LjE2MS0uMTE5LjM0Ny0uMjU0LjM4MS0uNzQ1Ljk1Ny0xLjExOCAxLjczNi0xLjExOC44NDcgMCAxLjM4OS4zNzIgMS42MzQgMS4xMTguMTAyLjEwMi4yNzEuMjM3LjUuMzk4em02Ljg2Ny40NzR2LTExLjQ4OWwtNC4wODkgMTEuMjYxYy4zMTMtLjExLjU3Ni0uMjYyLjc5Ni0uNDQuMzMtLjQxNS43NzktLjYyNyAxLjMzOC0uNjI3LjY2IDAgMS4xOTQuMjk2IDEuNTkyLjg3Mi4wNDIuMDY4LjEwMi4xMzYuMTY5LjIxMi4wNjguMDc2LjEzNi4xNDQuMTk1LjIxMnptLTEzLjkzNi0uMzQ3bC00LjA2NC0xMS4xNDJ2MTEuMzM3Yy4wNDItLjA2OC4xMTktLjE0NC4yMi0uMjQ1LjMzLS42OTQuODcyLTEuMDQxIDEuNjM0LTEuMDQxLjYyNyAwIDEuMTQzLjI2MiAxLjU0MS43OTYuNDQ5LjE5NS42NjkuMjk2LjY2OS4yOTZ6bS02LjI5OSAxLjM4OWwtNS4zMzQtOS4yMDMgMS4zNjMgOC4zODJjLjk0LjY2IDEuODYzLjk5MSAyLjc1Mi45OTEuMzQ3IDAgLjc1NC0uMDU5IDEuMjE5LS4xNjl6bTIyLjM5NC4xMTljLjM4MS4xMTkuODA0LjE3OCAxLjI3LjE3OCAxLjAxIDAgMS45NDctLjMxMyAyLjgyOC0uOTRsMS4zNjMtOC41ODUtNS40NjEgOS4zNDd6bTEuNDkgMTIuNTU2bC0uNzQ1LTIuODAyYy0zLjI0My0uNzExLTcuMjA1LTEuMDY3LTExLjkwNC0xLjA2Ny00LjY0OCAwLTguNjExLjM1Ni0xMS44NzkgMS4wNjdsLS43NzEgMi44MjhjMy4wNzMtLjkzMSA3LjI5OC0xLjM4OSAxMi42NzUtMS4zODkgNS4yNDEgMCA5LjQ0OS40NDkgMTIuNjI0IDEuMzYzem0tMjMuMDYtMzAuNTE0YzEuMDg0IDAgMS42MzQtLjU0MiAxLjYzNC0xLjYzNCAwLTEuMDkyLS41NS0xLjYzNC0xLjYzNC0xLjYzNC0xLjEwOSAwLTEuNjY4LjU0Mi0xLjY2OCAxLjYzNCAwIDEuMDkyLjU1OSAxLjYzNCAxLjY2OCAxLjYzNHptMjAuODI4IDBjMS4xMDkgMCAxLjY2OC0uNTQyIDEuNjY4LTEuNjM0IDAtMS4wOTItLjU1OS0xLjYzNC0xLjY2OC0xLjYzNC0xLjA4NCAwLTEuNjM0LjU0Mi0xLjYzNCAxLjYzNCAwIDEuMDkyLjU1IDEuNjM0IDEuNjM0IDEuNjM0em0tMjkuOTY0IDIuNzM1YzEuMTA5IDAgMS42NjgtLjU1IDEuNjY4LTEuNjQzIDAtMS4xMDktLjU1OS0xLjY1OS0xLjY2OC0xLjY1OS0xLjA4NCAwLTEuNjM0LjU1LTEuNjM0IDEuNjU5IDAgMS4wOTIuNTUgMS42NDMgMS42MzQgMS42NDN6bTM5LjE0IDBjMS4wOTIgMCAxLjY0Mi0uNTUgMS42NDItMS42NDMgMC0xLjEwOS0uNTUtMS42NTktMS42NDItMS42NTktMS4xMDEgMC0xLjY2LjU1LTEuNjYgMS42NTkgMCAxLjA5Mi41NTkgMS42NDMgMS42NiAxLjY0M3oiLz48L2c+PC9zdmc+');
878        }
879
880        .rook.white {
881            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjM3NiIgeDI9Ijc3LjY0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbD0iIzFmMWExNyIgZD0ibTI4LjQwOCA5LjIyaDQuMjE2di0zLjM5NWg2Ljc5NnY5LjI5NWwtNS41IDQuMjQzdjExLjg1N2w0LjIyIDQuMjIxdjUuMDhoMy43ODl2NS45MjloLTMzLjg1OXYtNS45MjloMy43OTR2LTUuMDhsNC4yNDYtNC4yMjF2LTExLjg1N2wtNS41MDgtNC4yNDN2LTkuMjk1aDYuNzc0djMuMzk1aDQuMjQydi0zLjM5NWg2Ljc5eiIvPjxwYXRoIGZpbGw9InVybCgjMCkiIGQ9Im0zMy4wNyAxNy42NzhsMy4xNS0yLjU1N2gtMjIuNDJsMy4xNzUgMi41NTdoMTYuMW03LjE5NyAyNC41MjhoLTMwLjUxNHYyLjU1N2gzMC41MTR2LTIuNTU3bS0zLjg0NC01LjA1aC0yMi44MjZ2My4zN2gyMi44MjZ2LTMuMzdtLTQuMjE2LTE3Ljc4OGgtMTQuMzkzdjExLjg2MmgxNC4zOTN2LTExLjg2Mm01LjUwMy01LjkyN3YtNS45MjdoLTMuMzk1djMuMzk1aC03LjY0NXYtMy4zOTVoLTMuMzQ0djMuMzk1aC03LjYydi0zLjM5NWgtMy4zOTV2NS45MjdoMjUuNG0tMS45MTMgMjJsLTIuNTQ4LTIuNTMyaC0xNi40NTFsLTIuNTk5IDIuNTMyaDIxLjU5OCIvPjwvc3ZnPg==');
882        }
883
884        .bishop.white {
885            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJv
885cHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjEzIiB5MT0iMzcuNTkyIiB4Mj0iNzcuNjQiIHkyPSIzNy40NjkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZmIiBzdG9wLW9wYWNpdHk9IjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBmaWxsPSIjMWYxYTE3IiBkPSJtMjUuNDQ3IDQyLjAxYy0uMjI5Ljk0LS41MTcgMS41OTItLjg0NyAxLjk1Ni0uMzMuMzY0LS43NjIuNzQ1LTEuMzEyIDEuMTQzLS41OTMuNDE1LTEuMjk1Ljc2Mi0yLjEwOCAxLjA1LS44MTMuMjg4LTEuNzEuMzY0LTIuNzAxLjIxMmwtNi45NjgtLjk2NWMtLjI4OC0uMDM0LS41MzMtLjAzNC0uNzYyIDAtLjIyLjAzNC0uNDMyLjA1MS0uNjM1LjA1MS0uMzQ3IDAtLjc4Ny4wNzYtMS4zMjEuMjM3LS41NDIuMTUyLS45NTcuMzgxLTEuMjUzLjY3N2wtMi40MDUtMy45NDZjLjI5Ni0uMzMuNTU5LS41NTkuNzg3LS42OTQuMjM3LS4xMjcuNTA4LS4yNzEuODIxLS40MTUuOTU3LS40NDkgMS45ODEtLjcyIDMuMDczLS44MjEuNDY2LS4wMzQuOTIzLS4wNDIgMS4zNjMtLjAyNS40NDkuMDE3LjkxNCAwIDEuMzk3LS4wNTEuODg5LjE1MiAxLjc4Ni4yODggMi42ODQuNDA2LjkwNi4xMjcgMS44MTIuMjU0IDIuNzE4LjM4OS45OTEgMCAxLjY2LS4xMDIgMi4wMS0uMjk2LjE4Ni0uMTAyLjQ3NC0uMjg4Ljg3Mi0uNTUuMzk4LS4yNjIuNzk2LS42NTIgMS4xOTQtMS4xNjgtLjg4MS0uMDkzLTEuNzctLjI2Mi0yLjY4NC0uNTA4LS45MDYtLjIzNy0xLjcxLS40OTEtMi40MDQtLjc1NGwyLjU4Mi02LjQwMWMtMS4yOTUtLjc0NS0yLjE5My0xLjMzOC0yLjcwOS0xLjc5NS0uNTA4LS40NTctLjkxNC0uOTgyLTEuMjExLTEuNTc1LS40MzItLjc2Mi0uNzExLTEuNDk5LS44My0yLjIxLS4xMjctLjcxMS0uMTc4LTEuMzQ2LS4xNjEtMS45MTMuMDE3LS45OTEuMjQ1LTIuMDgzLjcwMy0zLjI4NS40NTctMS4xOTQgMS4zMTItMi4yNjkgMi41NjUtMy4yMDkgMS4wNDEtLjc5NiAyLjA2Ni0xLjYxNyAzLjA1Ny0yLjQ1NS45OTEtLjg0NyAxLjk3My0xLjgyOSAyLjk0Ni0yLjk1NS0xLjIxOS0uNjI3LTEuODI5LTEuNjI2LTEuODI5LTIuOTk3IDAtLjkzMS4zMjItMS43MTkuOTc0LTIuMzg4LjY1Mi0uNjYgMS40NTYtLjk5MSAyLjM5Ni0uOTkxLjkyMyAwIDEuNzE5LjMzIDIuMzc5Ljk5MS42Ni42NjkuOTkxIDEuNDU2Ljk5MSAyLjM4OCAwIDEuMzU1LS42MSAyLjM1NC0xLjgyOSAyLjk5Ny45NTcgMS4xMjYgMS45MyAyLjEwOCAyLjkxMyAyLjk1NS45ODIuODM4IDIuMDIgMS42NiAzLjA5IDIuNDU1IDEuMjM2Ljk0IDIuMDgzIDIuMDIgMi41MjMgMy4yMDkuNDQ5IDEuMjAyLjY5NCAyLjI5NC43MiAzLjI4NSAwIC41NjctLjA1MSAxLjIwMi0uMTY5IDEuOTEzLS4xMTguNzExLS4zODEgMS40NDgtLjc5NiAyLjIxLS4zMy41OTMtLjc0NSAxLjExOC0xLjI1MyAxLjU3NS0uNS40NTctMS4zODkgMS4wNS0yLjY2NyAxLjc5NWwyLjU4MiA2LjQwMWMtLjcyOC4yNjMtMS41NDkuNTE3LTIuNDU1Ljc1NC0uOTE0LjI0Ni0xLjc4Ny40MTUtMi42MzMuNTA4LjM4MS41MTcuNzcuOTA2IDEuMTY4IDEuMTY4LjM5OC4yNjMuNjk0LjQ0OS44OTguNTUuMzQ3LjE5NSAxLjAxNi4yOTYgMi4wMS4yOTYuODg5LS4xMzYgMS43ODYtLjI2MyAyLjY5Mi0uMzg5Ljg5OC0uMTE4IDEuODAzLS4yNTQgMi43MTgtLjQwNi40NC4wNTEuODg5LjA2OCAxLjM0Ni4wNTEuNDU3LS4wMTcuOTIzLS4wMDggMS40MDUuMDI1IDEuMDU4LjEwMiAyLjA4My4zNzMgMy4wNzMuODIxLjI5Ni4xNDQuNTY3LjI4OC44MDQuNDE1LjI0NS4xMzUuNTA4LjM2NC44MDQuNjk0bC0yLjQzIDMuOTQ2Yy0uMjk2LS4yOTYtLjcxMS0uNTI1LTEuMjUzLS42NzctLjUzMy0uMTYxLS45NjUtLjIzNy0xLjI5NS0uMjM3LS4yMiAwLS40NC0uMDE3LS42Ni0uMDUxLS4yMi0uMDM0LS40NzQtLjAzNC0uNzU0IDBsLTYuOTUxLjk2NWMtLjk5MS4xNTItMS45MTMuMDg1LTIuNzYtLjE5NS0uODU1LS4yNzktMS41NTgtLjY1Mi0yLjEtMS4xMTgtLjU0Mi0uNDQ5LS45ODItLjgzLTEuMzA0LTEuMTUxLS4zMjItLjMyMi0uNTkzLS45NTctLjgwNC0xLjg5NyIvPjxwYXRoIGZpbGw9InVybCgjMCkiIGQ9Im0yNi4zMiAzOS4yYzAgMS4wOTIuMjQ1IDIuMDI0Ljc1MyAyLjc5NC41Ljc3IDEuMDQxIDEuMzcyIDEuNjI2IDEuNzk1LjkwNi42NjkgMi4yMzUuOTk5IDMuOTg4Ljk5OS40MzIgMCAxLjI3OS0uMDkzIDIuNTMyLS4yNzkgMS4wMjUtLjE2MSAxLjg1NC0uMjc5IDIuNDgxLS4zNTYuNjI3LS4wNzYgMS4wNS0uMTM1IDEuMjctLjE4Ni42MjctLjA4NSAxLjI4Ny0uMDY4IDEuOTgxLjA1MS4yNjIuMDY4LjU1OS4xMjcuODguMTg2LjMyMi4wNTkuNTkzLjE4Ni44MDQuMzgxbDEuMTk0LTEuOTNjLS42NzctLjM0Ny0xLjM5Ny0uNTkzLTIuMTU5LS43Mi0xLjI1My0uMjItMi4zNTQtLjI2My0zLjMwMi0uMTUyLS4yNzkuMDM0LS42NDMuMTE4LTEuMTAxLjI0NS0uNDU3LjEzNi0xLjA2Ny4yNjMtMS44NDYuMzczLTEuNjc2LjI3MS0yLjU1Ny4zOTgtMi42NTkuMzk4LS42NDQgMC0xLjIwMi0uMDc2LTEuNjg1LS4yNDYtLjQ4My0uMTY5LS45MDYtLjM0Ny0xLjI4Ny0uNTQyLS44ODEtLjM5OC0xLjc3LTEuMzM4LTIuNjg0LTIuODExaC0uNzg3bS0xLjc2MSAwaC0uNzk2Yy0uOTMxIDEuNDktMS44MTIgMi40My0yLjY1OSAyLjgxMS0uMzk4LjE5NS0uODMuMzczLTEuMzEyLjU0Mi0uNDgzLjE2OS0xLjAzMy4yNDYtMS42Ni4yNDYtLjExOSAwLS45OTktLjEyNy0yLjY1OS0uMzk4LS43ODctLjExLTEuNDIyLS4yMzctMS44OC0uMzczLS40NjYtLjEyNy0uODMtLjIxMi0xLjA5Mi0uMjQ1LS45NDgtLjExLTIuMDQtLjA2OC0zLjMwMi4xNTItLjc2Mi4xMjctMS40NzMuMzczLTIuMTM0LjcybDEuMTk0IDEuOTNjLjE5NS0uMTk1LjQ1Ny0uMzIyLjc3OS0uMzgxLjMyMi0uMDU5LjYxOC0uMTE4Ljg4LS4xODYuNjk0LS4xMTkgMS4zNTUtLjEzNiAxLjk4MS0uMDUxLjIyLjA1MS42NDMuMTEgMS4yNy4xODYuNjI3LjA3NiAxLjQ2NS4xOTUgMi41MDYuMzU2IDEuMjM2LjE4NiAyLjA4My4yNzkgMi41MzIuMjc5IDEuNzM2IDAgMy4wNjUtLjMzIDMuOTg4LS45OTkuNTY3LS40MjMgMS4xMDEtMS4wMjUgMS42LTEuNzk1LjUwOC0uNzcuNzYyLTEuNzAyLjc2Mi0yLjc5NG0uODg5LTkuMzQ3YzEuNiAwIDMuMTQxLjEyNyA0LjYxNC4zNzMgMS42MTctLjU3NiAyLjc5NC0xLjQ4MiAzLjUyMi0yLjcwMS42MjctMS4wNTguOTQtMi4yMjcuOTQtMy40OTcgMC0uNzYyLS4xODYtMS42LS41NjctMi41MjMtLjM4MS0uOTE0LS45OTktMS43NDQtMS44NjMtMi40ODktLjk3NC0uODEzLTIuMDQtMS43MDItMy4yLTIuNjY3LTEuMTUxLS45NjUtMi4zMDMtMi4xLTMuNDQ2LTMuMzg3LTEuMTYgMS4yODctMi4zMTEgMi40MjItMy40NzEgMy4zODctMS4xNi45NjUtMi4yMTggMS44NTQtMy4xNzUgMi42NjctLjg4MS43NDUtMS40OTkgMS41NzUtMS44NzEgMi40ODktLjM3Mi45MjMtLjU1OSAxLjc2MS0uNTU5IDIuNTIzIDAgMS4yNy4zMDUgMi40MzguOTE0IDMuNDk3LjcxMSAxLjIxOSAxLjg5NyAyLjEyNSAzLjU0OCAyLjcwMSAxLjQ1Ni0uMjQ2IDIuOTk3LS4zNzMgNC42MTQtLjM3M20wIDQuNTEzYzEuOTM5IDAgMy43OTMuMTk1IDUuNTc5LjU3NmwtMS4xODUtMy4wNTdjLTEuNDU2LS4yMjktMi45MjEtLjM0Ny00LjM5NC0uMzQ3LTEuNTA3IDAtMi45OC4xMTktNC40MTEuMzQ3bC0xLjE5NCAzLjA1N2MxLjc3LS4zODEgMy42NDEtLjU3NiA1LjYwNS0uNTc2bTAtMjMuNTM3YzEuMTI2IDAgMS42ODUtLjU1OSAxLjY4
885NS0xLjY4NSAwLTEuMTI2LS41NTktMS42OTMtMS42ODUtMS42OTMtMS4xMjYgMC0xLjY4NS41NjctMS42ODUgMS42OTMgMCAxLjEyNi41NTkgMS42ODUgMS42ODUgMS42ODVtMCAyNy4wMWMxLjEyNiAwIDIuMjE4LS4wOTMgMy4yODUtLjI3OSAxLjA2Ny0uMTk1IDIuMS0uNDIzIDMuMDktLjY4Ni0xLjkzOS0uNTA4LTQuMDY0LS43Ny02LjM3NS0uNzctMi4zNDUgMC00LjQ3LjI2My02LjM3NS43Ny45NTcuMjYzIDEuOTczLjQ5MSAzLjA0OC42ODYgMS4wNzUuMTg2IDIuMTg0LjI3OSAzLjMyNy4yNzltLS44ODktMTQuMzM0bC0yLjA2Ni0uMDI1Yy0uNTU5IDAtLjgzOC0uMjc5LS44MzgtLjg0NyAwLS41NTkuMjc5LS44MzguODM4LS44MzhoMi4wNjZ2LTIuMTM0YzAtLjU3Ni4yOTYtLjg3Mi44ODktLjg3Mi41NzYgMCAuODcyLjI5Ni44NzIuODcydjIuMTM0aDIuMTM0Yy41NDIgMCAuODEzLjI3OS44MTMuODM4IDAgLjU2Ny0uMjcxLjg0Ny0uODEzLjg0N2gtMi4xMzR2Mi4wMzJjMCAuNjAxLS4yOTYuODk4LS44NzIuODk4LS41OTMgMC0uODg5LS4yOTYtLjg4OS0uODk4di0yLjAxIi8+PC9zdmc+');
886        }
887
888        .knight.white {
889            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjQwNSIgeDI9Ijc3LjY0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbD0iIzFmMWExNyIgZD0ibTI2LjE4IDkuMzk1YzIuNTk5LjE2OSA1IC44MzggNy4yMjIgMi4wMiAyLjIxIDEuMTY4IDQuMDk4IDIuNjc1IDUuNjU2IDQuNTEzIDEuMDkyIDEuMjg3IDIuMTE3IDIuODQ1IDMuMDgyIDQuNjY1Ljk3NCAxLjgxMiAxLjc0NCAzLjc0MiAyLjMyIDUuNzc0LjY2IDIuMzcxIDEuMDg0IDQuODUxIDEuMjUzIDcuNDU5LjE3OCAyLjU5OS4yNjMgNS4wMS4yNjMgNy4yM3Y1LjQwMmMwIDAtMS4yODcgMC0zLjg2MSAwLTIuNTY1IDAtNS45MDEgMC0xMC4wMSAwaC0xNi42MzdjLS4xNTIgMC0uMjItLjQwNi0uMjEyLTEuMjExLjAwOC0uODEzLjA1OS0xLjQ2NS4xNjEtMS45NjQuMDU5LS4zOTguMjItLjk1Ny40NjYtMS42ODUuMjU0LS43MjguNjYtMS42MDkgMS4yNDUtMi42NS4yNjItLjUzMy44ODktMS4zMDQgMS44OC0yLjMyLjk5OS0xLjAxNiAyLjEzNC0yLjIwMSAzLjQyOS0zLjUzOS43NDUtLjc2MiAxLjMyMS0xLjcxOSAxLjc0NC0yLjg3OS40MjMtMS4xNTEuNjAxLTIuMjAxLjUzMy0zLjE1LS42MS41LTEuMjc5LjkwNi0yLjAxIDEuMjE5LTMuNTA1IDEuMjUzLTYuMDUgMy4wNzMtNy42MTEgNS40NTItLjExOS4xNTItLjQ5MS44MjEtMS4xMTggMi4wMi0uMzMuNjI3LS42MTggMS4wNTgtLjg0NyAxLjI4Ny0uMzEzLjMxMy0uNzcxLjQ5MS0xLjM2My41MjUtLjkyMy4wNDItMS42NDMtLjM5OC0yLjE1OS0xLjM0Ni0uNjk0LjIwMy0xLjMxMi4yODgtMS44NjMuMjU0LS45MjMtLjM0Ny0xLjU5Mi0uNzItMi4wMS0xLjExOC0uODQ3LS44NDctMS4zODktMS42ODUtMS42NTEtMi41MzItLjI1NC0uODQ3LS4zODEtMS43NTMtLjM4MS0yLjcyNiAwLTEuMzg5Ljg1NS0zLjIyNiAyLjU4Mi01LjUxMiAyLjAyLTIuNjI1IDMuMDktNC42MzEgMy4yMTctNiAwLS41OTMuMDU5LTEuMjYyLjE3OC0yLjAxLjEwMi0uNTE3LjMwNS0xLjAxLjYxOC0xLjQ5LjIyLS4zMy4zNjQtLjU1OS40MzItLjY3Ny4wNzYtLjEyNy4yMTItLjMxMy40MTUtLjU1OS4xNDQtLjIwMy4yNzEtLjM1Ni4zNzMtLjQ1Ny4wOTMtLjExLjIyLS4yNTQuMzczLS40NC4xNzgtLjIxMi40MDYtLjQ1Ny42OTQtLjc0NS0uODgtMi40MTMtMS4yMzYtNC45MDItMS4wNjctNy40NTkgMy4yODUgMS4xNjggNi4wNSAzLjAxIDguMjggNS41MjkuNTUtMS44NzEgMS42MjYtMy4zODcgMy4yMjYtNC41MzggMS4zMjEuOTIzIDIuMzcxIDIuMTUxIDMuMTUgMy42NjYiLz48cGF0aCBmaWxsPSJ1cmwoIzApIiBkPSJtNDIuOTc2IDQ0LjY5M2MtLjAxNyAwIDAtLjQ0OS4wNDItMS4zNDYuMDUxLS45MDYuMDc2LTEuODguMDc2LTIuOTIxLjAxNy0yLjA2Ni4wMTctNC4yIDAtNi40MDktLjAxNy0yLjIxLS4zMTMtNC40MTEtLjg4OS02LjYxMy0uNTY3LTIuMTE3LTEuMTg1LTMuOTItMS44NjMtNS40MTktLjY3Ny0xLjQ5OS0xLjQxNC0yLjc4Ni0yLjIxLTMuODc4LTEuMTg1LTEuNzg2LTIuODExLTMuMzAyLTQuODYtNC41MzgtMi4wNDktMS4yNDUtNC4xOTEtMi4wNTctNi40MjYtMi40MzguMTUyLjgxMy4yMiAxLjYwOS4yMDMgMi4zODgtLjAzNC41OTMtLjMxMy44ODktLjg0Ny44ODktLjYxIDAtLjg4MS0uMjk2LS44MjEtLjg4OS4wNTEtMi4xODQtLjcyOC00LjA1Ni0yLjMyOC01LjYwNS0xLjI1MyAxLjMyMS0xLjkzOSAyLjg1My0yLjAzMiA0LjYwNi0uMDM0LjU4NC0uMzMuODM4LS44OTcuNzcxLS41MjUtLjAxNy0uNzg3LS4zMjItLjc4Ny0uOTE0IDAgMCAuMDE3LS4wNjguMDQyLS4yMDMtLjY3Ny4yMi0xLjM4OS41MjUtMi4xMzQuOTIzLS40NzQuMzMtLjg2NC4yNDUtMS4xNi0uMjQ2LS4yOTYtLjQ5OS0uMTY5LS44ODkuMzk4LTEuMTY4LjcxMS0uMzY0IDEuMjQ1LS42MzUgMS42MDktLjgyMS0xLjQyMi0xLjQ1Ni0zLjA0LTIuNjI1LTQuODYtMy41MjIuMTk1IDIuMzAzLjgzIDQuNDcgMS44ODggNi41MjguMjc5LjQyMy4yMTIuODA0LS4yMDMgMS4xMzUtLjQ2Ni4zNjQtLjg1NS4zMTMtMS4xNjgtLjE2OS0uMTEtLjE2OS0uMjc5LS40NjYtLjQ5MS0uODk3LS4zNDcuMzQ3LS41ODQuNjEtLjY5NC43Ny0uMTE4LjE1Mi0uMzIyLjQ4My0uNjEuOTkxLS4yODguNTE2LS40OTkuOTQtLjYzNSAxLjI3LS4xNDQuNDE1LS4yMTIuNzQ1LS4xODYgMS4wMS4wMjUuMjU0LjA1MS41MzMuMDY4Ljg1NS0uMTUyLjk3NC0uNDkxIDEuODg4LTEuMDEgMi43NTItLjUyNS44NTUtMS4xODUgMS45MDUtMS45OTggMy4xNS0uNzc5IDEuMTg1LTEuMzcyIDIuMDgzLTEuNzg2IDIuNjc1LS40MTUuNjAxLS43MjggMS4zNTUtLjk0IDIuMjg2LS4xNTIuNTU5LS4xNTIgMS4yNDUgMCAyLjA0MS4xNDQuODA0LjQ3NCAxLjQzMS45NjUgMS44OC43NjIuNzcgMS40OTkgMS4xMjYgMi4yMSAxLjA2Ny4yMjkgMCAuNTQyLS4wOTMuOTMxLS4yNzkuMzg5LS4xNzguNjg2LS41MjUuOTA2LTEuMDQxLjQyMy0uOTQuNzc5LTEuNDE0IDEuMDY3LTEuNDE0LjQwNiAwIC42MzUuMjM3LjY2OS42OTQgMCAuMTAyLS4xMzYuNTE3LS4zOTggMS4yNDUtLjE1Mi4zMy0uMzQ3LjY3Ny0uNTkzIDEuMDQxLS4zMjIuNDMyLS40NTcuNjEtLjQyMy41NDIuMjYyLjk0OC43MDMgMS4xMDkgMS4zMTIuNDk5LjE3OC0uMTc4LjM4OS0uNTI1LjYxOC0xLjAxNi4yMzctLjQ5OS42MDEtMS4xNjggMS4wOTItMi4wMS41ODQtLjk4MiAxLjIwMi0xLjc3IDEuODYzLTIuMzg4LjY2LS42MSAxLjI0NS0xLjEwOSAxLjc2MS0xLjQ4Mi4yOTYtLjIyLjY2LS40NjYgMS4wOTItLjc0NS40MzItLjI4OCAxLjAxLS41NzYgMS43MzYtLjg3Mi41NzYtLjIyOSAxLjIxOS0uNTE2IDEuOTIyLS44NTUuNzAzLS4zMzkgMS4zMjktLjc3IDEuODcxLTEuMzA0Ljc2Mi0uNzQ1IDEuMzQ2LTEuNjU5IDEuNzYxLTIuNzUyLjIyLS42MS4yOTYtMS4zNjMuMjQ1LTIuMjYxLS4xNDQtLjU1OS4xMzYtLjgzOC44NDctLjgzOC41MzMgMCAuODMuMjcxLjg5OC44MjEgMCAxLjg2My0uNTMzIDMuNTY0LTEuNTkyIDUuMTA1LjM0NyAxLjA1OC40NCAyLjIxOC4yNzEgMy40NzEtLjE0NCAxLjAxLS41IDIuMDkxLTEuMDUgMy4yNDMtLjU1OSAxLjE0My0xLjY3NiAyLjQyMi0zLjM2MSAzLjgyNy0zLjQyOSAyLjg0NS01LjA1IDUuNzc0LTQuODYgOC43OCAwIDAgMS40MDUgMCA0LjIyNSAwIDIuODE5IDAgNS40NyAwIDcuOTUgMGgxMy41NzJtLTMzLjYzOC0xNS4wOGMtLjQ4My4yOTYtLjc3LjY5NC0uODcyIDEuMTk0LjAxNy41NDItLjIzNy44MzgtLjc2Mi44ODktLjU4NC4wNjgtLjg4MS0uMTc4LS44OTgtLjc0NS4wNjgtMS4wOTIuNTUtMS45NTYgMS40NjUtMi41OTkuNDMyLS4z
889NDcuODMtLjMyMiAxLjE5NC4wOTMuMzY0LjQ0OS4zMjIuODM4LS4xMjcgMS4xNjhtNy4zNjYtMTEuODI4Yy4yMTIuMzMuMjk2LjY3Ny4yNDYgMS4wNDEtLjE2MSAxLjA1OC0uNzU0IDEuNDk5LTEuNzYxIDEuMzM4LS4yOTYtLjA1MS0uNTMzLS4xNTItLjcyLS4yOTYtLjA1OS4wNzYtLjE2MS4yNjItLjI5Ni41NDItLjE3OC41MzMtLjUyNS43MTEtMS4wNDEuNTUtLjUwOC0uMjAzLS43MTEtLjU3Ni0uNTkzLTEuMTE4Ljc0NS0xLjkwNSAyLjA5MS0zLjIwOSA0LjA0LTMuOTIuNTY3LS4xNjkuOTQgMCAxLjExOC40OTEuMjAzLjUzMy4wNTEuODk4LS40NDkgMS4wOTItLjA5My4wNTEtLjE4Ni4xMDItLjI3MS4xMzYtLjA4NS4wNDItLjE2OS4wOTMtLjI3MS4xNDQiLz48L3N2Zz4=');
890        }
891
892        .queen.black {
893            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjI1MyIgeTE9IjM3LjIyIiB4Mj0iNzcuNzYiIHkyPSIzNy4zNiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0eT0iMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIGZpbGw9IiMxZjFhMTciPjxwYXRoIGQ9Im0yNC45NDkgMTAuNzUyYy0uOTQgMC0xLjc0NC0uMzMtMi4zOTYtLjk5MS0uNjUyLS42Ni0uOTc0LTEuNDY1LS45NzQtMi40MDUgMC0uOTMxLjMyMi0xLjcyNy45NzQtMi4zODguNjUyLS42NiAxLjQ1Ni0uOTkxIDIuMzk2LS45OTEuOTIzIDAgMS43MjcuMzMgMi4zOTYuOTkxLjY2OS42Ni45OTkgMS40NTYuOTk5IDIuMzg4IDAgLjk0LS4zMyAxLjc0NC0uOTk5IDIuNDA1LS42NjkuNjYtMS4
8930NzMuOTkxLTIuMzk2Ljk5MSIvPjxwYXRoIGQ9Im00MC4yMyA0My45NDJjLS44MTMuNzExLTIuNjMzIDEuMzA0LTUuNDYxIDEuNzg2LTIuODI4LjQ3NC02LjA4Ny43Mi05Ljc3LjcyLTMuNzUxIDAtNy4wNS0uMjU0LTkuODk4LS43NDUtMi44NDUtLjQ5OS00LjY0LTEuMTE4LTUuMzg1LTEuODYzbDEuNTY2LTUuOTUyLS42OTQtMy44OTUtMi4xODQtMy43OTMtMi4xMDgtMTUuNDI2IDEuMjExLS40NzQgNi43OTkgMTEuNDU1LjE1Mi0xMy42NCAxLjY4NS0uMjk2IDUuMTgyIDEzLjcxNiAyLjc3Ny0xNC43NTdoMS43MTlsMi43NzcgMTQuNzA3IDUuMTMxLTEzLjY2NSAxLjcxLjI5Ni4xNTIgMTMuNjQgNi44MjQtMTEuNDgxIDEuMTYuNTQyLTIuMDU3IDE1LjM1OS0yLjIxIDMuNzkzLS42OTQgMy45NDYgMS42MTcgNi4wMyIvPjxwYXRoIGQ9Im0xNC41MzUgMTEuOTg5Yy0uOTQ4IDAtMS43NTMtLjMyMi0yLjQxMy0uOTc0LS42Ni0uNjUyLS45OTEtMS40NTYtLjk5MS0yLjM5NiAwLS45MjMuMzMtMS43MTkuOTkxLTIuMzc5LjY2LS42NiAxLjQ2NS0uOTkxIDIuNDEzLS45OTEuOTIzIDAgMS43MTkuMzMgMi4zNzkuOTkxLjY2LjY2Ljk5MSAxLjQ1Ni45OTEgMi4zNzkgMCAuOTQtLjMzIDEuNzQ0LS45OTEgMi4zOTYtLjY2LjY1Mi0xLjQ1Ni45NzQtMi4zNzkuOTc0Ii8+PHBhdGggZD0ibTM1LjM2IDExLjk4OWMtLjk0IDAtMS43MzYtLjMyMi0yLjM4OC0uOTc0LS42NTItLjY1Mi0uOTgyLTEuNDU2LS45ODItMi4zOTYgMC0uOTIzLjMzLTEuNzE5Ljk4Mi0yLjM3OS42NTItLjY2IDEuNDQ4LS45OTEgMi4zODgtLjk5MS45NDggMCAxLjc1My4zMyAyLjQxMy45OTEuNjYuNjYuOTkxIDEuNDU2Ljk5MSAyLjM3OSAwIC45NC0uMzMgMS43NDQtLjk5MSAyLjM5Ni0uNjYuNjUyLTEuNDY1Ljk3NC0yLjQxMy45NzQiLz48cGF0aCBkPSJtNS40IDE0LjcyM2MtLjk0IDAtMS43MzYtLjMzLTIuMzg4LS45ODItLjY1Mi0uNjUyLS45ODItMS40NDgtLjk4Mi0yLjM5NiAwLS45MjMuMzMtMS43MTkuOTgyLTIuMzg4LjY1Mi0uNjc3IDEuNDQ4LTEuMDEgMi4zODgtMS4wMS45NDggMCAxLjc0NC4zMyAyLjQxMyAxLjAxLjY2LjY2OS45OTEgMS40NjUuOTkxIDIuMzg4IDAgLjk0OC0uMzMgMS43NDQtLjk5MSAyLjM5Ni0uNjY5LjY1Mi0xLjQ2NS45ODItMi40MTMuOTgyIi8+PHBhdGggZD0ibTQ0LjU0MSAxNC43MjNjLS45NCAwLTEuNzQ0LS4zMy0yLjQwNS0uOTgyLS42Ni0uNjUyLS45OTEtMS40NDgtLjk5MS0yLjM5NiAwLS45MjMuMzMtMS43MTkuOTkxLTIuMzg4LjY2LS42NzcgMS40NjUtMS4wMSAyLjQwNS0xLjAxLjkzMSAwIDEuNzI3LjMzIDIuMzg4IDEuMDEuNjYuNjY5Ljk5MSAxLjQ2NS45OTEgMi4zODggMCAuOTQ4LS4zMyAxLjc0NC0uOTkxIDIuMzk2LS42Ni42NTItMS40NTYuOTgyLTIuMzg4Ljk4MiIvPjwvZz48cGF0aCBmaWxsPSJ1cmwoIzApIiBkPSJtMzcuMiAzNS43MjljLTMuMDQtLjgzOC03LjA5NS0xLjI2Mi0xMi4xNS0xLjI2Mi01LjA5NyAwLTkuMTk1LjQzMi0xMi4zMDIgMS4yODdsLjM3MyAyLjUwNmMzLjEyNC0uODEzIDcuMDk1LTEuMjE5IDExLjkzLTEuMjE5IDQuODA5IDAgOC43MjkuMzk4IDExLjc1MiAxLjE5NGwuMzk4LTIuNTA2bTEuNzM2LTQuNDM3Yy0xLjM3Mi0uNS0zLjMwMi0uOTA2LTUuNzkxLTEuMjI4LTIuNDg5LS4zMjItNS4yMzItLjQ4My04LjI0Ni0uNDgzLTIuOTQ2IDAtNS42MzkuMTUyLTguMDkuNDU3LTIuNDQ3LjMwNS00LjM3Ny43MDMtNS43ODMgMS4yMDJsMS4yNDUgMi4yNTJjMS4zODktLjQwNiAzLjE5Mi0uNzAzIDUuNDEtLjg4OSAyLjIxLS4xNzggNC42MzEtLjI3MSA3LjI2NC0uMjcxIDIuNjMzIDAgNS4wNjMuMDkzIDcuMjkuMjcxIDIuMjM1LjE4NiA0LjA0Ny40OTEgNS40MzYuOTE0bDEuMjYxLTIuMjI3bS0xLjA5MiAxMS44NTNsLS43MzctMi45MjljLTMuMjI2LS43MzctNy4yODEtMS4xMDktMTIuMTU4LTEuMTA5LTQuODI2IDAtOC44NjUuMzczLTEyLjExIDEuMTA5bC0uNzg3IDIuOTU1YzMuMTQxLS45NTcgNy40NDItMS40MzkgMTIuOTItMS40MzkgMi42MjUgMCA1LjA3Mi4xMzYgNy4zMTUuMzk4IDIuMjUyLjI2MiA0LjEwNi42MDEgNS41NTQgMS4wMTYiLz48L3N2Zz4=');
894        }
895
896        .rook.black {
897            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjE5IiB5MT0iMzcuNTUyIiB4Mj0iNzcuNzQiIHkyPSIzNy40MjkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZmIiBzdG9wLW9wYWNpdHk9IjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBmaWxsPSIjMWYxYTE3IiBkPSJtMjguNDA4IDkuMjJoNC4yMTZ2LTMuMzk1aDYuNzk2djkuMjk1bC01LjUgNC4yNDN2MTEuODU3bDQuMjIgNC4yMjF2NS4wOGgzLjc4OXY1LjkyOWgtMzMuODU5di01LjkyOWgzLjc5NHYtNS4wOGw0LjI0Ni00LjIyMXYtMTEuODU3bC01LjUwOC00LjI0M3YtOS4yOTVoNi43NzR2My4zOTVoNC4yNDJ2LTMuMzk1aDYuNzl6Ii8+PHBhdGggZmlsbD0idXJsKCMwKSIgZD0ibTI1LjAxIDM1LjA0aC0xMC4yN2wtMS4xNDMgMS4wNjd2MS40MzloMjIuODI2di0xLjQzOWwtMS4xNDMtMS4wNjdoLTEwLjI3bS0xMS40MTMgNS4wOHYyLjUzMmgyMi44MjZ2LTIuNTMyaC0yMi44MjZtMTEuNDEzLTI3LjA4aC0xMi43djEuMTQzbDEuODEyIDEuMzYzaDIxLjgwMmwxLjc2MS0xLjM2M3YtMS4xNDNoLTEyLjY3NW0wIDQuMTkxaC04LjY3OGwxLjQ4MiAxLjE2OHYxLjQxNGgxNC4zOTN2LTEuNDE0bDEuNDgyLTEuMTY4aC04LjY3OG0wIDEzLjU0N2gtNy4xOTd2MS4xNDNsLTEuNDgyIDEuNDM5aDE3LjM1N2wtMS40ODItMS40Mzl2LTEuMTQzaC03LjE5NyIvPjwvc3ZnPg==');
898        }
899
900        .bishop.black {
901            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJv
901cHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjA5IiB5MT0iMzcuMSIgeDI9Ijc3LjY3IiB5Mj0iMzcuNDY5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD0ibTI1IDQyLjE2Yy0uMjI5Ljk0LS41MTcgMS41OTItLjg0NyAxLjk1Ni0uMzMuMzY0LS43NjIuNzQ1LTEuMzEyIDEuMTQzLS41OTMuNDE1LTEuMjk1Ljc2Mi0yLjEwOCAxLjA1LS44MTMuMjg4LTEuNzEuMzY0LTIuNzAxLjIxMmwtNi45NjgtLjk2NWMtLjI4OC0uMDM0LS41MzMtLjAzNC0uNzYyIDAtLjIyLjAzNC0uNDMyLjA1MS0uNjM1LjA1MS0uMzQ3IDAtLjc4Ny4wNzYtMS4zMjEuMjM3LS41NDIuMTUyLS45NTcuMzgxLTEuMjUzLjY3N2wtMi40MDQtMy45NDZjLjI5Ni0uMzMuNTU5LS41NTkuNzg3LS42OTQuMjM3LS4xMjcuNTA4LS4yNzEuODIxLS40MTUuOTU3LS40NDkgMS45ODEtLjcyIDMuMDczLS44MjEuNDY2LS4wMzQuOTIzLS4wNDIgMS4zNjMtLjAyNS40NDkuMDE3LjkxNCAwIDEuMzk3LS4wNTEuODg5LjE1MiAxLjc4Ni4yODggMi42ODQuNDA2LjkwNi4xMjcgMS44MTIuMjU0IDIuNzE4LjM5Ljk5MSAwIDEuNjYtLjEwMiAyLjAxLS4yOTYuMTg2LS4xMDIuNDc0LS4yODguODcyLS41NS4zOTgtLjI2Mi43OTYtLjY1MiAxLjE5NC0xLjE2OC0uODgxLS4wOTMtMS43Ny0uMjYyLTIuNjg0LS41MDgtLjkwNi0uMjM3LTEuNzEtLjQ5MS0yLjQwNC0uNzU0bDIuNTgyLTYuNDAxYy0xLjI5NS0uNzQ1LTIuMTkzLTEuMzM4LTIuNzA5LTEuNzk1LS41MDgtLjQ1Ny0uOTE0LS45ODItMS4yMTEtMS41NzUtLjQzMi0uNzYyLS43MTEtMS40OTktLjgzLTIuMjEtLjEyNy0uNzExLS4xNzgtMS4zNDYtLjE2MS0xLjkxMy4wMTctLjk5MS4yNDUtMi4wODMuNzAzLTMuMjg1LjQ1Ny0xLjE5NCAxLjMxMi0yLjI2OSAyLjU2NS0zLjIwOSAxLjA0MS0uNzk2IDIuMDY2LTEuNjE3IDMuMDU3LTIuNDU1Ljk5MS0uODQ3IDEuOTczLTEuODI5IDIuOTQ2LTIuOTU1LTEuMjE5LS42MjctMS44MjktMS42MjYtMS44MjktMi45OTcgMC0uOTMxLjMyMi0xLjcxOS45NzQtMi4zODguNjUyLS42NiAxLjQ1Ni0uOTkxIDIuMzk2LS45OTEuOTIzIDAgMS43MTkuMzMgMi4zNzkuOTkxLjY2LjY2OS45OTEgMS40NTYuOTkxIDIuMzg4IDAgMS4zNTUtLjYxIDIuMzU0LTEuODI5IDIuOTk3Ljk1NyAxLjEyNiAxLjkzIDIuMTA4IDIuOTEzIDIuOTU1Ljk4Mi44MzggMi4wMiAxLjY1OSAzLjA5IDIuNDU1IDEuMjM2Ljk0IDIuMDgzIDIuMDEgMi41MjMgMy4yMDkuNDQ5IDEuMjAyLjY5NCAyLjI5NS43MiAzLjI4NSAwIC41NjctLjA1MSAxLjIwMi0uMTY5IDEuOTEzLS4xMTguNzExLS4zODEgMS40NDgtLjc5NiAyLjIxLS4zMy41OTMtLjc0NSAxLjExOC0xLjI1MyAxLjU3NS0uNS40NTctMS4zODkgMS4wNS0yLjY2NyAxLjc5NWwyLjU4MiA2LjQwMWMtLjcyOC4yNjMtMS41NDkuNTE3LTIuNDU1Ljc1NC0uOTE0LjI0Ni0xLjc4Ny40MTUtMi42MzMuNTA4LjM4MS41MTcuNzcxLjkwNiAxLjE2OCAxLjE2OC4zOTguMjYzLjY5NC40NDkuODk3LjU1LjM0Ny4xOTUgMS4wMTYuMjk2IDIuMDEuMjk2Ljg4OS0uMTM2IDEuNzg3LS4yNjMgMi42OTItLjM5Ljg5OC0uMTE4IDEuODAzLS4yNTQgMi43MTgtLjQwNi40NC4wNTEuODg5LjA2OCAxLjM0Ni4wNTEuNDU3LS4wMTcuOTIzLS4wMDggMS40MDYuMDI1IDEuMDU4LjEwMiAyLjA4My4zNzMgMy4wNzMuODIxLjI5Ni4xNDQuNTY3LjI4OC44MDQuNDE1LjI0NS4xMzUuNTA4LjM2NC44MDQuNjk0bC0yLjQzIDMuOTQ2Yy0uMjk2LS4yOTYtLjcxMS0uNTI1LTEuMjUzLS42NzctLjUzMy0uMTYxLS45NjUtLjIzNy0xLjI5NS0uMjM3LS4yMiAwLS40NC0uMDE3LS42Ni0uMDUxLS4yMi0uMDM0LS40NzQtLjAzNC0uNzU0IDBsLTYuOTUxLjk2NWMtLjk5MS4xNTItMS45MTMuMDg1LTIuNzYtLjE5NS0uODU1LS4yNzktMS41NTgtLjY1Mi0yLjEtMS4xMTgtLjU0Mi0uNDQ5LS45ODItLjgzLTEuMzA0LTEuMTUxLS4zMjItLjMyMi0uNTkzLS45NTctLjgwNC0xLjg5NyIgZmlsbD0iIzFmMWExNyIvPjxwYXRoIGQ9Im0yNC4wOSAyMy43MDV2Mi4xMDhjMCAuNjEuMzA1LjkxNC45MTQuOTE0LjYxIDAgLjkxNC0uMzA1LjkxNC0uOTE0di0yLjEzNGgyLjIzNWMuNTc2IDAgLjg3Mi0uMjk2Ljg3Mi0uODk3IDAtLjU5My0uMjk2LS44ODktLjg3Mi0uODg5aC0yLjIzNXYtMi4yMzVjMC0uNjEtLjMwNS0uOTE0LS45MTQtLjkxNC0uNjEgMC0uOTE0LjMwNS0uOTE0LjkxNHYyLjIzNWgtMi4xODRjLS41ODQgMC0uODcyLjI5Ni0uODcyLjg4OSAwIC42MDEuMjg4Ljg5Ny44NzIuODk3bDIuMTg0LjAyNW03LjUxIDEzLjc0MWwtMS4wNDEtMi41MzFjLTEuNjg1LS4zNjQtMy41MzktLjU0Mi01LjU1NC0uNTQyLTEuOTk4IDAtMy44MzUuMTc4LTUuNTAzLjU0MmwtMS4wNDEgMi41MDZjMi4wNDktLjUxNiA0LjIzMy0uNzcgNi41NDUtLjc3IDIuMjg2IDAgNC40NzkuMjYyIDYuNTk2Ljc5Nm0tMi4wODMtNS4xMTRsLS43Mi0xLjczNnYtLjY2OWMtMS4yNTMtLjE3OC0yLjUyMy0uMjcxLTMuNzkzLS4yNzEtMS4yMzYgMC0yLjQ5OC4wOTMtMy43NjguMjcxbC0uMDI1LjY2OS0uNjY5IDEuNzM2YzEuNDA1LS4yNDYgMi44ODctLjM3MyA0LjQ2Mi0uMzczIDEuNTkyIDAgMy4wOS4xMjcgNC41MTMuMzczbS0uODY0IDkuMzgxYy0uNjYtLjQ5OS0xLjMyOS0xLjI4Ny0xLjk5LTIuMzYyaC0uNzg3YzAgLjgxMy4xODYgMS42LjU2NyAyLjM2MmgyLjIxbS01LjExNCAwYy4zODEtLjgxMy41NzYtMS42LjU3Ni0yLjM2MmgtLjc5NmMtLjY0MyAxLjA1OC0xLjMxMiAxLjg0Ni0yLjAyIDIuMzYyaDIuMjM1IiBmaWxsPSJ1cmwoIzApIi8+PC9zdmc+');
902        }
903
904        .knight.black {
905            background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNzcuMTciIGhlaWdodD0iMTc3LjE3IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgaW1hZ2UtcmVuZGVyaW5nPSJv
905cHRpbWl6ZVF1YWxpdHkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiB2aWV3Qm94PSIwIDAgNTAgNTAiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iMCIgeDE9IjIxLjI1MyIgeTE9IjM3LjU5MiIgeDI9Ijc3LjY0IiB5Mj0iMzcuNDY5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbD0iIzFmMWExNyIgZD0ibTI2LjE4IDkuMzk1YzIuNTk5LjE2OSA1IC44MzggNy4yMjIgMi4wMiAyLjIxIDEuMTY4IDQuMDk4IDIuNjc1IDUuNjU2IDQuNTEzIDEuMDkyIDEuMjg3IDIuMTE3IDIuODQ1IDMuMDgyIDQuNjY1Ljk3NCAxLjgxMiAxLjc0NCAzLjc0MiAyLjMyIDUuNzc0LjY2IDIuMzcxIDEuMDg0IDQuODUxIDEuMjUzIDcuNDU5LjE3OCAyLjU5OS4yNjMgNS4wMS4yNjMgNy4yM3Y1LjQwMmMwIDAtMS4yODcgMC0zLjg2MSAwLTIuNTY1IDAtNS45MDEgMC0xMC4wMSAwaC0xNi42MzdjLS4xNTIgMC0uMjItLjQwNi0uMjEyLTEuMjExLjAwOC0uODEzLjA1OS0xLjQ2NS4xNjEtMS45NjQuMDU5LS4zOTguMjItLjk1Ny40NjYtMS42ODUuMjU0LS43MjguNjYtMS42MDkgMS4yNDUtMi42NS4yNjItLjUzMy44ODktMS4zMDQgMS44OC0yLjMyLjk5OS0xLjAxNiAyLjEzNC0yLjIwMSAzLjQyOS0zLjUzOS43NDUtLjc2MiAxLjMyMS0xLjcxOSAxLjc0NC0yLjg3OS40MjMtMS4xNTEuNjAxLTIuMjAxLjUzMy0zLjE1LS42MS41LTEuMjc5LjkwNi0yLjAxIDEuMjE5LTMuNTA1IDEuMjUzLTYuMDUgMy4wNzMtNy42MTEgNS40NTItLjExOS4xNTItLjQ5MS44MjEtMS4xMTggMi4wMi0uMzMuNjI3LS42MTggMS4wNTgtLjg0NyAxLjI4Ny0uMzEzLjMxMy0uNzcxLjQ5MS0xLjM2My41MjUtLjkyMy4wNDItMS42NDMtLjM5OC0yLjE1OS0xLjM0Ni0uNjk0LjIwMy0xLjMxMi4yODgtMS44NjMuMjU0LS45MjMtLjM0Ny0xLjU5Mi0uNzItMi4wMS0xLjExOC0uODQ3LS44NDctMS4zODktMS42ODUtMS42NTEtMi41MzItLjI1NC0uODQ3LS4zODEtMS43NTMtLjM4MS0yLjcyNiAwLTEuMzg5Ljg1NS0zLjIyNiAyLjU4Mi01LjUxMiAyLjAyLTIuNjI1IDMuMDktNC42MzEgMy4yMTctNiAwLS41OTMuMDU5LTEuMjYyLjE3OC0yLjAxLjEwMi0uNTE3LjMwNS0xLjAxLjYxOC0xLjQ5LjIyLS4zMy4zNjQtLjU1OS40MzItLjY3Ny4wNzYtLjEyNy4yMTItLjMxMy40MTUtLjU1OS4xNDQtLjIwMy4yNzEtLjM1Ni4zNzMtLjQ1Ny4wOTMtLjExLjIyLS4yNTQuMzczLS40NC4xNzgtLjIxMi40MDYtLjQ1Ny42OTQtLjc0NS0uODgtMi40MTMtMS4yMzYtNC45MDItMS4wNjctNy40NTkgMy4yODUgMS4xNjggNi4wNSAzLjAxIDguMjggNS41MjkuNTUtMS44NzEgMS42MjYtMy4zODcgMy4yMjYtNC41MzggMS4zMjEuOTIzIDIuMzcxIDIuMTUxIDMuMTUgMy42NjYiLz48cGF0aCBmaWxsPSJ1cmwoIzApIiBkPSJtMTUuNjg4IDE3Ljc4NmMuMzY0LS4xODYuNTQyLS4yNzkuNTQyLS4yNzkuNDk5LS4xOTUuNjUyLS41NTkuNDc0LTEuMDkyLS4xOTUtLjQ5MS0uNTc2LS42Ni0xLjE0My0uNDkxLTEuOTQ3LjcxMS0zLjI5NCAyLjAyLTQuMDQgMy45Mi0uMTE4LjU0Mi4wNzYuOTE0LjU5MyAxLjExOC41MTYuMTYxLjg2NC0uMDE3IDEuMDQxLS41NS4xMzYtLjI3OS4yMjktLjQ2Ni4yOTYtLjU0Mi4xODYuMTQ0LjQyMy4yNDUuNzIuMjk2IDEuMDEuMTYxIDEuNi0uMjc5IDEuNzYxLTEuMzM4LjA1MS0uMzY0LS4wMzQtLjcxMS0uMjQ2LTEuMDQxbS00LjExNSAxNi43NjRjLjA1OS0uMTUyLjE2OS0uMzczLjMyMi0uNjY5LjI3OS0uNjk0LjQxNS0xLjEwOS40MTUtMS4yNDUtLjAyNS0uNDU3LS4yNzEtLjY5NC0uNzItLjY5NC0uMzMgMC0uNzExLjQ3NC0xLjE2IDEuNDE0LS4wNjguMTM2LS4xNjkuMjU0LS4yOTYuMzQ3LS40NDkuNDY2LS4zODEuODU1LjE5NSAxLjE2OC41MzMuMzEzLjk0LjIxMiAxLjI0NS0uMzIybTE0LjYzLTkuMjAzYzEuMTYtMS41MjQgMS43MjctMy4yMTcgMS43MS01LjA4LS4wNjgtLjU1LS4zODEtLjgyMS0uOTQtLjgyMS0uNzYyIDAtMS4wNTguMjc5LS44OTguODM4LjA1MS45MTQtLjAzNCAxLjY2OC0uMjcxIDIuMjYxLS4zODEuOTQtLjgwNCAxLjY0Mi0xLjI2MSAyLjEwOC0uMjU0LjUtLjEwMi44NjQuNDQ5IDEuMDkyLjUyNS4yNDUuOTMxLjExOSAxLjIxMS0uMzk4bS02LjQ3Ny0xMi4xMWMtLjA3Ni0uNTkzLS4wNTktMS4yMzYuMDUxLTEuOTMtLjk5MS4xOTUtMS45MjIuNjYtMi44MDIgMS4zODktLjUyNS4yNzktLjY1Mi42NjktLjM3MyAxLjE2OC4yNzkuNTA4LjY2OS41OTMgMS4xNjguMjQ2LjM0Ny0uMTg2LjY2OS0uMzU2Ljk1Ny0uNTA4LjI4OC0uMTYxLjYxOC0uMjc5Ljk5OS0uMzY0bTIzLjI1IDMxLjQ1NGMtLjAxNyAwIDAtLjQ0OS4wNDItMS4zNDYuMTMxLTMuMTA3LjA5NS02LjIyMS4wNzYtOS4zMy0uMDE3LTIuMjEtLjMxMy00LjQxMS0uODg5LTYuNjEzLS44NC0zLjMxLTIuMTI0LTYuNDg1LTQuMDcyLTkuMjk2LTIuNjM0LTMuODQ1LTYuODE0LTYuMDMtMTEuMjg2LTYuOTc2LjEyNi43NjYuMDMzIDEuNTQuMDc2IDIuMzExIDEuNi41NDIgMy4xMTYgMS4yMTkgNC41MzggMi4wMzIgNC4yNDEgMi41NTQgNi40MTQgNy4yNzUgNy4xOTcgMTEuOTMgMS4yNzIgNi4xNTQuNDUzIDExLjU1Ny44MTMgMTcuMjg5aDMuNTA1bS0zMy41MzctMTQuNTU0Yy40NzQtLjMzOS41MjUtLjcyOC4xNDQtMS4xOTQtLjM5OC0uMzgxLS44My0uNDE1LTEuMzEyLS4xMDItMS4wMS42Ni0xLjU0OSAxLjUzMi0xLjYxNyAyLjYwOC4wMTcuNTQyLjM0Ny44MDQuOTc0Ljc3MS41OTMtLjA1MS44ODEtLjM1Ni44NjQtLjkyMy4xMzUtLjUyNS40NDktLjkxNC45NDgtMS4xNiIvPjwvc3ZnPg==');
906        }
907
908        .ui-dialog {
909            padding: 0 !important;
910            width: 184px !important;
911            border: 0 !important;
912        }
913
914        .ui-dialog-content {
915            padding: 0 !important;
916            width: 184px !important;
917            border: 0 !important;
918        }
919
920        .ui-corner-all {
921            border-radius: 0;
922        }
923
924        .ui-state-default,
925        .ui-widget-content .ui-state-default,
926        .ui-widget-header .ui-state-default {
927            border: 0 !important;
928        }
929
930        #promote-to-white .ui-selecting,
931        #promote-to-black .ui-selecting {
932            background: #FECA40;
933        }
934
935        #promote-to-white .ui-selected,
936        #promote-to-black .ui-selected {
937            background: #F39814;
938            color: white;
939        }
940
941        #promote-to-white,
942        #promote-to-black {
943            position: relative;
944            list-style-type: none;
945            margin: auto;
946            margin-top: -58%;
947            padding: 0;
948            width: 308px;
949            height: 77px;
950            background-color: white;
951        }
952
953        #promotion-dialog {
954            z-index: 2;
955            position: relative;
956        }
957
958        #promote-to-white li,
959        #promote-to-black li {
960            margin: 0;
961            padding: 0;
962            width: 74px;
963            height: 74px;
964            cursor: pointer;
965            float: left !important;
966        }
967
968
969        .ui-dialog .ui-dialog-content {
970            padding: 0;
971        }
972
973        .no-close .ui-dialog-titlebar-close {
974            display: none;
975        }
976
977        .noTitleStuff .ui-dialog-titlebar {
978            display: none;
979        }
980
981        .promotion-piece {
982            width: 77px;
983            height: 77px;
984        }
985
986        .piece-name {
987            display: none;
988        }
989
990        .texthome {
991            color: black !important;
992            text-transform: uppercase;
993            font-size: 1.2rem;
994            font-weight: bold;
995        }
996
997        .texthome:visited,
998        .texthome:hover {
999            color: black !important;
1000            text-transform: uppercase;
1001            font-size: 1.2rem;
1002            font-weight: bold;
1003        }
1004
1005        .botonhome {
1006            width: 100%;
1007            max-width: 220px;
1008        }
1009
1010        .changing,
1011        .button-menu-training,
1012        .button-menu-myrepertoire,
1013        .button-menu-mydatabase,
1014        .button-menu-tournaments,
1015        .button-menu-players,
1016        .button-menu-database,
1017        .button-menu-openings,
1018        .button-menu-puzzles,
1019        .button-menu-play {
1020            transition: all .7s ease-in-out;
1021        }
1022
1023        .changing {
1024            transform: rotate(360deg);
1025        }
1026
1027        #featured-tournaments {
1028            padding-top: 1rem;
1029            padding-bottom: 1rem;
1030        }
1031
1032        .banner-black {
1033            background-image: url('/img/banner-728-90-background.jpg');
1034            color: white;
1035            margin: auto;
1036            height: 90px;
1037            vertical-align: middle;
1038            text-align: center;
1039            padding-top: 22px;
1040            font-size: 30px;
1041            font-weight: bold;
1042            cursor: pointer;
1043        }
1044
1045        @media (max-width:1200px) {
1046            .texthome {
1047                font-size: 1rem;
1048            }
1049        }
1050
1051        @media (max-width:991px) {
1052            .texthome {
1053                font-size: 1.4rem;
1054            }
1055        }
1056
1057        @media (max-width:671px) {
1058            .texthome {
1059                font-size: 1.2rem;
1060            }
1061        }
1062
1063        @media (max-width:550px) {
1064            .texthome {
1065                font-size: 0.9rem;
1066            }
1067        }
1068
1069        .resultado-ed {
1070            font-size: 5rem;
1071            line-height: 1.1 !important;
1072        }
1073
1074        #resultado {
1075            font-size: 4rem;
1076            line-height: 1.1 !important;
1077        }
1078
1079        .nav-link {
1080            font-size: 18px;
1081            cursor: pointer;
1082            color: #fff;
1083        }
1084
1085        /* The switch - the box around the slider */
1086        .switch {
1087            position: relative;
1088            display: inline-block;
1089            width: 60px;
1090            height: 34px;
1091        }
1092
1093        /* Hide default HTML checkbox */
1094        .switch input {
1095            opacity: 0;
1096            width: 0;
1097            height: 0;
1098        }
1099
1100        /* The slider */
1101        .slider {
1102            position: absolute;
1103            cursor: pointer;
1104            top: 0;
1105            left: 0;
1106            right: 0;
1107            bottom: 0;
1108            background-color: #ccc;
1109            -webkit-transition: .4s;
1110            transition: .4s;
1111            width: 48px !important;
1112            height: 28px !important;
1113            margin-top: 5px;
1114        }
1115
1116        .slider:before {
1117            position: absolute;
1118            content: "";
1119            height: 20px;
1120            width: 20px;
1121            left: 4px;
1122            bottom: 4px;
1123            background-color: white;
1124            -webkit-transition: .4s;
1125            transition: .4s;
1126        }
1127
1128        .linea-stockfish {
1129            max-height: 40px !important;
1130            line-height: 1.6;
1131            overflow: hidden;
1132            text-overflow: ellipsis;
1133        }
1134
1135        .resultadopar {
1136            font-size: 8rem;
1137        }
1138
1139        input:checked+.slider {
1140            background-color: #2196F3;
1141        }
1142
1143        input:focus+.slider {
1144            box-shadow: 0 0 1px #2196F3;
1145        }
1146
1147        input:checked+.slider:before {
1148            -webkit-transform: translateX(20px);
1149            -ms-transform: translateX(20px);
1150            transform: translateX(20px);
1151        }
1152
1153        /* Rounded sliders */
1154        .slider.round {
1155            border-radius: 34px;
1156        }
1157
1158        .slider.round:before {
1159            border-radius: 50%;
1160        }
1161
1162        .switch {
1163            margin-top: 7px;
1164            right: 0px;
1165        }
1166
1167        .contrelacionadas {
1168            font-size: 20px;
1169            background-color: #343a40;
1170            color: #fff;
1171        }
1172
1173        .relatedgames {
1174            border-bottom: solid 1px;
1175            cursor: pointer;
1176        }
1177
1178        .rowrelated::before {
1179            content: "";
1180            display: block;
1181            position: absolute;
1182            left: 0;
1183            width: 100%;
1184            height: 1.5em;
1185        }
1186
1187        .rowrelated,
1188        .rowrelated:hover {
1189            color: #fff !important;
1190        }
1191
1192        .rowrelated:visited {
1193            color: #ccc !important;
1194        }
1195
1196        .tablero-icono {
1197            color: #fff;
1198            font-size: 32px;
1199        }
1200
1201        #noti {
1202            margin-top: 0 !important;
1203            margin-bottom: 0 !important;
1204        }
1205
1206        .enlacecard {
1207            width: 100%;
1208            height: 100%;
1209            position: absolute;
1210            z-index: 2;
1211        }
1212
1213        .popup-save {
1214            background-color: #fff;
1215            bottom: 0;
1216            box-shadow: 2.5px 4.3px 76px rgb(32 32 32 / 50%);
1217            box-sizing: border-box;
1218            height: 430px;
1219            left: 0;
1220            margin: auto;
1221            max-width: calc(100% - 30px);
1222            padding: 36px;
1223            position: fixed;
1224            right: 0;
1225            top: 0;
1226            width: 500px;
1227            z-index: 400001;
1228            text-align: center;
1229        }
1230
1231        .popup-login {
1232            background-color: #fff;
1233            bottom: 0;
1234            box-shadow: 2.5px 4.3px 76px rgb(32 32 32 / 50%);
1235            box-sizing: border-box;
1236            height: 340px;
1237            left: 0;
1238            margin: auto;
1239            max-width: calc(100% - 30px);
1240            padding: 36px;
1241            position: fixed;
1242            right: 0;
1243            top: 0;
1244            width: 500px;
1245            z-index: 400001;
1246            text-align: center;
1247        }
1248
1249        .popup-delete {
1250            background-color: #fff;
1251            bottom: 0;
1252            box-shadow: 2.5px 4.3px 76px rgb(32 32 32 / 50%);
1253            box-sizing: border-box;
1254            height: 200px;
1255            left: 0;
1256            margin: auto;
1257            max-width: calc(100% - 30px);
1258            padding: 36px;
1259            position: fixed;
1260            right: 0;
1261            top: 0;
1262            width: 500px;
1263            z-index: 400001;
1264            text-align: center;
1265        }
1266
1267        .menu-top-item {
1268            text-align: right;
1269            padding-top: 10px;
1270            padding-bottom: 10px;
1271            color: #ccc;
1272            border-bottom: 2px solid #dee2e6;
1273            text-transform: uppercase;
1274        }
1275
1276        .menu-top-enlace {
1277            font-size: 1.3rem;
1278        }
1279
1280        .btn-login {
1281            cursor: pointer;
1282            background-color: #1779ca !important;
1283            border-color: #1779ca !important;
1284            display: inline-block;
1285            font-weight: 400;
1286            text-align: center;
1287            white-space: nowrap;
1288            vertical-align: middle;
1289            -webkit-user-select: none;
1290            -moz-user-select: none;
1291            -ms-user-select: none;
1292            user-select: none;
1293            border: 1px solid transparent;
1294            padding: .375rem .75rem;
1295            font-size: .9rem;
1296            line-height: 1.6;
1297            border-radius: .25rem;
1298            -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
1299            transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
1300            transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
1301            transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
1302        }
1303
1304        #headtitle {
1305            margin-bottom: -14px;
1306        }
1307
1308        #closing {
1309            margin-bottom: -14px !important;
1310        }
1311
1312        #jugadas {
1313            max-height: 320px;
1314            overflow: scroll;
1315            display: flex;
1316            flex-direction: column;
1317            justify-content: space-between;
1318        }
1319
1320        #vari>.variantapp {
1321            max-height: 18px;
1322            overflow: hidden;
1323            line-height: 16px !important;
1324        }
1325
1326        .stockfish {
1327            font-size: 13px;
1328            color: #fff;
1329        }
1330
1331        .tableropopup .merida>br {
1332            display: none;
1333        }
1334
1335        .merida>br {
1336            display: none;
1337        }
1338
1339        #board-buttons {
1340            margin-top: 15px;
1341        }
1342
1343        #richpgn {
1344            text-align: left;
1345        }
1346
1347        #vari {
1348            margin-bottom: 4px !important;
1349        }
1350
1351        #noticomment {
1352            margin-bottom: 4px !important;
1353        }
1354
1355        .nav-tabs .nav-link {
1356            border-bottom: 0 !important;
1357        }
1358
1359        @media (max-width:508px) {
1360            .popup-delete {
1361                display: flex;
1362                flex-direction: column;
1363                /* los apila en columna */
1364                align-items: center;
1365                /* centra horizontalmente */
1366                padding: 6px !important;
1367                height: 150px !important;
1368            }
1369        }
1370
1371        @media (max-width:422px) {
1372
1373            .popup-delete {
1374                display: flex;
1375                flex-direction: column;
1376                /* los apila en columna */
1377                align-items: center;
1378                /* centra horizontalmente */
1379                padding: 6px !important;
1380                height: 150px !important;
1381            }
1382
1383            #taking-photo-content {
1384                height: 96px !important;
1385            }
1386        }
1387
1388        @media (max-width:1522px) {
1389            .contrelacionadas {
1390                font-size: 18px;
1391            }
1392
1393            .tablero-icono {
1394                font-size: 28px;
1395            }
1396
1397            .nav-item>.nav-link {
1398                padding-left: 24px !important;
1399                padding-right: 24px !important;
1400            }
1401        }
1402
1403        @media (max-width:1466px) {
1404            .contrelacionadas {
1405                font-size: 17px;
1406            }
1407
1408            .tablero-icono {
1409                font-size: 26px;
1410            }
1411
1412            .nav-item i {
1413                padding-left: 30px !important;
1414                padding-right: 30px !important;
1415            }
1416
1417            .nav-item>.nav-link {
1418                padding-left: 0px !important;
1419                padding-right: 0px !important;
1420            }
1421
1422            #simbolos>.btn {
1423                padding-left: 13px !important;
1424                padding-right: 13px !important;
1425            }
1426        }
1427
1428        @media (max-width:1378px) {
1429            .nav-item i {
1430                padding-left: 28px !important;
1431                padding-right: 28px !important;
1432            }
1433
1434            #simbolos>.btn {
1435                padding-left: 10px !important;
1436                padding-right: 10px !important;
1437            }
1438        }
1439
1440        @media (max-width:1348px) {
1441            .contrelacionadas {
1442                font-size: 16px;
1443            }
1444
1445            .tablero-icono {
1446                font-size: 24px;
1447            }
1448
1449            .nav-item i {
1450                padding-left: 22px !important;
1451                padding-right: 22px !important;
1452            }
1453
1454            #simbolos>.btn {
1455                padding-left: 10px !important;
1456                padding-right: 10px !important;
1457            }
1458        }
1459
1460        @media (max-width:1257px) {
1461            .contrelacionadas {
1462                font-size: 15px;
1463            }
1464
1465            .tablero-icono {
1466                font-size: 22px;
1467
1468            }
1469
1470            .nav-item i {
1471                padding-left: 16px !important;
1472                padding-right: 16px !important;
1473            }
1474
1475            #simbolos>.btn {
1476                padding-left: 6px !important;
1477                padding-right: 6px !important;
1478            }
1479
1480            .gamemove {
1481                font-size: 1.1rem !important;
1482            }
1483
1484        }
1485
1486        @media (max-width:1141px) {
1487            .contrelacionadas {
1488                font-size: 14px;
1489            }
1490
1491            .nav-item i {
1492                padding-left: 16px !important;
1493                padding-right: 16px !important;
1494            }
1495
1496            .nav-item>span>.nav-link,
1497            .nav-item>.nav-link {
1498                padding-top: 14px !important;
1499                padding-bottom: 14px !important;
1500                font-size: 14px !important;
1501            }
1502
1503            #simbolos>.btn {
1504                padding-left: 4px !important;
1505                padding-right: 4px !important;
1506            }
1507
1508        }
1509
1510        @media (max-width:1104px) {
1511            .nav-item i {
1512                padding-left: 16px !important;
1513                padding-right: 16px !important;
1514            }
1515
1516            #simbolos>.btn {
1517                padding-left: 6px !important;
1518                padding-right: 6px !important;
1519            }
1520
1521            .nav-item>span>.nav-link,
1522            .nav-item>.nav-link {
1523                padding-left: 14px !important;
1524                padding-right: 14px !important;
1525                font-size: 16px !important;
1526            }
1527
1528            #simbolos>.btn {
1529                padding-left: 16px !important;
1530                padding-right: 16px !important;
1531            }
1532
1533        }
1534
1535        @media (max-width:1095px) {
1536            .nav-item i {
1537                padding-left: 11px !important;
1538                padding-right: 11px !important;
1539            }
1540
1541            .nav-item>span>.nav-link,
1542            .nav-item>.nav-link {
1543                padding-left: 16px !important;
1544                padding-right: 16px !important;
1545                font-size: 16px !important;
1546            }
1547
1548            #simbolos>.btn {
1549                padding-left: 14px !important;
1550                padding-right: 14px !important;
1551            }
1552
1553        }
1554
1555        @media (max-width:1095px) {
1556
1557            .nav-item>span>.nav-link,
1558            .nav-item>.nav-link {
1559                padding-left: 6px !important;
1560                padding-right: 6px !important;
1561                font-size: 16px !important;
1562            }
1563
1564        }
1565
1566        @media (max-width:1046px) {
1567            .contrelacionadas {
1568                font-size: 13px;
1569            }
1570
1571            .resultado-ed {
1572                font-size: 5rem;
1573            }
1574        }
1575
1576        @media (max-width:803px) {
1577            .contrelacionadas {
1578                font-size: 12px;
1579            }
1580
1581            #simbolos>.btn {
1582                padding-left: 12px !important;
1583                padding-right: 12px !important;
1584            }
1585
1586        }
1587
1588        @media (max-width:743px) {
1589
1590            .nav-item>span>.nav-link,
1591            .nav-item>.nav-link {
1592                padding-left: 5px !important;
1593                padding-right: 5px !important;
1594                font-size: 16px !important;
1595            }
1596
1597            #simbolos>.btn {
1598                padding-left: 10px !important;
1599                padding-right: 10px !important;
1600            }
1601
1602        }
1603
1604        @media (max-width:743px) {
1605
1606            .nav-item>span>.nav-link,
1607            .nav-item>.nav-link {
1608                padding-left: 2px !important;
1609                padding-right: 2px !important;
1610                font-size: 16px !important;
1611            }
1612
1613            #simbolos>.btn {
1614                padding-left: 8px !important;
1615                padding-right: 8px !important;
1616            }
1617
1618        }
1619
1620        @media (max-width:641px) {
1621
1622            .nav-item>span>.nav-link,
1623            .nav-item>.nav-link {
1624                padding-left: 1px !important;
1625                padding-right: 1px !important;
1626                font-size: 15px !important;
1627            }
1628
1629            #simbolos>.btn {
1630                padding-left: 5px !important;
1631                padding-right: 5px !important;
1632            }
1633
1634        }
1635
1636        @media (max-width:619px) {
1637
1638            .nav-item>span>.nav-link,
1639            .nav-item>.nav-link {
1640                padding-top: 6px !important;
1641                padding-bottom: 6px !important;
1642                padding-left: 18px !important;
1643                padding-right: 18px !important;
1644                font-size: 18px !important;
1645            }
1646
1647            #simbolos>.btn {
1648                padding-left: 5px !important;
1649                padding-right: 5px !important;
1650            }
1651
1652        }
1653
1654        @media (max-width:568px) {
1655            .resultado-ed {
1656                font-size: 3rem;
1657            }
1658        }
1659
1660        @media (max-width:568px) {
1661            .resultadopar {
1662                font-size: 4rem;
1663            }
1664
1665            #jugadas {
1666
1667                overflow: scroll;
1668            }
1669
1670            .nav-item:hover,
1671            .nav-link:hover {
1672                border-bottom: solid 1px white !important;
1673            }
1674
1675            #btnPrevious,
1676            #btnNext {
1677                margin-top: -10px !important;
1678                width: 49% !important;
1679                height: 42px !important;
1680            }
1681
1682            .fa-arrow-circle-left,
1683            .fa-arrow-circle-right {
1684                vertical-align: top !important;
1685                line-height: 1.3 !important;
1686                font-size: 32px;
1687            }
1688
1689            .notation {
1690                padding-left: 4px !important;
1691                padding-right: 4px !important;
1692                margin-top: 4px !important;
1693            }
1694
1695            /* The slider */
1696            .switch {
1697                margin-top: 4px !important;
1698                margin-bottom: 0px !important;
1699            }
1700
1701            .slider {
1702                position: absolute;
1703                cursor: pointer;
1704                top: 0;
1705                left: 0;
1706                right: 0;
1707                bottom: 0;
1708                background-color: #ccc;
1709                -webkit-transition: .4s;
1710                transition: .4s;
1711                width: 48px !important;
1712                height: 26px !important;
1713            }
1714
1715            .slider:before {
1716                position: absolute;
1717                content: "";
1718                height: 20px;
1719                width: 20px;
1720                left: 4px;
1721                bottom: 2px;
1722                background-color: white;
1723                -webkit-transition: .4s;
1724                transition: .4s;
1725            }
1726
1727            .flex-fill {
1728                border-bottom: solid 1px white !important;
1729            }
1730        }
1731
1732        @media (max-width:535px) {
1733            .banner-black {
1734                height: 80px;
1735                font-size: 24px;
1736            }
1737
1738            .nav-item>span>.nav-link,
1739            .nav-item>.nav-link {
1740                padding-left: 18px !important;
1741                padding-right: 18px !important;
1742            }
1743
1744            #simbolos>.btn {
1745                padding-left: 14px !important;
1746                padding-right: 14px !important;
1747            }
1748
1749        }
1750
1751        @media (max-width:511px) {
1752
1753            .nav-item>span>.nav-link,
1754            .nav-item>.nav-link {
1755                padding-left: 16px !important;
1756                padding-right: 16px !important;
1757            }
1758        }
1759
1760        @media (max-width:489px) {
1761
1762            .nav-item>span>.nav-link,
1763            .nav-item>.nav-link {
1764                padding-left: 14px !important;
1765                padding-right: 14px !important;
1766            }
1767        }
1768
1769        #richpgn span>label {
1770            color: #1779ca;
1771        }
1772
1773        /* FLOATING MENU */
1774        :root {
1775            /* Animation Timing Function */
1776            --primary-timing-func: cubic-bezier(0.86, 0, 0.07, 1);
1777            /* Button Variables */
1778            --button-radius: 50px;
1779            --button-inner-ring-radius: 40px;
1780            --button-outer-ring-radius: 100px;
1781            --button-gradient: 135deg, rgba(244, 87, 116, 1) 0%, rgba(229, 69, 139, 1) 100%;
1782            --main-background-color: #edc1c2;
1783            /* Menu Variables */
1784            --menu-radius: calc(var(--button-radius) - 2px);
1785            --menu-height: 500px;
1786            --menu-width: 300px;
1787            --menu-border-radius: 10px;
1788            --menu-bg-color: #141622;
1789            --menu-timing-function: var(--primary-timing-func);
1790            --menu-icon-size: 30px;
1791            /*   Close Icon */
1792            --close-icon-timing-function: var(--primary-timing-func);
1793        }
1794
1795        * {
1796            box-sizing: border-box;
1797        }
1798
1799        html,
1800        body {
1801            height: 100%;
1802            padding: 0;
1803            margin: 0;
1804            font-family: 'Roboto', sans-serif;
1805        }
1806
1807        svg {
1808            fill: #FFFFFF;
1809        }
1810
1811        .item-text:hover {
1812            font-weight: 700;
1813        }
1814
1815        .item-icon {
1816            margin-bottom: 4px;
1817        }
1818
1819        .sticky-menu-container {
1820            right: calc(var(--button-radius));
1821            top: inherit;
1822            display: flex;
1823            align-items: center;
1824            justify-content: center;
1825            margin-right: 18px;
1826            z-index: 9;
1827
1828        }
1829
1830        .sticky-menu-container .outer-button {
1831            position: absolute;
1832            height: var(--button-radius, 70px);
1833            width: var(--button-radius, 70px);
1834            border-radius: 50%;
1835            background: #212529;
1836            background: -moz-linear-gradient(var(#212529));
1837            background: -webkit-linear-gradient(var(#212529));
1838            background: linear-gradient(var(#212529));
1839            display: flex;
1840            align-items: center;
1841            justify-content: center;
1842            cursor: pointer;
1843        }
1844
1845        .sticky-menu-container .outer-button .icon-container {
1846            height: inherit;
1847            width: inherit;
1848            border-radius: inherit;
1849            display: inherit;
1850            align-items: inherit;
1851            justify-content: inherit;
1852            overflow: hidden;
1853            position: relative;
1854            cursor: inherit;
1855        }
1856
1857        .sticky-menu-container .outer-button .close-icon {
1858            transform: scale(0) rotate(-270deg);
1859            opacity: 0;
1860            height: 25px;
1861            width: 25px;
1862            position: absolute;
1863            fill: #FFFFFF;
1864        }
1865
1866        .sticky-menu-container .outer-button .arrow-icon {
1867            height: 25px;
1868            width: 25px;
1869            position: absolute;
1870            fill: #FFFFFF;
1871        }
1872
1873        .sticky-menu-container .outer-button .arrow-icon.hiding-spot {
1874            transform: translateX(calc(var(--button-radius) / -2)) translateY(calc(var(--button-radius) / 2));
1875            opacity: 0;
1876        }
1877
1878        .sticky-menu-container .outer-button .close-icon.show {
1879            animation-duration: 200ms;
1880            animation-name: close-in;
1881            animation-fill-mode: forwards;
1882            animation-timing-function: var(--close-icon-timing-function);
1883        }
1884
1885        .sticky-menu-container .outer-button .close-icon.hide {
1886            animation-duration: 200ms;
1887            animation-name: close-out;
1888            animation-timing-function: var(--close-icon-timing-function);
1889        }
1890
1891        .sticky-menu-container .outer-button .arrow-icon.show {
1892            opacity: 0;
1893            animation-duration: 200ms;
1894            animation-name: arrow-in;
1895            animation-fill-mode: forwards;
1896            animation-timing-function: var(--close-icon-timing-function);
1897            /*   animation-delay: 250ms; */
1898        }
1899
1900        .sticky-menu-container .outer-button .arrow-icon.hide {
1901            animation-duration: 200ms;
1902            animation-name: arrow-out;
1903            animation-fill-mode: forwards;
1904            animation-timing-function: var(--close-icon-timing-function);
1905        }
1906
1907        .sticky-menu-container .outer-button::after,
1908        sticky-menu-container.outer-button::before {
1909            position: absolute;
1910            display: inline-block;
1911            content: "";
1912            height: var(--button-inner-ring-radius);
1913            width: var(--button-inner-ring-radius);
1914            border-radius: 50%;
1915            background-color: transparent;
1916            border: 0px solid rgba(255, 255, 255, 0.5);
1917            opcacity: 0;
1918            cursor: pointer;
1919        }
1920
1921        .sticky-menu-container .outer-button.clicked::after {
1922            animation-duration: 100ms;
1923            animation-name: touch-click-inner;
1924            animation-iteration-count: 1;
1925            animation-fill-mode: forwards;
1926        }
1927
1928        .sticky-menu-container .outer-button::before {
1929            height: var(--button-outer-ring-radius);
1930            width: var(--button-outer-ring-radius);
1931        }
1932
1933        .sticky-menu-container .outer-button.clicked::before {
1934            animation-name: touch-click-outer;
1935            animation-duration: 100ms;
1936            animation-iteration-count: 1;
1937        }
1938
1939        .sticky-menu-container .inner-menu {
1940            position: absolute;
1941            height: var(--menu-height);
1942            width: var(--menu-width);
1943            border-radius: var(--menu-border-radius);
1944            background-color: white;
1945            /*   transform: translate(calc(-50% + var(--button-radius) / 2), calc(-55% - var(--button-radius) / 2)); */
1946            transform: translateX(-130px) translateY(+260px);
1947            transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
1948            /*   transition-delay: 500ms; */
1949            padding: 28px;
1950            overflow: hidden;
1951            border: solid 1px #212529;
1952        }
1953
1954        .sticky-menu-container .inner-menu>ul {
1955            height: 100%;
1956            list-style: none;
1957            display: flex;
1958            flex-wrap: wrap;
1959            align-content: space-between;
1960            margin: 0;
1961            padding: 0;
1962        }
1963
1964        .sticky-menu-container .inner-menu>.menu-list>.menu-item {
1965            color: #000;
1966            text-transform: uppercase;
1967            //letter-spacing: 3px;
1968            width: 100%;
1969            display: flex;
1970            align-items: center;
1971            font-size: 1rem;
1972        }
1973
1974        .sticky-menu-container .inner-menu>.menu-list>.menu-item {
1975            overflow: hidden;
1976        }
1977
1978        .sticky-menu-container .inner-menu>.menu-list>.menu-item>.item-icon {
1979            margin-right: 20px;
1980            display: flex;
1981            align-items: center;
1982            justify-content: center;
1983        }
1984
1985        .sticky-menu-container .inner-menu>.menu-list>.menu-item>.item-icon>svg {
1986            height: var(--menu-icon-size);
1987            width: var(--menu-icon-size);
1988        }
1989
1990        .sticky-menu-container .inner-menu.closed {
1991            height: var(--menu-radius);
1992            width: var(--menu-radius);
1993            border-radius: 50%;
1994            padding: 0;
1995            transform: unset;
1996        }
1997
1998        .sticky-menu-container .inner-menu>.menu-list>.menu-item>.item-text {
1999            opacity: 1;
2000        }
2001
2002        .sticky-menu-container .inner-menu>.menu-list>.menu-item>.item-text.text-in {}
2003
2004        .sticky-menu-container .inner-menu>.menu-list>.menu-item.text-hides {
2005            animation-duration: 100ms;
2006            animation-name: text-hides;
2007            animation-fill-mode: forwards;
2008            animation-timing-function: var(--close-icon-timing-function);
2009        }
2010
2011        @keyframes  touch-click-inner {
2012            50% {
2013                transform: scale(0.375);
2014                border-width: 30px;
2015                opacity: 1;
2016            }
2017
2018            100% {
2019                transform: scale(1);
2020                border-width: 1px;
2021                opacity: 0;
2022            }
2023        }
2024
2025        @keyframes  touch-click-outer {
2026            0% {
2027                border-width: 10px;
2028                opacity: 0;
2029            }
2030
2031            50% {
2032                opacity: 0.2;
2033            }
2034
2035            100% {
2036                transform: scale(1.1);
2037                opacity: 0;
2038            }
2039        }
2040
2041        @keyframes  close-in {
2042            0% {
2043                transform: transform: scale(0) rotate(270deg);
2044                opacity: 0;
2045            }
2046
2047            100% {
2048                transform: scale(1.1) rotate(0deg);
2049                opacity: 1;
2050            }
2051        }
2052
2053        @keyframes  close-out {
2054            0% {
2055                transform: scale(1.1) rotate(0deg);
2056                opacity: 1;
2057            }
2058
2059            100% {
2060                transform: scale(0) rotate(270deg);
2061                opacity: 0;
2062            }
2063        }
2064
2065        @keyframes  arrow-out {
2066            0% {
2067                transform: translateX(0) translateY(0);
2068            }
2069
2070            100% {
2071                transform: translateX(calc(var(--button-radius) / 1.5)) translateY(calc(var(--button-radius) / -1.5));
2072            }
2073        }
2074
2075        @keyframes  arrow-in {
2076            0% {
2077                transform: translateX(calc(-1 * var(--button-radius))) translateY(calc(var(--button-radius)));
2078                opacity: 0;
2079            }
2080
2081            100% {
2082                transform: translateX(0) translateY(0);
2083                opacity: 1;
2084            }
2085        }
2086
2087        @keyframes  text-in {
2088            0% {
2089                opcaity: 1;
2090                transform: translateY(50px);
2091            }
2092
2093            100% {
2094                opacity: 1;
2095                transform: translateY(0);
2096            }
2097        }
2098
2099        @keyframes  text-hides {
2100            0% {
2101                opacity: 1;
2102            }
2103
2104            100% {
2105                opacity: 0;
2106            }
2107        }
2108    </style>
2109            <style>
2110            .background_popup {
2111                opacity: 0.6;
2112                background-color: #636b6f;
2113                position: fixed;
2114                top: 0;
2115                left: 0;
2116                right: 0;
2117                bottom: 0;
2118                z-index: 400000;
2119            }
2120
2121            .close_popup {
2122                background-color: #fff;
2123                position: absolute;
2124                top: -15px;
2125                right: -15px;
2126                height: 34px;
2127                width: 34px;
2128                border-radius: 100%;
2129                cursor: pointer;
2130            }
2131
2132            .close_icon {
2133                position: absolute;
2134                top: 0;
2135                right: 0;
2136                font-size: 30px;
2137                color: #dc3545;
2138                padding-right: 2px;
2139                padding-top: 2px;
2140            }
2141
2142            #background_popupsave {}
2143
2144            #background_popuplogin {}
2145
2146            #newaccountfree {
2147                display: none;
2148            }
2149
2150            .ribbon {
2151                width: 150px;
2152                height: 150px;
2153                overflow: hidden;
2154                position: absolute;
2155            }
2156
2157            .ribbon::before,
2158            .ribbon::after {
2159                position: absolute;
2160                z-index: -1;
2161                content: '';
2162                display: block;
2163                border: 5px solid #1779ca;
2164            }
2165
2166            .ribbon span {
2167                position: absolute;
2168                display: block;
2169                width: 225px;
2170                padding: 15px 0;
2171                background-color: #1779ca;
2172                box-shadow: 0 5px 10px rgba(255, 159, 67, .1);
2173                color: #fff;
2174                font: 700 18px/1 'Lato', sans-serif;
2175                text-shadow: 0 1px 1px rgba(255, 159, 67, .2);
2176                text-transform: uppercase;
2177                text-align: center;
2178            }
2179
2180            .ribbon-top-right {
2181                top: -10px;
2182                right: -10px;
2183            }
2184
2185            .ribbon-top-right::before,
2186            .ribbon-top-right::after {
2187                border-top-color: transparent;
2188                border-right-color: transparent;
2189            }
2190
2191            .ribbon-top-right::before {
2192                top: 0;
2193                left: 0;
2194            }
2195
2196            .ribbon-top-right::after {
2197                bottom: 0;
2198                right: 0;
2199            }
2200
2201            .ribbon-top-right span {
2202                left: -25px;
2203                top: 30px;
2204                transform: rotate(45deg);
2205            }
2206
2207            .loginp {
2208                position: fixed !important;
2209            }
2210
2211            .ofertacard {
2212                border-radius: 0.5rem !important;
2213                background-color: #212529 !important;
2214                color: #fff;
2215                /* background-color: #fff; */
2216                bottom: 0;
2217                box-shadow: 2.5px 4.3px 76px rgb(32 32 32 / 50%);
2218                box-sizing: border-box;
2219                height: auto;
2220                left: 0;
2221                margin: auto;
2222                max-width: calc(100% - 30px);
2223                padding: 36px;
2224                position: fixed;
2225                right: 0;
2226                top: 0;
2227                width: 500px;
2228                z-index: 400001;
2229                /* text-align: center; */
2230                max-height: 570px;
2231            }
2232
2233            .nombreoferta {
2234                font-size: 1.5rem;
2235                font-weight: 700;
2236            }
2237
2238            .bulletsoferta {
2239                color: #fff;
2240                font-size: 14px;
2241            }
2242
2243            .preciooferta {
2244                font-size: 60px;
2245                font-weight: 700;
2246            }
2247
2248            .promocionoferta {
2249                font-size: 36px;
2250                font-weight: 700;
2251            }
2252
2253            .enlacecard,
2254            .enlacecard:hover {
2255                color: #fff !important;
2256                width: 100%;
2257                height: 100%;
2258                position: absolute;
2259                z-index: 2;
2260            }
2261
2262            .form-cobertura {
2263                padding-bottom: 8rem;
2264            }
2265
2266            .pac-container:after {
2267                background-image: none !important;
2268                height: 0px;
2269            }
2270
2271            .cg-board-wrap coords.ranks {
2272                display: none !important;
2273            }
2274
2275            .cg-board-wrap coords.files {
2276                display: none !important;
2277            }
2278
2279            #popup-login>div.tableropopup>div>div>div>coords.ranks {
2280                display: flex !important;
2281                right: 0 !important;
2282
2283            }
2284
2285            @media (max-width: 767px) {
2286
2287                .ribbon-top-right::before {
2288                    top: 0;
2289                    left: 23px;
2290                }
2291
2292                .ribbon-top-right::after {
2293                    bottom: 24px;
2294                    left: 140px;
2295                }
2296
2297                .ribbon-top-right span {
2298                    left: -11px;
2299                    top: 23px;
2300                }
2301
2302                .ribbon span {
2303                    //font: 700 16px/1 'Lato', sans-serif;
2304                }
2305            }
2306
2307            @media (max-width: 700px) {
2308                .ribbon-top-right::before {
2309                    top: 0;
2310                    left: 21px;
2311                }
2312
2313                .ribbon-top-right::after {
2314                    bottom: 25px;
2315                    left: 140px;
2316                }
2317
2318                .ribbon-top-right span {
2319                    left: -11px;
2320                    top: 23px;
2321                }
2322
2323                .ribbon-top-right {
2324                    top: -10px;
2325                    right: -10px;
2326                }
2327
2328                .ribbon span {
2329                    //font: 700 14px/1 'Lato', sans-serif;
2330                }
2331            }
2332
2333            @media (max-width: 551px) {
2334                .ribbon-top-right::before {
2335                    top: 0;
2336                    left: 21px;
2337                }
2338
2339                .ribbon-top-right::after {
2340                    bottom: 22px;
2341                    left: auto;
2342                }
2343
2344                .ribbon-top-right span {
2345                    left: -11px;
2346                    top: 23px;
2347                }
2348
2349                .ribbon-top-right {
2350                    top: -10px;
2351                    right: -10px;
2352                }
2353
2354                .ribbon span {}
2355
2356                .nombreoferta {
2357                    font-size: 1.5rem;
2358                }
2359            }
2360
2361            @media (max-width: 490px) {
2362                .ribbon-top-right::before {
2363                    top: 0;
2364                    left: 47px;
2365                }
2366
2367                .ribbon-top-right::after {
2368                    bottom: 40px;
2369                    left: auto;
2370                }
2371
2372                .ribbon-top-right span {
2373                    left: 0;
2374                    top: 23px;
2375                }
2376
2377                .ribbon-top-right {
2378                    top: -10px;
2379                    right: -10px;
2380                }
2381
2382                .ribbon span {
2383
2384                    padding: 12px 0;
2385                }
2386
2387                .nombreoferta {
2388                    font-size: 1.3rem;
2389                }
2390            }
2391        </style>
2392        
2392<script src="https://chessprime.com/js/bootstrap.min.js" async></script>
2392
2393    <link href="https://chessprime.com/css/fontawesome-all.css" rel="stylesheet" type="text/css">
2394
2395    <link rel="stylesheet" type="text/css" href="https://chessprime.com/css/bootstrap.min.css" />
2396
2397    
2398    </head>
2399
2400<body>
2401    <div class="js-cookie-consent cookie-consent">
2402
2403    <span class="cookie-consent__message">
2404        Your experience on this site will be improved by allowing cookies.
2405    </span>
2406
2407    <button class="js-cookie-consent-agree cookie-consent__agree">
2408        Allow cookies
2409    </button>
2410
2411</div>
2412
2413    
2413<script>
2414
2415        window.laravelCookieConsent = (function () {
2416
2417            const COOKIE_VALUE = 1;
2418            const COOKIE_DOMAIN = 'chessprime.com';
2419
2420            function consentWithCookies() {
2421                setCookie('laravel_cookie_consent', COOKIE_VALUE, 7300);
2422                hideCookieDialog();
2423            }
2424
2425            function cookieExists(name) {
2426                return (document.cookie.split('; ').indexOf(name + '=' + COOKIE_VALUE) !== -1);
2427            }
2428
2429            function hideCookieDialog() {
2430                const dialogs = document.getElementsByClassName('js-cookie-consent');
2431
2432                for (let i = 0; i < dialogs.length; ++i) {
2433                    dialogs[i].style.display = 'none';
2434                }
2435            }
2436
2437            function setCookie(name, value, expirationInDays) {
2438                const date = new Date();
2439                date.setTime(date.getTime() + (expirationInDays * 24 * 60 * 60 * 1000));
2440                document.cookie = name + '=' + value
2441                    + ';expires=' + date.toUTCString()
2442                    + ';domain=' + COOKIE_DOMAIN
2443                    + ';path=/'
2444                    + ';samesite=lax';
2445            }
2446
2447            if (cookieExists('laravel_cookie_consent')) {
2448                hideCookieDialog();
2449            }
2450
2451            const buttons = document.getElementsByClassName('js-cookie-consent-agree');
2452
2453            for (let i = 0; i < buttons.length; ++i) {
2454                buttons[i].addEventListener('click', consentWithCookies);
2455            }
2456
2457            return {
2458                consentWithCookies: consentWithCookies,
2459                hideCookieDialog: hideCookieDialog
2460            };
2461        })();
2462    </script>
2462
2463
2464    
2465        <!-- /1076369/app-analisis -->
2466    <div id='div-gpt-ad-1766106151078-0' style="
2467    position: absolute;
2468    width: 1px;
2469    height: 1px;
2470    overflow: hidden;
2471    left: -9999px;
2472    top: -9999px;
2473  ">
2474        
2474<script>
2475            googletag.cmd.push(function () { googletag.display('div-gpt-ad-1766106151078-0'); });
2476        </script>
2476
2477    </div>
2478            <div id="android-popup">
2479            <div style="display: inline-block;">
2480                <img src="/icon-analisis.png" alt="Analysis Board App">
2481            </div>
2482            <div class="content" style="display: inline-block;">
2483                <p style="text-align: center; margin: 2px 0 0 0; padding: 0 0 6px 0;">Analysis Board - APP</p>
2484                <div style="display: flex; flex-direction: column; gap: 10px;">
2485                    <a href="https://play.google.com/store/apps/details?id=com.chessprime.app" target="_blank" style="text-decoration: none;">
2486                        <button style="padding: 4px 20px; background-color: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; margin-left: 10px; margin-right: 10px; width: 100%;">Install APP</button>
2487                    </a>
2488                    <a href="chessprimeanalysis:///" style="text-decoration: none;">
2489                        <button style="padding: 4px 20px; background-color: #3490dc; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; margin-left: 10px; margin-right: 10px; width: 100%;">Open in APP</button>
2490                    </a>
2491                </div>
2492            </div>
2493        </div>
2494    
2495            <div id="ios-popup">
2496            <div style="display: inline-block;">
2497                <img src="/icon-analisis.png" alt="Analysis Board App">
2498            </div>
2499            <div class="content" style="display: inline-block;">
2500                <p style="text-align: center; margin: 2px 0 0 0; padding: 0 0 6px 0;">Analysis Board - APP</p>
2501                <div style="display: flex; flex-direction: column; gap: 10px;">
2502                    <a href="https://apps.apple.com/us/app/chess-analysis-board/id6759629683" target="_blank" style="text-decoration: none;">
2503                        <button style="padding: 4px 20px; background-color: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; margin-left: 10px; margin-right: 10px; width: 100%;">Install APP</button>
2504                    </a>
2505                    <a href="chessprimeanalysis:///" style="text-decoration: none;">
2506                        <button style="padding: 4px 20px; background-color: #3490dc; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; margin-left: 10px; margin-right: 10px; width: 100%;">Open in APP</button>
2507                    </a>
2508                </div>
2509            </div>
2510        </div>
2511        </div>
2512    
2513    
2513<script>
2514        function setCookie(name, value, days) {
2515            const expires = new Date();
2516            expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
2517            document.cookie = name + '=' + value + ';expires=' + expires.toUTCString() + ';path=/;SameSite=Lax';
2518        }
2519
2520        function getCookie(name) {
2521            return document.cookie
2522                .split('; ')
2523                .find(row => row.startsWith(name + '='))
2524                ?.split('=')[1];
2525        }
2526
2527        function isAndroid() {
2528            return /Android/i.test(navigator.userAgent);
2529        }
2530
2531        function isIOS() {
2532            return /iPhone|iPad|iPod/i.test(navigator.userAgent);
2533        }
2534
2535        function showPopup(popupId, autoClose = true, delay = 10000) {
2536            const popup = document.getElementById(popupId);
2537            if (!popup) return;
2538            popup.style.display = 'flex';
2539            setTimeout(() => popup.classList.add('show'), 50);
2540
2541            if (autoClose) {
2542                setTimeout(() => closePopup(popupId), delay);
2543            }
2544        }
2545
2546        function closePopup(popupId) {
2547            const popup = document.getElementById(popupId);
2548            if (!popup) return;
2549            popup.classList.remove('show');
2550            setTimeout(() => {
2551                popup.style.display = 'none';
2552            }, 500);
2553        }
2554
2555        function handleAppPopupClick() {
2556            setCookie('chessprime_app_popup_clicked', '1', 30); // 30 días
2557        }
2558
2559        // Mostrar popup según dispositivo, solo si no se ha clickado antes
2560        document.addEventListener('DOMContentLoaded', function () {
2561            if (getCookie('chessprime_app_popup_clicked')) return;
2562            if (isAndroid()) {
2563                //showPopup('android-popup', true, 10000);
2564            } else if (isIOS()) {
2565                //showPopup('ios-popup', true, 10000);
2566            }
2567        });
2568
2569    </script>
2569
2570    <nav class="navbar navbar-light static-top" id="navbar-top">
2571        <div class="container text-center">
2572            <a class="navbar-brand" href="https://chessprime.com/" title="ChessPrime"><img
2573                    src="/img/chessprime-solo-logo.svg" style="margin-right: 24px;" width="40" height="40"
2574                    alt="ChessPrime" /></a>
2575            <a class="navbar-brand" href="https://chessprime.com/" title="ChessPrime"><img
2576                    src="/img/chessprime-solo-letras.svg" style="margin-right: 40px;" width="110" height="40"
2577                    alt="ChessPrime" /></a>
2578            <div class="sticky-menu-container">
2579                <div class="inner-menu closed">
2580                    <ul class="menu-list">
2581                                                    <li class="button-menu-login"
2582                                style="text-align: center; margin: auto; margin-top: -12px; margin-bottom: 10px; overflow: hidden; max-height: 50px;">
2583                                <button id="loginNav" type="button" class="btn-block btn-lg btn-primary btn-login"
2584                                    style="margin: auto; width: 184px;">Login</button>
2585                            </li>
2586                                                <li class="menu-item button-menu-training">
2587                            <span class="item-icon">
2588                                <img id="image-button-menu-training" src="/img/button-chess-training.svg" width="30"
2589                                    height="30" alt="Training" style="">
2590                            </span>
2591                            <span class="item-text"><a style="color: #000!important; font-weight: bold;"
2592                                    rel="nofollow,noindex" href="/training/"
2593                                    title="Training">Training</a></span>
2594                        </li>
2595                        <li class="menu-item button-menu-analysis">
2596                            <span class="item-icon">
2597                                <img id="image-button-menu-analysis" src="/img/button-analysis.svg" width="30"
2598                                    height="30" alt="Analysis Board" style="">
2599                            </span>
2600                            <span class="item-text"><a style="color: #000!important;" rel="nofollow,noindex"
2601                                    href="/analysis-board/"
2602                                    title="Analysis Board">Analysis Board</a></span>
2603                        </li>
2604                        <hr
2605                            style="margin-top: 4px; border: 1px solid black; width: 100%; margin-bottom: 10px !important;">
2606                        <li class="menu-item button-menu-mydatabase">
2607                            <span class="item-icon">
2608                                <img id="image-button-menu-mydatabase" src="/img/button-mydatabase.svg" width="30"
2609                                    height="30" alt="My Database" style="">
2610                            </span>
2611                            <span class="item-text"><a style="color: #000!important;" rel="nofollow,noindex"
2612                                    href="/database/mydatabase/"
2613                                    title="My Database">My Database</a></span>
2614                        </li>
2615                        <li class="menu-item button-menu-myrepertoire">
2616                            <span class="item-icon">
2617                                <img id="image-button-menu-myrepertoire" src="/img/button-repertoire.svg" width="30"
2618                                    height="30" alt="My repertoire" style="">
2619                            </span>
2620                            <span class="item-text"><a style="color: #000!important;" rel="nofollow,noindex"
2621                                    href="/myrepertoire/"
2622                                    title="My repertoire">My repertoire</a></span>
2623                        </li>
2624                        <hr
2625                            style="margin-top: 4px; border: 1px solid black; width: 100%; margin-bottom: 10px !important;">
2626                        <li class="menu-item button-menu-tournaments">
2627                            <span class="item-icon">
2628                                <img id="image-button-menu-tournaments" src="/img/button-tournaments.svg" width="30"
2629                                    height="30" alt="Chess Tournaments" style="">
2630                            </span>
2631                            <span class="item-text"><a style="color: #000!important;"
2632                                    href="/tournaments/"
2633                                    title="Tournaments">Tournaments</a></span>
2634                        </li>
2635                        <li class="menu-item button-menu-players">
2636                            <span class="item-icon">
2637                                <img id="image-button-menu-players" src="/img/button-players.svg" width="30" height="30"
2638                                    alt="Chess Players" style="">
2639                            </span>
2640                            <span class="item-text"><a style="color: #000!important;"
2641                                    href="/players/"
2642                                    title="Players">Players</a></span>
2643                        </li>
2644                        <li class="menu-item button-menu-problems">
2645                            <span class="item-icon">
2646                                <img id="image-button-menu-problems" src="/img/button-puzzles.svg" width="30"
2647                                    height="30" alt="Chess Puzzles" style="">
2648                            </span>
2649                            <span class="item-text"><a style="color: #000!important;"
2650                                    href="/puzzles/"
2651                                    title="Puzzles">Puzzles</a></span>
2652                        </li>
2653                        <li class="menu-item button-menu-openings">
2654                            <span class="item-icon">
2655                                <img id="image-button-menu-openings" src="/img/button-openings.svg" width="30"
2656                                    height="30" alt="Chess Openings" style="">
2657                            </span>
2658                            <span class="item-text"><a style="color: #000!important;"
2659                                    href="/openings/"
2660                                    title="Openings">Openings</a></span>
2661                        </li>
2662                        <li class="menu-item button-menu-database">
2663                            <span class="item-icon">
2664                                <img id="image-button-menu-database" src="/img/button-database.svg" width="30"
2665                                    height="30" alt="Chess Databases" style="">
2666
2667                            </span>
2668                            <span class="item-text"><a style="color: #000!important;"
2669                                    href="/database/"
2670                                    title="Database">Database</a></span>
2671                        <li class="menu-item button-menu-play">
2672                            <span class="item-icon">
2673                                <img id="image-button-menu-play" src="/img/button-youtube.svg" width="30" height="30"
2674                                    alt="YouTube" style="">
2675                            </span>
2676                            <span class="item-text"><a style="color: #000!important;"
2677                                    href="https://www.youtube.com/channel/UC3UZJ7hYc4yfbFmUScD8CuA" target="_blank"
2678                                    title="YouTube">YouTube</a></span>
2679                        </li>
2680                        <hr
2681                            style="margin-top: 4px; border: 1px solid black; width: 100%; margin-bottom: 10px !important;">
2682                        <li style="margin: auto;">
2683                            <div style="margin:auto;">
2684                                                                                                <a class="nav-linko menu-top-enlace idiomaen" href="https://chessprime.com/"
2685                                                                    style="display: inline-block; text-transform: capitalize; color: rgba(0,0,0,.8)!important;"><img
2686                                                                        src="/img/flags/32x32/gb.png" alt="English" width="32"
2687                                                                        style="display: inline-block; margin: auto;"></a> <a
2688                                                                    class="nav-linko menu-top-enlace idiomaes" href="https://chessprime.com/es/"
2689                                                                    style="display: inline-block; text-transform: capitalize; color: rgba(0,0,0,.8)!important;"><img
2690                                                                        src="/img/flags/32x32/es.png" width="32" alt="Spanish"
2691                                                                        style="display: inline-block; margin: auto; margin-left: 20px;"></a>
2692                                                            </div>
2693                        </li>
2694                    </ul>
2695                </div>
2696                <div class="outer-button">
2697                    <div class="icon-container">
2698                        <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
2699                            xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 92 92"
2700                            enable-background="new 0 0 92 92" xml:space="preserve" class="close-icon">
2701                            <path id="XMLID_732_" d="M70.7,64.3c1.8,1.8,1.8,4.6,0,6.4c-0.9,0.9-2,1.3-3.2,1.3c-1.2,0-2.3-0.4-3.2-1.3L46,52.4L27.7,70.7
2702	c-0.9,0.9-2,1.3-3.2,1.3s-2.3-0.4-3.2-1.3c-1.8-1.8-1.8-4.6,0-6.4L39.6,46L21.3,27.7c-1.8-1.8-1.8-4.6,0-6.4c1.8-1.8,4.6-1.8,6.4,0
2703	L46,39.6l18.3-18.3c1.8-1.8,4.6-1.8,6.4,0c1.8,1.8,1.8,4.6,0,6.4L52.4,46L70.7,64.3z" />
2704                        </svg>
2705
2706                        <svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
2707                            <path d="M4 6H20M4 12H20M4 18H20" stroke="#ffffff" enable-background="new 0 0 92 92"
2708                                stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="arrow-icon" />
2709                        </svg>
2710
2711                    </div>
2712                </div>
2713            </div>
2714        </div>
2715    </nav>
2716    
2717                <div id="login_background_popuplogin" class="background_popup" style="display: none;"></div>
2718        <div id="login_popup-login" class="popup-login" style="height: 400px; display: none;">
2719            <div class="login-container">
2720                <a href="https://chessprime.com/login/google" class="login-btn" style="width: 230px;
2721                                            color: black!important;
2722                                            text-decoration: none!important;
2723                                            font-size: 14px;
2724                                            padding-left: 8px;
2725                                            line-height: 1.3;
2726                                            text-align: left;">
2727                    <img src="/google.svg" alt="Google" class="login-logo" style="margin-right: 12px;">
2728                    Log in with Google
2729                </a>
2730                <a href="https://chessprime.com/auth/lichess" class="login-btn">
2731                    <img src="/lichess.svg" alt="Lichess" class="login-logo">
2732                </a>
2733            </div>
2734            <div class="divider">
2735                <span class="line"></span>
2736                <span class="text">o</span>
2737                <span class="line"></span>
2738            </div>
2739
2740            <div class="row" style="margin-bottom: 1rem;">
2741                <input class="form-control col-12" style="margin-bottom: 1rem;" id="email" type="text" placeholder="Email">
2742                <input class="form-control col-12" id="pass" type="password" placeholder="Password">
2743            </div>
2744
2745            <span id="errorenlogin" class="invalid-feedback" style="display: none;" role="alert">
2746                <strong class="erlog">Error login</strong>
2747            </span>
2748            <button type="button" id="trylogin" class="btn btn-block btn-lg btn-primary"
2749                style="margin-top: 14px; background-color: #1779ca!important; border-color: #1779ca!important; padding: .5rem 1rem!important; font-size: 1.125rem; line-height: 1.5; border-radius: .3rem;">
2750                Login
2751            </button>
2752            <div class="row" style="margin-top: 1.5rem; text-align:center;">
2753                <div style="margin:auto;"><a href="/login/#register" title="Create your account FREE" style="">Create your
2754                        account FREE</a></div>
2755            </div>
2756            <div id="login_close_popup" class="close_popup"><i class="fa fa-times-circle close_icon" aria-hidden="true"></i>
2757            </div>
2758        </div>
2759    
2760    <header class="masthead text-white text-center">
2761    <div class="overlay"></div>
2762    <div class="container">
2763        <div class="row">
2764            <div class="col-xl-9 mx-auto">
2765                <h1>The Chess Player&#039;s Ultimate App</h1>
2766            </div>
2767        </div>
2768    </div>
2769</header>
2770<section>
2771    <div class="container" style="margin-top: 1rem; margin-bottom: 2rem;">
2772        <div class="container">
2773            <div class="row" style="margin-top: 1rem;">
2774                <div class="col-6 col-sm-6 col-lg-3 col-xl-3 text-center">
2775                    <a href="/training/" title="Training" rel="nofollow,noindex"><img class="botonhome botonhome-1" src="/img/button-chess-training.svg" alt="Training"></a>
2776                    <div><a href="/training/" title="Training" class="texthome" rel="nofollow,noindex">Training</a></div>
2777                </div>
2778                <div class="col-6 col-sm-6 col-lg-3 col-xl-3 text-center">
2779                    <a href="/analysis-board/" title="Analysis Board" rel="nofollow,noindex"><img class="botonhome botonhome-2" src="/img/button-analysis.svg" alt="Analysis Board"></a>
2780                    <div><a href="/analysis-board/" title="Analysis Board" class="texthome" rel="nofollow,noindex">Analysis Board</a></div>
2781                </div>
2782                <div class="col-6 col-sm-6 col-lg-3 col-xl-3 text-center">
2783                    <a href="/database/mydatabase/" title="My Database" rel="nofollow,noindex"><img class="botonhome botonhome-3" src="/img/button-mydatabase.svg" alt="My Database"></a>
2784                    <div><a href="/database/mydatabase/" title="My Database" class="texthome" rel="nofollow,noindex">My Database</a></div>
2785                </div>
2786                <div class="col-6 col-sm-6 col-lg-3 col-xl-3 text-center">
2787                    <a href="/myrepertoire/" title="My repertoire" rel="nofollow,noindex"><img class="botonhome botonhome-4" src="/img/button-repertoire.svg" alt="My repertoire"></a>
2788                    <div><a href="/myrepertoire/" title="My repertoire" class="texthome" rel="nofollow,noindex">My repertoire</a></div>
2789                </div>
2790            </div>
2791    </div>
2792</section>
2793<header class="masthead text-white text-center">
2794    <div class="overlay"></div>
2795    <div class="container">
2796        <div class="row">
2797            <div class="col-xl-9 mx-auto">
2798                <h2 style="margin-bottom: 0px !important; margin-top: 4px; line-height: 0.2 !important;">Chess Resources</h2>
2799            </div>
2800        </div>
2801    </div>
2802</header>
2803<section>
2804    <div class="container" style="margin-top: 1rem; margin-bottom: 2rem;">
2805        <div class="container">
2806            <div class="row" style="margin-top: 1rem;">
2807                <div class="col-6 col-sm-6 col-lg-2 col-xl-2 text-center">
2808                    <a href="/tournaments/" title="Tournaments">
2808<img class="botonhome botonhome-5" src="/img/button-tournaments.svg" alt="Tournaments"></a>
2809                    <div><a href="/tournaments/" title="Tournaments" class="texthome">Tournaments</a></div>
2810                </div>
2811                <div class="col-6 col-sm-6 col-lg-2 col-xl-2 text-center">
2812                    <a href="/players/" title="Players"><img class="botonhome botonhome-6" src="/img/button-players.svg" alt="Players"></a>
2813                    <div><a href="/players/" title="Players" class="texthome">Players</a></div>
2814                </div>
2815                <div class="col-6 col-sm-6 col-lg-2 col-xl-2 text-center">
2816                    <a href="/puzzles/" title="Puzzles"><img class="botonhome botonhome-7" src="/img/button-puzzles.svg" alt="Puzzles"></a>
2817                    <div><a href="Puzzles" title="Puzzles" class="texthome">Puzzles</a></div>
2818                </div>
2819                <div class="col-6 col-sm-6 col-lg-2 col-xl-2 text-center">
2820                    <a href="/openings/" title="Openings"><img class="botonhome botonhome-8" src="/img/button-openings.svg" alt="Openings"></a>
2821                    <div><a href="/openings/" title="Openings" class="texthome">Openings</a></div>
2822                </div>
2823                <div class="col-6 col-sm-6 col-lg-2 col-xl-2 text-center">
2824                    <a href="/database/" title="Databases"><img class="botonhome botonhome-9" src="/img/button-database.svg" alt="Databases"></a>
2825                    <div><a href="/database/" title="Databases" class="texthome">Databases</a></div>
2826                </div>
2827                <div class="col-6 col-sm-6 col-lg-2 col-xl-2 text-center">
2828                    <a href="https://www.youtube.com/channel/UC3UZJ7hYc4yfbFmUScD8CuA" target="_blank" title="YouTube"><img class="botonhome botonhome-10" src="/img/button-youtube.svg" alt="YouTube"></a>
2829                    <div><a href="https://www.youtube.com/channel/UC3UZJ7hYc4yfbFmUScD8CuA" target="_blank" title="YouTube" class="texthome">YouTube</a></div>
2830                </div>
2831            </div>
2832        </div>
2833</section>
2834
2835                
2835<script>
2836            $(document).ready(function () {
2837                $('#email').val('');
2838                $('#pass').val('');
2839                $('#popupemail').val('');
2840                $('#popuppass').val('');
2841                // Función que envía el formulario si ambos campos tienen valor
2842                function trySubmit() {
2843                    if (($('#email').val() && $('#pass').val()) || ($('#popupemail').val() && $('#popuppass').val())) {
2844                        trylogin();
2845                    }
2846                }
2847                // Escucha la animación de autocompletado
2848                $(document).on('animationstart webkitAnimationStart', '#email, #pass, #popupemail, #popuppass', function (e) {
2849                    // e.originalEvent para acceder al evento nativo
2850                    const animName = (e.originalEvent && e.originalEvent.animationName) || e.animationName;
2851                    if (animName === 'autofill') {
2852                        console.log('autocompletado (delegado)');
2853                        trySubmit();
2854                    }
2855                });
2856            });
2857        </script>
2857
2858        
2858<script>
2859        $(document).ready(function () {
2860            $('#email').val('');
2861            $('#pass').val('');
2862            $('#popupemail').val('');
2863            $('#popuppass').val('');
2864            /* TRY LOGIN */
2865            $('#trylogin').on('click', function () {
2866                trylogin();
2867            });
2868            $(".botonhome-1").mouseenter(function () {
2869                $(".botonhome-1").addClass("changing").delay(1000).queue(function () {
2870                    $(".botonhome-1").removeClass("changing").dequeue();
2871                });
2872
2873            });
2874            $(".botonhome-2").mouseenter(function () {
2875                $(".botonhome-2").addClass("changing").delay(1000).queue(function () {
2876                    $(".botonhome-2").removeClass("changing").dequeue();
2877                });
2878
2879            });
2880            $(".botonhome-3").mouseenter(function () {
2881                $(".botonhome-3").addClass("changing").delay(1000).queue(function () {
2882                    $(".botonhome-3").removeClass("changing").dequeue();
2883                });
2884
2885            });
2886            $(".botonhome-4").mouseenter(function () {
2887                $(".botonhome-4").addClass("changing").delay(1000).queue(function () {
2888                    $(".botonhome-4").removeClass("changing").dequeue();
2889                });
2890
2891            });
2892            $(".botonhome-5").mouseenter(function () {
2893                $(".botonhome-5").addClass("changing").delay(1000).queue(function () {
2894                    $(".botonhome-5").removeClass("changing").dequeue();
2895                });
2896
2897            });
2898            $(".botonhome-6").mouseenter(function () {
2899                $(".botonhome-6").addClass("changing").delay(1000).queue(function () {
2900                    $(".botonhome-6").removeClass("changing").dequeue();
2901                });
2902
2903            });
2904            $(".botonhome-7").mouseenter(function () {
2905                $(".botonhome-7").addClass("changing").delay(1000).queue(function () {
2906                    $(".botonhome-7").removeClass("changing").dequeue();
2907                });
2908
2909            });
2910            $(".botonhome-8").mouseenter(function () {
2911                $(".botonhome-8").addClass("changing").delay(1000).queue(function () {
2912                    $(".botonhome-8").removeClass("changing").dequeue();
2913                });
2914
2915            });
2916            $(".botonhome-9").mouseenter(function () {
2917                $(".botonhome-9").addClass("changing").delay(1000).queue(function () {
2918                    $(".botonhome-9").removeClass("changing").dequeue();
2919                });
2920
2921            });
2922            $(".botonhome-10").mouseenter(function () {
2923                $(".botonhome-10").addClass("changing").delay(1000).queue(function () {
2924                    $(".botonhome-10").removeClass("changing").dequeue();
2925                });
2926
2927            });
2928            $(".botonhome-11").mouseenter(function () {
2929                $(".botonhome-11").addClass("changing").delay(1000).queue(function () {
2930                    $(".botonhome-11").removeClass("changing").dequeue();
2931                });
2932
2933            });
2934            $(".button-menu-training").mouseenter(function () {
2935                $("#image-button-menu-training").addClass("changing").delay(1000).queue(function () {
2936                    $("#image-button-menu-training").removeClass("changing").dequeue();
2937                });
2938
2939            });
2940            $(".button-menu-analysis").mouseenter(function () {
2941                $("#image-button-menu-analysis").addClass("changing").delay(1000).queue(function () {
2942                    $("#image-button-menu-analysis").removeClass("changing").dequeue();
2943                });
2944
2945            });
2946            $(".button-menu-myrepertoire").mouseenter(function () {
2947                $("#image-button-menu-myrepertoire").addClass("changing").delay(1000).queue(function () {
2948                    $("#image-button-menu-myrepertoire").removeClass("changing").dequeue();
2949                });
2950
2951            });
2952            $(".button-menu-mydatabase").mouseenter(function () {
2953                $("#image-button-menu-mydatabase").addClass("changing").delay(1000).queue(function () {
2954                    $("#image-button-menu-mydatabase").removeClass("changing").dequeue();
2955                });
2956
2957            });
2958            $(".button-menu-tournaments").mouseenter(function () {
2959                $("#image-button-menu-tournaments").addClass("changing").delay(1000).queue(function () {
2960                    $("#image-button-menu-tournaments").removeClass("changing").dequeue();
2961                });
2962
2963            });
2964            $(".button-menu-players").mouseenter(function () {
2965                $("#image-button-menu-players").addClass("changing").delay(1000).queue(function () {
2966                    $("#image-button-menu-players").removeClass("changing").dequeue();
2967                });
2968
2969            });
2970            $(".button-menu-database").mouseenter(function () {
2971                $("#image-button-menu-database").addClass("changing").delay(1000).queue(function () {
2972                    $("#image-button-menu-database").removeClass("changing").dequeue();
2973                });
2974
2975            });
2976            $(".button-menu-openings").mouseenter(function () {
2977                $("#image-button-menu-openings").addClass("changing").delay(1000).queue(function () {
2978                    $("#image-button-menu-openings").removeClass("changing").dequeue();
2979                });
2980
2981            });
2982            $(".button-menu-problems").mouseenter(function () {
2983                $("#image-button-menu-problems").addClass("changing").delay(1000).queue(function () {
2984                    $("#image-button-menu-problems").removeClass("changing").dequeue();
2985                });
2986
2987            });
2988            $(".button-menu-play").mouseenter(function () {
2989                $("#image-button-menu-play").addClass("changing").delay(1000).queue(function () {
2990                    $("#image-button-menu-play").removeClass("changing").dequeue();
2991                });
2992
2993            });
2994
2995            $("#loginNav").click(function () {
2996                $('#email').val('');
2997                $('#pass').val('');
2998                $('#popupemail').val('');
2999                $('#popuppass').val('');
3000                showLogin();
3001            });
3002            $("#login_background_popuplogin").click(function () {
3003                hideLogin();
3004            });
3005            $("#login_close_popup").click(function () {
3006                hideLogin();
3007            });
3008
3009            var isAnimating = false;
3010            var isOpen = false;
3011            var button = document.querySelector(".sticky-menu-container .outer-button");
3012            var menu = document.querySelector(".sticky-menu-container .inner-menu");
3013            var closeIcon = document.querySelector(".sticky-menu-container .outer-button .close-icon");
3014            var arrowIcon = document.querySelector(".sticky-menu-container .outer-button .arrow-icon");
3015            var menuItems = document.querySelectorAll(".sticky-menu-container .inner-menu > .menu-list > .menu-item");
3016
3017            var itemTexts = document.querySelectorAll(".sticky-menu-container .inner-menu > .menu-list > .menu-item > .item-text");
3018
3019            $("section").click(function () {
3020                if (isAnimating) return;
3021                if (!isOpen) return;
3022                this.classList.add("clicked");
3023                menu.classList.toggle("closed");
3024
3025                if (isOpen) {
3026                    closeIcon.classList.remove("show");
3027                    closeIcon.classList.add("hide");
3028                    arrowIcon.classList.remove("hide");
3029                    arrowIcon.classList.add("show");
3030                    menuItems.forEach(function (item) {
3031                        console.log(item);
3032                        item.classList.add("text-hides");
3033                    });
3034                    itemTexts.forEach(function (text, index) {
3035                        setTimeout(function () {
3036                            text.classList.remove("text-in");
3037                        });
3038                    });
3039                    isOpen = false;
3040                }
3041            });
3042
3043            $("header").click(function () {
3044                if (isAnimating) return;
3045                if (!isOpen) return;
3046                this.classList.add("clicked");
3047                menu.classList.toggle("closed");
3048
3049                if (isOpen) {
3050                    closeIcon.classList.remove("show");
3051                    closeIcon.classList.add("hide");
3052                    arrowIcon.classList.remove("hide");
3053                    arrowIcon.classList.add("show");
3054                    menuItems.forEach(function (item) {
3055                        console.log(item);
3056                        item.classList.add("text-hides");
3057                    });
3058                    itemTexts.forEach(function (text, index) {
3059                        setTimeout(function () {
3060                            text.classList.remove("text-in");
3061                        });
3062                    });
3063                    isOpen = false;
3064                }
3065            });
3066
3067            button.addEventListener("click", function () {
3068                if (isAnimating) return;
3069                this.classList.add("clicked");
3070                menu.classList.toggle("closed");
3071
3072                if (isOpen) {
3073                    closeIcon.classList.remove("show");
3074                    closeIcon.classList.add("hide");
3075                    arrowIcon.classList.remove("hide");
3076                    arrowIcon.classList.add("show");
3077                    menuItems.forEach(function (item) {
3078                        console.log(item);
3079                        item.classList.add("text-hides");
3080                    });
3081                    itemTexts.forEach(function (text, index) {
3082                        setTimeout(function () {
3083                            text.classList.remove("text-in");
3084                        });
3085                    });
3086                    isOpen = false;
3087                }
3088                else {
3089                    closeIcon.classList.remove("hide");
3090                    closeIcon.classList.add("show");
3091                    arrowIcon.classList.remove("show");
3092                    arrowIcon.classList.add("hide");
3093                    menuItems.forEach(function (item) {
3094                        item.classList.remove("text-hides");
3095                    });
3096                    itemTexts.forEach(function (text, index) {
3097                        setTimeout(function () {
3098                            text.classList.add("text-in");
3099                        }, index * 150);
3100                    });
3101                    isOpen = true;
3102                }
3103
3104            });
3105
3106            button.addEventListener("animationstart", function (event) {
3107                isAnimating = true;
3108            });
3109
3110            button.addEventListener("animationend", function (event) {
3111                isAnimating = false;
3112                this.classList.remove("clicked");
3113            });
3114
3115        });
3116    </script>
3116
3117    
3118        <footer id="footer" class="footer masthead">
3119        <div class="overlay"></div>
3120        <div class="container">
3121            <div class="row">
3122                <div class="col-12 col-sm-6 h-100 text-center text-lg-left my-auto" style="color: white;">
3123
3124                    <ul class="list-inline mb-2" style="padding-top: 0.5rem;">
3125                        <li class="list-inline-item">
3126                            <a href="/privacy-policy/"
3127                                style="color: white!important;">Privacy policy</a>
3128                        </li>
3129                        <li class="list-inline-item">⋅</li>
3130                        <li class="list-inline-item">
3131                            <a href="/tournaments/countries/"
3132                                style="color: white!important;">Archive</a>
3133                        </li>
3134                        <li class="list-inline-item">⋅</li>
3135                        <li class="list-inline-item">
3136                            <a href="/faq/" style="color: white!important;">FAQ</a>
3137                        </li>
3138                        <li class="list-inline-item">⋅</li>
3139                        <li class="list-inline-item">
3140                            <a id="contacto" href="#" style="color: white!important;">Contact</a>
3141                        </li>
3142                    </ul>
3143                    <p class="small mb-4 mb-lg-0" style="margin-bottom:0px!important;">© ChessPrime 2026.
3144
3145                        All Rights Reserved.
3146                    </p>
3147                </div>
3148            </div>
3149        </div>
3150    </footer>
3151    <noscript id="deferred-styles">
3152    </noscript>
3153    
3153<script >
3154    function refreshReCaptchaV3(fieldId,action){
3155        return new Promise(function (resolve, reject) {
3156            grecaptcha.ready(function () {
3157                grecaptcha.execute(window['client'+fieldId], {
3158                    action: action
3159                }).then(resolve);
3160            });
3161        });
3162    }
3163
3164    function getReCaptchaV3Response(fieldId){
3165        return grecaptcha.getResponse(window['client'+fieldId])
3166    }
3167</script>
3167
3168
3169
3170    
3170<script>var loadDeferredStyles = function () { var e = document.getElementById("deferred-styles"), n = document.createElement("div"); n.innerHTML = e.textContent, document.body.appendChild(n), e.parentElement.removeChild(e) }, raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; raf ? raf(function () { window.setTimeout(loadDeferredStyles, 0) }) : window.addEventListener("load", loadDeferredStyles);</script>
3170
3171    
3171<script>
3172        $(document).ready(function () {
3173            $("#study").click(function () {
3174                $("#navbar-top").slideUp(50);
3175                $("#headtitle").slideUp(50);
3176                $("#breadcumbi").slideUp(50);
3177                $("#study").slideUp(50);
3178                $("#loadeditor").slideUp(50);
3179                $("#loadposition").slideUp(50);
3180                $("#training").slideUp(50);
3181                $(".training").slideUp(50);
3182                $("#close-study").show(50);
3183                $("#footer").slideUp(50);
3184            }),
3185                $("#close-study").click(function () {
3186                    $("#close-study").hide(50);
3187                    $("#navbar-top").slideDown(50);
3188                    $("#headtitle").slideDown(50);
3189                    //$("#breadcumbi").slideDown(50);
3190                    $("#study").slideDown(50);
3191                    $("#loadeditor").slideDown(50);
3192                    $("#loadposition").slideDown(50);
3193                    $("#training").slideDown(50);
3194                    $(".training").slideDown(50);
3195                    $("#footer").slideDown(50);
3196
3197                });
3198
3199            var emailing = 'gmail.com';
3200            var mailhere = 'chessprime' + '.web' + '@' + emailing;
3201            var defmail = 'mailto:' + mailhere + '';
3202            $('#contacto').attr('href', defmail);
3203        });
3204    </script>
3204
3205</body>
3206
3207</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.