PageSourceSearch

https://thalasoft.com/s/about/

html thalasoft.com collected 2026-10-03 01:42:16 UTC 23,209 bytes, 531 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3    <head>
4        <link rel="preconnect" href="https://wrappers.highleverage.dev" crossorigin>
5        <link rel="preconnect" href="https://securepubads.g.doubleclick.net" crossorigin>
6        <link rel="preload" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" as="script">
7        <link rel="preload" href="https://wrappers.highleverage.dev/assets/wrappers/thalasoft.com.js" as="script">
8        <link rel="preload" href="https://wrappers.highleverage.dev/assets/wrappers/modal.js" as="script">
9        
9<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
9
10        
10<script src="https://wrappers.highleverage.dev/assets/wrappers/modal.js"></script>
10
11        
11<script src="https://wrappers.highleverage.dev/assets/wrappers/thalasoft.com.js"></script>
11
12        
12<script>
13            (function () {
14                document.addEventListener("DOMContentLoaded", function () {
15                    // Função para verificar se o usuário está em um dispositivo desktop
16                    function isDesktop() {
17                        return window.innerWidth >= 1024; // Ajuste este valor conforme o breakpoint desejado
18                    }
19
20                    // Função para atualizar as divs de anúncios para a versão desktop
21                    function updateAdDivsForDesktop() {
22                        var adDivs = document.querySelectorAll(".hs-ad");
23
24                        // Configurações para anúncios desktop (em sequência)
25                        var desktopAds = [
26                            {
27                                hsCode: "thalasoft_v2_desktop_top_{source}",
28                                hsSizes: "[[300,250],[336,280],[728,90]]",
29                            },
30                            {
31                                hsCode: "thalasoft_v2_desktop_mid1_{source}",
32                                hsSizes: "[[300,250],[336,280]]",
33                            },
34                            {
35                                hsCode: "thalasoft_v2_desktop_mid2_{source}",
36                                hsSizes: "[[300,250],[336,280]]",
37                            },
38                        ];
39
40                        // Atualiza cada div de anúncio com a configuração correspondente
41                        adDivs.forEach(function (adDiv, index) {
42                            if (desktopAds[index]) {
43                                adDiv.setAttribute("hs-code", desktopAds[index].hsCode);
44                                adDiv.setAttribute("hs-sizes", desktopAds[index].hsSizes);
45                            }
46                        });
47                    }
48
49                    // Verificação inicial ao carregar a página
50                    if (isDesktop()) {
51                        updateAdDivsForDesktop();
52                    }
53                });
54            })();
55        </script>
55
56        <meta charset="UTF-8">
57        <meta name="viewport" content="width=device-width, initial-scale=1.0">
58        <title>About Us</title>
59        <link rel="canonical" href="https://thalasoft.com/s/about/">
60        <meta name="description" content="About Us">
61        <meta property="og:title" content="About Us">
62        <meta property="og:description" content="About Us">
63        <meta property="og:image" content="https://thalasoft.com/public/img/logo.svg">
64        <meta property="og:url" content="https://thalasoft.com/s/about/">
65        <meta property="og:type" content="website">
66        <meta property="og:locale" content="en">
67        <link rel="stylesheet" href="/public/css/index.css">
68        <!-- async CSS (optionally increase loading priority with fetchpriority="high") -->
69        <link
70            rel="stylesheet"
71            href="https://fonts.googleapis.com/css2?family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&amp;display=swap"
72            media="print"
73            onload="this.onload=null;this.removeAttribute('media');"
74            fetchpriority="high"
75        >
76        <!-- no-JS fallback -->
77        <noscript>
78            <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&amp;display=swap">
79        </noscript>
80        
80<script>
81            //enviroment constants
82            const ENVIROMENT_CONSTANTS = {
83                SHOW_IFRAMES: true,
84            }
85        </script>
85
86        <!-- custom headers -->
87    </head>
88    <body>
89        <header class="site-header">
90            <div class="container header-container">
91                <a href="/" class="logo">
92                    <img src="/public/img/logo.svg" style="height: 40px">
93                </a>
94                <nav class="main-nav">
95                    <!-- Mobile Search Form -->
96                    <form class="mobile-search-form search-form" id="search-form">
97                        <input
98                            type="text"
99                            id="search-input-mobile"
100                            placeholder="Search..."
101                            aria-label="search_placeholder"
102                        >
103                        <button type="submit" id="search-btn-mobile">Search</button>
104                    </form>
105                    <ul>
106                        <li class="menu__item ml-md-3">
107    <a href="/c/investment-analysis/">Investment Analysis</a>
108  </li>
109  <li class="menu__item ml-md-3">
110    <a href="/c/financial-planning/">Financial Planning</a>
111  </li>
112  <li class="menu__item ml-md-3">
113    <a href="/c/markets-and-economy/">Markets & Economy</a>
114  </li>
115  <li class="menu__item ml-md-3">
116    <a href="/c/investment-strategies/">Investment Strategies</a>
117  </li>
118                    </ul>
119                </nav>
120                <!-- Desktop Search Form -->
121                <div class="header-search">
122                    <form class="search-form" id="search-form-desktop" aria-label="Formulário de Busca">
123                        <input
124                            type="text"
125                            id="search-input-desktop"
126                            placeholder="Search..."
127                            aria-label="Search..."
128                        >
129                        <button type="submit" id="search-btn-desktop">Search</button>
130                    </form>
131                </div>
132                <button class="mobile-menu-toggle" aria-label="Abrir menu">☰</button>
133            </div>
134        </header>
135        <!-- Your body content goes here -->
136        <div style="background-color: white;" id="tradingview-ticker-tape"></div>
137<main class="site-main container post">
138    <div class="main-grid pouso">
139        <!-- Área do Post -->
140        <article class="post-wrapper">
141            <header class="post-header">
142                <h1 class="post-title">About Us</h1>
143            </header>
144            <div class="post-content-area">
145                <p><b>Navigating Your Financial Future with Clarity and Confidence.</b></p>
146<p>Welcome to Thalasooft, your dedicated platform for comprehensive financial insights and strategic guid
146ance. We empower individuals and institutions alike with the knowledge and tools needed to make informed decisions in today's dynamic financial landscape. Our commitment lies in providing unparalleled expertise across crucial areas, ensuring your financial goals are not just met, but exceeded.</p>
147<h3>Our Vision and Mission</h3>
148<p>At Thalasooft, our vision is to be the leading resource for insightful <b>Investment Analysis</b> and robust <b>Financial Planning</b>. Our mission is to demystify the complexities of the <b>Markets &amp; Economy</b>, offering clear, actionable intelligence and fostering intelligent <b>Investment Strategies</b> that serve your long-term prosperity. We believe that a well-informed investor is an empowered investor.</p>
149<h3>What We Offer</h3>
150
151<ul>
152    <li><b>Insightful Investment Analysis:</b> We delve deep into market trends, company fundamentals, and economic indicators to provide you with a comprehensive understanding of potential opportunities and risks.</li><li><b>Strategic Financial Planning:</b> From retirement planning to wealth management, our guidance helps you build a resilient financial future tailored to your unique aspirations.</li><li><b>Current Markets &amp; Economy Updates:</b> Stay ahead with our timely insights into global markets, economic shifts, and their potential impact on your investments.</li><li><b>Personalized Investment Strategies:</b> We help you craft and refine strategies that align with your risk tolerance, financial goals, and time horizon.</li>
153</ul>
154<h3>Our Approach</h3>
155<p>We combine rigorous research with practical application. Our approach is rooted in understanding the nuances of the financial world while ensuring our advice is accessible and relevant to you. We are committed to transparency, integrity, and putting your financial well-being first.</p>
156<h3>Meet Our Team</h3>
157<p>Behind Thalasooft is a diverse group of highly experienced financial professionals, market analysts, and economic commentators. Our team comprises individuals with deep expertise in various facets of the financial industry, united by a passion for delivering exceptional value and fostering financial literacy. We are dedicated to continuous learning and staying at the forefront of market developments to serve you better.</p>
158<h3>Why Choose Thalasooft?</h3>
159<p>Choosing Thalasooft means partnering with a team that is genuinely invested in your success. We provide:</p>
160
161<ul>
162    <li><b>Unbiased Expertise:</b> Our insights are driven by data and independent analysis.</li><li><b>Comprehensive Coverage:</b> From micro-level investment details to macro-economic trends.</li><li><b>Clarity and Accessibility:</b> Complex financial concepts explained in an understandable way.</li><li><b>Commitment to Your Growth:</b> We are here to support your financial journey every step of the way.</li>
163</ul>
164<h3>Thank You</h3>
165<p>Thank you for choosing Thalasooft as your trusted source for financial insights and guidance. We are honored to be part of your journey towards financial success and look forward to continuing to provide you with valuable content and resources.</p>
166<h3>Contact</h3>
167<p>Have questions or need further assistance? Please do not hesitate to reach out to us.</p>
168<p><b><a href="/s/contact/">Contact Page</a></b></p>
169
170            </div>
171        </article>
172    </div>
173</main><footer class="site-footer">
174    <div class="footer-top">
175        <div class="container footer-container">
176            <div class="footer-col logo-col">
177                <div class="footer-logo-box">
178                    <a href="/" class="footer-logo">
179                        <img class="imgs" src="/public/img/logo.svg" alt="Logo">
180                    </a>
181                </div>
182                <p style="text-align: center;">© 2026 Thalasoft - Strategies, tips, and analyses to boost your investments and achieve financial freedom</p>
183            </div>
184            <div class="footer-col">
185                <h3>About Us</h3>
186                <ul>
187                    <li>
188	<a href="/s/about/">About Us</a>
189</li>
190<li>
191	<a href="/a/">Experts</a>
192</li>
193<li>
194	<a href="/s/contact/">Contact</a>
195</li>
196                </ul>
197            </div>
198            <div class="footer-col">
199                <h3>Legal Information</h3>
200                <ul class="social-list">
201                    <li>
202	<a href="/s/terms-of-use/">Terms of Use</a>
203</li>
204<li>
205	<a href="/s/privacy-policy/">Privacy Policy</a>
206</li>
207                </ul>
208            </div>
209        </div>
210    </div>
211    <div class="footer-bottom">
212        <ul>
213            <li>
214	<a href="/s/terms-of-use/">Terms of Use</a>
215</li>
216<li>
217	<a href="/s/privacy-policy/">Privacy Policy</a>
218</li>
219        </ul>
220    </div>
221</footer>
222<div class="mobile-overlay"></div>
223<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" rel="stylesheet">
224<script>
225    const toggleBtn = document.querySelector('.mobile-menu-toggle');
226    const nav = document.querySelector('.main-nav');
227    const overlay = document.querySelector('.mobile-overlay');
228
229    toggleBtn.addEventListener('click', () => {
230        nav.classList.toggle('open');
231        overlay.classList.toggle('active');
232    });
233
234    overlay.addEventListener('click', () => {
235        nav.classList.remove('open');
236        overlay.classList.remove('active');
237    });
238
239    const url = new URL(window.location.href);
240    const links = document.getElementsByTagName('a');
241    const medium = url.searchParams.get('utm_medium');
242    const campaign = url.searchParams.get('utm_campaign');
243    const source = url.searchParams.get('utm_source');
244    const term = url.searchParams.get('utm_term');
245
246    function getAdText() {
247        const lang = navigator.language || navigator.userLanguage;
248        const langMap = {
249            'pt': 'Publicidade',
250            'es': 'Publicidad',
251            'en': 'Advertisement',
252            'fr': 'Publicité',
253            'de': 'Werbung'
254        };
255        const baseLang = (lang.split('-')[0] || 'en').toLowerCase();
256        return langMap[baseLang] || langMap['en'];
257    }
258
259    function addAdLabel(container, adText) {
260        if (!container.querySelector('.ad-label')) {
261            container.insertAdjacentHTML('afterbegin',
262                `<div class="ad-label" style="font-size:13px;color:#888;text-align:center;margin-bottom:5px;">${adText}</div>`
263            );
264        }
265    }
266
267    function removeAdLabel(container) {
268        const label = container.querySelector('.ad-label');
269        if (label) {
270            label.remove();
271        }
272    }
273
274    function updateAllAds() {
275        const adText = getAdText();
276        const units = document.querySelectorAll('.adunit');
277        units.forEach(unit => {
278            const unitHeight = unit.offsetHeight;
279            if (unitHeight > 40) {
280                // Ad displayed
281                addAdLabel(unit, adText);
282                // unit.style.margin = 'auto';
283                // unit.style.marginTop = '20px';
284                // unit.style.marginBottom = '20px';
285            } else {
286                // Ad not displayed
287                removeAdLabel(unit);
288                unit.style.margin = '';
289                unit.style.marginTop = '';
290                unit.style.marginBottom = '';
291            }
292        });
293    }
294
295    function initAdLabelObserver() {
296		window.googletag = window.googletag || {};
297		window.googletag.cmd = window.googletag.cmd || [];
298
299		window.googletag.cmd.push(function () {
300			if (window.googletag && window.googletag.pubads) {
301				window.googletag.pubads().addEventListener('slotRenderEnded', function (event) {
302					try {
303						updateAllAds();
304					} catch (error) {
305						console.error('Error updating ads:', error);
306					}
307				});
308			}
309		});
310
311		document.addEventListener('DOMContentLoaded', updateAllAds);
312	}
313
314    document.addEventListener('DOMContentLoaded', function () {
315        let attrs = {};
316
317        if (source) attrs.source = source;
318
319        if (campaign) attrs.campaign = campaign;
320
321        if (medium) attrs.medium = medium;
322
323        if (term) attrs.country = term;
324
325        for (let link of links) {
326            for (let attr in attrs) {
327                if (!link.href.includes('?')) {
328                    link.href = link.href + '?';
329                } else {
330                    link.href = link.href + '&';
331                }
332
333                if (attr == 'country') {
334                    link.href += `utm_term=${attrs[attr]}`;
335                } else {
336                    link.href += `utm_${attr}=${attrs[attr]}`;
337                }
338            }
339        }
340
341        initAdLabelObserver();  
342    });
343
344    (function () {
345        if (typeof notFoundPage !== "undefined") {
346            console.log('Not found page is defined, ignoring preloader.')
347            return false
348        }
349
350        if (
351            !location.pathname.includes('/p/') &&
352            !location.pathname.includes('/l/') &&
353            !location.pathname.includes('/m/')
354        ) {
355            console.log('preloader isnt needed on this page.')
356            return false
357        }
358
359        // Cria o overlay do preloader
360        const preloader = document.createElement('div');
361        preloader.id = 'custom-preloader';
362        Object.assign(preloader.style, {
363            position: 'fixed',
364            top: '0',
365            left: '0',
366            width: '100%',
367            height: '100%',
368            backgroundColor: 'rgb(255 255 255 / 96%)', // Cor de fundo atualizada
369            zIndex: '9999',
370            display: 'flex',
371            flexDirection: 'column',
372            alignItems: 'center',
373            justifyContent: 'center',
374            flexShrink: '0',
375        });
376
377        // Cria a barra de carregamento no topo
378        const progressBarContainer = document.createElement('div');
379        Object.assign(progressBarContainer.style, {
380            position: 'fixed',
381            top: '0',
382            left: '0',
383            width: '100%',
384            height: '4px',
385            backgroundColor: '#e0e0e0', // Fundo da barra de carregamento
386            overflow: 'hidden',
387        });
388
389        const progressBar = document.createElement('div');
390        Object.assign(progressBar.style, {
391            width: '0%',
392            height: '100%',
393            backgroundColor: 'var(--secondary-color)', // Cor da barra de carregamento
394            transition: 'width 5s linear',
395        });
396
397        progressBarContainer.appendChild(progressBar);
398        preloader.appendChild(progressBarContainer);
399
400        // Cria o spinner central
401        const spinner = document.createElement('div');
402        Object.assign(spinner.style, {
403            border: '8px solid #f3f3f3',
404            borderTop: `8px solid var(--secondary-color)`, // Cor do spinner
405            borderRadius: '50%',
406            width: '60px',
407            height: '60px',
408            animation: 'spin 2s linear infinite',
409            marginBottom: '20px',
410        });
411
412        // Adiciona o texto "Carregando"
413        const loadingText = document.createElement('div');
414        loadingText.innerText = '{{preloader_text}}';
415        Object.assign(loadingText.style, {
416            fontSize: '20px', // Aumenta o tamanho da fonte
417            color: 'var(--primary-color);', // Cor do texto para melhor contraste
418            fontWeight: 'bold', // Aumenta o peso da fonte
419            marginBottom: '30px', // Espaçamento abaixo do texto
420        });
421
422        // Adiciona spinner e texto ao preloader
423        preloader.appendChild(spinner);
424        preloader.appendChild(loadingText);
425
426        // Cria o badge "Site Seguro" com SVG de escudo
427        const badge = document.createElement('div');
428        Object.assign(badge.style, {
429            position: 'fixed',
430            bottom: '20px',
431            display: 'flex',
432            alignItems: 'center',
433            backgroundColor: 'var(--secondary-color)',
434            color: '#ffffff',
435            padding: '12px 16px', // Aumenta o padding para dar mais espaço
436            borderRadius: '25px', // Aumenta o raio para bordas mais arredondadas
437            boxShadow: '0 4px 8px rgba(0,0,0,0.3)', // Sombra mais pronunciada
438            fontSize: '16px', // Aumenta o tamanho da fonte
439            fontWeight: 'bold', // Aumenta o peso da fonte
440        });
441
442        // SVG de escudo fornecido, aumentado de tamanho
443        const shieldSVG = `
444            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 512 512" style="margin-right: 8px;">
445            <path d="M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z"/>
446            </svg>
447        `;
448
449        // Adiciona o SVG e o texto ao badge
450        badge.innerHTML = shieldSVG + ' {{secure_text}}';
451        preloader.appendChild(badge);
452
453        // Adiciona keyframes para a animação do spinner
454        const styleSheet = document.createElement('style');
455        styleSheet.type = 'text/css';
456        styleSheet.innerText = `
457            @keyframes spin {
458            0% { transform: rotate(0deg); }
459            100% { transform: rotate(360deg); }
460            }
461        `;
462        document.head.appendChild(styleSheet);
463
464        // Adiciona o preloader ao body
465        document.body.appendChild(preloader);
466
467        // Armazena referências globais para manipulação futura
468        window.loadingEl = preloader;
469        window.loadingTimeout = setTimeout(() => {
470            removePreloader();
471        }, 5000);
472
473        // Inicia a animação da barra de progresso
474        setTimeout(() => {
475            progressBar.style.width = '100%';
476        }, 100); // Pequeno delay para garantir que a transição aconteça
477
478
479        // Função para remover o preloader
480        function removePreloader() {
481            if (window.loadingEl) {
482                window.loadingEl.style.transition = 'opacity 0.5s ease';
483                window.loadingEl.style.opacity = '0';
484                setTimeout(() => {
485                    if (window.loadingEl && window.loadingEl.parentNode) {
486                        window.loadingEl.parentNode.removeChild(window.loadingEl);
487                        window.loadingEl = undefined;
488                    }
489                }, 500);
490            }
491            if (window.loadingTimeout) {
492                clearTimeout(window.loadingTimeout);
493                window.loadingTimeout = undefined;
494            }
495        }
496
497        // Integração com Google Publisher Tags para remover o preloader quando o anúncio for carregado
498        window.googletag = window.googletag || {};
499        window.googletag.cmd = window.googletag.cmd || [];
500        window.googletag.cmd.push(function () {
501            if (window.googletag && window.googletag.pubads) {
502                window.googletag.pubads().addEventListener('slotRenderEnded', function (event) {
503                    try {
504                        console.debug('slotRenderEnded', event.slot.getAdUnitPath(), event);
505                        if (event.isEmpty) {
506                            // Não vendeu, remove o preloader
507                            removePreloader();
508                        }
509                        if (event.slot.getAdUnitPath().includes('header') || event.slot.getAdUnitPath().includes('top')) {
510                            if (typeof window.loadingEl !== 'undefined') {
511                                removePreloader();
512                            }
513                        }
514                    } catch (error) {
515                        console.error(error);
516                    }
517                });
518            }
519        });
520    })();
521</script>
vendor: 1 bytes, line 521
521
522<script src="/public/js/main.js"></script>
vendor: 1 bytes, line 522
522
523<script defer data-domain="thalasoft.com" src="https://me.thalasoft.com/js/script.hash.outbound-links.pageview-props.tagged-events.js"></script>
vendor: 1 bytes, line 523
523
524<script>
525    window.plausible = window.plausible || function () {
526        (window.plausible.q = window.plausible.q || []).push(arguments);
527    }
528</script>
528
529<!-- custom scripts -->
530</body>
531</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.