cleanup
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
|
@ -1,210 +0,0 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
if (window.signalcounter && window.signalcounter.vars) // Compatibility
|
||||
window.signalcounter = window.signalcounter.vars
|
||||
else
|
||||
window.signalcounter = window.signalcounter || {}
|
||||
|
||||
// Get all data we're going to send off to the counter endpoint.
|
||||
var get_data = function(vars) {
|
||||
var data = {
|
||||
p: (vars.path === undefined ? signalcounter.path : vars.path),
|
||||
r: (vars.referrer === undefined ? signalcounter.referrer : vars.referrer),
|
||||
t: (vars.title === undefined ? signalcounter.title : vars.title),
|
||||
e: !!(vars.event || signalcounter.event),
|
||||
s: [window.screen.width, window.screen.height, (window.devicePixelRatio || 1)],
|
||||
b: is_bot(),
|
||||
q: location.search,
|
||||
}
|
||||
|
||||
var rcb, pcb, tcb // Save callbacks to apply later.
|
||||
if (typeof(data.r) === 'function') rcb = data.r
|
||||
if (typeof(data.t) === 'function') tcb = data.t
|
||||
if (typeof(data.p) === 'function') pcb = data.p
|
||||
|
||||
if (is_empty(data.r)) data.r = document.referrer
|
||||
if (is_empty(data.t)) data.t = document.title
|
||||
if (is_empty(data.p)) {
|
||||
var loc = location,
|
||||
c = document.querySelector('link[rel="canonical"][href]')
|
||||
if (c) { // May be relative or point to different domain.
|
||||
var a = document.createElement('a')
|
||||
a.href = c.href
|
||||
if (a.hostname.replace(/^www\./, '') === location.hostname.replace(/^www\./, ''))
|
||||
loc = a
|
||||
}
|
||||
data.p = (loc.pathname + loc.search) || '/'
|
||||
}
|
||||
|
||||
if (rcb) data.r = rcb(data.r)
|
||||
if (tcb) data.t = tcb(data.t)
|
||||
if (pcb) data.p = pcb(data.p)
|
||||
return data
|
||||
}
|
||||
|
||||
// Check if a value is "empty" for the purpose of get_data().
|
||||
var is_empty = function(v) { return v === null || v === undefined || typeof(v) === 'function' }
|
||||
|
||||
// See if this looks like a bot; there is some additional filtering on the
|
||||
// backend, but these properties can't be fetched from there.
|
||||
var is_bot = function() {
|
||||
// Headless browsers are probably a bot.
|
||||
var w = window, d = document
|
||||
if (w.callPhantom || w._phantom || w.phantom)
|
||||
return 150
|
||||
if (w.__nightmare)
|
||||
return 151
|
||||
if (d.__selenium_unwrapped || d.__webdriver_evaluate || d.__driver_evaluate)
|
||||
return 152
|
||||
if (navigator.webdriver)
|
||||
return 153
|
||||
return 0
|
||||
}
|
||||
|
||||
// Object to urlencoded string, starting with a ?.
|
||||
var urlencode = function(obj) {
|
||||
var p = []
|
||||
for (var k in obj)
|
||||
if (obj[k] !== '' && obj[k] !== null && obj[k] !== undefined && obj[k] !== false)
|
||||
p.push(encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]))
|
||||
return '?' + p.join('&')
|
||||
}
|
||||
|
||||
// Get the endpoint to send requests to.
|
||||
var get_endpoint = function() {
|
||||
var s = document.querySelector('script[data-signalcounter]');
|
||||
if (s && s.dataset.signalcounter)
|
||||
return s.dataset.signalcounter
|
||||
return (signalcounter.endpoint || window.counter) // counter is for compat; don't use.
|
||||
}
|
||||
|
||||
// Filter some requests that we (probably) don't want to count.
|
||||
signalcounter.filter = function() {
|
||||
if ('visibilityState' in document && (document.visibilityState === 'prerender' || document.visibilityState === 'hidden'))
|
||||
return 'visibilityState'
|
||||
if (!signalcounter.allow_frame && location !== parent.location)
|
||||
return 'frame'
|
||||
// if (!signalcounter.allow_local && location.hostname.match(/(localhost$|^127\.|^10\.|^172\.(1[6-9]|2[0-9]|3[0-1])\.|^192\.168\.)/))
|
||||
// return 'localhost'
|
||||
if (!signalcounter.allow_local && location.protocol === 'file:')
|
||||
return 'localfile'
|
||||
if (localStorage && localStorage.getItem('skipsc') === 't')
|
||||
return 'disabled with #toggle-signalcounter'
|
||||
return false
|
||||
}
|
||||
|
||||
// Get URL to send to SignalCounter.
|
||||
window.signalcounter.url = function(vars) {
|
||||
var data = get_data(vars || {})
|
||||
if (data.p === null) // null from user callback.
|
||||
return
|
||||
data.rnd = Math.random().toString(36).substr(2, 5) // Browsers don't always listen to Cache-Control.
|
||||
|
||||
var endpoint = get_endpoint()
|
||||
if (!endpoint) {
|
||||
if (console && 'warn' in console)
|
||||
console.warn('signalcounter: no endpoint found')
|
||||
return
|
||||
}
|
||||
|
||||
return endpoint + urlencode(data)
|
||||
}
|
||||
|
||||
// Count a hit.
|
||||
window.signalcounter.count = function(vars) {
|
||||
var f = signalcounter.filter()
|
||||
if (f) {
|
||||
if (console && 'log' in console)
|
||||
console.warn('signalcounter: not counting because of: ' + f)
|
||||
return
|
||||
}
|
||||
|
||||
var url = signalcounter.url(vars)
|
||||
if (!url) {
|
||||
if (console && 'log' in console)
|
||||
console.warn('signalcounter: not counting because path callback returned null')
|
||||
return
|
||||
}
|
||||
|
||||
var img = document.createElement('img')
|
||||
img.src = url
|
||||
img.style.position = 'absolute' // Affect layout less.
|
||||
img.setAttribute('alt', '')
|
||||
img.setAttribute('aria-hidden', 'true')
|
||||
|
||||
var rm = function() { if (img && img.parentNode) img.parentNode.removeChild(img) }
|
||||
setTimeout(rm, 3000) // In case the onload isn't triggered.
|
||||
img.addEventListener('load', rm, false)
|
||||
document.body.appendChild(img)
|
||||
}
|
||||
|
||||
// Get a query parameter.
|
||||
window.signalcounter.get_query = function(name) {
|
||||
var s = location.search.substr(1).split('&')
|
||||
for (var i = 0; i < s.length; i++)
|
||||
if (s[i].toLowerCase().indexOf(name.toLowerCase() + '=') === 0)
|
||||
return s[i].substr(name.length + 1)
|
||||
}
|
||||
|
||||
// Track click events.
|
||||
window.signalcounter.bind_events = function() {
|
||||
if (!document.querySelectorAll) // Just in case someone uses an ancient browser.
|
||||
return
|
||||
|
||||
var send = function(elem) {
|
||||
return function() {
|
||||
signalcounter.count({
|
||||
event: true,
|
||||
path: (elem.dataset.signalcounterClick || elem.name || elem.id || ''),
|
||||
title: (elem.dataset.signalcounterTitle || elem.title || (elem.innerHTML || '').substr(0, 200) || ''),
|
||||
referrer: (elem.dataset.signalcounterReferrer || elem.dataset.signalcounterReferral || ''),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Array.prototype.slice.call(document.querySelectorAll("*[data-signalcounter-click]")).forEach(function(elem) {
|
||||
if (elem.dataset.signalcounterBound)
|
||||
return
|
||||
var f = send(elem)
|
||||
elem.addEventListener('click', f, false)
|
||||
elem.addEventListener('auxclick', f, false) // Middle click.
|
||||
elem.dataset.signalcounterBound = 'true'
|
||||
})
|
||||
}
|
||||
|
||||
// Make it easy to skip your own views.
|
||||
if (location.hash === '#toggle-signalcounter')
|
||||
if (localStorage.getItem('skipsc') === 't') {
|
||||
localStorage.removeItem('skipsc', 't')
|
||||
alert('SignalCounter tracking is now ENABLED in this browser.')
|
||||
}
|
||||
else {
|
||||
localStorage.setItem('skipgc', 't')
|
||||
alert('SignalCounter tracking is now DISABLED in this browser until ' + location + ' is loaded again.')
|
||||
}
|
||||
|
||||
if (!signalcounter.no_onload) {
|
||||
var DOMReady = function(callback) {
|
||||
document.readyState === "interactive" || document.readyState ==="complete" ? callback() : document.addEventListener("load", callback);
|
||||
};
|
||||
|
||||
DOMReady(function() {
|
||||
signalcounter.count()
|
||||
// if (!signalcounter.no_events)
|
||||
// signalcounter.bind_events()
|
||||
});
|
||||
/*
|
||||
var go = function() {
|
||||
signalcounter.count()
|
||||
if (!signalcounter.no_events)
|
||||
signalcounter.bind_events()
|
||||
}
|
||||
|
||||
if (document.body === null)
|
||||
document.addEventListener('DOMContentLoaded', function() { go() }, false)
|
||||
else
|
||||
go()
|
||||
*/
|
||||
}
|
||||
})();
|
||||
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
|
@ -1,29 +0,0 @@
|
|||
body{color:#1b1b1b;font-family:Inter, sans-serif;overflow-x:hidden}a:hover{color:#1851B4;text-decoration:underline}.content p{font-size:16px;font-weight:400;line-height:22px;margin-bottom:10px}h1{font-size:60px;font-weight:800;line-height:64px}h2{font-size:40px;font-weight:800;line-height:44px}h3{font-size:28px;font-weight:800;line-height:32px}h4{font-size:20px;font-weight:800;line-height:24px}p.body1{font-size:20px;font-weight:400;line-height:28px}p.body2{font-size:16px;font-weight:400;line-height:22px}p.body3{font-size:14px;font-weight:400;line-height:20px}@media (max-width: 768px){h1{font-size:40px;font-weight:800;line-height:44px}h2{font-size:28px;font-weight:800;line-height:32px}p.body1{font-size:16px;font-weight:400;line-height:22px}}.semibold{font-weight:600 !important}.hidden{display:none}.text-center{text-align:center}a.no-underline{text-decoration:none}.button{background-color:#2c6bed;border:none;border-radius:8px;color:#fff;font-family:BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:600;text-decoration:none}.button[disabled]{color:#1b1b1b}.button:hover{background-color:#1851B4;color:#fff;text-decoration:none}.button2{background-color:#fff;border-radius:8px;border:2px solid #2c6bed;color:#2c6bed;font-size:20px;line-height:28px}.button2:hover{background-color:#fff;border-color:#1851B4;color:#1851B4}.button-white{background-color:#fff;color:#2C6BED;font-size:20px;line-height:28px;padding:0 20px}.button-white:hover{background-color:#fff;color:#1851B4}.trailing-chevron::after{content:'\00bb';display:inline-block;margin-inline-start:0.25em}.separated-by-pipes li{display:inline-block}.separated-by-pipes li:not(:first-child){margin-inline-start:0.5em;padding-inline-start:0.5em;border-inline-start:1px solid #999}.signal-logo{height:30px;vertical-align:middle}body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:52px}.signal-navbar{border-bottom:1px solid #ebeaeb}@media (min-width: 1024px){body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:85px}.signal-navbar{padding:16px 0}.signal-logo{height:50px}}.signal-navbar .navbar-brand{align-items:center;padding-left:18px}@media (min-width: 1024px){.signal-navbar .navbar-brand{padding:0px}}.navbar-menu.is-active{position:absolute;width:100%}.signal-navbar .navbar-item,.signal-navbar .navbar-link{color:#1b1b1b;font-size:16px}.navbar-link:not(.is-arrowless)::after{border-color:#1b1b1b}.navbar-dropdown{max-height:200px;overflow:scroll}@media (max-width: 1024px){.navbar-link:not(.is-arrowless)::after{display:none}}.signal-navbar a.navbar-item:hover{background-color:inherit;text-decoration:none}.signal-navbar a.navbar-item:hover{color:#2C6BED}.signal-navbar .language-selector .icon{margin-right:4px}
|
||||
|
||||
.hero.hero-main{
|
||||
background-color: #ED9B40;
|
||||
color:#1b1b1b;
|
||||
max-height:760px
|
||||
}
|
||||
|
||||
@media (min-width: 1024px){.hero.hero-main{max-height:680px}}.hero-main h1{margin-bottom:24px}@media (min-width: 1024px){.hero-main h1{margin-top:120px}}.hero-main .hero-body{padding-bottom:0}.hero-main .subtitle{color:#1b1b1b;font-size:20px;line-height:30px}.hero-main .mobile-screenshots{position:relative}.hero-main .mobile-screenshots img{transform:rotate(22.5deg);width:218px}.hero-main .mobile-screenshots .screenshot1{margin-left:-50px;margin-top:55px}@media (min-width: 1024px){.hero-main .mobile-screenshots .screenshot1{margin-left:0px;margin-top:46px;width:320px}.hero-main .mobile-screenshots .screenshot2{width:300px}}.hero-main .mobile-screenshots .screenshot2{margin-left:-32px;position:absolute;top:0px}.section.quotes{background-color:#ECECEC}.section.quotes blockquote{color:#1b1b1b;font-size:20px;font-weight:800;line-height:24px;margin-bottom:16px}.section.quotes img{border-radius:50px}.section.quotes p{margin-bottom:48px}@media (min-width: 768px){.section.quotes blockquote{font-size:28px;line-height:32px}}.section.why-signal h2{margin-bottom:16px}@media (max-width: 768px){.section.why-signal{margin-bottom:-40px}}.section.information img{border-radius:16px}.section.information h2{margin-bottom:32px}.section.information .columns{flex-direction:row-reverse}.section.features{background-color:#F6F6F6}.section.features .box{background-color:#FFFFFF;border-radius:16px;box-shadow:0px 4px 12px rgba(0,0,0,0.12),0px 0px 2px rgba(0,0,0,0.08);height:100%;padding:30px}.section.features h3{color:#1b1b1b;font-size:28px;font-weight:800;line-height:32px;margin-top:18px;margin-bottom:4px}.section.features img{width:280px}@media (min-width: 768px){.section.features img{width:370px}}.lottie-wrapper{display:flex;justify-content:flex-end;width:100%}@media (max-width: 1024px){.lottie-wrapper{justify-content:center}}.lottie-animation{background-color:#a5cad5;border-radius:16px;padding:16px}.section.information img,.section.information .lottie-animation{width:384px}@media (min-width: 768px){.section.information img,.section.information .lottie-animation{width:680px}}.footer{background-color:#3C3744;color:#E9E9E9;font-size:16px;line-height:22px}.footer strong{color:#E9E9E9;display:block;font-weight:600;margin-bottom:12px}.footer a{color:#E9E9E9}.footer a:hover{text-decoration:underline}.icon{background-repeat:no-repeat;height:16px;width:16px}.icon-3x{height:40px;width:40px}.icon-external-link-alt{background-image:url(/assets/icons/external-link-alt-cdef7b31e9343f9af191079e0d6f34fe3f0d308d36376d6623457e5a8308dd6f.svg);background-position:center;height:20px !important}button .icon-external-link-alt{background-image:url(/assets/icons/external-blue-e505406cadaf1501969ead8ec71078f4f0ae840e827c0089e4a26c74c5f67482.svg)}.icon-globe{background-image:url(/assets/icons/solid_globe-35e2854ca14ff9b6018268f57a4e4c13b54df96239eebf876039b2cfde06f3ca.svg)}.icon-facebook{background-image:url(/assets/icons/facebook-64a08e71eaf9761bffde724aacd32b3270f07bb0264fd53049b4566676180360.svg);height:20px;width:20px}.icon-twitter{background-image:url(/assets/icons/twitter-75c765c3b019dd08fd7b2ce995d2161f73fccaaccf6125db3cbc2feea6436f5f.svg);height:20px;width:20px}.icon-instagram{background-image:url(/assets/icons/instagram-63876ccfbad266bbbc5b822d9d3fc0c92ebcbf1e3be12033f75ec3ac71a95bf9.svg);height:20px;width:20px}.icon-eye-slash{background-image:url(/assets/icons/eye-slash-09043cdac51b17673b86d130b008580f16592b958ffd1c16df939f3558693d33.svg)}.icon-users{background-image:url(/assets/icons/users-3b25256c28f817f7d08bbfa8621926abb1910dfec2a6f64af8715ffa3c73c4ea.svg)}.icon-dollar-sign{background-image:url(/assets/icons/dollar-02914d5ef1f8e051cf01e0e5d29f4dc8e210efe228e887f7db077780ded0e5bd.svg)}.icon-globe-americas{background-image:url(/assets/icons/globe-americas-1d6e11ba2fd59070ed4790df1622fcedaa1c4eeafa9d801fd8f144eb686d9e69.svg)}.icon-code{background-image:url(/assets/icons/code-3761afa1725a542f0cecf9fc304ebdd52e41000839f5310a4e214cb46ff565c4.svg)}.icon-certificate{background-image:url(/assets/icons/solid_certificate-1829dfc510ec3ad50fe05fba2c7c37db5c17182707dcd152d1036c6b680bca57.svg)}.download h2{margin-bottom:32px}.download h3{margin-bottom:24px}.download .button{margin:15px 30px}
|
||||
|
||||
.download-window.columns{
|
||||
background-color:#ED9B40;
|
||||
border-radius:12px;
|
||||
height:300px;
|
||||
margin:0;
|
||||
margin-bottom:25px
|
||||
}
|
||||
|
||||
.rentButton {
|
||||
background-color: #ED9B40;
|
||||
border-radius: 10px;
|
||||
padding: 0px 20px !important;
|
||||
margin-left: 10px;
|
||||
font-weight: 400;
|
||||
color: white !important;
|
||||
max-height: 40px;
|
||||
}
|
||||
|
||||
.download-window .column{height:100%;padding-bottom:0}.download-window .download-window-wrapper{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:flex-end;margin:0 auto}.download .message{background:#f6f6f6;margin-top:16px}.download .message-body{border:none;font-size:14px;line-height:20px}.download .modal-card-body{padding:0}.download .modal-card-body pre{text-align:left}.blog{background-color:#f7f7f7}.post img{display:block;margin:0 auto}.post .author{border-radius:50%;display:block;height:80px;margin-left:auto;margin-right:auto;margin-top:-40px;width:80px}.blog-post-preview{background-color:#fff;border:1px solid #ddd;box-shadow:0 1px 2px rgba(0,0,0,0.05);margin-bottom:20px;margin-top:80px;padding-bottom:80px;padding-left:15px;padding-right:15px}.blog-post-preview h3{font-size:30px;line-height:40px;margin-bottom:16px;margin-top:40px}@media (max-width: 768px){.blog-post-preview h3{font-size:24px;line-height:36px}}.blog-post-preview h3 a{color:#1b1b1b}.blog-post-preview h3 a:hover{color:#1b1b1b;text-decoration:none}.blog-post-preview p{font-size:16px;font-weight:400;line-height:24px;margin-bottom:20px}.blog-post-header img.author{margin-top:0px}.blog-post-header h1{font-size:30px;line-height:40px;margin-bottom:16px;margin-top:40px}@media (max-width: 768px){.blog-post-header h1{font-size:24px;line-height:36px}}.blog-post-header .body2{margin-bottom:20px}.blog-post-content h1{font-size:30px;line-height:40px;margin-bottom:16px;margin-top:40px}.blog-post-content h2,.blog-post-content h3{font-weight:600;margin-top:60px;margin-bottom:16px}.blog-post-content h2{font-size:24px;line-height:36px}.blog-post-content h3{font-size:20px;line-height:30px}.blog-post-content p{font-size:20px;font-weight:400;line-height:30px}.blog-post-content div,.blog-post-content p{margin-bottom:36px}.blog-post-content ul{list-style-type:disc}.blog-post-content ul,.blog-post-content ol{margin-left:30px}.blog-post-content ul li,.blog-post-content ol li{margin-bottom:20px;font-size:20px;font-weight:400}@media (max-width: 768px){.blog-post-content h2,.blog-post-content h3{margin-top:30px}.blog-post-content h2{font-size:22px;line-height:34px}.blog-post-content p{font-size:16px;line-height:24px}.blog-post-content div,.blog-post-content p{margin-bottom:20px}.blog-post-content ul li,.blog-post-content ol li{font-size:16px}}.blog-post-content img.nice-left{float:left;margin-right:30px}.blog-post-content .social-sharing a{margin-right:20px}.blog-post-content pre.highlight{overflow:scroll}header.documentation{background-color:#f6f6f6;margin-bottom:40px;margin-top:12px;padding-bottom:0;padding-top:0}header.documentation h1{margin-bottom:24px}.docs h2{margin-bottom:24px}.docs .body2.semibold{margin-bottom:16px}.docs .spec{margin-bottom:30px}.docs li{margin-bottom:8px}.docs li a{font-weight:600}@media screen and (max-width: 769px){.is-reversed-column-order-mobile{display:flex;flex-direction:column-reverse}}header.jobs-header{background:#e7dfe0;margin-top:12px;padding-bottom:0;padding-top:0}header.jobs-header h1{margin-bottom:24px}.jobs{margin-top:40px}.jobs h2{margin-bottom:24px}.jobs h3{margin-top:16px;margin-bottom:16px}.jobs .columns:not(:last-child){margin-bottom:40px}p.stickers{font-size:17px}.android-screenshot{overflow:hidden;position:relative}.android-screenshot img{bottom:-223px;position:absolute;width:240px}html[dir=rtl] .signal-logo{margin-left:40px}html[dir=rtl].navbar-end{justify-content:flex-start;margin-left:0;margin-right:auto}html[dir=rtl] .mobile-screenshots{margin-right:60px}html[dir=rtl] .signal-navbar .language-selector .icon{margin-left:4px;margin-right:0}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:local("Inter-Regular"),url(/assets/inter/Inter-Regular-c342b1b7f7d19be1429fef29bf3af6d9e8c3e21aba846e082cdee1db8a530c83.woff2) format("woff2"),url(/assets/inter/Inter-Regular-b825f1bc25dee8a67cf5a2c461410c2c755bca29b9297c8f930fe4486ba35dd3.woff) format("woff")}@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:local("Inter-ExtraBold"),url(/assets/inter/Inter-ExtraBold-74e72c6bbb7844899343c4783be9b4510e32951636acde44d5b4725e2132ea03.woff2) format("woff2"),url(/assets/inter/Inter-ExtraBold-585b4ce19c2d757e2f9f6925a280650188bd2a49e7613f687dabdb15543e17eb.woff) format("woff")}
|
||||