diff --git a/website/api/controllers/view-device-management.js b/website/api/controllers/view-device-management.js index 9062b9eb36..4af631d767 100644 --- a/website/api/controllers/view-device-management.js +++ b/website/api/controllers/view-device-management.js @@ -62,22 +62,10 @@ module.exports = { }); }//fi - let showSwagForm = false; - // Due to shipping costs, we'll check the requesting user's cf-ipcountry to see if they're in the US, and their cf-iplongitude header to see if they're in the contiguous US. - if(sails.config.environment === 'production') { - // Log a warning if the cloudflare headers we use are missing in production. - if(!this.req.get('cf-ipcountry') || !this.req.get('cf-iplongitude')) { - sails.log.warn('When a user visted the device management page, the Cloudflare header we use to determine if they are visiting from the contiguous United States is missing.'); - } - } - if(this.req.get('cf-ipcountry') === 'US' && this.req.get('cf-iplongitude') > -125) { - showSwagForm = true; - } // Respond with view. return { testimonialsForScrollableTweets, - showSwagForm, }; } diff --git a/website/assets/images/icon-ai-change-20x20@2x.png b/website/assets/images/icon-ai-change-20x20@2x.png new file mode 100644 index 0000000000..0380ce3275 Binary files /dev/null and b/website/assets/images/icon-ai-change-20x20@2x.png differ diff --git a/website/assets/images/icon-auto-patch-20x20@2x.png b/website/assets/images/icon-auto-patch-20x20@2x.png new file mode 100644 index 0000000000..b957b51689 Binary files /dev/null and b/website/assets/images/icon-auto-patch-20x20@2x.png differ diff --git a/website/assets/images/icon-check-20x20@2x.png b/website/assets/images/icon-check-20x20@2x.png new file mode 100644 index 0000000000..983ac351f1 Binary files /dev/null and b/website/assets/images/icon-check-20x20@2x.png differ diff --git a/website/assets/images/icon-checklist-20x20@2x.png b/website/assets/images/icon-checklist-20x20@2x.png new file mode 100644 index 0000000000..ff10738a3a Binary files /dev/null and b/website/assets/images/icon-checklist-20x20@2x.png differ diff --git a/website/assets/images/icon-conditional-access-20x20@2x.png b/website/assets/images/icon-conditional-access-20x20@2x.png new file mode 100644 index 0000000000..0329a652e1 Binary files /dev/null and b/website/assets/images/icon-conditional-access-20x20@2x.png differ diff --git a/website/assets/images/icon-disk-encryption-20x20@2x.png b/website/assets/images/icon-disk-encryption-20x20@2x.png new file mode 100644 index 0000000000..01201077f8 Binary files /dev/null and b/website/assets/images/icon-disk-encryption-20x20@2x.png differ diff --git a/website/assets/images/icon-fleet-maintained-apps-20x20@2x.png b/website/assets/images/icon-fleet-maintained-apps-20x20@2x.png new file mode 100644 index 0000000000..366e6772a9 Binary files /dev/null and b/website/assets/images/icon-fleet-maintained-apps-20x20@2x.png differ diff --git a/website/assets/images/icon-integrations-20x20@2x.png b/website/assets/images/icon-integrations-20x20@2x.png new file mode 100644 index 0000000000..00e5237bb2 Binary files /dev/null and b/website/assets/images/icon-integrations-20x20@2x.png differ diff --git a/website/assets/images/icon-lock-20x20@2x.png b/website/assets/images/icon-lock-20x20@2x.png new file mode 100644 index 0000000000..483a9081cc Binary files /dev/null and b/website/assets/images/icon-lock-20x20@2x.png differ diff --git a/website/assets/images/icon-self-service-20x20@2x.png b/website/assets/images/icon-self-service-20x20@2x.png new file mode 100644 index 0000000000..ea6859d1c5 Binary files /dev/null and b/website/assets/images/icon-self-service-20x20@2x.png differ diff --git a/website/assets/images/icon-subsidiary-20x20@2x.png b/website/assets/images/icon-subsidiary-20x20@2x.png new file mode 100644 index 0000000000..882a735069 Binary files /dev/null and b/website/assets/images/icon-subsidiary-20x20@2x.png differ diff --git a/website/assets/images/logos/logo-conductorone-color-118x16@2x.png b/website/assets/images/logos/logo-conductorone-color-118x16@2x.png new file mode 100644 index 0000000000..d79283c532 Binary files /dev/null and b/website/assets/images/logos/logo-conductorone-color-118x16@2x.png differ diff --git a/website/assets/images/logos/logo-easygo-color-100x20@2x.png b/website/assets/images/logos/logo-easygo-color-100x20@2x.png new file mode 100644 index 0000000000..90b625417c Binary files /dev/null and b/website/assets/images/logos/logo-easygo-color-100x20@2x.png differ diff --git a/website/assets/images/logos/logo-fastly-color-70x28@2x.png b/website/assets/images/logos/logo-fastly-color-70x28@2x.png new file mode 100644 index 0000000000..2e3c270e49 Binary files /dev/null and b/website/assets/images/logos/logo-fastly-color-70x28@2x.png differ diff --git a/website/assets/images/mdm-flexible-deployment-800x600@2x.png b/website/assets/images/mdm-flexible-deployment-800x600@2x.png new file mode 100644 index 0000000000..9108d4b1df Binary files /dev/null and b/website/assets/images/mdm-flexible-deployment-800x600@2x.png differ diff --git a/website/assets/images/mdm-hero-fleet-dashboard-1072x473@2x.png b/website/assets/images/mdm-hero-fleet-dashboard-1072x473@2x.png new file mode 100644 index 0000000000..1f037ccdf5 Binary files /dev/null and b/website/assets/images/mdm-hero-fleet-dashboard-1072x473@2x.png differ diff --git a/website/assets/images/mdm-scope-transparency-800x600@2x.png b/website/assets/images/mdm-scope-transparency-800x600@2x.png new file mode 100644 index 0000000000..3d342bf7c7 Binary files /dev/null and b/website/assets/images/mdm-scope-transparency-800x600@2x.png differ diff --git a/website/assets/images/mdm-security-800x450@2x.png b/website/assets/images/mdm-security-800x450@2x.png new file mode 100644 index 0000000000..33b4e77f96 Binary files /dev/null and b/website/assets/images/mdm-security-800x450@2x.png differ diff --git a/website/assets/images/mdm-software-management-800x600@2x.png b/website/assets/images/mdm-software-management-800x600@2x.png new file mode 100644 index 0000000000..fbb0b2b399 Binary files /dev/null and b/website/assets/images/mdm-software-management-800x600@2x.png differ diff --git a/website/assets/images/mdm-visibility-800x450@2x.png b/website/assets/images/mdm-visibility-800x450@2x.png new file mode 100644 index 0000000000..cacb641131 Binary files /dev/null and b/website/assets/images/mdm-visibility-800x450@2x.png differ diff --git a/website/assets/js/pages/device-management.page.js b/website/assets/js/pages/device-management.page.js index d873a57b6b..11db83cdb9 100644 --- a/website/assets/js/pages/device-management.page.js +++ b/website/assets/js/pages/device-management.page.js @@ -3,19 +3,7 @@ parasails.registerPage('device-management-page', { // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ data: { - modal: '', - comparisonMode: 'omnissa', - comparisonModeFriendlyNames: { - jamf: 'Jamf Pro', - sccm: 'SCCM', - omnissa: 'Workspace ONE', - intune: 'Intune', - tanium: 'Tanium', - ansible: 'Ansible', - puppet: 'Puppet', - chef: 'Chef', - patchmypc: 'PatchMyPC' - } + //… }, // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ @@ -24,40 +12,14 @@ parasails.registerPage('device-management-page', { beforeMount: function() { //… }, - mounted: async function() { - $('[data-toggle="tooltip"]').tooltip({ - container: '#device-management-page', - trigger: 'hover', - }); + mounted: function() { + //… }, // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ methods: { - clickOpenVideoModal: function(modalName) { - this.modal = modalName; - }, - closeModal: function() { - this.modal = undefined; - }, - clickSwitchComparisonTableColumn: async function(option){ - this.comparisonMode = option; - await setTimeout(()=>{ - $('[data-toggle="tooltip"]').tooltip({ - container: '#device-management-page', - trigger: 'hover', - }); - }, 250); - }, - clickSwagRequestCTA: function () { - if(window.gtag !== undefined){ - gtag('event','fleet_website__swag_request'); - } - if(window.lintrk !== undefined) { - window.lintrk('track', { conversion_id: 18587105 });// eslint-disable-line camelcase - } - this.goto('https://kqphpqst851.typeform.com/to/ZfA3sOu0#from_page=device-managment'); - }, + //… } }); diff --git a/website/assets/styles/pages/device-management.less b/website/assets/styles/pages/device-management.less index c2c122e812..f0387d9327 100644 --- a/website/assets/styles/pages/device-management.less +++ b/website/assets/styles/pages/device-management.less @@ -1,15 +1,15 @@ #device-management-page { @heading-lineheight: 120%; @text-lineheight: 150%; - - background: linear-gradient(180deg, #E8F1F6 0%, #FFF 8.76%); + background: linear-gradient(180deg, #E8F1F6 0%, #FFF 2.51%); h1 { .title-xl(); + margin-bottom: 0px; } h2 { .title-l(); - margin-bottom: 24px; + margin-bottom: 0px; } h3 { font-size: 20px; @@ -18,13 +18,14 @@ } h4 { .kicker-title(); + margin-bottom: 0px; } p { - font-size: 14px; + font-size: 16px; line-height: @text-lineheight; color: @core-fleet-black-75; + margin-bottom: 0px; } - strong { color: @core-fleet-black; } @@ -39,45 +40,272 @@ [purpose='page-content'] { max-width: 1072px; + display: flex; + flex-direction: column; + gap: 160px; + margin-left: auto; + margin-right: auto; } - - [purpose='feature-video'] { - margin-left: 80px; - max-width: 468px; - video { - max-width: 100%; - max-height: 100%; - border-radius: 16px; + [purpose='hero'] { + display: flex; + flex-direction: column; + align-items: center; + gap: 48px; + } + [purpose='hero-content'] { + max-width: 769px; + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + gap: 32px; + margin-left: auto; + margin-right: auto; + } + [purpose='page-headline'] { + h1 { + margin-bottom: 0px; } } - [purpose='video-button'] { + [purpose='hero-image'] { + max-width: 100%; + img { + width: 100%; + } + } + [purpose='page-section'] { + display: flex; + flex-direction: column; + gap: 64px; + } + [purpose='large-page-section'] { + display: flex; + flex-direction: column; + gap: 128px; + } + [purpose='section-headline'] { + display: flex; + flex-direction: column; + gap: 32px; + max-width: 527px; + } + + [purpose='section-button'] { + .cta-button(); + width: fit-content; + display: flex; + height: 36px; + min-width: 140px; + padding: 8px 16px; + justify-content: center; + align-items: center; + gap: 4px; + color: #FFF; + text-align: center; + + + font-family: Inter; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: 21px; + } + + [purpose='quote-and-logos'] { + display: flex; + flex-direction: row; + gap: 64px; + padding: 64px 0px; + } + [purpose='section-quote'] { + display: flex; + flex-direction: row; + justify-content: center; + align-items: flex-start; + gap: 24px; + align-self: center; + max-width: 50%; + [purpose='quote-content'] { + display: flex; + flex-direction: column; + justify-content: flex-start; + gap: 16px; + } + [purpose='quote-text'] { + color: #515774; + text-align: left; + font-family: Inter; + font-size: 18px; + font-style: italic; + font-weight: 400; + line-height: 150%; + } + [purpose='quote-attribution'] { + color: #515774; + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 150%; + } + [purpose='quote-author-info'] { + width: 100%; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + gap: 16px; + align-self: center; + } + [purpose='quote-author-image'] { + img { + height: 48px; + width: 48px; + border-radius: 50%; + object-fit: cover; + } + } + [purpose='name-and-title'] { + display: flex; + flex-direction: column; + align-items: flex-start; + } + [purpose='author-name'] { + color: #192147; + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 700; + line-height: 150%; + } + [purpose='author-title'] { + color: #515774; + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 150%; + } + } + + [purpose='logo-grid'] { + display: flex; + flex-direction: column; + width: 50%; + [purpose='logo-row'] { + display: flex; + flex-direction: row; + width: 100%; + &:first-of-type { + border-bottom: 1px solid #E2E4EA; + } + [purpose='logo'] { + &:nth-of-type(2) { + border-right: 1px solid #E2E4EA; + border-left: 1px solid #E2E4EA; + } + height: 76px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 33.33%; + img { + height: 20px; + width: auto; + } + &.fastly { + padding: 24.5px 49.119px 23.5px 49.119px; + img { + height: 28px; + } + } + &.easygo { + padding: 0 33px 0 35px; + img { + height: 20px; + } + } + &.conductor-one { + padding: 0 25px; + img { + height: 15px; + } + } + &.grafana { + padding: 26px 17px 27px 16px; + img { + height: 23px; + } + } + &.mozilla { + padding: 25px 31.451px 26px 32px; + img { + height: 25px; + } + } + &.calendly { + padding: 26px 34.551px 26px 34px; + img { + height: 25px; + } + } + + } + + } + } + [purpose='feature-row'] { + display: flex; + align-items: flex-start; + align-content: flex-start; + gap: 64px; + align-self: stretch; + flex-wrap: wrap; + } + [purpose='feature-item'] { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 16px; + flex: 1 0 43%; + h5 { + color: #192147; + + + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: 120%; + margin-bottom: 0px; + } + p { + color: #515774; + + + font-family: Inter; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 150%; + } + + } + [purpose='feature-title'] { display: flex; flex-direction: row; align-items: center; - cursor: pointer; - color: #192147; - img { - height: 32px; - margin-right: 8px; + gap: 12px; + h5 { + margin-bottom: 0px; } - span { - margin-left: 4px; - display: inline-block; - color: #8B8FA2; - font-size: 12px; - margin-top: 2px; - font-weight: 400; + [purpose='feature-icon'] { + height: 20px; } } - [purpose='page-section'] { - padding-top: 64px; - padding-bottom: 64px; - } - [purpose='comparison-section'] { - padding-top: 64px; - padding-bottom: 64px; - } + [purpose='testimonials'] { padding-top: 32px; padding-bottom: 32px; @@ -165,14 +393,14 @@ margin-right: 16px; } p { - color: var(--text-text-primary, #515774); + color: #515774; font-family: Inter; font-size: 14px; font-style: normal; line-height: 21px; } span { - color: var(--Core-Fleet-Black, #192147); + color: #192147; font-family: Inter; font-size: 14px; font-style: normal; @@ -181,325 +409,9 @@ } } - // Desktop features comparison table styles - [purpose='desktop-comparison-table'] { - margin-top: 32px; - } - [purpose='comparison-table-header'] { - font-size: 16px; - color: @core-fleet-black; - [purpose='comparison-column'] { - padding: 12px 16px; - } - [purpose='comparison-selector'] { - width: 168px; - height: 48px; - border-radius: 8px; - padding: 0px 12px; - background: #FFF; - color: @core-fleet-black; - border: 1px solid @core-vibrant-blue-15; - cursor: pointer; - font-weight: 700; - white-space: nowrap; - } - [purpose='comparison-selector-dropwdown'] { - width: 168px; - cursor: pointer; - font-size: 14px; - padding: 0px; - .dropdown-item { - display: flex; - justify-content: center; - border-top: 1px solid @core-vibrant-blue-15; - padding: 0px 12px; - height: 48px; - &:active { - color: unset; - } - } - } - } - - [purpose='comparison-column'] { - text-align: center; - display: flex; - justify-content: center; - align-self: center; - min-width: 200px; - padding: 12px 24px; - p { - font-size: 12px; - margin-bottom: 0px; - } - } - [purpose='fleet-column'] { - padding: 12px 24px 12px 44px; - text-align: center; - display: flex; - justify-content: flex-start; - align-self: center; - min-width: 200px; - &:has(p) { - justify-content: center; - } - p { - white-space: nowrap; - font-size: 12px; - margin-bottom: 0px; - } - } - [purpose='feature-name'] { - width: 100%; - padding: 12px 24px; - } - [purpose='table-new-badge'] { - background-color: #0587FF; - display: inline; - padding: 2.554px 5.109px; - align-items: center; - border-radius: 14px; - color: #FFF; - font-size: 7.024px; - font-weight: 500; - line-height: 11.494px; - text-transform: uppercase; - width: min-content; - } - [purpose='comparison-table'] { - border-radius: 8px; - border: 1px solid #E2E4EA; - margin-bottom: 32px; - [purpose='table-row'] { - [purpose='red-x'] { - height: 12px; - width: 12px; - } - div { - display: flex; - align-items: center; - } - display: flex; - img { - width: 16px; - height: 16px; - &:not(:first-of-type) { - margin-left: 12px; - } - } - p { - margin-bottom: 0px; - } - &:not(:last-of-type) { - border-bottom: 1px solid #E2E4EA; - } - &:nth-of-type(even) { - background-color: #F9FAFC; - } - } - } - // Mobile features comparison table styles - [purpose='mobile-comparison-selector'] { - height: 48px; - display: flex; - width: 100%; - padding: 0px 12px; - justify-content: space-between; - align-items: center; - align-self: stretch; - border-radius: 6px; - border: 1px solid #E2E4EA; - background: #FFF; - margin-bottom: 48px; - font-weight: 700; - color: #192147; - } - [purpose='tooltip'] { - color: #515774; - font-size: 12px; - font-weight: 400; - line-height: 18px; - text-decoration-line: underline; - text-decoration-style: solid; - text-decoration-skip-ink: auto; - text-decoration-thickness: auto; - text-underline-offset: auto; - text-underline-position: from-font; - } - [purpose='mobile-comparison-table'] { - p { - color: @core-fleet-black; - } - [purpose='comparison-selector-dropwdown'] { - width: calc(~' 100% - 48px'); - cursor: pointer; - font-size: 14px; - padding: 0px; - .dropdown-item { - display: flex; - justify-content: center; - border-top: 1px solid @core-vibrant-blue-15; - padding: 0px 12px; - height: 48px; - &:active { - color: unset; - } - } - } - margin-top: 32px; - margin-bottom: 32px; - } - [purpose='feature-table'] { - display: flex; - flex-direction: column; - border-radius: 8px; - border: 1px solid #E2E4EA; - margin-bottom: 16px; - line-height: 21px; - font-size: 14px; - color: #515774; - [purpose='feature-name'] { - color: @core-fleet-black; - display: flex; - height: 36px; - padding: 12px 16px 12px 16px; - align-items: center; - align-self: stretch; - border-bottom: 1px solid #E2E4EA; - background-color: #F9FAFC; - border-top-left-radius: 8px; - border-top-right-radius: 8px; - p { - margin-bottom: 0px; - font-size: 14px; - font-weight: 700; - line-height: 21px; - color: #192147; - } - img { - height: 16px; - } - } - [purpose='feature-table-row'] { - padding: 12px 16px; - display: flex; - flex-direction: row; - height: 36px; - align-items: center; - justify-content: space-between; - border-bottom: 1px solid #E2E4EA; - &:last-of-type { - border: none; - background-color: #F9FAFC; - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - } - } - [purpose='feature-status'] { - display: flex; - flex-direction: row; - justify-content: center; - [purpose='red-x'] { - height: 12px; - width: 12px; - } - p { - white-space: nowrap; - font-size: 12px; - margin-bottom: 0px; - } - img { - height: 16px; - &:not(:first-of-type) { - margin-left: 8px; - } - } - } - } - - [purpose='calendar-feature'] { - flex-direction: row-reverse !important;//lesshint-disable-line importantRule - h3 { - font-size: 32px; - margin-bottom: 32px; - } - [purpose='calendar-feature-text'] { - max-width: 480px; - p { - margin-bottom: 0px; - } - } - [purpose='new-badge'] { - background-color: #0587FF; - padding: 4px 8px 3px 8px; - display: flex; - align-items: center; - border-radius: 14px; - color: #FFF; - font-size: 12px; - font-weight: 500; - line-height: 18px; - text-transform: uppercase; - margin-bottom: 12px; - width: min-content; - } - [purpose='calendar-checklist'] { - margin-top: 8px; - margin-bottom: 24px; - p { - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 21px; - padding-left: 37px; - text-indent: -37px; - margin-bottom: 1.5rem; - &:last-of-type { - margin-bottom: 0px; - } - } - p::before { - content: ' '; - background-image: url('/images/icon-checkmark-green-20x20@2x.png'); - background-size: 20px 20px; - display: inline-block; - position: relative; - top: 5px; - margin-right: 16px; - width: 20px; - height: 20px; - } - } - [purpose='feature-video'] { - // margin-right: 0px; - max-width: 528px; - video { - max-width: 100%; - max-height: 100%; - border-radius: 16px; - } - } - [purpose='video-button'] { - margin-top: 32px; - cursor: pointer; - img { - height: 32px; - margin-right: 8px; - } - font-size: 14px; - font-weight: 700; - line-height: 21px; - } - } - - [purpose='feature-with-image'] { .feature-with-image(); - margin-bottom: 100px; - &:last-of-type { - margin-bottom: 0px; - } [purpose='feature-text'] { h2 { font-size: 28px; @@ -515,18 +427,13 @@ [purpose='checklist'] { .checklist(); p { + font-size: 16px; margin-bottom: 24px; } } } } - [purpose='feature-note'] { - padding-top: 40px; - font-size: 12px; - margin-bottom: 0px; - } - [purpose='feature-headline'] { max-width: 510px; margin-bottom: 80px; @@ -534,13 +441,15 @@ [purpose='three-column-features'] { .responsive-feature-row(); - padding-top: 64px; + [purpose='feature-title'] { + margin-bottom: 16px; + } [purpose='feature'] { margin-bottom: 0; h5 { font-size: 16px; line-height: 1.2; - font-weight: 800; + font-weight: 700; } p { font-size: 14px; @@ -552,7 +461,7 @@ [purpose='button-row'] { a { font-weight: 700; - font-size: 16px; + font-size: 14px; line-height: @text-lineheight; white-space: nowrap; } @@ -565,7 +474,7 @@ } [purpose='tweets-container'] { - padding-top: 64px; + margin-top: 160px; max-width: 1072px; padding-left: 64px; padding-right: 64px; @@ -574,7 +483,7 @@ [purpose='tweets'] { margin-top: 40px; margin-bottom: 0px; - padding-bottom: 64px; + padding-bottom: 160px; padding-left: 64px; } } @@ -589,6 +498,9 @@ } [purpose='bottom-cta'] { + max-width: 612px; + margin-right: auto; + margin-left: auto; text-align: center; h2 { font-size: 48px; @@ -596,7 +508,6 @@ } h4 { font-size: 16px; - margin-bottom: 8px; } [purpose='button-row'] { margin-top: 40px; @@ -607,76 +518,15 @@ } } - [purpose='video-modal'] { - [purpose='modal-dialog'] { - width: 100%; - max-width: 100%; - } - [purpose='modal-content'] { - max-width: 1140px; - height: 641px; - background-color: transparent; - box-shadow: none; - border: none; - padding: 0px; - margin-top: 150px; - margin-left: auto; - margin-right: auto; - [purpose='modal-close-button'] { - top: -40px; - right: 0px; - border-radius: 50%; - width: 32px; - height: 32px; - padding: 0px 0px 4px 0px; - background-color: #192147; - color: #FFF; - opacity: 1; - } - } - iframe { - border-radius: 16px; - width: 1140px; - height: 641px; - } - } - @media (max-width: 1199px) { - - [purpose='calendar-feature'] { - [purpose='feature-video'] { - // width: 455px; - margin-right: 16px; - } - [purpose='calendar-feature-text'] { - margin-left: 32px; - - } - } - [purpose='video-modal'] { - [purpose='modal-dialog'] { - width: 100%; - max-width: 100%; - } - [purpose='modal-content'] { - max-width: 960px; - height: 540px; - } - iframe { - width: 960px; - height: 540px; - } - } - } @media (max-width: 991px) { [purpose='page-container'] { - padding-left: 32px; - padding-right: 32px; + padding: 48px; } [purpose='tweets-container'] { - padding-left: 32px; - padding-right: 32px; + padding-left: 48px; + padding-right: 48px; } [parasails-component='scrollable-tweets'] { [purpose='tweets'] { @@ -686,76 +536,86 @@ [purpose='testimonial-videos'] { width: 410px; } - + [purpose='quote-and-logos'] { + padding: 0; + } [purpose='hero-text'] { - width: 410px; + max-width: 642px; } - - [purpose='comparison-column'] { - max-width: 140px; - min-width: 160px; + [purpose='page-content'] { + gap: 120px; } - [purpose='comparison-table-header'] { - font-size: 14px; - div { - padding: 12px 24px; - } - [purpose='comparison-selector'] { - min-width: 152px; - height: 48px; - border-radius: 8px; - padding: 0px 12px; - background: #FFF; - border: 1px solid @core-vibrant-blue-15; - cursor: pointer; - - } - [purpose='comparison-selector-dropwdown'] { - width: 152px; - cursor: pointer; - padding: 0px; - .dropdown-item { - display: flex; - justify-content: center; - border-top: 1px solid @core-vibrant-blue-15; - padding: 0px 12px; - } + [purpose='tweets-container'] { + margin-top: 120px; + } + [parasails-component='scrollable-tweets'] { + [purpose='tweets'] { + padding-bottom: 120px; } } - [purpose='fleet-column'] { - min-width: 140px; - max-width: 140px; + [purpose='large-page-section'] { + display: flex; + flex-direction: column; + gap: 80px; } - - [purpose='comparison-table-header'] { - div { - padding: 12px 16px; - } + [purpose='quote-and-logos'] { + display: flex; + flex-direction: row; + gap: 48px; } - - [purpose='comparison-table'] { - border-radius: 8px; - border: 1px solid #E2E4EA; - [purpose='table-row'] { - div { - padding: 12px 16px; - } - } - } - [purpose='video-modal'] { - [purpose='modal-dialog'] { + [purpose='logo-grid'] { + display: flex; + flex-direction: column; + min-width: 50%; + [purpose='logo-row'] { + display: flex; + flex-direction: row; width: 100%; - max-width: 100%; - } - [purpose='modal-content'] { - max-width: 720px; - height: 405px; - } - iframe { - width: 720px; - height: 405px; + &:first-of-type { + border-bottom: 1px solid #E2E4EA; + } + [purpose='logo'] { + &:nth-of-type(2) { + border-right: 1px solid #E2E4EA; + border-left: 1px solid #E2E4EA; + } + height: 76px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 33.33%; + img { + height: 20px; + width: auto; + } + &.grafana { + padding: 0 8.138px 0 7.804px; + img { + height: 18px; + } + } + &.mozilla { + padding: 0 24.239px 0 25.455px; + img { + height: 20px; + } + } + &.calendly { + padding: 0 25.172px 0 25.287px; + img { + height: 20px; + } + } + + } + } } + [purpose='feature-row'] { + gap: 48px; + } + } @media (max-width: 767px) { @@ -766,94 +626,122 @@ font-size: 42px; } } - [purpose='feature-with-image'] { - margin-bottom: 80px; - [purpose='feature-image'] { - margin-bottom: 64px; + [purpose='page-container'] { + padding: 32px; + } + [purpose='page-content'] { + gap: 80px; + } + [purpose='tweets-container'] { + margin-top: 80px; + } + [parasails-component='scrollable-tweets'] { + [purpose='tweets'] { + padding-bottom: 80px; } } - - [purpose='calendar-feature'] { - [purpose='feature-video'] { - margin-left: auto; - margin-right: auto; - margin-bottom: 40px; - max-width: 100%; - video { - width: 100%; + [purpose='page-section'] { + display: flex; + flex-direction: column; + gap: 48px; + } + [purpose='quote-and-logos'] { + display: flex; + flex-direction: column; + gap: 48px; + [purpose='section-quote'] { + max-width: unset; + width: 100%; + flex-direction: column; + align-items: center; + [purpose='quote-text'] { + text-align: center; + } + [purpose='name-and-title'] { + align-items: center; + } + [purpose='quote-author-info'] { + justify-content: center; } } - [purpose='calendar-feature-text'] { - margin-left: 0; - } - } - [purpose='calendar-feature'] { - flex-direction: column-reverse !important;//lesshint-disable-line importantRule - } - [purpose='calendar-card-body'] { - width: 100%; - padding-left: 24px; - padding-right: 24px; - padding-bottom: 48px; - padding-top: 60px; - margin-right: 0px; - text-align: center; - } - [purpose='calendar-card'] { - height: unset; - } - [purpose='calendar-image'] { - padding-top: 0; - padding-bottom: 0; - height: 420px; - width: 100%; - &:before { - content: ''; - background: none; - } - } + [purpose='logo-grid'] { + display: flex; + flex-direction: column; + width: 100%; + [purpose='logo-row'] { + display: flex; + flex-direction: row; + width: 100%; + &:first-of-type { + border-bottom: 1px solid #E2E4EA; + } + [purpose='logo'] { + &:nth-of-type(2) { + border-right: 1px solid #E2E4EA; + border-left: 1px solid #E2E4EA; + } + height: 76px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 33.33%; + img { + height: 20px; + width: auto; + } + &.fastly { + padding: 26px 36.723px 26px 37px; + img { + height: 28px; + } + } + &.grafana { + padding: 26px 17px 27px 16px; + img { + height: 23px; + } + } + &.mozilla { + padding: 25px 31.451px 26px 32px; + img { + height: 25px; + } + } + &.calendly { + padding: 26px 34.551px 26px 34px; + img { + height: 25px; + } + } + } + + } + } + } [purpose='feature-with-image'] { [purpose='feature-text'] { width: 100%; margin-left: auto; margin-right: auto; } - [purpose='feature-image'] { - margin-bottom: 60px; - } - } - [purpose='hero-image'] { - margin-bottom: 60px; - } - - [purpose='bottom-cta'] { - h2 { - font-size: 32px; - } - } - [purpose='video-modal'] { - [purpose='modal-dialog'] { - max-width: 97vw; - } - [purpose='modal-content'] { - max-width: 540px; - height: 304px; - } - iframe { - width: 540px; - height: 304px; - } } } @media (max-width: 575px) { + h1 { + font-size: 32px; + } + h2 { + font-size: 24px; + } [purpose='feature-with-image'] { [purpose='feature-text'] { width: 100%; - } - [purpose='feature-image'] { - margin-bottom: 48px; + h2 { + font-size: 24px; + } } } [purpose='hero-image'] { @@ -861,20 +749,93 @@ max-width: 100%; } } + [purpose='button-row'] { + flex-direction: column; + width: 100%; + [purpose='cta-button'] { + width: 100%; + margin-bottom: 16px; + margin-right: 0; + } + } + [purpose='feature-item'] { + flex: 1 0 100%; + } [purpose='page-container'] { - padding: 64px 24px; + padding: 32px 24px; } [parasails-component='scrollable-tweets'] { [purpose='tweets'] { padding-left: 24px; } } - [purpose='page-section'] { - padding-top: 48px; - padding-bottom: 48px; + [purpose='large-page-section'] { + gap: 64px; } - [purpose='calendar-section'] { - padding: 0px 24px 40px 24px; + [purpose='quote-and-logos'] { + [purpose='logo-grid'] { + width: 100%; + [purpose='logo-row'] { + display: flex; + flex-direction: row; + width: 100%; + border-bottom: 1px solid #E2E4EA; + &:last-of-type { + border-bottom: none; + } + [purpose='logo'] { + &:nth-of-type(2) { + border-right: none; + border-left: 1px solid #E2E4EA; + } + height: 76px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 50%; + img { + height: 20px; + width: auto; + } + &.conductor-one { + padding: unset; + img { + height: 15px; + } + } + &.easygo { + padding: unset; + } + &.fastly { + padding: unset; + img { + height: 28px; + } + } + &.grafana { + padding: unset; + img { + height: 22px; + } + } + &.mozilla { + padding: unset; + img { + height: 25px; + } + } + &.calendly { + padding: unset; + img { + height: 25px; + } + } + + } + + } + } } [purpose='testimonial-quote'] { [purpose='quote'] { @@ -883,29 +844,12 @@ } } } - [purpose='video-modal'] { - [purpose='modal-content'] { - width: 95vw; - height: calc(~'9/16 * 95vw'); - } - iframe { - width: 95vw; - height: calc(~'9/16 * 95vw'); - } - } [purpose='three-column-features'] { [purpose='feature'] { - margin-left: auto; - margin-right: auto; - } - } - [purpose='comparison-section'] { - [purpose='button-row'] { - flex-direction: column; - [purpose='cta-button'] { - width: 100%; - margin-bottom: 16px; - margin-right: 0; + text-align: left; + img { + margin-left: unset; + margin-right: unset; } } } @@ -913,79 +857,12 @@ @media (max-width: 390px) { - h1 { - font-size: 32px; - } - h2 { - font-size: 24px; - } - [purpose='testimonial-quote'] { - [purpose='quote'] { - p { - font-size: 16px; - } - } - } [purpose='page-headline'] { - width: 100%; - h2 { - font-size: 24px; - } - } - [purpose='calendar-feature-text'] { - h3 { - font-size: 24px; - } - } - [purpose='feature-table'] { - [purpose='feature-name'] { - display: flex; - height: unset; - } - } - [parasails-component='logo-carousel'] { - padding-top: 32px; - } - [purpose='calendar-image'] { - height: 287px; - } - [purpose='calendar-card-body'] { - padding-left: 16px; - padding-right: 16px; - } - [purpose='calendar-section'] { - padding: 0px 16px 40px 16px; - } - [purpose='page-container'] { - padding: 48px 16px; - } - [purpose='mobile-comparison-table'] { - [purpose='comparison-selector-dropwdown'] { - dispaly: flex; - flex-direction: column; - width: calc(~' 100% - 32px'); - } - } - [purpose='button-row'] { - flex-direction: column; - [purpose='cta-button'] { - width: 100%; - margin-bottom: 16px; - margin-right: 0; - } - } - [purpose='tweets-container'] { - padding-left: 16px; - padding-right: 16px; - } - [parasails-component='scrollable-tweets'] { - [purpose='tweets'] { - margin-top: 32px; - margin-bottom: 0px; - padding-left: 16px; - padding-bottom: 32px; + br { + display: none; } } + } } diff --git a/website/views/pages/device-management.ejs b/website/views/pages/device-management.ejs index 4aeef7bcde..bd90e8b824 100644 --- a/website/views/pages/device-management.ejs +++ b/website/views/pages/device-management.ejs @@ -1,884 +1,303 @@
Configure, update, and secure macOS, Windows, Linux, iOS, iPadOS, Android, and ChromeOS devices with one tool. Replace fragmented point solutions with a single platform your whole team can use.
+The shift to infrastructure as code has modernized our operations, giving us the agility and change control we needed and giving leadership real-time confidence in device health and compliance.
+
+ Built for speed and transparency. Fleet maintains a live connection to every device so you get answers in seconds, not hours.
+ More about reporting +Get near-instant visibility into your Apple, Linux, Windows, and BYOD devices from a single, open platform.
+Run reports to verify changes in real time with full audit logs.
+Reduce audit busywork. Replace weeks of manual evidence gathering with real-time reports that answer auditor questions on the spot.

