diff --git a/website/api/controllers/imagine/deliver-launch-party-signup.js b/website/api/controllers/imagine/deliver-launch-party-signup.js deleted file mode 100644 index 3dffd39599..0000000000 --- a/website/api/controllers/imagine/deliver-launch-party-signup.js +++ /dev/null @@ -1,78 +0,0 @@ -module.exports = { - - - friendlyName: 'Deliver launch party signup', - - - description: 'Delivers a form submission to a Zapier webhook when someone RSVPs to our MDM launch party.', - - - inputs: { - - emailAddress: { - required: true, - type: 'string', - description: 'The email address provided when a user submitted the launch party waitlist form.', - example: 'hermione@hogwarts.edu' - }, - - firstName: { - required: true, - type: 'string', - description: 'The first name provided when a user submitted the launch party waitlist form', - }, - - lastName: { - required: true, - type: 'string', - description: 'The last name provided when a user submitted the launch party waitlist form', - }, - - jobTitle: { - type: 'string', - description: 'The job title provided when a user submitted the launch party waitlist form', - }, - - phoneNumber: { - type: 'string', - description: 'The phone number provided when a user submitted the launch party waitlist form', - }, - }, - - - exits: { - - success: { - description: 'The message was sent successfully.' - } - - }, - - - fn: async function({emailAddress, firstName, lastName, jobTitle, phoneNumber}) { - - if(!sails.config.custom.zapierSandboxWebhookSecret) { - throw new Error('Message not delivered: zapierSandboxWebhookSecret needs to be configured in sails.config.custom.'); - } - // Send a POST request to Zapier - await sails.helpers.http.post( - 'https://hooks.zapier.com/hooks/catch/3627242/33kdpw0/', - { - 'firstName': firstName, - 'lastName': lastName, - 'emailAddress': emailAddress, - 'jobTitle': jobTitle, - 'phoneNumber': phoneNumber, - 'webhookSecret': sails.config.custom.zapierSandboxWebhookSecret - } - ) - .timeout(5000) - .tolerate(['non200Response', 'requestFailed', {name: 'TimeoutError'}], (err)=>{ - // Note that Zapier responds with a 2xx status code even if something goes wrong, so just because this message is not logged doesn't mean everything is hunky dory. More info: https://github.com/fleetdm/fleet/pull/6380#issuecomment-1204395762 - sails.log.warn(`When a user submitted the launch party waitlist form, an error occurred while sending a request to Zapier. Raw error: ${require('util').inspect(err)}`); - return; - }); - - } - -}; diff --git a/website/api/controllers/imagine/view-defcon-31.js b/website/api/controllers/imagine/view-defcon-31.js deleted file mode 100644 index b1d5a93d0c..0000000000 --- a/website/api/controllers/imagine/view-defcon-31.js +++ /dev/null @@ -1,33 +0,0 @@ -module.exports = { - - - friendlyName: 'View defcon 31', - - - description: 'Display "Defcon 31" page.', - - - exits: { - - success: { - viewTemplatePath: 'pages/imagine/defcon-31' - }, - badConfig: { responseType: 'badConfig' }, - }, - - - fn: async function () { - if (!_.isObject(sails.config.builtStaticContent) || !_.isArray(sails.config.builtStaticContent.testimonials) || !sails.config.builtStaticContent.compiledPagePartialsAppPath) { - throw {badConfig: 'builtStaticContent.testimonials'}; - } - // Get testimonials for the component. - let testimonialsForScrollableTweets = sails.config.builtStaticContent.testimonials; - // Respond with view. - return { - testimonialsForScrollableTweets, - }; - - } - - -}; diff --git a/website/api/controllers/imagine/view-higher-education.js b/website/api/controllers/imagine/view-higher-education.js deleted file mode 100644 index 1cdcbf9259..0000000000 --- a/website/api/controllers/imagine/view-higher-education.js +++ /dev/null @@ -1,33 +0,0 @@ -module.exports = { - - - friendlyName: 'View higher education', - - - description: 'Display "Higher education" page.', - - - exits: { - - success: { - viewTemplatePath: 'pages/imagine/higher-education' - }, - badConfig: { responseType: 'badConfig' }, - }, - - - fn: async function () { - if (!_.isObject(sails.config.builtStaticContent) || !_.isArray(sails.config.builtStaticContent.testimonials) || !sails.config.builtStaticContent.compiledPagePartialsAppPath) { - throw {badConfig: 'builtStaticContent.testimonials'}; - } - // Get testimonials for the component. - let testimonialsForScrollableTweets = sails.config.builtStaticContent.testimonials; - // Respond with view. - return { - testimonialsForScrollableTweets, - }; - - } - - -}; diff --git a/website/api/controllers/imagine/view-jamf-alternative.js b/website/api/controllers/imagine/view-jamf-alternative.js deleted file mode 100644 index fdfed3b28f..0000000000 --- a/website/api/controllers/imagine/view-jamf-alternative.js +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - - - friendlyName: 'View jamf alternative', - - - description: 'Display "Jamf alternative" page.', - - - exits: { - - success: { - viewTemplatePath: 'pages/imagine/jamf-alternative' - } - - }, - - - fn: async function () { - // Get testimonials for the component. - let testimonialsForScrollableTweets = sails.config.builtStaticContent.testimonials; - // Respond with view. - return { - testimonialsForScrollableTweets, - }; - } - - -}; diff --git a/website/api/controllers/imagine/view-launch-party.js b/website/api/controllers/imagine/view-launch-party.js deleted file mode 100644 index 268fdbcbc7..0000000000 --- a/website/api/controllers/imagine/view-launch-party.js +++ /dev/null @@ -1,65 +0,0 @@ -module.exports = { - - - friendlyName: 'View launch party', - - - description: 'Display "Launch party" page.', - - - inputs: { - showForm: { - type: 'boolean', - description: 'An optional boolean that if provided with other', - defaultsTo: false - }, - emailAddress: { - type: 'string', - description: 'If provided, this value will be used to prefill the emailAddress field in the waitlist form' - }, - firstName: { - type: 'string', - description: 'If provided, this value will be used to prefill the first name field in the waitlist form' - }, - lastName: { - type: 'string', - description: 'If provided, this value will be used to prefill the last name field in the waitlist form' - } - }, - - - exits: { - - success: { - viewTemplatePath: 'pages/imagine/launch-party' - } - - }, - - - fn: async function ({showForm, emailAddress, firstName, lastName}) { - - // If form inputs are provided via query string we'll prefill the inputs in the waitlist form. (e.g., A user is coming to this page from a personalized link in an email) - let formDataToPrefill = {}; - if(emailAddress){// Email address will always be provided if a user is coming here from an email link. - formDataToPrefill.emailAddress = emailAddress; - } - // If the first name provided is not '?' or Outreach's first name template, we'll prefill the first name in the waitlist form. - if(firstName && firstName !== '?' && firstName !== '{{first_name}}') { - formDataToPrefill.firstName = firstName; - } - // If the last name provided is not '?' or Outreach's last name template, we'll prefill the last name in the waitlist form. - if(lastName && lastName !== '?' && lastName !== '{{last_name}}') { - formDataToPrefill.lastName = lastName; - } - - // Respond with view. - return { - showForm, - formDataToPrefill, - }; - - } - - -}; diff --git a/website/api/controllers/imagine/view-rapid-7-alternative.js b/website/api/controllers/imagine/view-rapid-7-alternative.js deleted file mode 100644 index 7aaaf6b0ba..0000000000 --- a/website/api/controllers/imagine/view-rapid-7-alternative.js +++ /dev/null @@ -1,34 +0,0 @@ -module.exports = { - - - friendlyName: 'View rapid 7 alternative', - - - description: 'Display "Rapid 7 alternative" page.', - - - exits: { - - success: { - viewTemplatePath: 'pages/imagine/rapid-7-alternative' - }, - - badConfig: { responseType: 'badConfig' }, - }, - - - fn: async function () { - if (!_.isObject(sails.config.builtStaticContent) || !_.isArray(sails.config.builtStaticContent.testimonials) || !sails.config.builtStaticContent.compiledPagePartialsAppPath) { - throw {badConfig: 'builtStaticContent.testimonials'}; - } - // Get testimonials for the component. - let testimonialsForScrollableTweets = sails.config.builtStaticContent.testimonials; - // Respond with view. - return { - testimonialsForScrollableTweets, - }; - - } - - -}; diff --git a/website/api/controllers/imagine/view-unused-software.js b/website/api/controllers/imagine/view-unused-software.js deleted file mode 100644 index ed8f28cca5..0000000000 --- a/website/api/controllers/imagine/view-unused-software.js +++ /dev/null @@ -1,33 +0,0 @@ -module.exports = { - - - friendlyName: 'View unused software', - - - description: 'Display "Unused software" page.', - - - exits: { - - success: { - viewTemplatePath: 'pages/imagine/unused-software' - }, - badConfig: { responseType: 'badConfig' }, - }, - - - fn: async function () { - if (!_.isObject(sails.config.builtStaticContent) || !_.isArray(sails.config.builtStaticContent.testimonials) || !sails.config.builtStaticContent.compiledPagePartialsAppPath) { - throw {badConfig: 'builtStaticContent.testimonials'}; - } - // Get testimonials for the component. - let testimonialsForScrollableTweets = sails.config.builtStaticContent.testimonials; - // Respond with view. - return { - testimonialsForScrollableTweets, - }; - - } - - -}; diff --git a/website/assets/js/pages/imagine/defcon-31.page.js b/website/assets/js/pages/imagine/defcon-31.page.js deleted file mode 100644 index 888d819b37..0000000000 --- a/website/assets/js/pages/imagine/defcon-31.page.js +++ /dev/null @@ -1,25 +0,0 @@ -parasails.registerPage('defcon-31', { - // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ - // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ - // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ - data: { - //… - }, - - // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ - // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ - // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ - beforeMount: function() { - //… - }, - mounted: async function() { - //… - }, - - // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ - // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ - // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ - methods: { - //… - } -}); diff --git a/website/assets/js/pages/imagine/higher-education.page.js b/website/assets/js/pages/imagine/higher-education.page.js deleted file mode 100644 index 8dc1330187..0000000000 --- a/website/assets/js/pages/imagine/higher-education.page.js +++ /dev/null @@ -1,25 +0,0 @@ -parasails.registerPage('higher-education', { - // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ - // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ - // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ - data: { - //… - }, - - // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ - // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ - // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ - beforeMount: function() { - //… - }, - mounted: async function() { - //… - }, - - // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ - // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ - // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ - methods: { - //… - } -}); diff --git a/website/assets/js/pages/imagine/jamf-alternative.page.js b/website/assets/js/pages/imagine/jamf-alternative.page.js deleted file mode 100644 index d795588682..0000000000 --- a/website/assets/js/pages/imagine/jamf-alternative.page.js +++ /dev/null @@ -1,25 +0,0 @@ -parasails.registerPage('jamf-alternative', { - // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ - // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ - // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ - data: { - //… - }, - - // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ - // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ - // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ - beforeMount: function() { - //… - }, - mounted: async function() { - //… - }, - - // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ - // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ - // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ - methods: { - //… - } -}); diff --git a/website/assets/js/pages/imagine/launch-party.page.js b/website/assets/js/pages/imagine/launch-party.page.js deleted file mode 100644 index bd2557d15b..0000000000 --- a/website/assets/js/pages/imagine/launch-party.page.js +++ /dev/null @@ -1,74 +0,0 @@ -parasails.registerPage('launch-party', { - // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ - // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ - // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ - data: { - formData: { /* … */ }, - - // For tracking client-side validation errors in our form. - // > Has property set to `true` for each invalid property in `formData`. - formErrors: { /* … */ }, - - // Form rules - formRules: { - firstName: {required: true }, - lastName: {required: true }, - emailAddress: {required: true, isEmail: true}, - }, - cloudError: '', - // Syncing / loading state - syncing: false, - showSignupFormSuccess: false, - // Modal - - modal: '', - showAlternateWaitlistText: false, - }, - - // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ - // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ - // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ - beforeMount: function() { - - //… - }, - mounted: async function() { - - if(this.showForm) { - this.modal = 'happy-hour-waitlist'; - if(!_.isEmpty(this.formDataToPrefill)){ - // If the user came here via a personalized link in an email, we'll prefill the form with the user information (if provided) - this.formData = this.formDataToPrefill; - this.showAlternateWaitlistText = true; - } - } - - }, - - // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ - // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ - // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ - methods: { - clickOpenModal: function() { - this.modal = 'happy-hour-waitlist'; - }, - closeModal: async function () { - this.modal = ''; - await this._resetForms(); - }, - typeClearOneFormError: async function(field) { - if(this.formErrors[field]){ - this.formErrors = _.omit(this.formErrors, field); - } - }, - submittedForm: function() { - this.showSignupFormSuccess = true; - }, - _resetForms: async function() { - this.cloudError = ''; - this.formData = {}; - this.formErrors = {}; - await this.forceRender(); - }, - } -}); diff --git a/website/assets/js/pages/imagine/rapid-7-alternative.page.js b/website/assets/js/pages/imagine/rapid-7-alternative.page.js deleted file mode 100644 index ee5e1d3fa9..0000000000 --- a/website/assets/js/pages/imagine/rapid-7-alternative.page.js +++ /dev/null @@ -1,25 +0,0 @@ -parasails.registerPage('rapid-7-alternative', { - // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ - // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ - // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ - data: { - //… - }, - - // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ - // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ - // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ - beforeMount: function() { - //… - }, - mounted: async function() { - //… - }, - - // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ - // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ - // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ - methods: { - //… - } -}); diff --git a/website/assets/js/pages/imagine/unused-software.page.js b/website/assets/js/pages/imagine/unused-software.page.js deleted file mode 100644 index f51149586e..0000000000 --- a/website/assets/js/pages/imagine/unused-software.page.js +++ /dev/null @@ -1,25 +0,0 @@ -parasails.registerPage('unused-software', { - // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ - // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ - // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ - data: { - //… - }, - - // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ - // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ - // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ - beforeMount: function() { - //… - }, - mounted: async function() { - //… - }, - - // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ - // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ - // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ - methods: { - //… - } -}); diff --git a/website/assets/styles/importer.less b/website/assets/styles/importer.less index e6b2c2829d..e6624efd3d 100644 --- a/website/assets/styles/importer.less +++ b/website/assets/styles/importer.less @@ -78,11 +78,3 @@ @import 'pages/try-fleet/explore-data.less'; @import 'pages/start.less'; - -// Imagine = landing pages for Marketing -@import 'pages/imagine/launch-party.less'; -@import 'pages/imagine/unused-software.less'; -@import 'pages/imagine/higher-education.less'; -@import 'pages/imagine/rapid-7-alternative.less'; -@import 'pages/imagine/defcon-31.less'; -@import 'pages/imagine/jamf-alternative.less'; diff --git a/website/assets/styles/pages/imagine/defcon-31.less b/website/assets/styles/pages/imagine/defcon-31.less deleted file mode 100644 index 1886c22b4c..0000000000 --- a/website/assets/styles/pages/imagine/defcon-31.less +++ /dev/null @@ -1,356 +0,0 @@ -#defcon-31 { - - h1 { - font-weight: 800; - font-size: 64px; - line-height: 76px; - } - h2 { - font-weight: 800; - font-size: 32px; - line-height: 38px; - margin-bottom: 40px; - } - h3 { - font-weight: 800; - font-size: 24px; - line-height: 32px; - } - h4 { - font-family: 'Roboto Mono'; - font-style: normal; - font-weight: 400; - font-size: 18px; - line-height: 24px; - color: @core-fleet-black-75; - margin-bottom: 4px; - } - p { - font-size: 16px; - line-height: 24px; - } - [purpose='hero'] { - background-image: url('/images/defcon-hero.png'); - height: 530px; - background-size: cover; - background-repeat: no-repeat; - background-position: center; - width: 100%; - margin-bottom: 40px; - border-radius: 8px; - } - [purpose='hero-background'] { - background: linear-gradient(180deg, #E8F1F7 3.37%, #FFFFFF 60%); - padding-top: 120px; - padding-bottom: 40px; - } - [purpose='hero-container'] { - max-width: 1200px; - } - [purpose='hero-text'] { - text-align: center; - max-width: 940px; - padding: 0 40px; - h1 { - margin-bottom: 32px; - } - p { - font-size: 18px; - line-height: 27px; - max-width: 640px; - margin: 0 auto 32px; - } - } - - [purpose='button-row'] { - a { - font-weight: 700; - font-size: 16px; - line-height: 24px; - } - [purpose='cta-button'] { - cursor: pointer; - margin-right: 32px; - background: @core-vibrant-red; - border-radius: 8px; - padding-left: 32px; - padding-right: 32px; - height: 48px; - display: flex; - justify-content: center; - align-items: center; - color: #FFF; - position: relative; - text-decoration: none; - } - [purpose='cta-button']::before { - background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%); - opacity: 1; - content: ' '; - position: absolute; - top: 0; - left: -5px; - width: 50%; - height: 100%; - transform: skew(-10deg); - transition: left 0.5s ease-in, opacity 0.50s ease-in, width 0.5s ease-in; - } - [purpose='cta-button']:hover:before { - opacity: 0; - left: 160px; - width: 110%; - } - - [purpose='animated-arrow-button-red'] { - display: inline; - padding-right: 40px; - cursor: pointer; - position: relative; - width: fit-content; - min-width: 125px; - font-weight: bold; - user-select: none; - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - color: @core-fleet-black; - text-decoration: none; - &:after { - content: url('/images/arrow-right-red-16x16@2x.png'); - transform: scale(0.5); - position: absolute; - top: -5px; - left: 80%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity: 0; */ - } - &:hover:after { - left: 82%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity:1; */ - } - } - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - padding-bottom: 120px; - } - - [purpose='feature'] { - margin-top: 120px; - max-width: 960px; - h3 { - margin-bottom: 24px; - } - div { - max-width: 480px; - } - } - - [purpose='feature-image'] { - img { - max-height: 300px; - } - } - [purpose='large-feature-image'] { - img { - max-height: 250px; - } - } - - [purpose='checklists'] { - margin-top: 40px; - margin-bottom: 80px; - } - [purpose='checklist'] { - p { - padding-left: 28px; - text-indent: -28px; - } - p::before { - content: ' '; - background-image: url('/images/icon-checkmark-circle.svg'); - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 2px; - margin-right: 12px; - width: 16px; - height: 16px; - } - } - - [purpose='tweets-container'] { - padding-top: 120px; - padding-bottom: 120px; - } - - [purpose='bottom-gradient'] { - background: linear-gradient(180deg, #FFFFFF 0%, #E9F4F4 100%); - } - [purpose='bottom-cloud-city-banner'] { - background: linear-gradient(180deg, #E9F4F4 0%, #FFFFFF 100%); - img { - width: 100%; - } - } - - @media (min-width: 1200px) { - [purpose='page-container'] { - padding-left: 120px; - padding-right: 120px; - } - } - - @media (max-width: 1200px) { - [purpose='logos'] { - height: 58px; - margin-left: auto; - margin-right: auto; - img { - margin-top: 23.5px; - margin-bottom: 23.5px; - padding-left: 25px; - padding-right: 25px; - } - [purpose='snowflake-logo'] { - height: 21px; - } - [purpose='wayfair-logo'] { - height: 23px; - } - [purpose='uber-logo'] { - height: 20px; - } - [purpose='atlassian-logo'] { - height: 16px; - } - [purpose='segment-logo'] { - height: 22px; - } - } - } - - @media (max-width: 991px) { - - [purpose='button-row'] { - margin-right: auto; - margin-left: auto; - } - - [purpose='hero-background'] { - padding-top: 120px; - padding-bottom: 80px; - padding-left: 0px; - padding-right: 0px; - } - - [purpose='logos'] { - height: 58px; - margin-left: 20px; - margin-right: 20px; - img { - margin-top: 17.5px; - margin-bottom: 17.5px; - padding-left: 10px; - padding-right: 10px; - } - } - } - - @media (max-width: 768px) { - - h1 { - font-size: 48px; - line-height: 54px; - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - } - - [purpose='checklists'] { - margin-bottom: 40px; - } - - [purpose='feature'] { - margin-top: 80px; - } - - [purpose='feature-image'], [purpose='large-feature-image'] { - margin-bottom: 40px; - img { - max-height: 100%; - max-width: 100%; - } - } - - [purpose='hero-background'] { - padding-top: 60px; - padding-bottom: 60px; - padding-left: 20px; - padding-right: 20px; - } - - [purpose='hero-text'] { - text-align: center; - max-width: 480px; - } - - [purpose='tweets-container'] { - padding-top: 80px; - padding-bottom: 80px; - padding-left: 40px; - padding-right: 40px; - } - - [purpose='logos'] { - height: auto; - } - } - - @media (max-width: 575px) { - - [purpose='button-row'] { - max-width: 100%; - [purpose='cta-button'] { - margin-right: 0px; - width: 100%; - margin-bottom: 24px; - } - } - - [purpose='feature'] { - margin-top: 60px; - } - - [purpose='page-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [purpose='tweets-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [parasails-component='scrollable-tweets'] [purpose='tweets'] { - margin-top: 40px; - } - - } - -} diff --git a/website/assets/styles/pages/imagine/higher-education.less b/website/assets/styles/pages/imagine/higher-education.less deleted file mode 100644 index 10a3038cc4..0000000000 --- a/website/assets/styles/pages/imagine/higher-education.less +++ /dev/null @@ -1,347 +0,0 @@ -#higher-education { - - h1 { - font-weight: 800; - font-size: 64px; - line-height: 76px; - } - h2 { - font-weight: 800; - font-size: 32px; - line-height: 38px; - margin-bottom: 40px; - } - h3 { - font-weight: 800; - font-size: 24px; - line-height: 32px; - } - h4 { - font-family: 'Roboto Mono'; - font-style: normal; - font-weight: 400; - font-size: 18px; - line-height: 24px; - color: @core-fleet-black-75; - margin-bottom: 4px; - } - p { - font-size: 16px; - line-height: 24px; - } - - [purpose='hero-background'] { - background: linear-gradient(180deg, #E8F1F7 3.37%, #FFFFFF 60%); - padding-top: 120px; - padding-bottom: 40px; - } - [purpose='hero-container'] { - max-width: 1200px; - } - [purpose='hero-text'] { - text-align: center; - max-width: 940px; - padding: 0 40px; - h1 { - margin-bottom: 32px; - } - p { - font-size: 18px; - line-height: 27px; - max-width: 640px; - margin: 0 auto 32px; - } - } - - [purpose='button-row'] { - a { - font-weight: 700; - font-size: 16px; - line-height: 24px; - } - [purpose='cta-button'] { - cursor: pointer; - margin-right: 32px; - background: @core-vibrant-red; - border-radius: 8px; - padding-left: 32px; - padding-right: 32px; - height: 48px; - display: flex; - justify-content: center; - align-items: center; - color: #FFF; - position: relative; - text-decoration: none; - } - [purpose='cta-button']::before { - background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%); - opacity: 1; - content: ' '; - position: absolute; - top: 0; - left: -5px; - width: 50%; - height: 100%; - transform: skew(-10deg); - transition: left 0.5s ease-in, opacity 0.50s ease-in, width 0.5s ease-in; - } - [purpose='cta-button']:hover:before { - opacity: 0; - left: 160px; - width: 110%; - } - - [purpose='animated-arrow-button-red'] { - display: inline; - padding-right: 40px; - cursor: pointer; - position: relative; - width: fit-content; - min-width: 125px; - font-weight: bold; - user-select: none; - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - color: @core-fleet-black; - text-decoration: none; - &:after { - content: url('/images/arrow-right-red-16x16@2x.png'); - transform: scale(0.5); - position: absolute; - top: -5px; - left: 80%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity: 0; */ - } - &:hover:after { - left: 82%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity:1; */ - } - } - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - padding-bottom: 120px; - } - - [purpose='feature'] { - margin-top: 120px; - max-width: 960px; - h3 { - margin-bottom: 24px; - } - div { - max-width: 480px; - } - } - - [purpose='feature-image'] { - img { - max-height: 300px; - } - } - [purpose='large-feature-image'] { - img { - max-height: 250px; - } - } - - [purpose='checklists'] { - margin-top: 40px; - margin-bottom: 80px; - } - [purpose='checklist'] { - p { - padding-left: 28px; - text-indent: -28px; - } - p::before { - content: ' '; - background-image: url('/images/icon-checkmark-circle.svg'); - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 2px; - margin-right: 12px; - width: 16px; - height: 16px; - } - } - - [purpose='tweets-container'] { - padding-top: 120px; - padding-bottom: 120px; - } - - [purpose='bottom-gradient'] { - background: linear-gradient(180deg, #FFFFFF 0%, #E9F4F4 100%); - } - [purpose='bottom-cloud-city-banner'] { - background: linear-gradient(180deg, #E9F4F4 0%, #FFFFFF 100%); - img { - width: 100%; - } - } - - @media (min-width: 1200px) { - [purpose='page-container'] { - padding-left: 120px; - padding-right: 120px; - } - } - - @media (max-width: 1200px) { - [purpose='logos'] { - height: 58px; - margin-left: auto; - margin-right: auto; - img { - margin-top: 23.5px; - margin-bottom: 23.5px; - padding-left: 25px; - padding-right: 25px; - } - [purpose='snowflake-logo'] { - height: 21px; - } - [purpose='wayfair-logo'] { - height: 23px; - } - [purpose='uber-logo'] { - height: 20px; - } - [purpose='atlassian-logo'] { - height: 16px; - } - [purpose='segment-logo'] { - height: 22px; - } - } - } - - @media (max-width: 991px) { - - [purpose='button-row'] { - margin-right: auto; - margin-left: auto; - } - - [purpose='hero-background'] { - padding-top: 120px; - padding-bottom: 80px; - padding-left: 0px; - padding-right: 0px; - } - - [purpose='logos'] { - height: 58px; - margin-left: 20px; - margin-right: 20px; - img { - margin-top: 17.5px; - margin-bottom: 17.5px; - padding-left: 10px; - padding-right: 10px; - } - } - } - - @media (max-width: 768px) { - - h1 { - font-size: 48px; - line-height: 54px; - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - } - - [purpose='checklists'] { - margin-bottom: 40px; - } - - [purpose='feature'] { - margin-top: 80px; - } - - [purpose='feature-image'], [purpose='large-feature-image'] { - margin-bottom: 40px; - img { - max-height: 100%; - max-width: 100%; - } - } - - [purpose='hero-background'] { - padding-top: 60px; - padding-bottom: 60px; - padding-left: 20px; - padding-right: 20px; - } - - [purpose='hero-text'] { - text-align: center; - max-width: 480px; - } - - [purpose='tweets-container'] { - padding-top: 80px; - padding-bottom: 80px; - padding-left: 40px; - padding-right: 40px; - } - - [purpose='logos'] { - height: auto; - } - } - - @media (max-width: 575px) { - - [purpose='button-row'] { - max-width: 100%; - [purpose='cta-button'] { - margin-right: 0px; - width: 100%; - margin-bottom: 24px; - } - } - - [purpose='feature'] { - margin-top: 60px; - } - - [purpose='page-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [purpose='tweets-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [parasails-component='scrollable-tweets'] [purpose='tweets'] { - margin-top: 40px; - } - - } - -} diff --git a/website/assets/styles/pages/imagine/jamf-alternative.less b/website/assets/styles/pages/imagine/jamf-alternative.less deleted file mode 100644 index 62fa8e1c14..0000000000 --- a/website/assets/styles/pages/imagine/jamf-alternative.less +++ /dev/null @@ -1,347 +0,0 @@ -#jamf-alternative { - - h1 { - font-weight: 800; - font-size: 64px; - line-height: 76px; - } - h2 { - font-weight: 800; - font-size: 32px; - line-height: 38px; - margin-bottom: 40px; - } - h3 { - font-weight: 800; - font-size: 24px; - line-height: 32px; - } - h4 { - font-family: 'Roboto Mono'; - font-style: normal; - font-weight: 400; - font-size: 18px; - line-height: 24px; - color: @core-fleet-black-75; - margin-bottom: 4px; - } - p { - font-size: 16px; - line-height: 24px; - } - - [purpose='hero-background'] { - background: linear-gradient(180deg, #E8F1F7 3.37%, #FFFFFF 60%); - padding-top: 120px; - padding-bottom: 40px; - } - [purpose='hero-container'] { - max-width: 1200px; - } - [purpose='hero-text'] { - text-align: center; - max-width: 940px; - padding: 0 40px; - h1 { - margin-bottom: 32px; - } - p { - font-size: 18px; - line-height: 27px; - max-width: 640px; - margin: 0 auto 32px; - } - } - - [purpose='button-row'] { - a { - font-weight: 700; - font-size: 16px; - line-height: 24px; - } - [purpose='cta-button'] { - cursor: pointer; - margin-right: 32px; - background: @core-vibrant-red; - border-radius: 8px; - padding-left: 32px; - padding-right: 32px; - height: 48px; - display: flex; - justify-content: center; - align-items: center; - color: #FFF; - position: relative; - text-decoration: none; - } - [purpose='cta-button']::before { - background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%); - opacity: 1; - content: ' '; - position: absolute; - top: 0; - left: -5px; - width: 50%; - height: 100%; - transform: skew(-10deg); - transition: left 0.5s ease-in, opacity 0.50s ease-in, width 0.5s ease-in; - } - [purpose='cta-button']:hover:before { - opacity: 0; - left: 160px; - width: 110%; - } - - [purpose='animated-arrow-button-red'] { - display: inline; - padding-right: 40px; - cursor: pointer; - position: relative; - width: fit-content; - min-width: 125px; - font-weight: bold; - user-select: none; - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - color: @core-fleet-black; - text-decoration: none; - &:after { - content: url('/images/arrow-right-red-16x16@2x.png'); - transform: scale(0.5); - position: absolute; - top: -5px; - left: 80%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity: 0; */ - } - &:hover:after { - left: 82%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity:1; */ - } - } - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - padding-bottom: 120px; - } - - [purpose='feature'] { - margin-top: 120px; - max-width: 960px; - h3 { - margin-bottom: 24px; - } - div { - max-width: 480px; - } - } - - [purpose='feature-image'] { - img { - max-height: 300px; - } - } - [purpose='large-feature-image'] { - img { - max-height: 250px; - } - } - - [purpose='checklists'] { - margin-top: 40px; - margin-bottom: 80px; - } - [purpose='checklist'] { - p { - padding-left: 28px; - text-indent: -28px; - } - p::before { - content: ' '; - background-image: url('/images/icon-checkmark-circle.svg'); - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 2px; - margin-right: 12px; - width: 16px; - height: 16px; - } - } - - [purpose='tweets-container'] { - padding-top: 120px; - padding-bottom: 120px; - } - - [purpose='bottom-gradient'] { - background: linear-gradient(180deg, #FFFFFF 0%, #E9F4F4 100%); - } - [purpose='bottom-cloud-city-banner'] { - background: linear-gradient(180deg, #E9F4F4 0%, #FFFFFF 100%); - img { - width: 100%; - } - } - - @media (min-width: 1200px) { - [purpose='page-container'] { - padding-left: 120px; - padding-right: 120px; - } - } - - @media (max-width: 1200px) { - [purpose='logos'] { - height: 58px; - margin-left: auto; - margin-right: auto; - img { - margin-top: 23.5px; - margin-bottom: 23.5px; - padding-left: 25px; - padding-right: 25px; - } - [purpose='snowflake-logo'] { - height: 21px; - } - [purpose='wayfair-logo'] { - height: 23px; - } - [purpose='uber-logo'] { - height: 20px; - } - [purpose='atlassian-logo'] { - height: 16px; - } - [purpose='segment-logo'] { - height: 22px; - } - } - } - - @media (max-width: 991px) { - - [purpose='button-row'] { - margin-right: auto; - margin-left: auto; - } - - [purpose='hero-background'] { - padding-top: 120px; - padding-bottom: 80px; - padding-left: 0px; - padding-right: 0px; - } - - [purpose='logos'] { - height: 58px; - margin-left: 20px; - margin-right: 20px; - img { - margin-top: 17.5px; - margin-bottom: 17.5px; - padding-left: 10px; - padding-right: 10px; - } - } - } - - @media (max-width: 768px) { - - h1 { - font-size: 48px; - line-height: 54px; - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - } - - [purpose='checklists'] { - margin-bottom: 40px; - } - - [purpose='feature'] { - margin-top: 80px; - } - - [purpose='feature-image'], [purpose='large-feature-image'] { - margin-bottom: 40px; - img { - max-height: 100%; - max-width: 100%; - } - } - - [purpose='hero-background'] { - padding-top: 60px; - padding-bottom: 60px; - padding-left: 20px; - padding-right: 20px; - } - - [purpose='hero-text'] { - text-align: center; - max-width: 480px; - } - - [purpose='tweets-container'] { - padding-top: 80px; - padding-bottom: 80px; - padding-left: 40px; - padding-right: 40px; - } - - [purpose='logos'] { - height: auto; - } - } - - @media (max-width: 575px) { - - [purpose='button-row'] { - max-width: 100%; - [purpose='cta-button'] { - margin-right: 0px; - width: 100%; - margin-bottom: 24px; - } - } - - [purpose='feature'] { - margin-top: 60px; - } - - [purpose='page-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [purpose='tweets-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [parasails-component='scrollable-tweets'] [purpose='tweets'] { - margin-top: 40px; - } - - } - -} diff --git a/website/assets/styles/pages/imagine/launch-party.less b/website/assets/styles/pages/imagine/launch-party.less deleted file mode 100644 index 80cd7bc838..0000000000 --- a/website/assets/styles/pages/imagine/launch-party.less +++ /dev/null @@ -1,192 +0,0 @@ -#launch-party { - padding-top: 60px; - padding-left: 40px; - padding-right: 40px; - max-width: 760px; - margin-left: auto; - margin-right: auto; - overflow-x: hidden; - h1 { - font-weight: 800; - font-size: 36px; - line-height: 40px; - margin-bottom: 12px; - } - h2 { - font-weight: 800; - font-size: 24px; - line-height: 34px; - } - p { - margin-bottom: 0; - font-size: 16px; - line-height: 24px; - color: #515774; - } - [purpose='map-container'] { - width: 100%; - overflow: hidden; - display: flex; - flex-direction: column; - align-content: center; - align-items: center; - border-radius: 8px; - } - [purpose='meet-the-team'] { - width: 100%; - img { - width: 210px; - } - } - [purpose='hero-text'] { - max-width: 420px; - p { - font-size: 18px; - } - } - [purpose='hero'] { - background-image: url('/images/rsa-map-hero-680x480@2x.png'); - height: 530px; - background-size: cover; - background-repeat: no-repeat; - background-position: center; - width: 100%; - margin-bottom: 40px; - border-radius: 8px; - } - [purpose='rsa-cta'] { - background: #F9FAFC; - padding: 16px 24px; - width: 100%; - border: 1px solid #E2E4EA; - border-radius: 8px; - display: flex; - flex-direction: column; - align-items: center; - margin-bottom: 40px; - text-align: center; - p { - font-weight: 700; - color: #515774; - } - } - [purpose='cta-button'] { - cursor: pointer; - font-size: 18px; - font-weight: 700; - margin-right: 32px; - background: @core-vibrant-red; - border-radius: 8px; - padding-left: 32px; - padding-right: 32px; - height: 48px; - display: flex; - justify-content: center; - align-items: center; - color: #FFF; - position: relative; - max-width: 420px; - width: 100%; - } - [purpose='cta-button']::before { - background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%); - opacity: 1; - content: ' '; - position: absolute; - top: 0; - left: -5px; - width: 60%; - height: 100%; - transform: skew(-10deg); - transition: left 0.5s ease-in, opacity 0.50s ease-in, width 0.5s ease-in; - } - [purpose='cta-button']:hover:before { - opacity: 0; - left: 160px; - width: 110%; - } - [purpose='section'] { - margin-bottom: 40px; - display: flex; - flex-direction: column; - align-items: center; - width: 100%; - } - [purpose='checklist'] { - margin-bottom: 40px; - p { - padding-left: 28px; - text-indent: -28px; - margin-bottom: 16px; - } - p::before { - content: ' '; - background-image: url('/images/icon-checkmark-circle.svg'); - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 2px; - margin-right: 12px; - width: 16px; - height: 16px; - } - } - [purpose='modal-dialog'] { - padding-left: 15px; - padding-right: 15px; - max-width: 100%; - } - [purpose='modal-content'] { - margin-top: 40px; - padding-top: 80px; - padding-left: 80px; - padding-right: 80px; - padding-bottom: 120px; - margin-right: auto; - margin-left: auto; - max-width: 680px; - width: 100%; - } - [purpose='modal-form'] { - input { - border-radius: 6px; - height: 48px; - } - label { - font-weight: 700; - } - width: 100%; - } - [purpose='submit-button'] { - border-radius: 8px; - } - @media(max-width: 756px) { - [purpose='modal-content'] { - padding: 40px; - } - } - @media(max-width: 575px) { - padding-left: 20px; - padding-right: 20px; - [purpose='hero'] { - background-image: url('/images/rsa-map-hero-small-335x480@2x.png'); - background-size: cover; - } - } - @media(max-width: 459px) { - [purpose='meet-the-team'] { - img:first-of-type { - margin-top: 24px; - } - } - - } - @media(max-width: 375px) { - [purpose='modal-content'] { - padding: 40px 20px 40px 20px; - } - h1 { - font-size: 28px; - } - } -} diff --git a/website/assets/styles/pages/imagine/rapid-7-alternative.less b/website/assets/styles/pages/imagine/rapid-7-alternative.less deleted file mode 100644 index 9975598272..0000000000 --- a/website/assets/styles/pages/imagine/rapid-7-alternative.less +++ /dev/null @@ -1,347 +0,0 @@ -#rapid-7-alternative { - - h1 { - font-weight: 800; - font-size: 64px; - line-height: 76px; - } - h2 { - font-weight: 800; - font-size: 32px; - line-height: 38px; - margin-bottom: 40px; - } - h3 { - font-weight: 800; - font-size: 24px; - line-height: 32px; - } - h4 { - font-family: 'Roboto Mono'; - font-style: normal; - font-weight: 400; - font-size: 18px; - line-height: 24px; - color: @core-fleet-black-75; - margin-bottom: 4px; - } - p { - font-size: 16px; - line-height: 24px; - } - - [purpose='hero-background'] { - background: linear-gradient(180deg, #E8F1F7 3.37%, #FFFFFF 60%); - padding-top: 120px; - padding-bottom: 40px; - } - [purpose='hero-container'] { - max-width: 1200px; - } - [purpose='hero-text'] { - text-align: center; - max-width: 940px; - padding: 0 40px; - h1 { - margin-bottom: 32px; - } - p { - font-size: 18px; - line-height: 27px; - max-width: 640px; - margin: 0 auto 32px; - } - } - - [purpose='button-row'] { - a { - font-weight: 700; - font-size: 16px; - line-height: 24px; - } - [purpose='cta-button'] { - cursor: pointer; - margin-right: 32px; - background: @core-vibrant-red; - border-radius: 8px; - padding-left: 32px; - padding-right: 32px; - height: 48px; - display: flex; - justify-content: center; - align-items: center; - color: #FFF; - position: relative; - text-decoration: none; - } - [purpose='cta-button']::before { - background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%); - opacity: 1; - content: ' '; - position: absolute; - top: 0; - left: -5px; - width: 50%; - height: 100%; - transform: skew(-10deg); - transition: left 0.5s ease-in, opacity 0.50s ease-in, width 0.5s ease-in; - } - [purpose='cta-button']:hover:before { - opacity: 0; - left: 160px; - width: 110%; - } - - [purpose='animated-arrow-button-red'] { - display: inline; - padding-right: 40px; - cursor: pointer; - position: relative; - width: fit-content; - min-width: 125px; - font-weight: bold; - user-select: none; - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - color: @core-fleet-black; - text-decoration: none; - &:after { - content: url('/images/arrow-right-red-16x16@2x.png'); - transform: scale(0.5); - position: absolute; - top: -5px; - left: 80%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity: 0; */ - } - &:hover:after { - left: 82%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity:1; */ - } - } - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - padding-bottom: 120px; - } - - [purpose='feature'] { - margin-top: 120px; - max-width: 960px; - h3 { - margin-bottom: 24px; - } - div { - max-width: 480px; - } - } - - [purpose='feature-image'] { - img { - max-height: 300px; - } - } - [purpose='large-feature-image'] { - img { - max-height: 250px; - } - } - - [purpose='checklists'] { - margin-top: 40px; - margin-bottom: 80px; - } - [purpose='checklist'] { - p { - padding-left: 28px; - text-indent: -28px; - } - p::before { - content: ' '; - background-image: url('/images/icon-checkmark-circle.svg'); - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 2px; - margin-right: 12px; - width: 16px; - height: 16px; - } - } - - [purpose='tweets-container'] { - padding-top: 120px; - padding-bottom: 120px; - } - - [purpose='bottom-gradient'] { - background: linear-gradient(180deg, #FFFFFF 0%, #E9F4F4 100%); - } - [purpose='bottom-cloud-city-banner'] { - background: linear-gradient(180deg, #E9F4F4 0%, #FFFFFF 100%); - img { - width: 100%; - } - } - - @media (min-width: 1200px) { - [purpose='page-container'] { - padding-left: 120px; - padding-right: 120px; - } - } - - @media (max-width: 1200px) { - [purpose='logos'] { - height: 58px; - margin-left: auto; - margin-right: auto; - img { - margin-top: 23.5px; - margin-bottom: 23.5px; - padding-left: 25px; - padding-right: 25px; - } - [purpose='snowflake-logo'] { - height: 21px; - } - [purpose='wayfair-logo'] { - height: 23px; - } - [purpose='uber-logo'] { - height: 20px; - } - [purpose='atlassian-logo'] { - height: 16px; - } - [purpose='segment-logo'] { - height: 22px; - } - } - } - - @media (max-width: 991px) { - - [purpose='button-row'] { - margin-right: auto; - margin-left: auto; - } - - [purpose='hero-background'] { - padding-top: 120px; - padding-bottom: 80px; - padding-left: 0px; - padding-right: 0px; - } - - [purpose='logos'] { - height: 58px; - margin-left: 20px; - margin-right: 20px; - img { - margin-top: 17.5px; - margin-bottom: 17.5px; - padding-left: 10px; - padding-right: 10px; - } - } - } - - @media (max-width: 768px) { - - h1 { - font-size: 48px; - line-height: 54px; - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - } - - [purpose='checklists'] { - margin-bottom: 40px; - } - - [purpose='feature'] { - margin-top: 80px; - } - - [purpose='feature-image'], [purpose='large-feature-image'] { - margin-bottom: 40px; - img { - max-height: 100%; - max-width: 100%; - } - } - - [purpose='hero-background'] { - padding-top: 60px; - padding-bottom: 60px; - padding-left: 20px; - padding-right: 20px; - } - - [purpose='hero-text'] { - text-align: center; - max-width: 480px; - } - - [purpose='tweets-container'] { - padding-top: 80px; - padding-bottom: 80px; - padding-left: 40px; - padding-right: 40px; - } - - [purpose='logos'] { - height: auto; - } - } - - @media (max-width: 575px) { - - [purpose='button-row'] { - max-width: 100%; - [purpose='cta-button'] { - margin-right: 0px; - width: 100%; - margin-bottom: 24px; - } - } - - [purpose='feature'] { - margin-top: 60px; - } - - [purpose='page-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [purpose='tweets-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [parasails-component='scrollable-tweets'] [purpose='tweets'] { - margin-top: 40px; - } - - } - -} diff --git a/website/assets/styles/pages/imagine/unused-software.less b/website/assets/styles/pages/imagine/unused-software.less deleted file mode 100644 index 0109361699..0000000000 --- a/website/assets/styles/pages/imagine/unused-software.less +++ /dev/null @@ -1,367 +0,0 @@ -#unused-software { - - h1 { - font-weight: 800; - font-size: 64px; - line-height: 76px; - } - h2 { - font-weight: 800; - font-size: 32px; - line-height: 38px; - margin-bottom: 40px; - } - h3 { - font-weight: 800; - font-size: 24px; - line-height: 32px; - } - h4 { - color: @core-fleet-black-75; - font-weight: 500; - font-size: 18px; - line-height: 24px; - /* Text gradient */ - background: linear-gradient(90deg, #FF5C83 0%, #6A67FE 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; - text-fill-color: transparent; - display: inline-block; - /* End text gradient */ - } - p { - font-size: 16px; - line-height: 24px; - } - - [purpose='hero-background'] { - background: linear-gradient(180deg, #E8F1F7 3.37%, #FFFFFF 60%); - padding-top: 120px; - padding-bottom: 40px; - } - [purpose='hero-container'] { - max-width: 1200px; - } - [purpose='hero-text'] { - text-align: center; - max-width: 940px; - padding: 0 40px; - h1 { - margin-bottom: 32px; - } - p { - font-size: 18px; - line-height: 27px; - max-width: 640px; - margin: 0 auto 32px; - } - } - - [purpose='button-row'] { - a { - font-weight: 700; - font-size: 16px; - line-height: 24px; - } - [purpose='cta-button'] { - cursor: pointer; - margin-right: 32px; - background: @core-vibrant-red; - border-radius: 8px; - padding-left: 32px; - padding-right: 32px; - height: 48px; - display: flex; - justify-content: center; - align-items: center; - color: #FFF; - position: relative; - text-decoration: none; - } - [purpose='cta-button']::before { - background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%); - opacity: 1; - content: ' '; - position: absolute; - top: 0; - left: -5px; - width: 50%; - height: 100%; - transform: skew(-10deg); - transition: left 0.5s ease-in, opacity 0.50s ease-in, width 0.5s ease-in; - } - [purpose='cta-button']:hover:before { - opacity: 0; - left: 160px; - width: 110%; - } - - [purpose='animated-arrow-button-red'] { - display: inline; - padding-right: 40px; - cursor: pointer; - position: relative; - width: fit-content; - min-width: 125px; - font-weight: bold; - user-select: none; - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - color: @core-fleet-black; - text-decoration: none; - &:after { - content: url('/images/arrow-right-red-16x16@2x.png'); - transform: scale(0.5); - position: absolute; - top: -5px; - left: 80%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity: 0; */ - } - &:hover:after { - left: 82%; // <--- here - transition: 0.2s ease-in-out; - -o-transition: 0.2s ease-in-out; - -ms-transition: 0.2s ease-in-out; - -moz-transition: 0.2s ease-in-out; - -webkit-transition: 0.2s ease-in-out; - /* opacity:1; */ - } - } - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - padding-bottom: 120px; - } - - [purpose='feature'] { - margin-top: 120px; - max-width: 960px; - h3 { - margin-bottom: 24px; - } - div { - max-width: 480px; - } - } - - [purpose='feature-image'] { - height: 100%; - img { - max-height: 300px; - } - } - - [purpose='checklists'] { - margin-top: 40px; - margin-bottom: 80px; - } - [purpose='checklist'] { - p { - padding-left: 28px; - text-indent: -28px; - } - p::before { - content: ' '; - background-image: url('/images/icon-checkmark-circle.svg'); - background-size: 16px 16px; - display: inline-block; - position: relative; - top: 2px; - margin-right: 12px; - width: 16px; - height: 16px; - } - } - - [purpose='tweets-container'] { - padding-top: 120px; - padding-bottom: 120px; - background-color: @ui-off-white; - } - - [purpose='logos'] { - height: 80px; - max-width: 1200px; - margin-left: auto; - margin-right: auto; - img { - margin-top: 23.5px; - margin-bottom: 23.5px; - padding-left: 35px; - padding-right: 35px; - } - [purpose='snowflake-logo'] { - height: 30px; - } - [purpose='wayfair-logo'] { - height: 33px; - } - [purpose='uber-logo'] { - height: 29px; - } - [purpose='atlassian-logo'] { - height: 22px; - } - [purpose='segment-logo'] { - height: 32px; - } - } - - @media (min-width: 1200px) { - [purpose='page-container'] { - padding-left: 120px; - padding-right: 120px; - } - } - - @media (max-width: 1200px) { - [purpose='logos'] { - height: 58px; - margin-left: auto; - margin-right: auto; - img { - margin-top: 23.5px; - margin-bottom: 23.5px; - padding-left: 25px; - padding-right: 25px; - } - [purpose='snowflake-logo'] { - height: 21px; - } - [purpose='wayfair-logo'] { - height: 23px; - } - [purpose='uber-logo'] { - height: 20px; - } - [purpose='atlassian-logo'] { - height: 16px; - } - [purpose='segment-logo'] { - height: 22px; - } - } - } - - @media (max-width: 991px) { - - [purpose='button-row'] { - margin-right: auto; - margin-left: auto; - } - - [purpose='hero-background'] { - padding-top: 120px; - padding-bottom: 80px; - padding-left: 0px; - padding-right: 0px; - } - - [purpose='logos'] { - height: 58px; - margin-left: 20px; - margin-right: 20px; - img { - margin-top: 17.5px; - margin-bottom: 17.5px; - padding-left: 10px; - padding-right: 10px; - } - } - } - - @media (max-width: 768px) { - - h1 { - font-size: 48px; - line-height: 54px; - } - - [purpose='page-container'] { - padding-left: 40px; - padding-right: 40px; - } - - [purpose='checklists'] { - margin-bottom: 40px; - } - - [purpose='feature'] { - margin-top: 80px; - } - - [purpose='feature-image'] { - margin-bottom: 40px; - img { - max-height: 100%; - max-width: 100%; - } - } - - [purpose='hero-background'] { - padding-top: 60px; - padding-bottom: 60px; - padding-left: 20px; - padding-right: 20px; - } - - [purpose='hero-text'] { - text-align: center; - max-width: 480px; - } - - [purpose='tweets-container'] { - padding-top: 80px; - padding-bottom: 80px; - padding-left: 40px; - padding-right: 40px; - } - - [purpose='logos'] { - height: auto; - } - } - - @media (max-width: 575px) { - - [purpose='button-row'] { - max-width: 100%; - [purpose='cta-button'] { - margin-right: 0px; - width: 100%; - margin-bottom: 24px; - } - } - - [purpose='feature'] { - margin-top: 60px; - } - - [purpose='page-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [purpose='tweets-container'] { - padding-left: 20px; - padding-right: 20px; - } - - [parasails-component='scrollable-tweets'] [purpose='tweets'] { - margin-top: 40px; - } - - } - -} diff --git a/website/config/routes.js b/website/config/routes.js index be70757038..cb50097c11 100644 --- a/website/config/routes.js +++ b/website/config/routes.js @@ -287,40 +287,6 @@ module.exports.routes = { } }, - - // ╦╔╦╗╔═╗╔═╗╦╔╗╔╔═╗ ┌─┬ ┌─┐┌┐┌┌┬┐┬┌┐┌┌─┐ ┌─┐┌─┐┌─┐┌─┐┌─┐─┐ - // ║║║║╠═╣║ ╦║║║║║╣ │ │ ├─┤│││ │││││││ ┬ ├─┘├─┤│ ┬├┤ └─┐ │ - // ╩╩ ╩╩ ╩╚═╝╩╝╚╝╚═╝ └─┴─┘┴ ┴┘└┘─┴┘┴┘└┘└─┘ ┴ ┴ ┴└─┘└─┘└─┘─┘ - 'GET /imagine/unused-software': { action: 'imagine/view-unused-software' }, - 'GET /imagine/higher-education': { - action: 'imagine/view-higher-education', - locals: { - pageTitleForMeta: 'Fleet for higher education', - pageDescriptionForMeta: 'Automate security workflows in a single application by creating or installing policies to identify which devices comply with your security guidelines.', - } - }, - 'GET /imagine/rapid-7-alternative': { - action: 'imagine/view-rapid-7-alternative', - locals: { - pageTitleForMeta: 'An open-source alternative to Rapid7', - pageDescriptionForMeta: 'Simplify vulnerability management with Fleet, an open-source platform with superior visibility.', - } - }, - 'GET /imagine/defcon-31': { - action: 'imagine/view-defcon-31', - locals: { - pageTitleForMeta: 'Fleet at DefCon 31', - pageDescriptionForMeta: 'Find Fleet at DefCon and get a custom tee shirt.', - } - }, - 'GET /imagine/jamf-alternative': { - action: 'imagine/view-jamf-alternative', - locals: { - pageTitleForMeta: 'An open-source alternative to Jamf', - pageDescriptionForMeta: 'Simplify vulnerability management with Fleet, an open-source platform with superior visibility.', - } - }, - // ╦ ╔═╗╔═╗╔═╗╔═╗╦ ╦ ╦═╗╔═╗╔╦╗╦╦═╗╔═╗╔═╗╔╦╗╔═╗ // ║ ║╣ ║ ╦╠═╣║ ╚╦╝ ╠╦╝║╣ ║║║╠╦╝║╣ ║ ║ ╚═╗ // ╩═╝╚═╝╚═╝╩ ╩╚═╝ ╩ ╩╚═╚═╝═╩╝╩╩╚═╚═╝╚═╝ ╩ ╚═╝ diff --git a/website/views/pages/imagine/defcon-31.ejs b/website/views/pages/imagine/defcon-31.ejs deleted file mode 100644 index f66f1ea71b..0000000000 --- a/website/views/pages/imagine/defcon-31.ejs +++ /dev/null @@ -1,71 +0,0 @@ -
-
-
-
-
-
-
-

Grab drinks with the Fleet technical team

-
- Alex Mitchell - CRO & Software Engineer - Zach Wasserman - Co-founder of Fleet & Co-creator, osquery - Jarod Reyes - VP of Marketing & Software Engineer -
-
-
-

Fleet happy hour at Beer Park

-
- A map showing the location of Beer Park -
-
- Easy walking distance from DefCon & Black Hat -
-
-
-

Join us at Beer Park

-

Aug 9, 2023 | 7 - 9pm PT

- RSVP here -
-
-
- An illustration of the room where Fleet's workshop will be -

Fleet Workshop at Wall of Sheep

-

Aug 10-12, 2023 | 9am - 8pm PT

-

In the "Wall of Sheep" Packet-Hacking Village at Caesar's Forum.

-
-

The future and present rely on your ability to decode the mess in the machines.

-
-

The lore

-

In the year 2057, Earth was shrouded in a cloudy opaque darkness, not by the forces of nature but by an artificial plague. Words lost their meanings, syntax tangled like a complex web, and conversations turned into garbled chaos. The culprit? Advanced AI bots, an unfathomable force that had manipulated the global linguistic network, turning our life's lexicon into a cryptic enigma.

- -

This was no ordinary darkness. It was an intangible blight, a dark nebula woven from chaotic words and scrambled semantics. Entire societies were locked in incomprehension. Economies collapsed as contracts became gibberish, international diplomacy failed as treaties turned into nonsensical paragraphs. Even simple, everyday communication became impossible.

- -

In this time of despair, emerged an unlikely hero, Jules Morse.

- -

Your job as our hero Jules, is to plunge into the depths of these machines under your stewardship and find the words that were hidden there by past oracles, those who would show us the way out of this miasma.

- -

What you'll learn:

- -
-

Learn how to use Fleet

-

Learn how to query machines using osquery

-

Learn how to break queries

-

Learn how to spot vulnerabilities in hosts

-

Learn how to find active processies on machines by user

-

Discover env variables on a remote machine

-

Inspect user activity remotely

-

Inspect installed software remotely

-
-
- -

See you in Vegas!

-
- -
- Fleet logo - Follow Fleet on Twitter - Join the osquery Slack community -
-
-
-<%- /* Expose server-rendered data as window.SAILS_LOCALS :: */ exposeLocalsToBrowser() %> diff --git a/website/views/pages/imagine/higher-education.ejs b/website/views/pages/imagine/higher-education.ejs deleted file mode 100644 index 5310abb0c6..0000000000 --- a/website/views/pages/imagine/higher-education.ejs +++ /dev/null @@ -1,100 +0,0 @@ -
- -
- -
-
-

Visibility and compliance in a single platform

-

Higher education meets simplified security

-

Automate security workflows in a single application by creating or installing policies to identify which devices comply with your security guidelines.

- -
-
- -
- -
-
-
-

Out-of-the-box CIS benchmark policies

-

Colleges are often subject to strict regulatory compliance requirements. With Center for Internet Security (CIS) compliance policies in Fleet, cybersecurity best practices are at your fingertips.

-
-

Out-of-the-box policies for Mac, Windows, and Linux.

-

Fleet will keep these policies updated for you.

-

Identify which devices are failing the most so you can prioritize your work.

-
-
-
- higher-education feature image -
-
- -
-
- higher-education feature image -
-
-

Asset management

-

Colleges have a large number of devices on their network, including laptops, desktops, servers, and mobile devices. Fleet and osquery can help colleges track these devices and ensure that they are properly managed.

-
-

Troubleshoot issues with detailed configuration and performance details in real time on any operating system.

-

Easily manage any amount of software applications in your fleet with visibility into installed applications and their vulnerabilities.

-

Save money on software licensing fees by identifying underutilized devices and applications with an unused software report.

-
-
-
- -
-
-

Automations in response to failing policies

-

Fleet Premium comes out-of-the-box ready for audits. Integrate with the security tools and services in your stack. Get answers immediately, even when you’re not looking.

-
-

Configurable scan intervals for policies.

-

Trigger webhooks and integrate with Jira, Zendesk, or Tines.

-

Encourage end-user self-remediation with Fleet Desktop.

-
-
-
- higher-education feature image -
-
- - - -
- -
-
-
-

Don’t know osquery?

-

Dedicated support from osquery experts

-

Osquery is the open-source agent that powers Fleet. And we have the most osquery experts around. We’ll help you realize the potential of this tool for your organization.

-
-
- - -
- -
-

Open-source device management

-

Think for yourself

- -
-
-
-
- A glass city floating on top of fluffy white clouds - A glass city floating on top of fluffy white clouds - A glass city floating on top of fluffy white clouds -
-
-<%- /* Expose server-rendered data as window.SAILS_LOCALS :: */ exposeLocalsToBrowser() %> diff --git a/website/views/pages/imagine/jamf-alternative.ejs b/website/views/pages/imagine/jamf-alternative.ejs deleted file mode 100644 index 8f002393b7..0000000000 --- a/website/views/pages/imagine/jamf-alternative.ejs +++ /dev/null @@ -1,74 +0,0 @@ -
- -
- -
-
-

Device management built for IT, security approved

-

Fleet brings GitOps to MDM

-

Bringh-your-own MDM. Enjoy enterprise-ready open-source MDM and leverage the best of DevOps and GitOps inside a full-featured Macbook MDM.

- -
-
-
- -
-
-
-

Finally a transparent and open-source MDM.

-

Don't waste money buying new Protection plans from your MDM provider.

-
-
- A Fleet orb scanning a Laptop -
-
- -
-
- A bento box featuring all the tools Fleet can bring together -
-
-

JAMF and Intune are never perfect out of the box, so why not bring your own MDM?

-

A transparent and programmable MDM to build the solution that's best for your team.

-
-
- - - -
- -
-
-
-

Don’t know osquery?

-

Dedicated support from osquery experts

-

Osquery is the open-source agent that powers Fleet. And we have the most osquery experts around. We’ll help you realize the potential of this tool for your organization.

-
-
- - -
- -
-

Open-source device management

-

Lighter than air

- -
-
-
-
- A glass city floating on top of fluffy white clouds - A glass city floating on top of fluffy white clouds - A glass city floating on top of fluffy white clouds -
-
-<%- /* Expose server-rendered data as window.SAILS_LOCALS :: */ exposeLocalsToBrowser() %> diff --git a/website/views/pages/imagine/launch-party.ejs b/website/views/pages/imagine/launch-party.ejs deleted file mode 100644 index 74112ab165..0000000000 --- a/website/views/pages/imagine/launch-party.ejs +++ /dev/null @@ -1,109 +0,0 @@ -
-
-
-
-

The path to a better
MDM starts here

-

Introducing an MDM your security team will love

-
-
-
-

Launch party at Press Club

-

April 27, 2023 | 5 - 8pm PT

- Join the wait list -
-

Join us in celebrating Fleet’s new MDM features

-
-

Report on disk encryption status

-

User-initiated device enrollment

-

Remotely enforce OS settings

-

Zero-touch device setup

-

Remotely update OS version

-

Low-level MDM commands

-

Keep OS up to date through reminders

-

Encrypt computer hard disks

-

Manage queued MDM commands

-

Remotely lock and wipe computers

-

Trigger a workflow based on a failing policy

-

Update apps on computers

-
-
-

Enjoy drinks and talk to the Fleet team

-
- Mike McNeil - Co-founder, CEO Fleet - Zach Wasserman - Co-founder of Fleet & Co-creator, osquery - Reid Christian - General Partner, CRV -
-
-
-
-

Easy walking distance from RSA

-
-
- A map showing the location of Press Club -
-
-
-

Launch party at Press Club

-

April 27, 2023 | 5 - 8pm PT

- Join the wait list -
-
-
- Fleet logo - Follow Fleet on Twitter - Join the osquery Slack community -
-
- - -
- -
- -
-
- - -
Please enter your first name.
-
-
- - -
Please enter your last name.
-
-
-
- - -
This doesn’t appear to be a valid email address
-
-
- - -
This doesn’t appear to be a valid email address
-
-
- - -
Please enter your job title. -
-
- -
- - Join the wait list - RSVP - -
-
-
-
-

You're all set!

-

A Fleet team member will reach out via email with more information.

-
-
-
-
-<%- /* Expose server-rendered data as window.SAILS_LOCALS :: */ exposeLocalsToBrowser() %> diff --git a/website/views/pages/imagine/rapid-7-alternative.ejs b/website/views/pages/imagine/rapid-7-alternative.ejs deleted file mode 100644 index 3cd081e0db..0000000000 --- a/website/views/pages/imagine/rapid-7-alternative.ejs +++ /dev/null @@ -1,115 +0,0 @@ -
- -
- -
-
-

A Rapid7 alternative for agent-based vulnerability management

-

Simplify vulnerability management

-

Fleet, an open-source security platform, empowers you to take control of vulnerability management for your organization. Designed with modern DevOps practices in mind, Fleet offers superior visibility, rapid response capabilities, and seamless integration with your existing workflows.

- -
-
- -
- -
-
-
-

Open source advantage

-

Fleet is built on the belief that the best software is open and transparent. Being open-source allows for continuous innovation and adaptability in an ever-evolving threat landscape. Transparency in operation means you'll always know what your vulnerability management tool is doing.

-
-

Global developer community fosters early vulnerability detection.

-

Transparent operations for enhanced trust.

-

Avoid vendor lock-ins with open source.

-
-
-
- rapid-7-alternative feature image -
-
- -
-
- rapid-7-alternative feature image -
-
-

Superior visibility and response

-

Fleet enables high-frequency querying, providing real-time visibility into your infrastructure's vulnerabilities. Fleet's flexible open-source nature allows for faster response times and remediation, by allowing you to surface alerts where your team is already looking.

-
-

Real-time visibility into infrastructure vulnerabilities.

-

Faster response and remediation times.

-

Mitigate threats more immediately than Rapid7.

-
-
-
- -
-
-

Flexibility and extensibility

-

Fleet's open-source architecture offers unmatched flexibility. With Fleet, developers can pipe data to platforms they are already using and generate reports in familiar environments. Whether you want to integrate with a specific IT service management tool or push osquery data into a SIEM of your choice, Fleet enables it all. In comparison, Rapid7 operates within a more confined ecosystem, limiting your options and flexibility.

-
-

Pipe data to platforms your team uses.

-

Integrates seamlessly with IT service tools

-

Open-source unlocks boundless functional possibilities.

-
-
-
- rapid-7-alternative feature image -
-
- -
-
- rapid-7-alternative feature image -
-
-

Value-driven alternative

-

Despite offering advanced features and capabilities, Fleet remains an economically sound alternative to Rapid7. As we believe in delivering value without imposing exorbitant costs, Fleet emerges as a choice that respects your budget constraints without compromising on performance and functionality.

-
-

Advanced features at an economical cost.

-

Affordable solution with no feature compromise.

-

Powerful vulnerability management that respects budgets.

-
-
-
- - - -
- -
-
-
-

Don’t know osquery?

-

Dedicated support from osquery experts

-

Osquery is the open-source agent that powers Fleet. And we have the most osquery experts around. We’ll help you realize the potential of this tool for your organization.

-
-
- - -
- -
-

Open-source device management

-

Lighter than air

- -
-
-
-
- A glass city floating on top of fluffy white clouds - A glass city floating on top of fluffy white clouds - A glass city floating on top of fluffy white clouds -
-
-<%- /* Expose server-rendered data as window.SAILS_LOCALS :: */ exposeLocalsToBrowser() %> diff --git a/website/views/pages/imagine/unused-software.ejs b/website/views/pages/imagine/unused-software.ejs deleted file mode 100644 index 5f62c7684b..0000000000 --- a/website/views/pages/imagine/unused-software.ejs +++ /dev/null @@ -1,98 +0,0 @@ -
- -
- -
-
-

Harness the power of Fleet's superior visibility

-

Discover unused software licenses and optimize your IT budget

-

Fleet, the leading open-source, flexible device management solution, offers unprecedented visibility into your IT infrastructure, making it the ideal tool to discover and manage unused software licenses. This capability is essential to unlocking more IT budget, enhancing security, and ultimately improving the employee experience.

- -
-
- -
- -
- -
-
-

Unmatched visibility

-

Fleet gives real-time visibility into your infrastructure, offering detailed views of installed software via high-frequency querying. An open-source solution, it promises unparalleled operational transparency.

-
-

Real-time view of all software installations.

-

Open-source transparency ensures you know what's happening.

-

An MDM that can check that your profiles are accurate

-
-
-
- unused-software feature image -
-
- -
-
- unused-software feature image -
-
-

Optimizing IT budgets

-

Fleet swiftly identifies unused software licenses, allowing you to optimize your IT budget by only paying for what you use. It's a cost-effective solution, promising both immediate and long-term financial benefits.

-
-

Identify unused licenses for budget optimization.

-

Unlock budget by discovering how many empty seats you are paying for

-

Create scheduled queries that give you a daily snapshot of software

-
-
-
- -
-
-

Enhancing employee experience

-

Fleet helps streamline your software environment by detecting unused applications, creating a clutter-free and productive tech experience for your team, thus boosting job satisfaction.

-
-

Say yes to more software by reducing overspend

-

Streamline software environment for better productivity.

-

Eliminate unnecessary clutter to enhance job satisfaction.

-
-
-
- feature image C -
-
- - - -
- -
-
-

Don’t know osquery?

-

Dedicated support from osquery experts

- -

Osquery is the open-source agent that powers Fleet. And we have the most osquery experts around. We’ll help you realize the potential of this tool for your organization.

-
-
- -
- -
- -
-
- The Snowflake logo - The Wayfair logo - The Uber logo - The Atlassian logo - The Twilio Segment logo -
-
- -
- -<%- /* Expose server-rendered data as window.SAILS_LOCALS :: */ exposeLocalsToBrowser() %>