home-assistant.io/sass/custom/_landingpage.scss
2022-02-11 20:13:56 +01:00

1223 lines
25 KiB
SCSS

$landingpage__deep_color: #161d61;
$landingpage__light_color: #18abfd;
$ha__primary_color: #03a9f4;
#landingpage {
$landingpage__hero_height: 670px;
font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
.site-header {
.grid-wrapper {
max-width: 1100px !important;
padding: 0 25px !important;
}
}
.grid-wrapper {
max-width: 1500px;
padding: 0;
width: 100%;
}
.page-content {
overflow-x: hidden;
}
.banner {
height: $landingpage__hero_height;
margin-bottom: 16px;
margin-top: -42px;
width: 100%;
text-align: center;
.title {
position: relative;
width: 550px;
height: 168px;
left: calc(50% - 550px / 2 - 0.5px);
font-weight: 900;
font-size: 68px;
line-height: 55px;
text-align: center;
color: #ffffff;
text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.75);
bottom: 226px;
svg {
stroke: $ha__primary_color;
}
}
.wide {
position: relative;
width: 700px;
left: calc(50% - 700px / 2 - 0.5px);
font-size: 52px;
line-height: 52px;
bottom: 390px;
}
img {
width: 100%;
object-fit: cover;
object-position: bottom;
border-radius: 0;
border: 0;
height: $landingpage__hero_height;
box-shadow: none;
}
}
.bottom {
position: absolute;
bottom: 8px;
}
.right {
position: absolute;
right: 8px;
}
.spacer {
height: 24px;
}
.button-row-with-icon {
display: flex;
justify-content: space-evenly;
a {
display: block;
text-decoration: none;
color: #0c0c0c;
}
.button-icon {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 32px;
text-align: center;
background: #FFFFFF;
width: 242px;
height: 176px;
box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
border-radius: 8px;
.icon {
padding: 12px;
height: 56px;
width: auto;
display: flex;
align-items: center;
img {
box-shadow: none;
border: none;
}
}
.text {
width: 164px;
font-size: 20px;
line-height: 20px;
text-align: center;
margin: auto;
}
}
}
.section-content {
background-color: #FAFAFA;
width: 100%;
display: grid;
justify-items: center;
padding: 64px;
.title {
font-size: 24px;
line-height: 28px;
}
.description {
font-size: 16px;
line-height: 24px;
}
.header {
width: 507px;
display: grid;
text-align: center;
place-items: center;
.title {
font-size: 32px;
line-height: 48px;
}
}
img {
box-shadow: none;
border: none;
}
.section-inner {
display: flex;
flex-direction: row;
width: 100%;
padding: 32px 128px;
justify-content: space-evenly;
.section-inner-content {
align-self: center;
padding: 0;
div {
width: 330px;
}
.title {
margin-bottom: 4px;
}
.button {
font-size: small;
font-weight: 600;
text-decoration: none;
}
}
img {
max-width: 500px;
max-height: 400px;
}
}
}
.section-inner:nth-child(even) {
flex-direction: row-reverse;
}
.section-inner:nth-child(odd) {
flex-direction: row;
}
.section-content:nth-child(even) {
background-color: #F5F5F5;
.section-inner:nth-child(odd) {
flex-direction: row-reverse;
}
.section-inner:nth-child(even) {
flex-direction: row;
}
}
.content {
max-width: 1000px;
margin: auto;
.banner-overlay {
z-index: 2;
position: relative;
width: 600px;
border-radius: 8px;
margin: -36px auto 0;
&.with-box {
.banner-overlay-content {
max-width: 416px;
}
}
a {
text-decoration: none;
}
.banner-overlay-header {
font-weight: 900;
font-size: 24px;
line-height: 28px;
}
.banner-overlay-content {
font-size: 16px;
line-height: 19px;
margin-top: 16px;
}
.box {
position: absolute;
right: 0;
top: 0;
width: 210px;
border-radius: 8px;
margin: -50px -50px 0 4px;
padding: 22px;
display: flex;
flex-direction: column;
.banner-overlay-header {
font-weight: 500;
font-size: 12px;
line-height: 14px;
letter-spacing: 0.1em;
color: #0c0c0c;
opacity: 0.33;
width: 100%;
text-align: right;
}
.banner-overlay-price {
width: calc(100% - 6px);
text-align: right;
font-weight: 900;
font-size: 24px;
line-height: 28px;
color: #0c0c0c;
display: inline-flex;
justify-content: flex-end;
div {
width: 6px;
margin-top: 2px;
font-size: 12px;
line-height: 14px;
color: #0c0c0c;
opacity: 0.4;
}
}
.banner-overlay-images {
display: grid;
grid-template-columns: 47px 47px 47px;
grid-template-rows: 47px 47px;
grid-auto-flow: row;
gap: 2px;
.img-container {
border: 1px solid #e9e9e9;
box-sizing: border-box;
border-radius: 4px;
height: 47px;
width: 47px;
display: flex;
img {
margin: auto;
box-shadow: none;
border-radius: 0;
border: 0;
}
}
.img-container:first-of-type {
grid-column: 1 / span 2;
grid-row: 1 / span 2;
height: 96px;
width: 96px;
}
}
}
.banner-overlay-button {
background-color: $ha__primary_color;
margin-top: 12px;
border-radius: 4px;
width: 154px;
height: 46px;
display: flex;
cursor: pointer;
text-transform: capitalize;
div {
margin: auto;
font-weight: 900;
font-size: 18px;
color: #ffffff;
}
}
.banner-overlay-button.disabled {
background-color: #bdbdbd;
cursor: initial;
}
.below-button {
margin-top: 8px;
text-align: center;
font-size: .8em;
}
}
.banner-overlay-disclaimer {
font-size: 12px;
line-height: 14px;
color: #0c0c0c;
opacity: 0.4;
text-align: center;
margin: 12px auto 50px;
}
.bullet-points {
margin: 24px 136px;
display: grid;
gap: 32px;
grid-template-columns: repeat(2, 1fr);
.item {
display: grid;
text-align: center;
span:nth-of-type(1) {
color: rgba(0, 0, 0, 0.87);
font-size: 24px;
font-weight: 300;
letter-spacing: 0.1em;
line-height: 28px;
opacity: 0.66;
text-transform: uppercase;
}
span:nth-of-type(2) {
color: rgba(0, 0, 0, 0.87);
font-size: 48px;
letter-spacing: -2px;
line-height: 56px;
}
span:nth-of-type(3) {
color: rgba(0, 0, 0, 0.87);
font-size: 14px;
font-weight: 500;
letter-spacing: -1px;
line-height: 16px;
}
}
}
.vision {
position: sticky;
text-align: center;
display: inline-block;
width: 100%;
margin-bottom: 160px;
svg {
z-index: 0;
width: 100vw;
margin-left: calc(-100vw / 2);
position: absolute;
path {
z-index: 0;
}
}
.vision-content {
z-index: 1;
position: relative;
.vision-header {
margin-top: 172px;
font-weight: 900;
font-size: 68px;
line-height: 80px;
color: $landingpage__deep_color;
}
.vision-statement {
font-size: 18px;
line-height: 21px;
}
.vision-blocks {
width: 100%;
display: flex;
flex-flow: wrap;
justify-content: space-between;
.vision-block {
width: 335px;
margin: 62px;
.vision-block-title {
text-transform: uppercase;
color: $landingpage__deep_color;
letter-spacing: -2px;
font-size: 48px;
line-height: 56px;
font-weight: bold;
}
.vision-block-content {
font-size: 18px;
line-height: 133%;
}
}
}
}
}
.mood {
text-align: center;
margin-bottom: 32px;
margin-bottom: 80px;
.mood-cards {
display: inline-flex;
align-items: center;
justify-content: space-between;
margin: 0 150px;
width: calc(100% - 300px);
position: relative;
.material-card {
display: block;
align-items: initial;
width: 300px;
z-index: 1;
img {
box-shadow: none;
border: 0;
border-radius: 0;
}
.mood-card-type {
width: 60px;
text-align: start;
font-weight: bold;
font-size: 32px;
line-height: 32px;
.mode {
margin-top: -8px;
font-weight: normal;
font-size: 15px;
text-align: justify;
letter-spacing: 6px;
}
}
.mood-card-footer {
display: flex;
.specifications {
display: grid;
height: 60px;
margin-top: 16px;
grid-template-columns: repeat(2, 1fr);
justify-items: left;
align-items: self-end;
flex-wrap: wrap;
width: calc(100% - 75px);
.spec-item {
height: 30px;
font-size: 11px;
display: inline-grid;
line-height: 15px;
justify-items: left;
span:first-of-type {
font-weight: bold;
}
}
}
.outline {
display: flex;
place-self: flex-end;
color: #c4c4c4;
}
}
}
.mood-separator {
z-index: 0;
display: grid;
height: 120px;
width: 120px;
align-content: center;
justify-content: center;
border-radius: 188px;
border: 1px dashed #c4c4c4;
margin: 0 -40px;
padding: 120px;
span {
display: block;
width: inherit;
}
span:first-of-type {
color: $ha__primary_color;
font-weight: bold;
font-size: 16px;
line-height: 15px;
}
span:last-of-type {
font-size: 12px;
color: #0c0c0c;
opacity: 0.4;
}
.mood-separator-arrow {
color: #c4c4c4;
}
.mood-separator-arrow.right {
margin-top: -118px;
}
.mood-separator-arrow.left {
margin-bottom: -118px;
align-self: end;
}
}
}
}
.specifications {
display: grid;
grid-template-columns: repeat(5, 1fr);
.specifications-components {
grid-column: 1 / span 3;
margin-right: 24px;
}
.component-list {
display: grid;
row-gap: 8px;
grid-template-columns: repeat(5, 1fr);
font-size: 18px;
line-height: 21px;
.spec-title {
grid-column: 1;
margin-right: 24px;
margin-top: 16px;
text-transform: uppercase;
opacity: 0.4;
}
.spec-content {
grid-column: 2 / span 4;
font-weight: bold;
margin-top: 16px;
.spec-content-additional {
font-weight: normal;
ul {
margin-bottom: 0;
margin-left: 16px;
li {
margin-bottom: 0;
}
li::marker {
content: "- ";
}
}
}
}
}
.specifications-form-factor {
grid-column: 4 / span 2;
.specifications-form-factor-grid {
display: grid;
margin-left: 42px;
.sff-description {
display: grid;
span:first-of-type {
font-size: 1.525em;
line-height: 24px;
grid-column: 1;
text-transform: uppercase;
opacity: 0.4;
align-self: self-end;
}
span:last-of-type {
font-weight: bold;
font-size: 1.425em;
word-spacing: -4px;
}
}
.sff-width {
grid-column: 1 / span 2;
}
svg#zen {
grid-column: 1;
height: 100px;
width: 200px;
margin-bottom: 32px;
}
.sff-height {
grid-column: 2;
margin-left: 14px;
}
svg#depth {
grid-column: 1;
height: 200px;
width: 200px;
margin-bottom: 32px;
}
.sff-depth {
grid-column: 2;
margin-left: 14px;
}
svg#weight {
grid-column: 1 / span 2;
height: 200px;
width: 100%;
}
.sff-weight {
grid-column: 1 / span 2;
justify-content: center;
margin-top: -24px;
}
}
img {
box-shadow: none;
border: 0;
border-radius: 0;
}
}
}
.faq-list {
margin: 0 72px;
}
.blue3d {
text-decoration: none;
.blue3d-container {
align-items: flex-end;
background-image: url('/images/blue/blue_3d.jpg');
background-position: bottom;
background-size: cover;
display: flex;
height: 390px;
margin: auto;
margin-top: 62px;
padding: 0;
width: 720px;
.blue3d-description {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #000000ab;
color: #FFFFFF;
height: 60px;
width: 100%;
svg {
fill: white;
height: 32px;
width: 32px;
min-width: 32px;
}
}
}
}
}
.fab {
background-color: $ha__primary_color;
border-radius: 62px;
bottom: 16px;
display: flex;
box-shadow: rgba(0, 0, 0, 0.2) 0px 7px 8px -4px,
rgba(0, 0, 0, 0.14) 0px 12px 17px 2px,
rgba(0, 0, 0, 0.12) 0px 5px 22px 4px;
box-sizing: border-box;
color: #ffffff;
cursor: pointer;
display: inline-flex;
float: right;
font-size: 12.25px;
font-weight: 400;
font-weight: bold;
line-height: 32px;
padding: 8px 16px 4px;
position: fixed;
right: 24px;
z-index: 1111;
svg {
margin-top: 4px;
}
}
#buy-dialog {
z-index: 1000;
display: none;
position: fixed;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
background-color: rgb(0, 0, 0);
background-color: rgba(0, 0, 0, 0.4);
.dialog-content {
border-radius: 8px;
margin: auto;
width: 600px;
padding: 0;
overflow-y: auto;
display: flex;
flex-flow: column;
justify-content: space-between;
.close-container {
position: fixed;
float: right;
width: 615px;
text-align: right;
margin-top: -17px;
.dialog-close {
cursor: pointer;
font-size: 32px;
background-color: #ffffff;
border-radius: 100px;
height: 32px;
width: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
}
}
.dialog-header {
display: flex;
justify-content: space-between;
padding: 8px 16px;
font-weight: bold;
font-size: 24px;
svg {
width: 32px;
height: 32px;
cursor: pointer;
}
}
.distributors {
a {
text-decoration: none;
.distributor {
width: 100%;
display: flex;
justify-content: space-between;
padding: 8px 16px;
color: #222222;
margin: auto;
svg {
height: 100%;
align-self: center;
}
div {
display: grid;
line-height: 20px;
div:nth-of-type(1) {
align-content: center;
grid-column: 1;
grid-row: 1 / span 2;
margin-right: 8px;
}
div:nth-of-type(2) {
grid-column: 2;
}
div:nth-of-type(3) {
grid-column: 2;
color: darkslategrey;
font-size: small;
}
}
}
.distributor:hover {
border-color: $ha__primary_color;
}
}
}
.box-contents {
margin: 0 16px 32px;
ul {
margin: 12px 0 12px 24px;
color: darkslategrey;
font-size: small;
li {
margin-bottom: 4px;
}
}
.ul-sub {
margin: 0 0 0 16px;
}
}
.tip {
color: darkslategrey;
font-size: small;
text-align: center;
padding: 12px 62px 12px;
margin-top: 16px;
border-top: 1px darkslategrey solid;
}
}
}
}
@media only screen and (max-width: $palm-end) {
$landingpage__hero_height: 500px;
#landingpage {
.site-header {
background-color: #ffffffe8;
transition: background 0.5s;
ul {
margin: 0 4px;
width: calc(100% - 8px);
}
}
.page-content {
margin-top: 0;
height: 100%;
}
.grid-wrapper {
margin-left: 0;
width: 100%;
}
.banner {
margin-bottom: 8px;
height: $landingpage__hero_height;
img {
height: $landingpage__hero_height;
}
.title {
width: 100%;
left: unset;
font-size: 2em;
line-height: 0px;
svg {
width: 152px;
height: 122px;
text {
font-size: 65px;
}
}
}
.wide {
line-height: 1em;
}
}
.section-content {
width: 100%;
padding: 32px 8px;
.header {
width: 100%;
}
.section-inner {
flex-direction: column-reverse !important;
padding: 32px 0;
img {
max-width: 100%;
}
.section-inner-content {
margin-bottom: 16px;
width: 100%;
}
}
}
.button-row-with-icon {
display: flex;
flex-direction: column;
.button-icon {
width: calc(100% - 8px);
margin: 2px 4px;
}
}
.content {
margin: 0 8px;
.sub-title {
font-size: 24px;
line-height: 28px;
}
.banner-overlay {
margin: -116px auto 0;
display: block;
width: 100%;
padding: 0;
padding-bottom: 2px;
.energy-button-getting-started {
.banner-overlay-button {
margin: 8px;
position: unset;
width: calc(100% - 16px);
}
}
.banner-overlay-header {
padding-left: 8px;
padding-top: 8px;
}
.banner-overlay-content {
padding-left: 8px;
width: 100%;
}
.secondary {
display: none;
}
.banner-overlay {
margin: 0;
margin-top: 12px;
width: 100%;
.banner-overlay-images {
margin-top: -42px;
margin-left: -8px;
}
}
}
.banner-overlay-disclaimer {
margin: 12px auto 12px;
}
.bullet-points {
margin: 24px 0;
.item {
span:nth-of-type(1) {
font-size: 16px;
line-height: 16px;
}
span:nth-of-type(2) {
font-size: 32px;
line-height: 32px;
}
span:nth-of-type(3) {
font-size: 12px;
line-height: 12px;
}
}
}
.vision {
margin-bottom: 0;
svg {
display: none;
}
.vision-content {
margin-top: 28px;
.vision-header {
font-size: 34px;
line-height: 40px;
margin-top: 8px;
}
.vision-statement {
font-size: 12px;
line-height: 14px;
}
.vision-blocks {
.vision-block {
width: 100%;
margin: 9px;
.vision-block-title {
font-size: 24px;
line-height: 28px;
}
.vision-block-content {
display: none;
}
}
}
}
}
.mood {
.mood-cards {
display: inline-grid;
margin: 0;
width: 100%;
.material-card {
width: 100% !important;
display: block;
height: auto !important;
margin: 0 !important;
z-index: 4;
img {
max-height: 180px;
}
.mood-card-footer {
.specifications {
display: none;
}
}
}
.mood-separator {
margin: -80px calc((100% / 2) - 120px);
.mood-separator-arrow {
display: none;
}
}
}
}
.faq-list {
margin: 0;
}
.specifications {
display: block;
h3 {
text-align: center;
}
.component-list {
grid-template-columns: repeat(1, 1fr);
.spec-title,
.spec-content {
grid-column: 1;
}
.spec-title {
margin-top: 8px;
}
.spec-content {
margin-top: -4px;
}
}
.specifications-form-factor {
.specifications-form-factor-grid {
margin-left: 0;
.sff-width {
margin-left: 50px;
}
.sff-description {
span:last-of-type {
font-size: 16px;
}
}
}
}
}
}
.fab {
bottom: 12px;
right: 12px;
display: none;
}
#buy-dialog {
padding-top: 0;
.dialog-content {
border-radius: 0;
height: 100vh;
width: 100vw;
padding-bottom: 64px;
display: block;
.tip {
margin: 32px 8px 8px 8px;
}
}
}
.blue3d {
.blue3d-container {
width: 100% !important;
.blue3d-description {
height: auto !important;
i {
align-self: center;
}
}
}
}
}
}
@media only screen and (max-width: $lap-end) {
#landingpage {
.banner-overlay {
display: block !important;
.box {
position: relative !important;
margin: 10px auto -22px !important;
}
}
.page-content {
.content {
.bullet-points {
margin: 24px 0;
}
.vision {
margin-top: -200px;
.vision-content {
padding-top: 200px;
.vision-blocks {
margin: 32px 0;
.vision-block {
margin: 8px !important;
.vision-block-content {
display: none;
}
}
}
}
}
.mood {
.mood-cards {
margin: 0;
width: inherit;
.material-card {
height: 300px;
width: 230px;
margin: 0 24px;
}
}
}
.specifications {
margin: 0 16px;
}
}
}
}
}