Dan Jackson
-Sr Manager Systems Engineering, Fastly
+
+
+ “We wanted an open-source MDM to easily use infrastructure-as-code, deliver the best possible experience for our employees, and make security happy.”
+Kenny Botelho
+Lead Client Platform Engineer
- Ship device management changes in minutes from the tools your team already uses, like Slack or Microsoft Teams. No UI, code editor, or Git client required.
-Create updates from code or chat prompts.
-Validate and peer-review changes before they reach your devices.
-Track everything with version control and a complete audit history.
-Roll back instantly if something goes wrong.
-Manage Apple, Windows, Linux, and Android devices in one place. Fleet supports diverse, mixed environments with no vendor lock-in.
Drop ship devices with Apple Business or Autopilot. End users can set up their own devices. No IT help needed.
+
+
+
+
+
+
+ Bring devices into a secure, predictable state, no matter where they start. Define, target, and deploy the right settings to the right devices.
-Keep applications and plugins secure and up-to-date automatically. Install the software end users need or let them install it themselves via self service.
- -Run the right script at the right time, across any platform. Remediate drift, gather diagnostics, and automate fleet-wide tasks.
- -Manage devices via Fleet’s UI, API, or infrastructure as code. The open-source community helps extend what’s possible, from platform support to deployment workflows.
+
+
+
+
+
+
+ Deploy software from a built-in catalog of Fleet-maintained apps or upload your own packages. Fleet checks every device continuously and installs updates automatically when something falls out of compliance.
+ Software management +
+
+ Install common software with no extra configuration. Fleet handles packaging, versioning, and updates.
+Devices that fall out of compliance are remediated automatically. No tickets, no manual intervention.
+Set minimum OS versions and deadlines across macOS, Windows, iOS, and iPadOS.
+End users install approved software themselves, without filing a ticket. Available on macOS, Windows, and Linux.
+
Built for speed and transparency. Stop waiting for scripts or reports to finish.
+Enforce security policies and demonstrate compliance across your entire fleet. Get live results, not stale reports from last week's scan. Detect and remediate vulnerabilities automatically.
+Deploy Fleet alongside an existing MDM. See device states across organizations, without disrupting employees.
+Combine device posture with your identity provider. Factor in both identity and device health for access decisions.
+Run live checks against CIS benchmarks, SOC 2, ISO, or your own baselines. See results in seconds.
+Enforce FileVault, BitLocker, and LUKS2 across macOS, Windows, and Linux.
+Lock or wipe devices remotely across macOS, Windows, and Linux.
+Connect Fleet to your existing tools. Ship telemetry to your preferred data lake or trigger workflows automatically.
+Ship device management changes in minutes. Use Fleet's UI, Slack, Microsoft Teams, or your terminal. Choose the workflow that fits how your team already works.
Get near-instant visibility into your Apple, Linux, and Windows devices from a single, open platform.
-Run reports to verify changes in real time with full audit logs.
-Reduce audit busywork. Some teams spend up to 20% of their time gathering audit evidence. Fleet helps you answer those questions instantly.
+Validate and peer-review changes before they reach your devices.
+Track everything with version control and a complete audit history.
+Roll back instantly if something goes wrong.
+ Define, target, and deploy the right settings to the right devices. Bring any device into a secure, predictable state regardless of where it starts.
+Use AI to speed things up. Describe what you need in plain language and Fleet's AI assistant turns it into a ready-to-review change.
+
+ Increase buy-in from end users by clarifying how their devices are managed.
+Give end users assurance about what actions IT can take on their computer and exactly what data is collected.
+Support regional privacy rules with configurable management controls.
+Set clear expectations about how to configure company devices.
+
Run Fleet on-prem, in the cloud, or air-gapped. No lock-in or black boxes.
+Run Fleet on-prem, in the cloud, or air-gapped. No lock-in or black boxes. No arbitrary feature limitations.
Change deployment models without rebuilding your stack.
No hidden dependencies or forced cloud services.
Flexible APIs and open data formats.
Keep control of your infrastructure and your data.
- Increase buy-in from end users by clarifying how their devices are managed.
-Give end users assurance about what actions IT can take on their computer.
-Let end users see exactly what data is collected, all the way down to the source code.
-Support regional privacy rules with configurable management controls.
-Set clear expectations about how to configure company devices.
-Considering a move to Fleet as a cross-platform, open-source MDM alternative? See how we compare:
-
- Cloud or self-host with no restrictions
Cloud-only
-On-prem only
-On-prem discouraged
-Zero-touch setup
-
- Apple only
-Windows only
-iOS/iPadOS management
Community module
-Complete device inventory ![]()
-
-
- Mobile not supported
-Operating system updates
-
- Windows only
-Apple only
-Mobile not supported
-Configuration management and scripting
-
-
- Windows only
-Apple only
-Windows only scripting for app installs
-Mobile not supported
-Remote lock and wipe
-
-
- Apple only
-Windows only
-No built-in Linux
-App management
-
-
- Windows only
-Apple only
-Mobile not supported
-Automated device compliance
-
-
- Windows only
-Additional purchase
-Mobile not supported
-REST API
Intune or SCCM integration
-Microsoft Graph API
-Multiple APIs required
-Infrastructure as code (GitOps)
- Device reporting (<30 seconds)
-
6 hours
-One-off scripts
-Import / export
-Interoperable
-Windows only
-Apple only
-Proprietary
-Open source
Free and paid version
Only free version
-Compare with:
-
- Cloud or self-host with no restrictions
Cloud-only
-On-prem only
-On-prem discouraged
-Zero-touch setup
-
- Windows only
-Apple only
-iOS/iPadOS management
Community module
-Complete device inventory
-
-
-
- Mobile not supported
-Operating system updates
-
- Apple only
-Windows only
-Mobile not supported
-Configuration management and scripting
-
-
- Apple only
-Windows only
-Windows only scripting for app installs
-Mobile not supported
-Remote lock and wipe
-
-
- Apple only
-No built-in Linux
-Windows only
-App management
-
-
-
- Apple only
-Windows only
-Mobile not supported
-Automated device compliance
-
-
- Additional purchase
-Windows only
-Mobile not supported
-REST API
Microsoft Graph API
-Intune or SCCM integration
-Multiple APIs required
-Config as code (GitOps)
Device reporting (<30 mins)
-6 Hours
-One-off scripts
-Import / export
-Interoperable
-Windows only
-Apple only
-Proprietary
-Open source
Only free version
-