UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects
Commit 0fb3201f authored by Graham Smith's avatar Graham Smith
Browse files

refactor wave

parent 718e38c1
No related branches found
No related tags found
No related merge requests found
<template> <template>
<div class="wave-container"> <div class="wave-container dark" :class="{ bottom }">
<div class="bg"> <div class="bg">
<div class="bg-mask"></div> <div class="bg-mask"></div>
<div class="wave-divider"> <div v-if="top" class="wave-divider">
<svg viewBox="0 70 500 60" preserveAspectRatio="none">
<rect x="0" y="0" width="500" height="500" />
<path d="M0,100 C150,200 350,0 500,100 L500,00 L0,0 Z" />
</svg>
</div>
<div v-if="bottom" class="wave-divider bottom">
<svg viewBox="0 70 500 60" preserveAspectRatio="none"> <svg viewBox="0 70 500 60" preserveAspectRatio="none">
<rect x="0" y="0" width="500" height="500" /> <rect x="0" y="0" width="500" height="500" />
<path d="M0,100 C150,200 350,0 500,100 L500,00 L0,0 Z" /> <path d="M0,100 C150,200 350,0 500,100 L500,00 L0,0 Z" />
</svg> </svg>
</div> </div>
</div> </div>
<slot></slot> <slot></slot>
</div> </div>
</template> </template>
<script>
export default {
name: "Wave",
props: {
top: {
type: Boolean,
default: true
},
bottom: {
type: Boolean,
default: true
}
}
};
</script>
<style lang="scss" scoped> <style lang="scss" scoped>
.wave-container { .wave-container {
position: relative; position: relative;
padding-top: 10rem; padding-top: 10rem;
padding-bottom: 3rem;
z-index: 1; z-index: 1;
&.bottom {
padding-bottom: 10rem;
}
.bg { .bg {
position: absolute; position: absolute;
overflow: auto; overflow: auto;
background-image: url(~@/assets/images/tech-bg.jpg); background-image: url(~@/assets/images/tech-bg.jpg);
background-attachment: fixed; background-attachment: fixed;
background-position-y: 150px; background-position-y: 100px;
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;
...@@ -42,20 +67,25 @@ ...@@ -42,20 +67,25 @@
background-image: linear-gradient( background-image: linear-gradient(
to bottom, to bottom,
$gradient-alpha -20%, $gradient-alpha -20%,
$bottom-bg 90% $bottom-bg 150%
); );
} }
.wave-divider { .wave-divider {
--divider-height: 4rem; $divider-height: 4rem;
position: relative; position: relative;
height: var(--divider-height); height: $divider-height;
width: 100%; width: 100%;
float: left; float: left;
z-index: 0; z-index: 0;
position: relative; position: relative;
&.bottom {
top: calc(100% - 2 *#{$divider-height});
transform: scale(-1);
}
svg { svg {
width: 100%; width: 100%;
height: 100%; height: 100%;
......
...@@ -65,8 +65,6 @@ export default { ...@@ -65,8 +65,6 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.who-we-serve { .who-we-serve {
padding-bottom: 3rem;
.container { .container {
max-width: 1080px; max-width: 1080px;
} }
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
<IntroVideo /> <IntroVideo />
<ProductsSummary /> <ProductsSummary />
<ServicesSummary /> <ServicesSummary />
<BottomWave> <Wave :bottom="false">
<WhoWeServe /> <WhoWeServe />
</BottomWave> </Wave>
</div> </div>
</template> </template>
...@@ -19,7 +19,7 @@ import IntroVideo from "@/components/IntroVideo"; ...@@ -19,7 +19,7 @@ import IntroVideo from "@/components/IntroVideo";
import ServicesSummary from "@/components/ServicesSummary"; import ServicesSummary from "@/components/ServicesSummary";
import ProductsSummary from "@/components/ProductsSummary"; import ProductsSummary from "@/components/ProductsSummary";
import WhoWeServe from "@/components/WhoWeServe"; import WhoWeServe from "@/components/WhoWeServe";
import BottomWave from "@/components/BottomWave"; import Wave from "@/components/Wave";
export default { export default {
name: "Home", name: "Home",
...@@ -28,7 +28,7 @@ export default { ...@@ -28,7 +28,7 @@ export default {
IntroVideo, IntroVideo,
ServicesSummary, ServicesSummary,
ProductsSummary, ProductsSummary,
BottomWave, Wave,
WhoWeServe WhoWeServe
} }
}; };
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</div> </div>
</div> </div>
</div> </div>
<BottomWave class="values-container dark"> <Wave class="values-container dark">
<h2>VALUE STATEMENTS</h2> <h2>VALUE STATEMENTS</h2>
<p class="section-description mx-auto px-5"> <p class="section-description mx-auto px-5">
Our values were determined through a working session that was Our values were determined through a working session that was
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
</div> </div>
</div> </div>
</div> </div>
</BottomWave> </Wave>
<div class="container principles-container"> <div class="container principles-container">
<h2>CORE PRINCIPLES</h2> <h2>CORE PRINCIPLES</h2>
<div class="row"> <div class="row">
...@@ -106,11 +106,11 @@ ...@@ -106,11 +106,11 @@
<script> <script>
import PageHeader from "@/components/PageHeader"; import PageHeader from "@/components/PageHeader";
import QuotesLogo from "@/assets/images/icons/Quotes.svg"; import QuotesLogo from "@/assets/images/icons/Quotes.svg";
import BottomWave from "@/components/BottomWave"; import Wave from "@/components/Wave";
export default { export default {
name: "WhoWeAre", name: "WhoWeAre",
components: { PageHeader, QuotesLogo, BottomWave }, components: { PageHeader, QuotesLogo, Wave },
data: function() { data: function() {
return { return {
principles: [ principles: [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment