PageSourceSearch

https://stackoptimise-stage.webflow.io/login

html stackoptimise-stage.webflow.io collected 2026-10-03 13:47:45 UTC 55,844 bytes, 1,934 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Thu Oct 01 2026 07:22:54 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="stackoptimise-stage.webflow.io" data-wf-page="67c1c88568f2e51a9197a785" data-wf-site="67a3b299626c1a7afb14beb6" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Login</title><meta content="Log in to access the GTM Engineer course. Unlock 7+ hours of outbound training, 30+ lessons, sales tech tutorials, and downloadable playbooks." name="description"/><meta content="Login" property="og:title"/><meta content="Log in to access the GTM Engineer course. Unlock 7+ hours of outbound training, 30+ lessons, sales tech tutorials, and downloadable playbooks." property="og:description"/><meta content="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67d968f28892a5cadfc418fd_Open%20Graph%20Image.png" property="og:image"/><meta content="Login" name="twitter:title"/><meta content="Log in to access the GTM Engineer course. Unlock 7+ hours of outbound training, 30+ lessons, sales tech tutorials, and downloadable playbooks." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67d968f28892a5cadfc418fd_Open%20Graph%20Image.png" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/css/stackoptimise-stage.webflow.shared.ee9d34b4c.min.css" rel="stylesheet" type="text/css" integrity="sha384-7p00tMMvzki6A2wIC5Rq6LsSdnZTzGkVXw7FDJLgl4nEjIoA43ggltAaC7XHsmFI" crossorigin="anonymous"/>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67b31b76cd1899124200429a_favico.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67b31b9e216874fa03b0e5e5_favico2.png" rel="apple-touch-icon"/><link href="https://www.stackoptimise.com/login" rel="canonical"/><meta name="google-site-verification" content="S28f9qSoG1VgbcfJuSBSVl5Asb-uY415nVrSbYkhqbg" />
2<!-- Google Tag Manager -->
3<script>
vendor: 393 bytes, lines 3-10
3(function (w, d, s, l, i) {
4		w[l] = w[l] || []; w[l].push({
5			'gtm.start':
6				new Date().getTime(), event: 'gtm.js'
7		}); var f = d.getElementsByTagName(s)[0],
8			j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
9				'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
10	})(window, document, 'script', 'dataLayer', '
10GTM-5549VDLV
vendor: 3 bytes, line 10
10');
10</script>
10
11<!-- End Google Tag Manager -->
12
13<!-- Memberstack webflow package -->
14<script data-memberstack-app="app_cm82i2ui0001z0trn2u62a1g5"
15	src="https://static.memberstack.com/scripts/v1/memberstack.js" type="text/javascript"></script>
15
16
17<style>
18	.header_nav::-webkit-scrollbar {
19		display: none;
20		/* Chrome, Safari */
21	}
22
23	/* ---------- GLOBAL ---------- */
24	* {
25		user-select: none;
26	}
27
28	body._lock {
29		overflow: hidden;
30	}
31
32	/* ---------- SCROLLBAR ---------- */
33	::-webkit-scrollbar {
34		height: 10px;
35		width: 5px;
36		background: transparent;
37	}
38
39	::-webkit-scrollbar-thumb {
40		background: #fff;
41		border-radius: 1ex;
42	}
43
44	::-webkit-scrollbar-corner {
45		background: #fff;
46	}
47
48	/* ---------- FAQ ---------- */
49	.item-faq_panel {
50		max-height: 0;
51		overflow: hidden;
52	}
53
54	.item-faq_panel.active {
55		padding-top: 21px;
56	}
57
58	.item-faq.active {
59		background-color: #fff;
60	}
61
62	.item-faq.active .item-faq_overley {
63		opacity: 0;
64	}
65
66	.item-faq.active .item-faq_title {
67		color: #333242;
68	}
69
70	.item-faq.active .item-faq_icon-close {
71		display: block;
72	}
73
74	.item-faq.active .item-faq_icon-open {
75		display: none;
76	}
77
78	/* ---------- TESTIMONIALS ---------- */
79	.item-testimonials {
80		display: none;
81	}
82
83	@media (min-width: 767px) {
84		.item-testimonials:nth-child(-n+13) {
85			display: block;
86		}
87	}
88
89	@media (max-width: 767px) {
90		.item-testimonials:nth-child(-n+4) {
91			display: block;
92		}
93
94		.item-testimonials {
95			position: static !important;
96			order: 2;
97		}
98
99		[data-order="true"] {
100			order: 1;
101			display: block;
102		}
103
104		.testimonials_list-inner {
105			height: auto !important;
106		}
107	}
108
109	.testimonials_wrapper.visible .item-testimonials,
110	.testimonials_wrapper.visible .item-users-email {
111		display: block;
112	}
113
114	.testimonials_wrapper.visible .users-email_load-text.users-email_load-text-1 {
115		display: none;
116	}
117
118	.testimonials_wrapper.visible .users-email_load-text.users-email_load-text-2 {
119		display: block;
120	}
121
122	/* ---------- MENU ICON ---------- */
123	.menu_icon {
124		position: relative;
125		z-index: 5;
126		width: 20px;
127		height: 12px;
128		cursor: pointer;
129		display: none;
130	}
131
132	@media (max-width: 991px) {
133		.menu_icon {
134			display: block;
135		}
136	}
137
138	.menu_icon div,
139	.menu_icon::before,
140	.menu_icon::after {
141		position: absolute;
142		left: 0;
143		width: 100%;
144		height: 2px;
145		background-color: #fff;
146		border-radius: 100px;
147		transition: all 0.3s ease;
148	}
149
150	.menu_icon::before,
151	.menu_icon::after {
152		content: "";
153	}
154
155	.menu_icon::before {
156		top: 0;
157	}
158
159	.menu_icon::after {
160		bottom: 0;
161	}
162
163	.menu_icon div {
164		top: 50%;
165		transform: translateY(-50%);
166	}
167
168	.menu_icon._active div {
169		transform: scale(0) translateY(-50%);
170	}
171
172	.menu_icon._active::before {
173		top: 50%;
174		transform: rotate(-45deg) translateY(-50%);
175	}
176
177	.menu_icon._active::after {
178		bottom: 50%;
179		transform: rotate(45deg) translateY(50%);
180	}
181
182	/* ---------- HEADER NAV ---------- */
183	@media (max-width: 991px) {
184		.header_nav {
185			overflow: auto;
186		}
187
188		.header_nav._active {
189			transform: translate(-50%, 68px);
190		}
191
192		.header_menu-item.header_menu-item-drop-down.active .header_menu-arrow {
193			transform: rotate(180deg);
194		}
195	}
196
197	@media (min-width: 991px) {
198		.header_menu-item-drop-down:hover .sub-menu {
199			opacity: 1;
200			visibility: visible;
201			pointer-events: auto;
202		}
203	}
204
205	/* ---------- SWIPER ---------- */
206	#team_swiper .swiper-wrapper {
207		transition-timing-function: linear;
208	}
209
210	.linkedin_pag .swiper-pagination-bullet,
211	.swiperfooter-pag .swiper-pagination-bullet {
212		background-color: #fff;
213		opacity: 0.6;
214		transition: all 0.4s;
215	}
216
217	.linkedin_pag .swiper-pagination-bullet-active,
218	.swiperfooter-pag .swiper-pagination-bullet-active {
219		opacity: 1;
220	}
221
222	.swiperfooter-pag .swiper-pagination-bullet {
223		width: 5px;
224		height: 5px;
225	}
226
227	.swiperfooter-pag .swiper-pagination-bullet-active {
228		width: 8px;
229		height: 8px;
230	}
231
232	/* ---------- NEWSLETTER MODAL ---------- */
233	.newsletter-modal.visible .newsletter-modal_content {
234		transform: rotateY(0);
235	}
236
237	/* ---------- PLYR VIDEO ---------- */
238	html {
239		--plyr-color-main: #fff;
240		--plyr-tab-focus-color: transparent;
241		--plyr-video-control-color-hover: #000;
242		--plyr-control-icon-size: 1.5em;
243		--plyr-range-thumb-height: 0;
244		--plyr-range-track-height: 0.6em;
245	}
246
247	.plyr {
248		width: 100%;
249		height: 100%;
250	}
251
252	.plyr video {
253		object-fit: cover;
254	}
255
256	.contain-video video {
257		object-fit: contain;
258	}
259
260	.plyr__control--overlaid {
261		color: #000;
262	}
263
264	.plyr__volume {
265		width: auto;
266		min-width: auto;
267		max-width: auto;
268	}
269
270	.hide-cover .plyr_cover {
271		opacity: 0;
272		pointer-events: none;
273	}
274
275	.hide-cover .plyr_cover-img {
276		transform: scale(1.4);
277	}
278  
279  .sub-menu::before {
280		content: "";
281		position: absolute;
282		top: -20px;
283		left: 0;
284		width: 100%;
285		height: 30px;
286	}
287</style>
288
289<link rel="stylesheet" href="https://cdn.plyr.io/3.7.2/plyr.css" />
290<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" /><style>
291	.complete-checkout + div {
292  	display: none;
293  }
294</style>
294<script src="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6%2F652d31f3dc22d7b4ee708e44%2F67e39c4768abbca6ac9822a4%2Fclarity_script-0.2.5.js" type="text/javascript"></script>
294</head><body class="body"><div class="global-styles w-embed"><style>
295	body {
296		-webkit-font-smoothing: antialiased;
297		-moz-osx-font-smoothing: grayscale;
298		font-smoothing: antialiased;
299		text-rendering: optimizeLegibility;
300	}
301
302	*[tabindex]:focus-visible,
303	input[type="file"]:focus-visible {
304		outline: 0.125rem solid #4d65ff;
305		outline-offset: 0.125rem;
306	}
307
308	.inherit-color * {
309		color: inherit;
310	}
311
312	.w-richtext> :not(div):first-child,
313	.w-richtext>div:first-child> :first-child {
314		margin-top: 0 !important;
315	}
316
317	.w-richtext>:last-child,
318	.w-richtext ol li:last-child,
319	.w-richtext ul li:last-child {
320		margin-bottom: 0 !important;
321	}
322
323	.container-medium,
324	.container-small,
325	.container-large {
326		margin-right: auto !important;
327		margin-left: auto !important;
328	}
329
330	.text-style-3lines {
331		display: -webkit-box;
332		overflow: hidden;
333		-webkit-line-clamp: 3;
334		-webkit-box-orient: vertical;
335	}
336
337	/* Apply "..." after 2 lines of text */
338	.text-style-2lines {
339		display: -webkit-box;
340		overflow: hidden;
341		-webkit-line-clamp: 2;
342		-webkit-box-orient: vertical;
343	}
344
345	/* These classes are never overwritten */
346	.hide {
347		display: none !important;
348	}
349
350	@media screen and (max-width: 991px) {
351
352		.hide,
353		.hide-tablet {
354			display: none !important;
355		}
356	}
357
358	@media screen and (max-width: 767px) {
359		.hide-mobile-landscape {
360			display: none !important;
361		}
362	}
363
364	@media screen and (max-width: 479px) {
365		.hide-mobile {
366			display: none !important;
367		}
368	}
369
370	.margin-0 {
371		margin: 0rem !important;
372	}
373
374	.padding-0 {
375		padding: 0rem !important;
376	}
377
378	.spacing-clean {
379		padding: 0rem !important;
380		margin: 0rem !important;
381	}
382
383	.margin-top {
384		margin-right: 0rem !important;
385		margin-bottom: 0rem !important;
386		margin-left: 0rem !important;
387	}
388
389	.padding-top {
390		padding-right: 0rem !important;
391		padding-bottom: 0rem !important;
392		padding-left: 0rem !important;
393	}
394
395	.margin-right {
396		margin-top: 0rem !important;
397		margin-bottom: 0rem !important;
398		margin-left: 0rem !important;
399	}
400
401	.padding-right {
402		padding-top: 0rem !important;
403		padding-bottom: 0rem !important;
404		padding-left: 0rem !important;
405	}
406
407	.margin-bottom {
408		margin-top: 0rem !important;
409		margin-right: 0rem !important;
410		margin-left: 0rem !important;
411	}
412
413	.padding-bottom {
414		padding-top: 0rem !important;
415		padding-right: 0rem !important;
416		padding-left: 0rem !important;
417	}
418
419	.margin-left {
420		margin-top: 0rem !important;
421		margin-right: 0rem !important;
422		margin-bottom: 0rem !important;
423	}
424
425	.padding-left {
426		padding-top: 0rem !important;
427		padding-right: 0rem !important;
428		padding-bottom: 0rem !important;
429	}
430
431	.margin-horizontal {
432		margin-top: 0rem !important;
433		margin-bottom: 0rem !important;
434	}
435
436	.padding-horizontal {
437		padding-top: 0rem !important;
438		padding-bottom: 0rem !important;
439	}
440
441	.margin-vertical {
442		margin-right: 0rem !important;
443		margin-left: 0rem !important;
444	}
445
446	.padding-vertical {
447		padding-right: 0rem !important;
448		padding-left: 0rem !important;
449	}
450
451	.body {
452		background-color: #201e29;
453		background-image: linear-gradient(-180deg, #0e0d1600 34%, #0e0d16 100%), linear-gradient(-180deg, #0e0d1600 34%, #0e0d16 100%), linear-gradient(-180deg, #0e0d1600 34%, #0e0d16 100%);
454	}
455
456	.page-wrapper {
457		background-image: linear-gradient(235deg, #160144, #6035ba 165%);
458	}
459
460	.hero_title,
461	.title-h2,
462	.positive-replies_subtitle_gradient,
463	.item-reasons-2_title,
464	.calculator__title,
465	.login_title {
466		background: linear-gradient(90deg, #FFFFFF 0%, #A58FFF 165%);
467		-webkit-background-clip: text;
468		-webkit-text-fill-color: transparent;
469		padding-bottom: 5px;
470	}
471
472	.condition-hero_title,
473	.gradient-title-h1,
474	.article_title {
475		background: linear-gradient(90deg, #333242 0%, #3C1BBF 100%);
476		-webkit-background-clip: text;
477		-webkit-text-fill-color: transparent;
478		padding-bottom: 5px;
479	}
480
481	.hero_embed {
482		background-image: linear-gradient(-180deg, #ffffff29 0, #ffffff00 100%), linear-gradient(-180deg, #ffffff29 0, #ffffff00 100%);
483	}
484
485	.table-cases_row:nth-child(odd) {
486		background-color: #ffffff08;
487	}
488
489	.table-cases_row:first-child {
490		background-color: transparent;
491	}
492
493	.item-faq_icon-close {
494		display: none;
495	}
496
497	.header_logo-img_light {
498		display: none;
499	}
500
501	@keyframes bouncy {
502
503		0%,
504		100% {
505			transform: translateY(0);
506		}
507
508		20% {
509			transform: translateY(-10px);
510		}
511
512		40% {
513			transform: translateY(0);
514		}
515
516		60% {
517			transform: translateY(-5px);
518		}
519
520		80% {
521			transform: translateY(0);
522		}
523	}
524
525	.title-image_img {
526		animation: bouncy 3.5s ease-in-out infinite;
527	}
528
529	.item-diy_overley-1 {
530		background-image: linear-gradient(-180deg, #ffffff29 0, #ffffff14 100%), linear-gradient(-180deg, #ffffff29 0, #ffffff14 100%), linear-gradient(-180deg, #ffffff29 0, #ffffff14 100%);
531	}
532
533	.item-controls-calculator__handle {
534		background: conic-gradient(#F0F5F2 9%,
535				#CBCBCB 21%,
536				#CBCBCB 31%,
537				#CBCBCB 42%,
538				#F0F5F2 54%,
539				#CBCBCB 66%,
540				#CBCBCB 76%,
541				#F0F5F2 98%);
542	}
543
544	.banner_content .hero_form-wrapper,
545	.exit-popup_inner .hero_form-wrapper {
546		margin-left: 0;
547		margin-right: 0;
548	}
549
550	.custom-modal.visible .modal_content {
551		transform: translateY(0px);
552	}
553
554	.item-plan_item:nth-child(even) {
555		background-color: #fff;
556		box-shadow: unset;
557		border: 1px solid rgba(60, 27, 191, 0.12);
558	}
559
560	.item-plan_domain-item:nth-child(odd) {
561		border-right: 1px solid #E0E7EC;
562	}
563
564	.item-plan_domain-item:nth-last-of-type(-n+2) {
565		border-bottom: 1px solid transparent;
566	}
567
568	.action-plan-hero_logos,
569	.item-positive-replies,
570	.steps_left,
571	.item-faq,
572	.item-replies,
573	.item-replies_cta,
574	.item-plans,
575	.item-diy,
576	.letter_wrapper,
577	.plan_author,
578	.item-different,
579	.time-banner_wrapper,
580	.item-reasons-1,
581	.course-desk_list,
582	.item-testimonials-course {
583		box-shadow:
584			inset 0px 0.43px 0.43px rgba(255, 255, 255, 0.16),
585			inset 0px 0.86px 2.57px rgba(255, 255, 255, 0.12),
586			inset 0px 1.71px 6.86px rgba(255, 255, 255, 0.05),
587			0px 0.43px 0.43px rgba(7, 1, 19, 0.04),
588			0px 0.86px 0.86px rgba(7, 1, 19, 0.04),
589			0px 1.71px 1.71px rgba(7, 1, 19, 0.04);
590	}
591
592
593	.item-positive-replies {
594		position: relative;
595	}
596
597	.item-positive-replies::before {
598		content: "";
599		position: absolute;
600		top: 0;
601		left: 0;
602		right: 0;
603		bottom: 0;
604		background: linear-gradient(180deg, #FFFFFF, #A58FFF);
605		border-radius: inherit;
606		padding: 0.5px;
607		-webkit-mask:
608			linear-gradient(white, white) content-box,
609			linear-gradient(white, white);
610		-webkit-mask-composite: destination-out;
611		mask-composite: exclude;
612		opacity: 0.2;
613	}
614
615	.gradient-border {
616		position: relative;
617	}
618
619	.gradient-border::before {
620		content: "";
621		position: absolute;
622		top: 0;
623		left: 0;
624		right: 0;
625		bottom: 0;
626		background: linear-gradient(180deg, #FFFFFF, #A58FFF);
627		border-radius: inherit;
628		padding: 0.5px;
629		-webkit-mask:
630			linear-gradient(white, white) content-box,
631			linear-gradient(white, white);
632		-webkit-mask-composite: destination-out;
633		mask-composite: exclude;
634		opacity: 0.2;
635	}
636
637	.install_wrapper {
638		position: relative;
639	}
640
641	.install_wrapper::before {
642		content: "";
643		position: absolute;
644		top: 0;
645		left: 0;
646		right: 0;
647		bottom: 0;
648		background: linear-gradient(180deg, #FFFFFF, #A58FFF);
649		border-radius: inherit;
650		padding: 0.5px;
651		-webkit-mask:
652			linear-gradient(white, white) content-box,
653			linear-gradient(white, white);
654		-webkit-mask-composite: destination-out;
655		mask-composite: exclude;
656		opacity: 0.2;
657	}
658
659	.page-tools .banner {
660		background-color: #F8F5FB;
661	}
662
663	.tools-filter_radio::before {
664		display: none;
665	}
666
667	.tools-filter_radio::after {
668		display: none;
669	}
670
671	.tools-filter_acc-head.active svg path {
672		fill: #fff;
673	}
674
675	.tools-filter_radio-label {
676		position: relative;
677	}
678
679	.tools-filter_radio-label::before {
680		content: "";
681		position: absolute;
682		top: 50%;
683		left: 4px;
684		transform: translateY(-50%);
685		width: 13px;
686		height: 13px;
687		border-radius: 100px;
688		border: 1px solid #525252;
689		flex-shrink: 0;
690	}
691
692
693	.tools-filter_radio-label::after {
694		content: "";
695		position: absolute;
696		top: 50%;
697		left: 8px;
698		transform: translateY(-50%);
699		width: 7px;
700		height: 7px;
701		border-radius: 100px;
702		background-color: rgba(24, 28, 54, 0.7);
703		transition: all .4s;
704		opacity: 0;
705	}
706
707	.tools-filter_radio:has(input:checked) .tools-filter_radio-label::after {
708		opacity: 1;
709	}
710
711	.tools-filter_acc-close {
712		display: none;
713	}
714
715	.tools-filter_acc-head.active .tools-filter_acc-close {
716		display: block;
717	}
718
719	.tools-filter_acc-head.active .tools-filter_acc-open {
720		display: none;
721	}
722
723	.cta {
724		position: relative;
725		overflow: hidden;
726	}
727
728	.cta_icon {
729		position: relative;
730		transition: transform 0.3s ease-in-out;
731	}
732
733	.cta_icon svg {
734		transition: transform 0.3s ease-in-out;
735	}
736
737	.cta:hover .cta_icon svg {
738		transform: translateY(-60px);
739	}
740
741	.cta_icon::after {
742		content: "";
743		position: absolute;
744		left: 0;
745		top: 100%;
746		width: 100%;
747		height: 100%;
748		background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAyOCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjUgMTQuNDI3N0MzLjUgMTUuMTUyNiA0LjA4NzYzIDE1Ljc0MDIgNC44MTI1IDE1Ljc0MDJMMjAuMDE4OCAxNS43NDAyTDE3Ljg4NDQgMTcuODc0N0M
748xNy4zNzE5IDE4LjM4NzIgMTcuMzcxOSAxOS4yMTgyIDE3Ljg4NDQgMTkuNzMwOEMxOC4zOTY5IDIwLjI0MzQgMTkuMjI4IDIwLjI0MzQgMTkuNzQwNiAxOS43MzA4TDI0LjExNTYgMTUuMzU1OEMyNC42MjgxIDE0Ljg0MzIgMjQuNjI4MSAxNC4wMTIyIDI0LjExNTYgMTMuNDk5N0wxOS43NDA2IDkuMTI0NjZDMTkuMjI4IDguNjEyMDkgMTguMzk2OSA4LjYxMjA5IDE3Ljg4NDQgOS4xMjQ2NkMxNy4zNzE5IDkuNjM3MjIgMTcuMzcxOSAxMC40NjgyIDE3Ljg4NDQgMTAuOTgwOEwyMC4wMTg4IDEzLjExNTJMNC44MTI1IDEzLjExNTJDNCAxMy4xMTUyIDMuNSAxMy43MDI5IDMuNSAxNC40Mjc3WiIgZmlsbD0id2hpdGUiPjwvcGF0aD4KPC9zdmc+') no-repeat center;
749		background-size: contain;
750		transition: top 0.3s ease-in-out, opacity 0.3s ease-in-out;
751		opacity: 0;
752	}
753
754	.cta:hover .cta_icon::after {
755		top: 0;
756		opacity: 1;
757	}
758
759	@media(max-width: 767px) {
760		.tools_left.visible .tools-filter {
761			transform: translateY(0);
762		}
763
764		.tools-filter::-webkit-scrollbar-thumb {
765			background: #160144;
766		}
767	}
768
769	.login_submit {
770		background-image: linear-gradient(#8f78ff, #523dbc);
771	}
772
773	@keyframes glow {
774		0% {
775			box-shadow: 0 0 0px 3px rgba(52, 199, 89, 0.0);
776		}
777
778		50% {
779			box-shadow: 0 0 0px 6px rgba(52, 199, 89, 0.3);
780		}
781
782		100% {
783			box-shadow: 0 0 0px 3px rgba(52, 199, 89, 0.0);
784		}
785	}
786
787	.demo-hero_clients-head-icon {
788		animation: glow 1.5s infinite ease-in-out;
789	}
790
791	.item-case-studies_link {
792		position: relative;
793		overflow: hidden;
794	}
795
796	.item-case-studies_link-icon {
797		position: relative;
798		transition: transform 0.3s ease-in-out;
799	}
800
801	.item-case-studies_link-icon svg {
802		transition: transform 0.3s ease-in-out;
803	}
804
805	.item-case-studies_link:hover .item-case-studies_link-icon svg {
806		transform: translateY(-60px);
807	}
808
809	.item-case-studies_link-icon::after {
810		content: "";
811		position: absolute;
812		left: 0;
813		top: 100%;
814		width: 100%;
815		height: 100%;
816		background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjgxMjUgMTMuMDEzN0MzLjgxMjUgMTMuNjQ3OSA0LjMyNjY3IDE0LjE2MjEgNC45NjA5NCAxNC4xNjIxTDE4LjI2NjUgMTQuMTYyMUwxNi4zOTg5IDE2LjAyOTdDMTUuOTUwNCAxNi40NzgyIDE1Ljk1MDQgMTcuMjA1NCAxNi4zOTg5IDE3LjY1MzlDMTYuODQ3NCAxOC4xMDI0IDE3LjU3NDUgMTguMTAyNCAxOC4wMjMgMTcuNjUzOUwyMS44NTExIDEzLjgyNTdDMjIuMjk5NiAxMy4zNzcyIDIyLjI5OTYgMTIuNjUwMSAyMS44NTExIDEyLjIwMTZMMTguMDIzIDguMzczNDhDMTcuNTc0NSA3LjkyNDk5IDE2Ljg0NzQgNy45MjQ5OSAxNi4zOTg5IDguMzczNDhDMTUuOTUwNCA4LjgyMTk3IDE1Ljk1MDQgOS41NDkxMiAxNi4zOTg5IDkuOTk3NjFMMTguMjY2NSAxMS44NjUyTDQuOTYwOTQgMTEuODY1MkM0LjMyNjY3IDExLjg2NTIgMy44MTI1IDEyLjM3OTQgMy44MTI1IDEzLjAxMzdaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=') no-repeat center;
817		background-size: contain;
818		transition: top 0.3s ease-in-out, opacity 0.3s ease-in-out;
819		opacity: 0;
820	}
821
822	.item-case-studies_link:hover .item-case-studies_link-icon::after {
823		top: 0;
824		opacity: 1;
825	}
826
827	.item-replies_cta {
828		position: relative;
829		overflow: hidden;
830	}
831
832	.item-replies_cta-icon {
833		position: relative;
834		transition: transform 0.3s ease-in-out;
835	}
836
837	.item-replies_cta-icon svg {
838		transition: transform 0.3s ease-in-out;
839	}
840
841	.item-replies_cta:hover .item-replies_cta-icon svg {
842		transform: translateY(-60px);
843	}
844
845	.item-replies_cta-icon::after {
846		content: "";
847		position: absolute;
848		left: 0;
849		top: 100%;
850		width: 100%;
851		height: 100%;
852		background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjMyNjEgMC4zNTA1ODZIMTAuMTczMUM5LjgwMDA1IDAuMzUwNTg2IDkuNDk3NCAwLjY1MzIzNSA5LjQ5NzQgMS4wMjYyNEM5LjQ5NzQgMS4zOTkyNSA5LjgwMDA1IDEuNzAxOSAxMC4xNzMxIDEuNzAxOUgxMS42OTVMNi45NTU3NiA2LjQ0MTE3QzYuNjkxODMgNi43MDUxMSA2LjY5MTgzIDcuMTMyNjYgNi45NTU3NiA3LjM5NjZDNy4wODc3MyA3LjUyODU2IDcuMjYwMTcgNy41OTQ1NCA3LjQzMzQ3IDcuNTk0NTRDNy42MDY3OCA3LjU5NDU0IDcuNzc5MjMgNy41Mjg1NiA3LjkxMTE5IDcuMzk2NkwxMi42NTA1IDIuNjU3MzJWNC4xNzkzQzEyLjY1MDUgNC41NTIzMSAxMi45NTMxIDQuODU0OTYgMTMuMzI2MSA0Ljg1NDk2QzEzLjY5OTEgNC44NTQ5NiAxNC4wMDE4IDQuNTUyMzEgMTQuMDAxOCA0LjE3OTNWMS4wMjYyNEMxNC4wMDE4IDAuNjUzMjM1IDEzLjY5OTEgMC4zNTA1ODYgMTMuMzI2MSAwLjM1MDU4NloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMi4zODcgMTQuMzQ5OEMxMi43NiAxNC4zNDk4IDEzLjA2MjcgMTQuMDQ3MSAxMy4wNjI3IDEzLjY3NDFWNy44MTg0NUMxMy4wNjI3IDcuNDQ1NDQgMTIuNzYgNy4xNDI3OSAxMi4zODcgNy4xNDI3OUMxMi4wMTQgNy4xNDI3OSAxMS43MTE0IDcuNDQ1NDQgMTEuNzExNCA3LjgxODQ1VjEyLjk5ODVIMS4zNTEzMVYyLjYzODQySDYuOTgxNzhDNy4zNTQ3OSAyLjYzODQyIDcuNjU3NDMgMi4zMzU3NyA3LjY1NzQzIDEuOTYyNzdDNy42NTc0MyAxLjU4OTc2IDcuMzU0NzkgMS4yODcxMSA2Ljk4MTc4IDEuMjg3MTFIMC42NzU2NTZDMC4zMDI2NDkgMS4yODcxMSAwIDEuNTg5NzYgMCAxLjk2Mjc3VjEzLjY3NDFDMCAxNC4wNDcxIDAuMzAyNjQ5IDE0LjM0OTggMC42NzU2NTYgMTQuMzQ5OEgxMi4zODdaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=') no-repeat center;
853		background-size: contain;
854		transition: top 0.3s ease-in-out, opacity 0.3s ease-in-out;
855		opacity: 0;
856	}
857
858	.item-replies_cta:hover .item-replies_cta-icon::after {
859		top: 0;
860		opacity: 1;
861	}
862
863	.demo-hero_head-updated-icon {
864		animation: glow 1.5s infinite ease-in-out;
865	}
866
867	.article_share-icon-check {
868		display: none;
869	}
870
871	.article_share.copied .article_share-icon-check {
872		display: block;
873	}
874
875	.article_share.copied .article_share-icon-uncheck {
876		display: none;
877	}
878
879	.item-different.item-different-2 {
880		box-shadow:
881			inset 0px 0.5px 0.5px rgba(255, 255, 255, 0.16),
882			inset 0px 1px 3px rgba(255, 255, 255, 0.12),
883			inset 0px 2px 8px rgba(255, 255, 255, 0.05);
884	}
885
886	.cta {
887		position: relative;
888		overflow: hidden;
889		transition: 0.3s ease;
890	}
891
892	.cta::before {
893		content: "";
894		position: absolute;
895		top: -212%;
896		left: -20%;
897		width: 30%;
898		height: 500%;
899		background: rgba(255, 255, 255, 0.4);
900		filter: blur(4px);
901		transform: skewX(-25deg);
902		transition: transform 1s linear;
903		opacity: 0;
904	}
905
906	.cta.animate::before {
907		transform: translateX(400%) rotate(30deg);
908		opacity: 1;
909	}
910
911	@keyframes running-light {
912		0% {
913			transform: translateX(-150%) rotate(30deg);
914		}
915
916		100% {
917			transform: translateX(300%) rotate(30deg);
918		}
919	}
920
921	.download-cta {
922		position: relative;
923		overflow: hidden;
924		transition: 0.3s ease;
925	}
926
927	.download-cta::before {
928		content: "";
929		position: absolute;
930		top: -212%;
931		left: -20%;
932		width: 30%;
933		height: 500%;
934		background: rgba(255, 255, 255, 0.4);
935		filter: blur(4px);
936		transform: skewX(-25deg);
937		transition: transform 1s linear;
938		opacity: 0;
939	}
940
941
942	.download-cta.animate::before {
943		transform: translateX(400%) rotate(30deg);
944		opacity: 1;
945	}
946
947	.users-email_load-text-icon-close {
948		display: none;
949	}
950
951	.users-email_wrapper.visible .users-email_load-text-icon-close,
952	.testimonials_wrapper.visible .users-email_load-text-icon-close {
953		display: block;
954	}
955
956	.users-email_wrapper.visible .users-email_load-text-icon-open,
957	.testimonials_wrapper.visible .users-email_load-text-icon-open {
958		display: none;
959	}
960
961	.ebook_checkbox-field::after {
962		content: "";
963		width: 17px;
964		height: 17px;
965		border: 2px solid rgba(82, 82, 82, 0.3);
966		border-radius: 50%;
967		flex-shrink: 0;
968		transition: all .4s;
969	}
970
971	.ebook_checkbox-field::before {
972		content: "";
973		width: 7px;
974		height: 7px;
975		background-color: rgba(82, 82, 82, 0.5);
976		border-radius: 50%;
977		position: absolute;
978		top: 50%;
979		right: 7px;
980		transform: translateY(-50%);
981		transition: all .4s;
982		opacity: 0;
983	}
984
985	.ebook_checkbox-field:has(input:checked)::before {
986		opacity: 1;
987	}
988
989	.ebook_checkbox-field:has(input:checked)::after {
990		border: 2px solid rgba(82, 82, 82, 0.5);
991	}
992
993	.ebook-inside_content li::before {
994		content: "";
995		width: 27px;
996		height: 27px;
997		background-image: url("https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/6849ac58905ea00873dea3d8_Frame%202147206717.png");
998		background-size: contain;
999		background-position: center;
1000		background-repeat: no-repeat;
1001		position: absolute;
1002		top: 0;
1003		left: 0;
1004	}
1005
1006	.header.header_bg .header_overlay {
1007		opacity: 1;
1008	}
1009
1010	/* .item-sub-menu:hover .item-sub-menu_title {
1011		opacity: 0.6;
1012	}
1013
1014	.item-sub-menu:hover .item-sub-menu_text {
1015		opacity: 0.6;
1016	} */
1017
1018	.footer_overlay {
1019		background-image:
1020			radial-gradient(circle at left, #8566ff0a 0%, #8566ff00 100%),
1021			radial-gradient(circle at right, #8566ff0a 0%, #8566ff00 100%);
1022	}
1023
1024	.sub-menu::before {
1025		content: "";
1026		position: absolute;
1027		top: -20px;
1028		left: 0;
1029		width: 100%;
1030		height: 30px;
1031	}
1032
1033	.cta-yellow:hover {
1034		box-shadow: 0 0 15px rgba(255, 203, 60, 0.6),
1035			0 0 25px rgba(218, 130, 7, 0.4),
1036			0 0 35px rgba(221, 147, 24, 0.3);
1037		color: #16043c;
1038		text-decoration: none;
1039
1040	}
1041
1042	.steps-3_cta::before {
1043		content: "";
1044		position: absolute;
1045		inset: 0;
1046		padding: 1.6px;
1047		border-radius: 999px;
1048		background: linear-gradient(to bottom, #8558F2 0%, #8558F2 83%, #B699FE 100%);
1049		-webkit-mask:
1050			linear-gradient(#fff 0 0) content-box,
1051			linear-gradient(#fff 0 0);
1052		-webkit-mask-composite: xor;
1053		mask-composite: exclude;
1054		z-index: -1;
1055	}
1056
1057	.steps-3_cta:hover {
1058		box-shadow:
1059			0 0 15px rgba(99, 46, 228, 0.6),
1060			0 0 25px rgba(99, 46, 228, 0.4),
1061			0 0 35px rgba(99, 46, 228, 0.3);
1062		transform: scale(1.05);
1063	}
1064
1065	@keyframes glow1 {
1066		0% {
1067			box-shadow: 0 0 0px 6px rgba(255, 255, 255, 0.0);
1068		}
1069
1070		50% {
1071			box-shadow: 0 0 0px 6px rgba(255, 255, 255, 0.3);
1072		}
1073
1074		100% {
1075			box-shadow: 0 0 0px 6px rgba(255, 255, 255, 0.0);
1076		}
1077	}
1078
1079	.follow_strapline-icon-wrap {
1080		animation: glow1 1.5s infinite ease-in-out;
1081	}
1082
1083	.loading-meter {
1084		height: 30px;
1085		position: relative;
1086		background: #014343;
1087		border-radius: 25px;
1088		padding: 6px;
1089		box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.45);
1090		width: 100%;
1091		margin-left: auto;
1092		margin-right: auto;
1093		margin-bottom: 30px;
1094	}
1095
1096	.loading-meter>.loading-span {
1097		text-align: center;
1098		color: #fff;
1099		line-height: 24px;
1100		display: block;
1101		height: 100%;
1102		border-top-right-radius: 8px;
1103		border-bottom-right-radius: 8px;
1104		border-top-left-radius: 20px;
1105		border-bottom-left-radius: 20px;
1106		background-color: #00AD0C;
1107		position: relative;
1108		overflow: hidden;
1109	}
1110
1111	.loading-meter>.loading-span:after {
1112		content: " ";
1113		position: absolute;
1114		top: 0;
1115		left: 0;
1116		bottom: 0;
1117		right: 0;
1118		background: linear-gradient(-45deg, rgba(0, 0, 0, .05) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .05) 50%, rgba(0, 0, 0, .05) 75%, transparent 75%, transparent);
1119		z-index: 1;
1120		background-size: 50px 50px;
1121		animation: move 2s linear infinite;
1122		border-top-right-radius: 8px;
1123		border-bottom-right-radius: 8px;
1124		border-top-left-radius: 20px;
1125		border-bottom-left-radius: 20px;
1126		overflow: hidden;
1127	}
1128
1129	@keyframes move {
1130		0% {
1131			background-position: 0 0;
1132		}
1133
1134		100% {
1135			background-position: 50px 50px;
1136		}
1137	}
1138
1139
1140	.cta-green_overlay::before {
1141		content: '';
1142		position: absolute;
1143		top: 0;
1144		left: -75%;
1145		width: 50%;
1146		height: 100%;
1147		background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
1148		transform: skewX(-20deg);
1149		animation: shine 2.5s infinite;
1150		pointer-events: none;
1151	}
1152
1153	@keyframes shine {
1154		0% {
1155			left: -75%;
1156		}
1157
1158		100% {
1159			left: 125%;
1160		}
1161	}
1162
1163	.cta-green_icon-wrap {
1164		position: relative;
1165		overflow: hidden;
1166	}
1167
1168	.cta-green_icon {
1169		position: relative;
1170	}
1171
1172	.cta-green_icon .icon {
1173		position: absolute;
1174		transition: transform 0.35s ease;
1175	}
1176
1177	.icon--top {
1178		top: 50%;
1179		left: 50%;
1180		transform: translate(-50%, -50%);
1181	}
1182
1183	.icon--bottom {
1184		top: 50%;
1185		left: 50%;
1186		transform: translate(-50%, 100%);
1187	}
1188
1189	/* HOVER */
1190	.cta-green:hover .icon--top {
1191		transform: translate(-50%, -200%);
1192	}
1193
1194	.cta-green:hover .icon--bottom {
1195		transform: translate(-50%, -55%);
1196	}
1197
1198	.engineering-title-gradient {
1199		color: transparent;
1200		-webkit-text-fill-color: transparent;
1201		background-image: linear-gradient(135deg, #fff, #c2a4ff);
1202		-webkit-background-clip: text;
1203		background-clip: text;
1204	}
1205
1206	.item-tools-hero_text {
1207		display: -webkit-box;
1208		-webkit-line-clamp: 2;
1209		/* кількість рядків */
1210		-webkit-box-orient: vertical;
1211		overflow: hidden;
1212		text-overflow: ellipsis;
1213	}
1214
1215
1216	/* Flash icon base */
1217	.social-cta-block_flash-icon {
1218
1219		animation: flashPulse 1.5s infinite ease-in-out;
1220	}
1221
1222	/* Purple pulse animation */
1223	@keyframes flashPulse {
1224		0% {
1225			box-shadow: 0 0 0px 3px rgba(139, 25, 243, 0);
1226		}
1227
1228		50% {
1229			box-shadow: 0 0 0px 6px rgba(139, 25, 243, 0.35);
1230		}
1231
1232		100% {
1233			box-shadow: 0 0 0px 3px rgba(139, 25, 243, 0);
1234		}
1235	}
1236
1237
1238	.social-form_checbox-label::before {
1239		content: "";
1240		display: block;
1241		width: 18px;
1242		height: 18px;
1243		border-radius: 50%;
1244		border: 1px solid #CED0CE;
1245		flex-shrink: 0;
1246	}
1247
1248	.social-form_checbox-label::after {
1249		content: "";
1250		display: block;
1251		width: 8px;
1252		height: 8px;
1253		border-radius: 50%;
1254		background: #000;
1255		position: absolute;
1256		top: 50%;
1257		left: 6px;
1258		transform: translateY(-50%);
1259		opacity: 0;
1260		transition: all .4s;
1261	}
1262
1263	.social-form_checbox-wrap:has(input:checked) {
1264		color: #000;
1265	}
1266
1267	.social-form_checbox-wrap:has(input:checked) .social-form_checbox-label::after {
1268		opacity: 1;
1269	}
1270
1271	.title-split-blue {
1272		padding: 2px 0px
1273	}
1274
1275 
1276</style></div><div class="page-wrapper"><div class="page-wrapper-overlay"><header class="header"><div class="header_overlay"></div><div class="padding-global"><div class="container-large"><div class="header_wrapper header_wrapper_center"><a href="/thank-you-page" target="_blank" class="header_logo w-inline-block"><img width="170" height="32" alt="Stack Optimise logo with a stylized purple S icon and white text." src="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67a4b0de8c572bff612d91d1_stack-optimize-logo.avif" loading="lazy" class="header_logo-img header_logo-img_dark full-size"/><img loading="lazy" src="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67ab306923bc3b1503dfc1a9_logo-dark.avif" alt="StackOptimise company logo with stylized &#x27;S&#x27; icon." class="header_logo-img header_logo-img_light"/></a></div></div></div></header><main class="main-wrapper"><div class="login"><div class="padding-global"><div class="container-large"><div class="login_wrapper"><div class="login_form-block w-form"><form id="wf-form-login" name="email-form" data-name="Email Form" method="get" data-ms-form="login" class="login_form" data-wf-page-id="67c1c88568f2e51a9197a785" data-wf-element-id="e8ec9a1a-9255-9184-a586-5cddf30cba81" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div class="login_title">Welcome Back! <br/>Login to Your Account<br/></div><div data-ms-content="members" class="complete-checkout"><a data-ms-content="!paid-plans" data-ms-price:add="prc_gtme-course-tjyz0gt3" href="#" class="message-box w-inline-block"><div class="message-content"><div class="message-icon w-embed"><svg width="30" height="30" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1277<path d="M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM8 15L3 10L4.41 8.59L8 12.17L15.59 4.58L17 6L8 15Z" fill="currentColor"/>
1278</svg></div><div class="message-text">You already have an account<br/>Click here to <strong>complete checkout. </strong></div></div><div none="" class="message-arrow"><div class="w-embed"><svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M5 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59c.39-.39.39-1.02 0-1.41l-6.58-6.6c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L16.17 11H5c-.55 0-1 .45-1 1s.45 1 1 1z"/></svg></div></div></a></div><div><div class="login_inputs"><div class="login_input-wrapper"><div class="login_input-label">Email</div><input class="login_input w-input" maxlength="256" name="Email" data-name="Email" placeholder="[email protected]" type="email" id="Email" data-ms-member="email" required=""/></div><div class="login_input-wrapper"><div class="login_input-label">Password</div><input data-show="true" class="login_input w-input" maxlength="256" name="password" data-name="password" placeholder="8+ characters" type="password" id="password" data-ms-member="password" required=""/><a href="/forgot-password" class="login_input-link">Forgot Password</a></div></div><input type="submit" data-wait="Please wait..." id="login-form-btn" class="login_submit w-button" value="Login"/><div class="login_form-text">Don&#x27;t have an account? <a href="/sign-up" class="login_form-text-link">Sign up</a></div></div><div data-ms-content="members" class="login-complete-wrap"><div data-ms-content="paid-plans" class="login-complete"><h2 class="login_title login-complete_title">You&#x27;re already logged in</h2><a href="/profile/course" class="cta w-inline-block"><div class="cta_content"><div class="cta_title cta_title-2">Go to the course</div></div><div class="cta_icon w-embed"><svg width="28" height="29" viewBox="0 0 28 29" fill="none" xmlns="http://www.w3.org/2000/svg">
1279<path fill-rule="evenodd" clip-rule="evenodd" d="M3.5 14.4277C3.5 15.1526 4.08763 15.7402 4.8125 15.7402L20.0188 15.7402L17.8844 17.8747C17.3719 18.3872 17.3719 19.2182 17.8844 19.7308C18.397 20.2434 19.228 20.2434 19.7406 19.7308L24.1156 15.3558C24.6281 14.8432 24.6281 14.0122 24.1156 13.4997L19.7406 9.12466C19.228 8.61209 18.397 8.61209 17.8844 9.12466C17.3719 9.63722 
127917.3719 10.4682 17.8844 10.9808L20.0188 13.1152L4.8125 13.1152C4.08763 13.1152 3.5 13.7029 3.5 14.4277Z" fill="white"/>
1280</svg></div></a></div></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></div></div></main><footer class="footer"><div class="padding-global"><div class="container-large"><div class="footer_wrapper footer_wrapper_center"><div class="footer_top footer_top_center"><div class="footer_content footer_content_center"><a href="/thank-you-page" target="_blank" class="footer_logo w-inline-block"><img width="204" height="37" alt="StackOptimise company logo with stylized S icon." src="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67aa00617745b5c1cb58b017_footer-logo.avif" loading="lazy" class="footer_logo-img full-size"/></a><div class="footer_text footer_text_center">StackOptimise is a leading outbound agency helping B2B businesses achieve predictable revenue growth. We use signal-based outreach to deliver personalised outreach at scale and book more meetings with quality leads.</div><div class="footer_parthners"><img width="322" height="115" alt="Three certification badges labeled Clay Expert, Smartlead.ai Certified Partner, and GetSales Certified Expert." src="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/67d96686753e517f08699b98_Frame%202147205899%20(1).webp" loading="lazy" class="footer_parthners-img full-size"/></div></div></div><div class="footer_bottom footer_bottom_center"><div class="footer_bottom-left"><a href="https://links.landingpagelabs.co/stackoptimise" target="_blank" class="footer_bottom-text footer_bottom-text_12">Built by Landing Page Labs</a></div><div class="footer_bottom-right"><div class="footer_bottom-text footer_bottom-text_12">Copyright © StackOptimise <span id="footer-year">[year]</span>. All rights reserved.​</div></div></div></div></div></div></footer></div></div>
1280<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=67a3b299626c1a7afb14beb6" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1280<script src="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/js/webflow.schunk.46ec95b3fe36cd24.js" type="text/javascript" integrity="sha384-iyufNF3f7Iiwig21ooQbHpX5Lfjozyv/S+7gyAL8t7DHmOhpLqXKZl2KdFrTMuTF" crossorigin="anonymous"></script>
1280<script src="https://cdn.prod.website-files.com/67a3b299626c1a7afb14beb6/js/webflow.a6cb2761.289b03e25c4760dc.js" type="text/javascript" integrity="sha384-kfZKUcKORw8aAEfXTb8eGxkTK98ngxy8FmmeIIDB41WeGeB8+T474i913jj3GRtT" crossorigin="anonymous"></script>
1280<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
vendor: 1 bytes, line 1280
1280
1281<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
vendor: 1 bytes, line 1281
1281
1282<script type="text/javascript" async src="https://embeds.beehiiv.com/attribution.js"></script>
vendor: 1 bytes, line 1282
1282
1283<script src="https://cdn.jsdelivr.net/npm/@tsparticles/[email protected]/tsparticles.confetti.bundle.min.js"></script>
1283
1284
1285<script>
1286	const iconMenu = document.querySelector('.menu_icon');
1287	const menuBody = document.querySelector('.header_nav');
1288	if (iconMenu) {
1289		iconMenu.addEventListener('click', function (e) {
1290			document.body.classList.toggle('_lock');
1291			iconMenu.classList.toggle('_active');
1292			menuBody.classList.toggle('_active');
1293		})
1294	}
1295
1296	const acc = document.querySelectorAll(".item-faq");
1297
1298	acc.forEach((accItem) => {
1299		accItem.addEventListener("click", function () {
1300			this.classList.toggle("active");
1301			const head = this.querySelector('.item-faq_head');
1302			const panel = this.querySelector('.item-faq_panel');
1303			panel.classList.toggle("active");
1304			head.classList.toggle("active");
1305			if (panel.style.maxHeight) {
1306				panel.style.maxHeight = null;
1307			} else {
1308				panel.style.maxHeight = panel.scrollHeight + 21 + "px";
1309			}
1310		});
1311	});
1312
1313
1314</script>
vendor: 1 bytes, line 1314
1314
1315<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
vendor: 1 bytes, line 1315
1315
1316<script>
1317	var grid = document.querySelector('.testimonials_list-inner');
1318	var msnry = new Masonry(grid, {
1319		itemSelector: '.item-testimonials',
1320		columnWidth: 380,
1321		gutter: 20,
1322		horizontalOrder: true
1323	});
1324
1325	const testimonialsLoad = document.querySelector("#testimonials-load");
1326	const testimonialsContainer = document.querySelector(".testimonials_wrapper");
1327
1328	if (testimonialsLoad) {
1329		testimonialsLoad.addEventListener("click", function (e) {
1330			testimonialsContainer.classList.toggle("visible");
1331			setTimeout(() => {
1332				msnry.reloadItems();
1333				msnry.layout();
1334			}, 300);
1335		});
1336	}
1337
1338	const team_swiper = new Swiper("#team_swiper", {
1339		slidesPerView: "auto",
1340		spaceBetween: 30,
1341		loop: true,
1342		loopAdditionalSlides: 60,
1343		autoplay: {
1344			delay: 0,
1345			disableOnInteraction: false,
1346		},
1347		speed: 10000,
1348	});
1349
1350
1351	const linkedin_swiper = new Swiper("#linkedin-swiper", {
1352		slidesPerView: 1,
1353		spaceBetween: 0,
1354		navigation: {
1355			nextEl: "#linkedin_next",
1356			prevEl: "#linkedin_prev",
1357		},
1358		pagination: {
1359			el: "#linkedin_pag",
1360		},
1361		breakpoints: {
1362			640: {
1363				slidesPerView: 3,
1364				spaceBetween: 14,
1365			},
1366		},
1367	});
1368
1369</script>
1369
1370
1371<script>
1372	document.addEventListener("DOMContentLoaded", function () {
1373		const wrappers = document.querySelectorAll('.w-form[data-confetti="true"]');
1374
1375		if (!wrappers.length) return;
1376
1377		wrappers.forEach((wrapper) => {
1378			const form = wrapper.querySelector("form");
1379			const successEl = wrapper.querySelector(".w-form-done");
1380
1381			if (!form || !successEl) return;
1382
1383			let confettiFired = false;
1384
1385			function triggerConfettiOnce() {
1386				if (confettiFired) return;
1387				confettiFired = true;
1388
1389
1390				startConfetti(wrapper);
1391			}
1392
1393			form.addEventListener("submit", function () {
1394				confettiFired = false;
1395			});
1396
1397			const observer = new MutationObserver((mutations) => {
1398				mutations.forEach((mutation) => {
1399					if (mutation.type === "attributes" && mutation.attributeName === "style") {
1400						const isVisible = window.getComputedStyle(successEl).display !== "none";
1401						if (isVisible) {
1402							triggerConfettiOnce();
1403						}
1404					}
1405				});
1406			});
1407
1408			observer.observe(successEl, {
1409				attributes: true,
1410				attributeFilter: ["style"],
1411			});
1412		});
1413
1414
1415		function startConfetti(form) {
1416			const duration = 2 * 1000;
1417			const animationEnd = Date.now() + duration;
1418			const defaults = { startVelocity: 30, spread: 360, ticks: 20, zIndex: 1000 };
1419
1420			function randomInRange(min, max) {
1421				return Math.random() * (max - min) + min;
1422			}
1423
1424			const interval = setInterval(function () {
1425				const timeLeft = animationEnd - Date.now();
1426
1427				if (timeLeft <= 0) {
1428					return clearInterval(interval);
1429				}
1430
1431				const particleCount = 20 * (timeLeft / duration);
1432
1433				const rect = form.getBoundingClientRect();
1434				const xPos = (rect.left + rect.right) / 2 / window.innerWidth;
1435
1436				confetti(Object.assign({}, defaults, {
1437					particleCount,
1438					origin: { x: xPos - 0.1, y: 0.3 }
1439				}));
1440				confetti(Object.assign({}, defaults, {
1441					particleCount,
1442					origin: { x: xPos + 0.1, y: 0.3 }
1443				}));
1444			}, 250);
1445		}
1446	});
1447</script>
1447
1448
1449
1450<script>
1451	function setCookie(name, value, days) {
1452		let date = new Date();
1453		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
1454		let expires = "expires=" + date.toUTCString();
1455		document.cookie = name + "=" + value + ";" + expires + ";path=/";
1456	}
1457
1458	function getCookie(name) {
1459		let nameEQ = name + "=";
1460		let ca = document.cookie.split(';');
1461		for (let i = 0; i < ca.length; i++) {
1462			let c = ca[i].trim();
1463			if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
1464		}
1465		return null;
1466	}
1467
1468	function hideConsentBanner() {
1469		const consentBanner = document.querySelector('.fs-consent_component');
1470		if (consentBanner) {
1471			consentBanner.style.display = 'none';
1472		}
1473	}
1474
1475	if (getCookie('cookieConsent') === 'true') {
1476		hideConsentBanner();
1477	}
1478
1479	const allowButton = document.querySelector('.fs-consent_allow');
1480	if (allowButton) {
1481		allowButton.addEventListener('click', function (e) {
1482			e.preventDefault();
1483			setCookie('cookieConsent', 'true', 30);
1484			hideConsentBanner();
1485		});
1486	}
1487
1488	const closeButton = document.querySelector('.f
1488s-consent_close');
1489	if (closeButton) {
1490		closeButton.addEventListener('click', function (e) {
1491			e.preventDefault();
1492			hideConsentBanner();
1493		});
1494	}
1495
1496	document.addEventListener("scroll", function () {
1497		const header = document.querySelector(".header");
1498		if (header) {
1499			if (window.scrollY > 100) {
1500				header.classList.add("header_bg");
1501			} else {
1502				header.classList.remove("header_bg");
1503			}
1504		}
1505	});
1506
1507	document.addEventListener("DOMContentLoaded", function () {
1508		document.querySelectorAll(".item-replies_cta").forEach(function (cta) {
1509			cta.addEventListener("click", function (event) {
1510				event.preventDefault();
1511				const parent = this.closest(".item-replies_right");
1512				if (!parent) return;
1513				const imageLink = parent.querySelector(".item-replies_image");
1514				if (imageLink) imageLink.click();
1515			});
1516		});
1517	});
1518
1519</script>
1519
1520
1521<script>
1522	// Function to get URL parameters 
1523	function getUrlParameter(name) {
1524		name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
1525		var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
1526		var results = regex.exec(location.search);
1527		return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
1528	}
1529
1530	// Store UTM parameters in session storage 
1531	if (getUrlParameter('utm_source')) {
1532		sessionStorage.setItem('utm_source', getUrlParameter('utm_source'));
1533		sessionStorage.setItem('utm_medium', getUrlParameter('utm_medium'));
1534		sessionStorage.setItem('utm_campaign', getUrlParameter('utm_campaign'));
1535		sessionStorage.setItem('utm_term', getUrlParameter('utm_term'));
1536		sessionStorage.setItem('utm_content', getUrlParameter('utm_content'));
1537	}
1538
1539	// Append UTM parameters to all internal links 
1540	document.querySelectorAll('a').forEach(function (anchor) {
1541		anchor.addEventListener('click', function (event) {
1542			var utmParams = [
1543				sessionStorage.getItem('utm_source') ? 'utm_source=' + sessionStorage.getItem('utm_source') : '',
1544				sessionStorage.getItem('utm_medium') ? 'utm_medium=' + sessionStorage.getItem('utm_medium') : '',
1545				sessionStorage.getItem('utm_campaign') ? 'utm_campaign=' + sessionStorage.getItem('utm_campaign') : '',
1546				sessionStorage.getItem('utm_term') ? 'utm_term=' + sessionStorage.getItem('utm_term') : '',
1547				sessionStorage.getItem('utm_content') ? 'utm_content=' + sessionStorage.getItem('utm_content') : ''
1548			].filter(Boolean).join('&');
1549
1550			if (utmParams) {
1551				var href = anchor.getAttribute('href');
1552				if (href.indexOf('?') > -1) {
1553					anchor.setAttribute('href', href + '&' + utmParams);
1554				} else {
1555					anchor.setAttribute('href', href + '?' + utmParams);
1556				}
1557			}
1558		});
1559	});
1560	document.addEventListener("DOMContentLoaded", function (e) {
1561		const newslettersModal = document.querySelector(".newsletter-modal");
1562		const newslettersModalOpen = document.querySelectorAll("#modal-open-newsletters");
1563		const newslettersModalClose = document.querySelector(".newsletter-modal_close");
1564		const newslettersModalOverlay = document.querySelector(".newsletter-modal_overlay");
1565
1566		function openModal() {
1567			newslettersModal.classList.add("visible");
1568			document.body.classList.add("_lock");
1569		}
1570
1571		function closeModal() {
1572			newslettersModal.classList.remove("visible");
1573			document.body.classList.remove("_lock");
1574		}
1575
1576		newslettersModalOpen.forEach(el => {
1577			el.addEventListener("click", openModal);
1578		});
1579
1580		newslettersModalClose.addEventListener("click", closeModal);
1581		newslettersModalOverlay.addEventListener("click", closeModal);
1582	})
1583
1584	document.addEventListener('DOMContentLoaded', function () {
1585		const yearElement = document.getElementById('footer-year');
1586		if (yearElement) {
1587			yearElement.textContent = new Date().getFullYear();
1588		}
1589	});
1590
1591
1592
1593
1594	const courseMenu = document.querySelector(".course_nav");
1595	const courseIcon = document.querySelector(".course-header_icon");
1596	const courseOverlay = document.querySelector(".course_mobile-overlay");
1597
1598	courseIcon.addEventListener("click", function (e) {
1599		courseMenu.classList.toggle("visible");
1600		courseIcon.classList.toggle("active");
1601		courseOverlay.classList.toggle("visible");
1602	})
1603
1604	courseOverlay.addEventListener("click", function (e) {
1605		courseMenu.classList.remove("visible");
1606		courseIcon.classList.remove("active");
1607		courseOverlay.classList.remove("visible");
1608	})
1609
1610</script>
1610
1611
1612<script>
1613	var Webflow = Webflow || [];
1614	Webflow.push(function () {
1615		//DISABLE WEBFLOW SMOOTH SCROLL
1616		$(function () {
1617			$(document).off('click.wf-scroll');
1618		});
1619	});
1620
1621
1622	function toggleAnimation() {
1623		document.querySelectorAll('.cta').forEach(button => {
1624			button.classList.add('animate');
1625			setTimeout(() => {
1626				button.classList.remove('animate');
1627			}, 1000);
1628		});
1629	}
1630
1631	setInterval(toggleAnimation, 4500);
1632
1633	function toggleAnimation2() {
1634		document.querySelectorAll('.download-cta').forEach(button => {
1635			button.classList.add('animate');
1636			setTimeout(() => {
1637				button.classList.remove('animate');
1638			}, 1000);
1639		});
1640	}
1641
1642	setInterval(toggleAnimation2, 4500);
1643
1644</script>
1644
1645<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1645-1646
1645
1646<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1646GTM-5549VDLV
vendor: 85 bytes, lines 1646-1647
1646" height="0" width="0"
1647		style="display:none;visibility:hidden"></iframe></noscript>
1648<!-- End Google Tag Manager (noscript) -->
1649
1650<script>
1651const tutorialModal = document.getElementById('tutorial-modal');
1652const tutorialOpenBtn = document.getElementById('open-tutoriald-video');
1653const tutorialOpenBtn2 = document.getElementById('open-tutoriald-video-2');
1654const tutorialOpenBtn3 = document.getElementById('open-tutoriald-video-3');
1655const tutorialOpenBtn4 = document.getElementById('open-tutoriald-video-4');
1656const tutorialCloseBtn = document.getElementById('tutorial-modal_close');
1657const tutorialOverlay = document.getElementById('tutorial-modal_overlay');
1658
1659// Глобальна змінна для Plyr плеєра модалки
1660let tutorialPlayer;
1661
1662function showTutorialModal() {
1663	if (!tutorialModal) return;
1664
1665	tutorialModal.classList.add('visible');
1666
1667	if (tutorialPlayer) {
1668		tutorialPlayer.play();
1669	}
1670}
1671
1672function hideTutorialModal() {
1673	if (!tutorialModal) return;
1674
1675	tutorialModal.classList.remove('visible');
1676
1677	if (tutorialPlayer) {
1678		tutorialPlayer.pause();
1679		tutorialPlayer.currentTime = 0;
1680	}
1681}
1682
1683// OPEN BUTTONS
1684tutorialOpenBtn?.addEventListener('click', showTutorialModal);
1685tutorialOpenBtn2?.addEventListener('click', showTutorialModal);
1686tutorialOpenBtn3?.addEventListener('click', showTutorialModal);
1687tutorialOpenBtn4?.addEventListener('click', showTutorialModal);
1688
1689// CLOSE
1690tutorialCloseBtn?.addEventListener('click', hideTutorialModal);
1691tutorialOverlay?.addEventListener('click', hideTutorialModal);
1692
1693// ESC
1694document.addEventListener('keydown', function (event) {
1695	if (event.key === 'Escape' && tutorialModal?.classList.contains('visible')) {
1696		hideTutorialModal();
1697	}
1698});
1699</script>
1699
1700
1701<script src="https://cdn.plyr.io/3.7.2/plyr.js"></script>
vendor: 1 bytes, line 1701
1701
1702<script>
1703	$(".plyr_component").each(function (index) {
1704		let thisComponent = $(this);
1705
1706		// створюємо плеєр
1707		let player = new Plyr(thisComponent.find(".plyr_video")[0], {
1708			controls: ["play", "progress", "current-time", "mute", "fullscreen"],
1709			resetOnEnd: true
1710		});
1711
1712		// якщо це плеєр з модалки — зберігаємо
1713		if (thisComponent.closest('#tutorial-modal').length) {
1714			tutorialPlayer = player;
1715		}
1716
1717		thisComponent.find(".plyr_cover").on("click", function () {
1718			player.play();
1719		});
1720
1721		player.on("ended", () => {
1722			thisComponent.removeClass("hide-cover");
1723		});
1724
1725		player.on("play", () => {
1726			$(".plyr_component").removeClass("hide-cover");
1727			thisComponent.addClass("hide-cover");
1728			let prevPlayingComponent = $(".plyr--playing").closest(".plyr_component").not(thisComponent);
1729			if (prevPlayingComponent.length > 0) {
1730				prevPlayingComponent.find(".plyr_pause-trigger")[0].click();
1731			}
1732		});
1733
1734		thisComponent.find(".plyr_pause-trigger").on("click", function () {
1735			player.pause();
1736		});
1737
1738		player.on("ended", () => {
1739			if (player.fullscreen.active) {
1740				player.fullscreen.exit();
1741			}
1742		});
1743
1744		player.on("enterfullscreen", () => {
1745			thisComponent.addClass("contain-video");
1746		});
1747
1748		player.on("exitfullscreen", () => {
1749			thisComponent.removeClass("contain-video");
1750		});
1751	});
1752
1753	document.addEventListener('DOMContentLoaded', function () {
1754		// Функція для перевірки ширини екрану
1755		function isMobile() {
1756			return window.innerWidth < 991;
1757		}
1758
1759		// Обробник кліку
1760		function handleDropdownClick() {
1761			if (!isMobile()) return; // Виконуємо тільки для мобільних пристроїв
1762
1763			const subMenu = this.querySelector('.sub-menu');
1764			if (subMenu) {
1765				subMenu.classList.toggle('visible');
1766				this.classList.toggle('active');
1767			}
1768		}
1769
1770		// Додаємо обробники кліку для всіх dropdown елементів
1771		const dropdownItems = document.querySelectorAll('.header_menu-item-drop-down');
1772		dropdownItems.forEach(item => {
1773			item.addEventListener('click', handleDropdownClick);
1774		});
1775
1776		// Додаткова перевірка при зміні розміру вікна
1777		window.addEventListener('resize', function () {
1778			if (!isMobile()) {
1779				// Видаляємо класи, якщо розмір екрану став більше 991px
1780				dropdownItems.forEach(item => {
1781					item.classList.remove('active');
1782					const subMenu = item.querySelector('.sub-menu');
1783					if (subMenu) subMenu.classList.remove('visible');
1784				});
1785			}
1786		});
1787	});
1788
1789	const swiperFooter = new Swiper("#swiperFooter", {
1790		loop: true,
1791		pagination: {
1792			el: ".swiperfooter-pag",
1793		},
1794		autoplay: {
1795			delay: 20000,
1796			disableOnInteraction: false, // autoplay continues after user swipe
1797		},
1798	});
1799	document.getElementById('go-to-reviews').addEventListener('click', function (e) {
1800		e.preventDefault();
1801		const section = document.getElementById('section-review');
1802
1803		if (section) {
1804			section.scrollIntoView({ behavior: 'smooth' });
1805		} else {
1806			window.location.href = '/#section-review';
1807		}
1808	});
1809
1810</script>
1810
1811
1812<script>
1813	document.addEventListener("DOMContentLoaded", function () {
1814		const forms = document.querySelectorAll("form[data-email-validate]");
1815
1816		if (!forms.length) return;
1817
1818		const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
1819
1820		forms.forEach((form) => {
1821			const emailInputs = form.querySelectorAll('input[type="email"]');
1822			const errorEl = form.querySelector(".hero_form-error");
1823
1824			if (!emailInputs.length) return;
1825
1826			// При вводі ховаємо помилку
1827			emailInputs.forEach((input) => {
1828				input.addEventListener("input", () => {
1829					if (!errorEl) return;
1830
1831					const value = input.value.trim();
1832					if (emailRegex.test(value)) {
1833						errorEl.classList.remove("visible");
1834					}
1835				});
1836			});
1837
1838			form.addEventListener("submit", function (e) {
1839				let hasError = false;
1840
1841				if (errorEl) {
1842					errorEl.classList.remove("visible");
1843				}
1844
1845				emailInputs.forEach((input) => {
1846					const value = input.value.trim();
1847					if (!emailRegex.test(value)) {
1848						hasError = true;
1849					}
1850				});
1851
1852				if (hasError) {
1853					e.preventDefault();
1854					e.stopPropagation();
1855
1856					// фокус на перший невалідний email
1857					const firstInvalid = Array.from(emailInputs).find(
1858						(input) => !emailRegex.test(input.value.trim())
1859					);
1860					if (firstInvalid) firstInvalid.focus();
1861
1862					if (errorEl) {
1863						errorEl.classList.add("visible");
1864					}
1865
1866					return false;
1867				}
1868			});
1869		});
1870	});
1871</script>
vendor: 1 bytes, line 1871
1871
1872<script>
1873  document.addEventListener("DOMContentLoaded", () => {
1874    const forms = document.querySelectorAll("form");
1875
1876    forms.forEach((form) => {
1877      const submittingEl = form.querySelector("[submitting-text]");
1878      if (!submittingEl) return;
1879
1880      const getText = (el) => {
1881        // якщо це input/textarea
1882        if ("value" in el) return el.value;
1883        return (el.textContent || "").trim();
1884      };
1885
1886      const setText = (el, text) => {
1887        if ("value" in el) el.value = text;
1888        else el.textContent = text;
1889      };
1890
1891      // запам’ятовуємо оригінальний текст 1 раз
1892      if (!submittingEl.dataset.originalText) {
1893        submittingEl.dataset.originalText = getText(submittingEl);
1894      }
1895
1896      const submitBtn = form.querySelector("[type='submit']");
1897      const submittingText = submittingEl.getAttribute("submitting-text");
1898
1899      form.addEventListener("submit", () => {
1900        // міняємо текст
1901        if (submittingText) setText(submittingEl, submittingText);
1902
1903        // опційно: блокуємо сабміт, щоб не було дабл-кліків
1904        if (submitBtn) {
1905          submitBtn.disabled = true;
1906          submitBtn.style.pointerEvents = "none";
1907        }
1908
1909        form.classList.add("is-submitting");
1910      });
1911
1912      // якщо Webflow показав помилку (.w-form-fail) — повертаємо все назад
1913      const wrapper = form.closest(".w-form");
1914      const failBox = wrapper ? wrapper.querySelector(".w-form-fail") : null;
1915
1916      if (failBox) {
1917        const mo = new MutationObserver(() => {
1918          const isVisible = failBox.offsetParent !== null; // видимий в DOM
1919          if (isVisible) {
1920            setText(submittingEl, submittingEl.dataset.originalText || "");
1921            if (submitBtn) {
1922              submitBtn.disabled = false;
1923              submitBtn.style.pointerEvents = "";
1924            }
1925            form.classList.remove("is-submitting");
1926          }
1927        });
1928
1929        mo.observe(failBox, { attributes: true, attributeFilter: ["class", "style"] });
1930      }
1931    });
1932  });
1933</script>
1933
1934</body></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.