Edge page update (#2143)

* edge page update

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactoring and renaming (#2145)

* rename edge-beta to edge in file names and style classes, moved some files to improve files organization

* audit fix

* fix paths

* fixes

* add a button to scroll to the form

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
trean
2026-02-19 23:13:19 +01:00
committed by GitHub
co-authored by Cursor
parent 3d8279f0a0
commit 92ff228b79
35 changed files with 1119 additions and 506 deletions
@@ -132,12 +132,7 @@
@import 'partials/cloud-inference-cluster';
@import 'partials/cloud-inference-get-started';
@import 'partials/cloud-inference-faq';
@import 'partials/edge-beta-hero';
@import 'partials/edge-beta-features';
@import 'partials/edge-beta-vectors';
@import 'partials/edge-beta-form';
@import 'partials/edge-beta-faq';
@import 'partials/edge-beta-get-started';
@import 'partials/edge/index';
@import 'partials/elastic-lucene/index';
@import 'partials/hr-tech/index';
@import 'partials/healthcare/index';
@@ -0,0 +1,73 @@
@use '../helpers/functions' as *;
.edge-beta-demo {
position: relative;
overflow: hidden;
padding-top: $spacer * 4;
padding-bottom: $spacer * 4;
background: radial-gradient(
ellipse 120% 80% at 0% 0%,
rgba(231, 29, 95, 0.12) 0%,
rgba(133, 71, 255, 0.06) 40%,
transparent 70%
), $neutral-10;
&__lights-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
width: 100%;
height: pxToRem(200);
background-image: url('/img/elastic-lucene/lights.svg');
background-repeat: repeat-x;
background-position: center top;
background-size: cover;
transform: scaleY(-1);
filter: blur(6px);
z-index: 0;
pointer-events: none;
}
&__title {
margin: 0 0 $spacer * 2;
font-size: $h4-font-size;
line-height: 1.2;
font-weight: 600;
color: $neutral-100;
}
&__description {
margin-bottom: $spacer * 1.5;
font-size: $font-size-l;
line-height: $line-height-lg;
color: $neutral-90;
&--secondary {
margin-bottom: $spacer * 2;
}
}
&__button {
border-radius: 12px;
}
&__image {
width: 100%;
max-width: pxToRem(540);
}
@include media-breakpoint-up(lg) {
padding-top: $spacer * 5;
padding-bottom: $spacer * 7.5;
&__title {
line-height: 1.5;
margin-bottom: $spacer * 2.5;
}
&__description {
max-width: pxToRem(540);
}
}
}
@@ -0,0 +1,74 @@
@use '../../helpers/functions' as *;
.edge-demo {
position: relative;
overflow: hidden;
padding-top: $spacer * 4;
padding-bottom: $spacer * 4;
background: radial-gradient(
ellipse 120% 80% at 0% 0%,
rgba(231, 29, 95, 0.12) 0%,
rgba(133, 71, 255, 0.06) 40%,
transparent 70%
), $neutral-10;
&__lights-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
width: 100%;
height: pxToRem(200);
background-image: url('/img/elastic-lucene/lights.svg');
background-repeat: repeat-x;
background-position: center top;
background-size: cover;
transform: scaleY(-1);
filter: blur(6px);
z-index: 0;
pointer-events: none;
}
&__title {
margin: 0 0 $spacer * 2;
font-size: $h4-font-size;
line-height: 1.2;
font-weight: 600;
color: $neutral-100;
}
&__description {
margin-bottom: $spacer * 1.5;
font-size: $font-size-l;
line-height: $line-height-lg;
color: $neutral-98;
&--secondary {
margin-bottom: $spacer * 2;
}
}
&__button {
border-radius: 12px;
}
&__image {
width: 100%;
max-width: pxToRem(540);
}
@include media-breakpoint-up(lg) {
padding-top: $spacer * 5;
padding-bottom: $spacer * 7.5;
&__title {
font-size: $h2-font-size;
line-height: pxToRem(67);
margin-bottom: $spacer * 2.5;
}
&__description {
max-width: pxToRem(540);
}
}
}
@@ -0,0 +1,26 @@
@use '../../helpers/functions' as *;
.edge-faq {
padding-top: $spacer * 4;
padding-bottom: $spacer * 4;
background-color: $neutral-94;
&__title {
margin-bottom: $spacer * 3;
font-size: $h4-font-size;
line-height: $h3-font-size;
color: $neutral-20;
text-align: center;
}
@include media-breakpoint-up(lg) {
padding-top: $spacer * 5;
padding-bottom: $spacer * 5;
&__title {
margin-bottom: $spacer * 5;
font-size: $h2-font-size;
line-height: pxToRem(67);
}
}
}
@@ -0,0 +1,56 @@
@use '../../helpers/functions' as *;
.edge-features {
padding-top: $spacer * 4;
padding-bottom: $spacer * 2.5;
background-color: $neutral-94;
&__title {
margin-bottom: $spacer * 2.5;
font-size: $h5-font-size;
line-height: pxToRem(38);
color: $neutral-20;
}
&__card {
justify-content: flex-start;
padding-bottom: 0;
&-title {
margin-bottom: pxToRem(12);
font-size: $font-size-xl;
line-height: pxToRem(30);
color: $neutral-20;
}
&-description {
margin-bottom: $spacer;
color: $neutral-40;
}
&-image {
width: 100%;
margin-top: auto;
}
}
&__cards {
& > div:first-of-type {
.edge-features__card-image {
width: calc(100% + ($spacer * 3));
margin-left: -$spacer * 1.5;
margin-right: -$spacer * 1.5;
}
}
}
@include media-breakpoint-up(lg) {
padding-top: $spacer * 7.5;
&__title {
margin-bottom: $spacer * 4;
font-size: $h3-font-size;
line-height: pxToRem(58);
}
}
}
@@ -0,0 +1,161 @@
@use '../../helpers/functions' as *;
.edge-form {
position: relative;
padding-top: $spacer * 4;
padding-bottom: $spacer * 4;
background-color: $neutral-10;
overflow: hidden;
&__title {
margin-bottom: $spacer * 1.5;
font-size: $h5-font-size;
line-height: pxToRem(38);
color: $neutral-98;
text-align: center;
}
&__description {
max-width: pxToRem(730);
margin: 0 auto $spacer * 3;
font-size: $font-size-xl;
line-height: pxToRem(30);
color: $neutral-70;
text-align: center;
}
&__container {
position: relative;
width: 100%;
max-width: pxToRem(720);
margin: 0 auto;
border-radius: $spacer * 0.5;
background: linear-gradient($neutral-20, #0e1424);
* {
font-family: $font-family-base;
}
[data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content {
padding: $spacer * 1.5;
}
.hsfc-RichText span, .hsfc-FieldLabel span, .hsfc-ProgressBar__Text {
font-size: $font-size-s !important;
line-height: $line-height-sm !important;
color: $neutral-98 !important;
}
.hsfc-FieldLabel {
margin-bottom: $spacer * 0.5 !important;
}
[data-hsfc-id=Renderer] .hsfc-TextInput, [data-hsfc-id=Renderer] .hsfc-TextareaInput {
display: block;
background-color: transparent;
border: pxToRem(1) solid $neutral-50;
margin-bottom: $spacer * 0.5;
padding: $spacer * 0.5 $spacer;
font-size: $font-size-md;
line-height: $spacer * 1.5;
color: $neutral-98;
border-radius: $spacer * 0.5;
&:focus, &:active {
box-shadow: none !important;
}
&::placeholder {
color: $neutral-70;
}
}
[data-hsfc-id=Renderer] .hsfc-ErrorAlert {
font-size: $font-size-xs;
line-height: $font-size-l;
color: $primary-40;
}
[data-hsfc-id=Renderer] .hsfc-Button {
display: inline-flex;
align-items: center;
justify-content: center;
flex-wrap: nowrap;
cursor: pointer;
border: none;
border-radius: $spacer * 0.5;
color: $neutral-100;
text-decoration: none;
height: $spacer * 2.5;
padding: pxToRem(22);
font-weight: 700;
font-size: map-get($font-sizes-text, md);
z-index: 1;
background: linear-gradient(180deg, $primary-50, $primary-40) !important;
box-shadow: 0 2px 1px 0 $primary-60 inset !important;
transition: none !important;
&:hover {
background: $primary-50 !important;
border: none !important;
box-shadow: 0 2px 1px 0 $primary-70 inset !important;
transform: none !important;
}
&:active {
background: $primary-50 !important;
border: none !important;
box-shadow:
0 2px 1px 0 $primary-60 inset,
0 0 0 2px rgba(220, 36, 76, 0.4) !important;
}
&.button_disabled,
&:disabled {
background: $primary-70 !important;
border: none !important;
box-shadow: none !important;
}
}
}
&__form-overlay {
position: absolute;
right: 0;
top: 0;
width: pxToRem(210);
height: pxToRem(210);
background-image: url('/img/blurred/blurred-light-15.svg');
background-position: top;
background-size: cover;
border-radius: 0 pxToRem(12) 0 0;
}
&__overlay {
position: absolute;
left: 0;
bottom: -$spacer * 1.5;
width: pxToRem(637);
height: pxToRem(444);
background-image: url('/img/blurred/blurred-light-19.svg');
background-position: bottom;
background-size: cover;
}
@include media-breakpoint-up(lg) {
padding-top: $spacer * 7.5;
padding-bottom: $spacer * 7.5;
&__title {
font-size: $h3-font-size;
line-height: pxToRem(58);
}
&__container {
[data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content {
padding: $spacer * 4;
}
}
}
}
@@ -0,0 +1,14 @@
@use '../../mixins/get-started-small' as get-started-small;
@use '../../helpers/functions' as *;
.edge-get-started {
@include get-started-small.base(
$spacer * 5,
$spacer * 2.5,
$spacer * 7.5,
$spacer * 5,
$neutral-94,
$neutral-10,
$neutral-10
);
}
@@ -0,0 +1,65 @@
@use '../../helpers/functions' as *;
.edge-hero {
position: relative;
padding-top: $spacer * 2.5;
padding-bottom: $spacer * 4;
background-color: $neutral-10;
&__title {
margin: $spacer * 1.5 0;
font-size: $h4-font-size;
line-height: $h3-font-size;
color: $neutral-98;
}
&__subtitle {
margin-bottom: $spacer * 1.5;
font-size: $h6-font-size;
line-height: pxToRem(34);
color: $neutral-98;
}
&__description {
margin-bottom: $spacer * 2;
font-size: $font-size-l;
line-height: $line-height-lg;
color: $neutral-70;
}
&__buttons {
display: flex;
gap: 1.5rem;
}
&__image {
width: 100%;
max-width: pxToRem(540);
}
&__overlay {
position: absolute;
right: 0;
left: 0;
bottom: 0;
width: 100%;
height: pxToRem(176);
background-image: url('/img/blurred/blurred-light-11.png');
background-position: center;
background-size: cover;
}
@include media-breakpoint-up(lg) {
padding-top: $spacer * 5;
padding-bottom: $spacer * 7.5;
&__title {
font-size: $h2-font-size;
line-height: pxToRem(67);
}
&__subtitle, &__description {
max-width: pxToRem(500);
}
}
}
@@ -0,0 +1,102 @@
@use '../../helpers/functions' as *;
.edge-vectors {
padding-top: $spacer * 4;
padding-bottom: $spacer * 4;
background-color: $neutral-94;
&__title {
max-width: pxToRem(920);
margin: 0 auto $spacer * 4;
font-size: $h4-font-size;
line-height: $h3-font-size;
color: $neutral-20;
}
&__card {
&-info {
padding-bottom: $spacer * 2;
}
&-icon {
height: $spacer * 3.5;
width: $spacer * 3.5;
margin-bottom: $spacer;
}
&-title {
font-size: $h5-font-size;
line-height: $h4-font-size;
margin-bottom: $spacer;
color: $neutral-20;
}
&-description {
font-size: $font-size-l;
line-height: $line-height-lg;
margin-bottom: 0;
color: $neutral-30;
}
}
@include media-breakpoint-up(lg) {
padding-top: $spacer * 7.5;
padding-bottom: $spacer * 7.5;
&__title {
font-size: $h3-font-size;
line-height: pxToRem(58);
text-align: center;
}
&__card {
position: relative;
&:nth-of-type(2),
&:nth-of-type(4) {
& > div {
&:before {
content: "";
display: block;
height: 100%;
width: pxToRem(1);
position: absolute;
top: 0;
left: 0;
background-color: $neutral-80;
}
}
}
&:nth-of-type(1),
&:nth-of-type(2) {
& > div {
&:after {
content: "";
display: block;
width: 100%;
height: pxToRem(1);
position: absolute;
bottom: 0;
left: 0;
background-color: $neutral-80;
}
}
}
&-info {
max-width: pxToRem(400);
margin: auto;
padding: $spacer * 3.5 0;
}
}
}
@include media-breakpoint-up(xl) {
&__card {
&-info {
max-width: pxToRem(443);
}
}
}
}
@@ -0,0 +1,7 @@
@import 'edge-hero';
@import 'edge-features';
@import 'edge-vectors';
@import 'edge-demo';
@import 'edge-form';
@import 'edge-faq';
@import 'edge-get-started';
@@ -1,13 +0,0 @@
{{ define "main" }}
{{ partial "site-header" . }}
{{ partial "edge-beta-hero" . }}
{{ partial "edge-beta-features" . }}
{{ partial "edge-beta-vectors" . }}
{{ partial "edge-beta-form" . }}
{{ partial "edge-beta-faq" . }}
{{ with (.Site.GetPage "/edge-beta/edge-beta-get-started") }}
{{ partial "get-started-small" (dict "context" . "class" "edge-beta-get-started") }}
{{ end }}
{{ end }}
@@ -0,0 +1,14 @@
{{ define "main" }}
{{ partial "site-header" . }}
{{ partial "edge/edge-hero" . }}
{{ partial "edge/edge-features" . }}
{{ partial "edge/edge-vectors" . }}
{{ partial "edge/edge-demo" . }}
{{ partial "edge/edge-form" . }}
{{ partial "edge/edge-faq" . }}
{{ with (.Site.GetPage "/edge/edge-get-started") }}
{{ partial "get-started-small" (dict "context" . "class" "edge-get-started") }}
{{ end }}
{{ end }}
@@ -1,8 +0,0 @@
{{ with (.Site.GetPage "/edge-beta/edge-beta-faq") }}
<section class="edge-beta-faq">
<div class="container">
<h2 class="edge-beta-faq__title">{{ .Params.title }}</h2>
{{ partial "accordion" . }}
</div>
</section>
{{ end }}
@@ -1,18 +0,0 @@
{{ with (.Site.GetPage "/edge-beta/edge-beta-features") }}
<section class="edge-beta-features">
<div class="container">
<h2 class="edge-beta-features__title">{{ .Params.title }}</h2>
<div class="edge-beta-features__cards row g-4">
{{ range $index, $element := .Params.features }}
<div class="col-12 {{ if eq $index 0 }}col-lg-8{{ else }}col-lg-4 {{ end }}">
<div class="card edge-beta-features__card">
<h6 class="edge-beta-features__card-title">{{ .title }}</h6>
<p class="edge-beta-features__card-description">{{ .description }}</p>
<img class="edge-beta-features__card-image" src="{{ .image.src }}" alt="{{ .image.alt }}" />
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
@@ -1,23 +0,0 @@
{{ with (.Site.GetPage "/edge-beta/edge-beta-hero") }}
<section class="edge-beta-hero">
<div class="container">
<div class="row align-items-lg-center g-5 g-lg-0">
<div class="col-12 col-lg-6 z-1">
{{ partial "label" . }}
<h3 class="edge-beta-hero__title">{{ .Params.title }}</h3>
<h5 class="edge-beta-hero__subtitle">{{ .Params.subtitle }}</h5>
<p class="edge-beta-hero__description">{{ .Params.description }}</p>
<div class="edge-beta-hero__buttons">
<a href="{{ .Params.startFree.url }}" class="button button_contained button_lg">
{{ .Params.startFree.text }}
</a>
</div>
</div>
<div class="col-12 col-lg-6 d-flex justify-content-center z-1">
<img class="edge-beta-hero__image" src="{{ .Params.image.src }}" alt="{{ .Params.image.alt }}" />
</div>
</div>
</div>
<div class="edge-beta-hero__overlay"></div>
</section>
{{ end }}
@@ -1,18 +0,0 @@
{{ with (.Site.GetPage "edge-beta/edge-beta-vectors") }}
<section class="edge-beta-vectors">
<div class="container">
<h2 class="edge-beta-vectors__title">{{ .Params.title }}</h2>
<div class="edge-beta-vectors__cards row g-4 g-lg-0">
{{ range $index, $element := .Params.cards }}
<div class="edge-beta-vectors__card col-12 col-lg-6">
<div class="edge-beta-vectors__card-info">
<img class="edge-beta-vectors__card-icon" src="{{ .icon.src }}" alt="{{ .icon.alt }}" />
<h5 class="edge-beta-vectors__card-title">{{ .title }}</h5>
<p class="edge-beta-vectors__card-description">{{ .description }}</p>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
@@ -0,0 +1,26 @@
{{ with (.Site.GetPage "/edge/edge-demo") }}
<section class="edge-demo">
<div class="edge-demo__lights-overlay"></div>
<div class="container">
<div class="row align-items-lg-center g-5 g-lg-0">
<div class="col-12 col-lg-6 z-1">
<h2 class="edge-demo__title">
{{ .Params.label.title }}: {{ .Params.title }}
</h2>
<p class="edge-demo__description">{{ .Params.description }}</p>
{{ with .Params.description2 }}
<p class="edge-demo__description edge-demo__description--secondary">{{ . }}</p>
{{ end }}
<div class="edge-demo__buttons">
<a href="{{ .Params.cta.url }}" class="button button_contained button_lg edge-demo__button" target="{{ .Params.cta.target }}">
{{ .Params.cta.text }}
</a>
</div>
</div>
<div class="col-12 col-lg-6 d-flex justify-content-center z-1">
<img class="edge-demo__image" src="{{ .Params.image.src }}" alt="{{ .Params.image.alt }}" />
</div>
</div>
</div>
</section>
{{ end }}
@@ -0,0 +1,8 @@
{{ with (.Site.GetPage "/edge/edge-faq") }}
<section class="edge-faq">
<div class="container">
<h2 class="edge-faq__title">{{ .Params.title }}</h2>
{{ partial "accordion" . }}
</div>
</section>
{{ end }}
@@ -0,0 +1,18 @@
{{ with (.Site.GetPage "/edge/edge-features") }}
<section class="edge-features">
<div class="container">
<h2 class="edge-features__title">{{ .Params.title }}</h2>
<div class="edge-features__cards row g-4">
{{ range $index, $element := .Params.features }}
<div class="col-12 {{ if eq $index 0 }}col-lg-8{{ else }}col-lg-4 {{ end }}">
<div class="card edge-features__card">
<h6 class="edge-features__card-title">{{ .title }}</h6>
<p class="edge-features__card-description">{{ .description }}</p>
<img class="edge-features__card-image" src="{{ .image.src }}" alt="{{ .image.alt }}" />
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
@@ -1,12 +1,12 @@
{{ with (.Site.GetPage "/edge-beta/edge-beta-form") }}
<section class="edge-beta-form" id="form">
<div class="edge-beta-form__overlay"></div>
{{ with (.Site.GetPage "/edge/edge-form") }}
<section class="edge-form" id="form">
<div class="edge-form__overlay"></div>
<div class="container">
<h2 class="edge-beta-form__title">{{ .Params.title }}</h2>
<p class="edge-beta-form__description">{{ .Params.description }}</p>
<h2 class="edge-form__title">{{ .Params.title }}</h2>
<p class="edge-form__description">{{ .Params.description }}</p>
<div class="edge-beta-form__container">
<div class="edge-beta-form__form-overlay"></div>
<div class="edge-form__container">
<div class="edge-form__form-overlay"></div>
<script src="https://js-eu1.hsforms.net/forms/embed/developer/139603372.js" defer></script>
<script>
@@ -32,7 +32,7 @@
fallbackButtonContainer.appendChild(fallbackButton);
{{ end }}
document.getElementsByClassName("edge-beta-form__container")[0].appendChild(fallbackButtonContainer);
document.getElementsByClassName("edge-form__container")[0].appendChild(fallbackButtonContainer);
}
});
</script>
@@ -0,0 +1,26 @@
{{ with (.Site.GetPage "/edge/edge-hero") }}
<section class="edge-hero">
<div class="container">
<div class="row align-items-lg-center g-5 g-lg-0">
<div class="col-12 col-lg-6 z-1">
{{ partial "label" . }}
<h3 class="edge-hero__title">{{ .Params.title }}</h3>
<h5 class="edge-hero__subtitle">{{ .Params.subtitle }}</h5>
<p class="edge-hero__description">{{ .Params.description }}</p>
<div class="edge-hero__buttons">
<a href="{{ .Params.startFree.url }}" class="button button_contained button_lg">
{{ .Params.startFree.text }}
</a>
<a href="{{ .Params.contactUs.url }}" class="button button_outlined button_lg">
{{ .Params.contactUs.text }}
</a>
</div>
</div>
<div class="col-12 col-lg-6 d-flex justify-content-center z-1">
<img class="edge-hero__image" src="{{ .Params.image.src }}" alt="{{ .Params.image.alt }}" />
</div>
</div>
</div>
<div class="edge-hero__overlay"></div>
</section>
{{ end }}
@@ -0,0 +1,18 @@
{{ with (.Site.GetPage "edge/edge-vectors") }}
<section class="edge-vectors">
<div class="container">
<h2 class="edge-vectors__title">{{ .Params.title }}</h2>
<div class="edge-vectors__cards row g-4 g-lg-0">
{{ range $index, $element := .Params.cards }}
<div class="edge-vectors__card col-12 col-lg-6">
<div class="edge-vectors__card-info">
<img class="edge-vectors__card-icon" src="{{ .icon.src }}" alt="{{ .icon.alt }}" />
<h5 class="edge-vectors__card-title">{{ .title }}</h5>
<p class="edge-vectors__card-description">{{ .description }}</p>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB