Compare commits

...

13 Commits

Author SHA1 Message Date
Ray Elliott 5a12828f17 multiple updates 2020-04-20 21:34:30 +00:00
Ray Elliott 05122d4048 updates 2020-04-20 20:23:34 +00:00
Ray Elliott 2731a05ced update 2020-04-20 18:43:58 +00:00
Ray Elliott 720eb44ce0 use sass varaiables to set custom css properties 2020-04-20 18:43:19 +00:00
Ray Elliott de1aa40c3e add footer section 2020-04-20 18:13:38 +00:00
Ray Elliott 309e096c34 update 2020-04-20 17:31:59 +00:00
Ray Elliott 82d1365807 add contact section 2020-04-20 17:31:37 +00:00
Ray Elliott 43163164d4 lower -> upper case 2020-04-20 17:21:39 +00:00
Ray Elliott 4cc32226e6 delete unused files 2020-04-20 17:20:31 +00:00
Ray Elliott 4ccb4daf7e add services section 2020-04-20 17:20:18 +00:00
Ray Elliott 85fc26db7a update 2020-04-20 17:19:06 +00:00
Ray Elliott 9634cd3a88 add about section 2020-04-20 17:12:20 +00:00
Ray Elliott cc3696f77d add header styles 2020-04-20 17:03:18 +00:00
20 changed files with 431 additions and 715 deletions

View File

@ -1,15 +0,0 @@
---
title: 'tech'
date: 2018-11-14T19:02:50-07:00
draft: false
---
# [Victor Hugo](https://github.com/netlify-templates/victor-hugo)
## A Hugo boilerplate for creating truly epic websites
<img src="https://d33wubrfki0l68.cloudfront.net/30790d6888bd8af863fb2b5c33a7f337cdbda243/4e867/images/hugo-logo-wide.svg" style="width: 40%" />
This is a boilerplate for using [Hugo](https://gohugo.io/) as a static site generator and [Webpack](https://webpack.js.org/) as your asset pipeline. Victor Hugo setup to use [PostCSS](http://postcss.org/) and [Babel](https://babeljs.io/) for CSS and JavaScript compiling/transpiling. This project is released under the [MIT license](LICENSE). Please make sure you understand its implications and guarantees.
## Enjoy!! 😸

View File

@ -1,54 +1,18 @@
<article id="about"> <article id="about">
<div class="l-section l-relative l-screen-min-full">
<section class="l-relative l-screen-min-full">
<div class="l-underlay about-bg"></div> <div class="l-underlay about-bg"></div>
<div class="l-section-pad l-wrapper l-flex-2-col-m about-section">
<div class="about-section__info">
<div class="about-icon"></div>
<h2>About Heading One</h2>
<p>Lorem fuga cupiditate quidem quia earum, hic. Iusto id beatae sit similique sequi! Earum veritatis mollitia iste ipsam totam deleniti Nam cupiditate recusandae tempore ab magnam! Officiis maxime incidunt asperiores?</p>
<p>Amet sed ullam ea dolore corrupti sit. Alias aut doloribus explicabo perferendis fuga? Quas nostrum aut earum tempora voluptatem, magnam? Veritatis corrupti perspiciatis at aliquid perspiciatis Eligendi reprehenderit quidem veniam</p>
<p>Amet dolore atque iure inventore vitae Dolores fuga porro quo odit et autem. Sint est nesciunt unde non aliquid officiis fugit Repellat cum sequi cum fugiat fugit Voluptatem quaerat quibusdam.</p>
</div>
<div class="about-section__card">
<div class="c-img-card about-card">
<div class="c-img-card__header about-card-bg-img about-card-bg-img-1"></div>
<div class="c-img-card__body">
<div class="c-img-card__body-bg about-card-bg-1"></div>
<h3>Card Heading</h3>
<p>
Amet recusandae optio quia velit quisquam. Dolorem ipsam non modi est quisquam? Quia inventore neque amet laudantium impedit a, dignissimos. Repellendus vero animi saepe tempora quibusdam! Repudiandae esse ex adipisci
</p>
</div>
</div>
</div>
</div>
</section>
<section class="l-relative l-screen-min-full"> <h2 class="section-header">About</h2>
<div class="l-underlay about-bg about-bg--secondary"></div>
<div class="l-section-pad l-wrapper l-flex-2-col-m about-section about-section--swapped">
<div class="about-section__info">
<div class="about-icon"></div>
<h2>About Heading Two</h2>
<p>Lorem fuga cupiditate quidem quia earum, hic. Iusto id beatae sit similique sequi! Earum veritatis mollitia iste ipsam totam deleniti Nam cupiditate recusandae tempore ab magnam! Officiis maxime incidunt asperiores?</p>
<p>Amet sed ullam ea dolore corrupti sit. Alias aut doloribus explicabo perferendis fuga? Quas nostrum aut earum tempora voluptatem, magnam? Veritatis corrupti perspiciatis at aliquid perspiciatis Eligendi reprehenderit quidem veniam</p>
<p>Amet dolore atque iure inventore vitae Dolores fuga porro quo odit et autem. Sint est nesciunt unde non aliquid officiis fugit Repellat cum sequi cum fugiat fugit Voluptatem quaerat quibusdam.</p>
</div>
<div class="about-section__card">
<div class="c-img-card about-card">
<div class="c-img-card__header about-card-bg-img about-card-bg-img-2"></div>
<div class="c-img-card__body">
<div class="c-img-card__body-bg about-card-bg-2"></div>
<h3>Card Heading</h3>
<p>
Amet recusandae optio quia velit quisquam. Dolorem ipsam non modi est quisquam? Quia inventore neque amet laudantium impedit a, dignissimos. Repellendus vero animi saepe tempora quibusdam! Repudiandae esse ex adipisci
</p>
</div>
</div>
</div>
</div>
</section>
<div class="l-section-pad l-wrapper about-section">
An about Section.
</div>
<div class="l-section-pad l-wrapper about-section">
Another about Section.
</div>
</div>
</article> </article>

View File

@ -1,6 +1,10 @@
<article id="contact" class="l-relative l-screen-min-full contact-bg"> <article id="contact" class="l-section l-relative l-screen-min-full">
<div class="l-section-pad l-wrapper">
<h2 class="l-section-header contact-heading">Contact Us</h2> <div class="l-underlay contact-bg"></div>
<h2 class="section-header">Contact Us</h2>
<div class="l-section-pad l-wrapper contact-section">
<p class="h5">Complete this form and we will get back to you within one working day.</p> <p class="h5">Complete this form and we will get back to you within one working day.</p>
<form action="https://mailthis.to/remailthis" method="POST" encType="multipart/form-data"> <form action="https://mailthis.to/remailthis" method="POST" encType="multipart/form-data">
<ul class="u-no-list"> <ul class="u-no-list">

View File

@ -1,8 +1,8 @@
<footer class="footer transition-fade"> <footer class="footer transition-fade">
<div class="l-underlay footer-bg"></div> <div class="l-underlay footer-bg"></div>
<div class="l-wrapper l-section-pad l-section-pad--pb-reduce"> <div class="l-wrapper l-section-pad reduce-padding">
<ul class="l-flex-list-row footer__body"> <ul class="l-flex-list-row footer__body">
<li class="footer__body-section footer__body-section--m-left-align"> <li class="footer__body-section footer__body-section--m-left-align footer-section">
<h3 class="footer__heading">Let's keep in touch!</h3> <h3 class="footer__heading">Let's keep in touch!</h3>
<p>Find us on any of these platforms. We respond in 1-2 business days.</p> <p>Find us on any of these platforms. We respond in 1-2 business days.</p>
<ul class="l-flex-list-row footer__social-list"> <ul class="l-flex-list-row footer__social-list">
@ -12,7 +12,7 @@
<li><span class="social-icon"></span></li> <li><span class="social-icon"></span></li>
</ul> </ul>
</li> </li>
<li class="footer__body-section footer__body-section--m-left-align footer__body-section--narrow"> <li class="footer__body-section footer__body-section--m-left-align footer__body-section--narrow footer-section">
<h3 class="footer__heading--small footer__heading">Useful Links</h3> <h3 class="footer__heading--small footer__heading">Useful Links</h3>
<ul class="l-list-bare"> <ul class="l-list-bare">
<li><a class="footer__link" href="#">Link One</a></li> <li><a class="footer__link" href="#">Link One</a></li>
@ -21,7 +21,7 @@
<li><a class="footer__link" href="#">Link Four</a></li> <li><a class="footer__link" href="#">Link Four</a></li>
</ul> </ul>
</li> </li>
<li class="footer__body-section footer__body-section--m-left-align footer__body-section--narrow"> <li class="footer__body-section footer__body-section--m-left-align footer__body-section--narrow footer-section">
<h3 class="footer__heading--small footer__heading">Other Resources</h3> <h3 class="footer__heading--small footer__heading">Other Resources</h3>
<ul class="l-list-bare"> <ul class="l-list-bare">
<li><a class="footer__link" href="#">Link One</a></li> <li><a class="footer__link" href="#">Link One</a></li>

View File

@ -1,17 +1,17 @@
<header class="header"> <header class="header is-fixed">
<div class="l-underlay body-bg header-bg"></div> <div class="l-underlay body-bg header-bg"></div>
<div class="l-wrapper"> <div class="l-wrapper">
<nav class="nav site-nav"> <nav class="nav site-nav">
<ul class="l-flex-list-row site-nav__title"> <ul class="l-flex-list-row site-nav-title">
<li><a href="{{ .Site.BaseURL }}"><span class="site-title">{{ .Site.Title }}</span></a></li> <li><a href="{{ .Site.BaseURL }}"><span class="site-title">{{ .Site.Title }}</span></a></li>
</ul> </ul>
<label class="c-menu-toggle site-nav__menu-btn" for="menu-toggle"><span class="site-nav__menu-btn-text menu-text a">Menu</span><span class="menu-icon"></span></label> <label class="menu-toggle site-nav-menu-btn" for="menu-toggle"><span class="site-nav-menu-btn-text menu-text a">Menu</span><span class="menu-icon"></span></label>
<input id="menu-toggle" class="c-menu-toggle__toggle" type="checkbox"> <input id="menu-toggle" class="menu-toggle-input" type="checkbox">
<ul class="l-flex-list-row nav__item c-menu-toggle__menu site-nav__nav-list"> <ul class="l-flex-list-row nav-item menu-toggle-menu site-nav-nav-list">
<li><a class="nav__link nav-link" href="{{ .Site.BaseURL }}">Home</a></li> <li><a class="nav-link nav-link" href="{{ .Site.BaseURL }}">Home</a></li>
<li><a class="nav__link nav-link" href="#about">About</a></li> <li><a class="nav-link nav-link" href="#about">About</a></li>
<li><a class="nav__link nav-link" href="#services">Services</a></li> <li><a class="nav-link nav-link" href="#services">Services</a></li>
<li><a class="nav__link nav-link" href="#contact">Contact</a></li> <li><a class="nav-link nav-link" href="#contact">Contact</a></li>
</ul> </ul>
</nav> </nav>
</div> </div>

View File

@ -1,114 +1,15 @@
<article id="services" class="l-relative l-screen-min-full services-bg"> <article id="services" class="l-section l-relative l-screen-min-full">
<div class="l-section-pad l-wrapper l-wrapper--wide">
<h2 class="l-section-header">Services</h2> <div class="l-underlay services-bg"></div>
<ul class="l-flex-list-row service-list">
<li class="service"> <h2 class="section-header">Services</h2>
<ul class="l-list-bare">
<li class="service__header"> <div class="l-section-pad l-wrapper services-section">
<img class="service__img" src="https://via.placeholder.com/200" alt="SERVICE IMAGE"> A Services Section.
</li> </div>
<li>
<h3 class="service__heading h4">Service Heading One</h3> <div class="l-section-pad l-wrapper services-section">
<p class="h5">Service Sub-Heading</p> Another services Section.
</li>
<li class="service__body">
<p>
Dolor ad velit illum adipisicing laborum! Unde assumenda corporis dolore iure earum Sit ipsum exercitationem nisi dolore a repellendus! Nostrum accusamus laborum in sapiente velit Recusandae facere esse et natus.
</p>
<p>
Deleniti debitis reprehenderit est magni modi Veniam cumque officia quas ex veniam Voluptates molestias eaque dolorem ratione.
</p>
</li>
<li>
<ul class="l-flex-list-row service__social-list">
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
</ul>
</li>
</ul>
</li>
<li class="service">
<ul class="l-list-bare">
<li class="service__header">
<img class="service__img" src="https://via.placeholder.com/200" alt="SERVICE IMAGE">
</li>
<li>
<h3 class="service__heading h4">Service Heading Two</h3>
<p class="h5">Service Sub-Heading</p>
</li>
<li class="service__body">
<p>
Dolor ad velit illum adipisicing laborum! Unde assumenda corporis dolore iure earum Sit ipsum exercitationem nisi dolore a repellendus! Nostrum accusamus laborum in sapiente velit Recusandae facere esse et natus.
</p>
<p>
Dolor ad velit illum adipisicing laborum! Unde assumenda corporis dolore iure earum Sit ipsum exercitationem nisi dolore a repellendus! Nostrum accusamus laborum in sapiente velit Recusandae facere esse et natus.
</p>
<p>
Deleniti debitis reprehenderit est magni modi Veniam cumque officia quas ex veniam Voluptates molestias eaque dolorem ratione.
</p>
</li>
<li>
<ul class="l-flex-list-row service__social-list">
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
</ul>
</li>
</ul>
</li>
<li class="service">
<ul class="l-list-bare">
<li class="service__header">
<img class="service__img" src="https://via.placeholder.com/200" alt="SERVICE IMAGE">
</li>
<li>
<h3 class="service__heading h4">Service Heading Three</h3>
<p class="h5">Service Sub-Heading</p>
</li>
<li>
<p class="service__body">
Deleniti debitis reprehenderit est magni modi Veniam cumque officia quas ex veniam Voluptates molestias eaque dolorem ratione.
</p>
</li>
<li>
<ul class="l-flex-list-row service__social-list">
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
</ul>
</li>
</ul>
</li>
<li class="service">
<ul class="l-list-bare">
<li class="service__header">
<img class="service__img" src="https://via.placeholder.com/200" alt="SERVICE IMAGE">
</li>
<li>
<h3 class="service__heading h4">Service Heading Four</h3>
<p class="h5">Service Sub-Heading</p>
</li>
<li>
<p class="service__body">
Dolor ad velit illum adipisicing laborum! Unde assumenda corporis dolore iure earum Sit ipsum exercitationem nisi dolore a repellendus! Nostrum accusamus laborum in sapiente velit Recusandae facere esse et natus.
</p>
<p>
Deleniti debitis reprehenderit est magni modi Veniam cumque officia quas ex veniam Voluptates molestias eaque dolorem ratione.
</p>
</li>
<li>
<ul class="l-flex-list-row service__social-list">
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
<li><span class="social-icon"></span></li>
</ul>
</li>
</ul>
</li>
</ul>
</div> </div>
</article> </article>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,7 @@
.about-bg {
background-color: rgba(red, 0.5);
}
.about-section {
background-color: rgba(red, 0.5);
}

View File

@ -3,10 +3,10 @@ body {
color: var(--color__body); color: var(--color__body);
background-color: var(--color-bg); background-color: var(--color-bg);
font-size: 0.9em; font-size: $font-size-body--xxs;
@media (min-width: $bp-xs) { @media (min-width: $bp-xs) {
font-size: 1em; font-size: $font-size-body;
} }
} }
@ -18,6 +18,6 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
@include font-title($weight: 300); @include font-title;
} }

View File

@ -1,3 +1,2 @@
@import "block";
@import "card"; @import "card";
@import "menu-toggle"; @import "menu-toggle";

View File

@ -1,63 +0,0 @@
// units are the number of units that make up 100% of the container
// e.g., if there are 4 units then sizes, lengths, can be from 0 to 4
// corresponding to lengths of 0, 25%, 50%, 75% and 100%.
$units: 4;
$unit-size: 100% / $units;
%ab-layout {
position: relative;
&::before {
content: "";
display: block;
position: absolute;
width: $unit-size;
height: $unit-size;
transform-origin: 0 0;
transition: transform 0.4s ease-in-out;
}
}
// all blocks start out at 1 unit size in length and width.
// $x, $y are the starting coordinates
@mixin ab-set-layout($x: 0, $y: 0, $color: rgba(0, 0, 0, 0.5)) {
@extend %ab-layout;
&::before {
left: $x * $unit-size;
top: $y * $unit-size;
background-color: $color;
}
}
@mixin ab-set-state($state-class, $width, $height) {
@at-root .state-#{$state-class} &::before {
transform: scale($width, $height);
}
}
.block-grid {
padding-top: 3rem;
}
.anim-block {
background-color: rgba(blue, 0.06);
}
.anim-block--1 {
@include ab-set-layout(2, 1, blue);
@include ab-set-state(0, 1, 1);
@include ab-set-state(1, 2, 2);
@include ab-set-state(2, 2, 3);
}
.anim-block--2 {
@include ab-set-layout(1, 1, red);
@include ab-set-state(0, 1, 1);
@include ab-set-state(1, 2, 2);
@include ab-set-state(2, 2, 3);
}
// vim:set filetype=scss:

View File

@ -1,11 +1,9 @@
$bp-menu-collpase: $bp-s; .menu-toggle {
.c-menu-toggle {
cursor: pointer; cursor: pointer;
} }
input.c-menu-toggle__toggle[type="checkbox"], input.menu-toggle-input[type="checkbox"],
input.c-menu-toggle__toggle[type="radio"] { input.menu-toggle-input[type="radio"] {
// display: none; // display: none;
position: fixed; position: fixed;
@ -22,24 +20,24 @@ input.c-menu-toggle__toggle[type="radio"] {
} }
@media (max-width: $bp-menu-collpase) { @media (max-width: $bp-menu-collpase) {
.c-menu-toggle { .menu-toggle {
opacity: 1; opacity: 1;
pointer-events: auto; pointer-events: auto;
} }
.c-menu-toggle__menu { .menu-toggle-menu {
opacity: 0; opacity: 0;
pointer-events: none; pointer-events: none;
} }
.c-menu-toggle__toggle:checked ~ .c-menu-toggle__menu { .menu-toggle-input:checked ~ .menu-toggle-menu {
opacity: 1; opacity: 1;
pointer-events: auto; pointer-events: auto;
} }
} }
@media (min-width: $bp-menu-collpase) { @media (min-width: $bp-menu-collpase) {
.c-menu-toggle { .menu-toggle {
display: none; display: none;
} }
} }

View File

@ -0,0 +1,8 @@
.contact-bg {
background-color: rgba(aqua, 0.5);
}
.contact-section {
background-color: rgba(aqua, 0.5);
}

111
src/css/imports/footer.scss Normal file
View File

@ -0,0 +1,111 @@
$footer-bp-s: 28em;
$footer-bp-m: 60em;
.footer {
position: relative;
font-size: 0.9rem;
}
.footer-bg {
background-color: rgba(indigo, 0.5);
}
.footer-section {
background-color: rgba(indigo, 0.5);
}
.footer__term {
margin: 0 0.5em;
}
.footer__attr {
text-align: center;
margin-bottom: 0;
font-size: 0.8em;
}
.footer__body {
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.footer__body-section {
flex: 0 0 100%;
margin-bottom: 1.6rem;
@media (min-width: $footer-bp-s) {
&--narrow {
flex: 0 0 50%;
}
}
@media (min-width: $footer-bp-m) {
flex: 0 0 60%;
margin-bottom: 0;
padding: 0 0.8rem;
&:first-child {
padding-left: 0;
}
&:last-child {
padding-right: 0;
}
&--narrow {
flex: 0 1 20%;
}
&--m-left-align {
text-align: left;
.footer__social-list {
justify-content: left;
}
}
}
}
//
// reduce padding bottom
.reduce-padding {
padding-bottom: 8px;
@media (min-width: $bp-m) {
padding-bottom: 16px;
}
}
.footer__footer {
position: relative;
font-size: 0.9em;
margin-top: 2.4rem;
&::before {
content: "";
position: absolute;
width: 100%;
height: 1px;
left: 0;
top: -1.2rem;
background-color: currentColor;
opacity: 0.2;
}
}
.footer__heading {
font-size: 2.25em;
&--small {
@include font-body(bold);
font-size: 1em;
text-transform: uppercase;
}
}
.footer__social-list {
font-size: 3em;
justify-content: center;
}

View File

@ -0,0 +1,85 @@
.header-bg {
background-color: rgba(pink, 0.5);
opacity: 0.6;
}
.header {
z-index: $z-index__header;
position: relative;
top: 0;
left: 0;
width: 100%;
&.is-fixed {
position: fixed;
.header-bg {
}
}
&.is-absolute {
position: absolute;
}
}
.nav {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
li {
margin-bottom: 0;
}
}
.nav-item {
margin: 0;
}
.nav-link {
display: block;
padding: 0.6em 1.5em;
&:last-child {
padding-right: 0;
}
}
.site-nav {
&-menu-btn {
@media (max-width: $bp-s) {
margin: 0;
padding: 6px 0 6px;
display: flex;
flex-direction: row;
align-items: center;
}
}
&-nav-list {
@media (max-width: $bp-s) {
position: fixed;
top: 4rem;
bottom: 2rem;
left: 2rem;
right: 2rem;
background-color: rgba(pink, 0.5);
}
}
}
.menu-text {
margin-right: 0.5rem;
}
.menu-icon {
display: block;
height: 1.2em;
width: 1.2em;
border-radius: 3px;
background-color: currentColor;
}

View File

@ -1,3 +1,5 @@
$hero-bp: $bp-m;
.hero { .hero {
z-index: 1; z-index: 1;
position: relative; position: relative;
@ -18,7 +20,7 @@
background-color: rgba(pink, 0.5); background-color: rgba(pink, 0.5);
} }
@media (max-width: $bp-hero) { @media (max-width: $hero-bp) {
&__fg, &__fg,
&__bg { &__bg {
position: absolute; position: absolute;
@ -37,7 +39,7 @@
} }
} }
@media (min-width: $bp-hero) { @media (min-width: $hero-bp) {
display: flex; display: flex;
flex-direction: row; flex-direction: row;

View File

@ -1,66 +1,62 @@
.l-wrapper { .l-wrapper {
width: 100%; width: 100%;
max-width: 80rem; max-width: $wrapper-max-width;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
padding-left: 8px; padding-left: $padding-horizontal-xs;
padding-right: 8px; padding-right: $padding-horizontal-xs;
@media (min-width: $bp-s) { @media (min-width: $bp-s) {
padding-left: 32px; padding-left: $padding-horizontal-s;
padding-right: 32px; padding-right: $padding-horizontal-s;
} }
@media (min-width: $bp-m) { @media (min-width: $bp-m) {
padding-left: 64px; padding-left: $padding-horizontal-m;
padding-right: 64px; padding-right: $padding-horizontal-m;
} }
@media (min-width: $bp-l) { @media (min-width: $bp-l) {
padding-left: 96px; padding-left: $padding-horizontal-l;
padding-right: 96px; padding-right: $padding-horizontal-l;
} }
&--wide { &--wide {
max-width: 110rem; max-width: $wrapper-max-width--wide;
} }
} }
// TODO - need to move .l-section-pad rules into .l-section - so there is
// only the .l-section rules. Then that needs to be applied ONLY to the actual
// top level of a page section.
// then sub sections can have a margin-bottom on them to sort out the margins
// for them
// sub sections with individual backgrounds will have a padding applied to them
// that padding will be top, bottom and left, right
.l-section {
padding-top: 3.75rem;
}
.l-section-pad { .l-section-pad {
padding-top: 24px; padding-top: $padding-vertical-xs;
padding-bottom: 24px; padding-bottom: $padding-vertical-xs;
@media (min-width: $bp-s) { @media (min-width: $bp-s) {
padding-top: 32px; padding-top: $padding-vertical-s;
padding-bottom: 32px; padding-bottom: $padding-vertical-s;
} }
@media (min-width: $bp-m) { @media (min-width: $bp-m) {
padding-top: 64px; padding-top: $padding-vertical-m;
padding-bottom: 64px; padding-bottom: $padding-vertical-m;
} }
@media (min-width: $bp-l) { @media (min-width: $bp-l) {
padding-top: 96px; padding-top: $padding-vertical-l;
padding-bottom: 96px; padding-bottom: $padding-vertical-l;
} }
// reduce padding bottom
&--pb-reduce {
padding-bottom: 8px;
@media (min-width: $bp-m) {
padding-bottom: 16px;
}
}
}
.l-section-header {
font-size: 2.875rem;
line-height: 1.2;
text-align: center;
margin-bottom: 3.75rem;
} }
// #position // #position
@ -73,6 +69,14 @@
position: relative; position: relative;
} }
.l-overlay {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.l-underlay { .l-underlay {
z-index: -1; z-index: -1;
position: absolute; position: absolute;
@ -155,10 +159,6 @@
margin: 0; margin: 0;
} }
.l-flex-list-col,
.l-flex-list-row {
}
.l-list-bare { .l-list-bare {
list-style: none; list-style: none;
padding-left: 0; padding-left: 0;

View File

@ -0,0 +1,7 @@
.services-bg {
background-color: rgba(green, 0.5);
}
.services-section {
background-color: rgba(green, 0.5);
}

View File

@ -1,56 +1,116 @@
// breakpoints
$bp-xs: 28em; $bp-xs: 28em;
$bp-s: 40em; $bp-s: 40em;
$bp-m: 50em; $bp-m: 50em;
$bp-l: 80em; $bp-l: 80em;
// header menu collapse
$bp-footer-s: 28em; $bp-menu-collpase: $bp-s;
$bp-footer-m: 60em;
$bp-hero: $bp-m;
$z-index__header: 100; $z-index__header: 100;
:root { $wrapper-max-width: 80rem;
--primary-100: #eff8ff; $wrapper-max-width--wide: 110rem;
--primary-200: #aad4f5;
--primary-300: #63a2d8;
--primary-400: #3183c8;
--primary-500: #2368a2;
--primary-600: #1a4971;
--primary-700: #203d54;
// --primary-800: #203d54;
// --primary-900: #203d54;
--neutral-100: #f8f9fa;
--neutral-200: #e1e7ec;
--neutral-300: #cfd6de;
--neutral-400: #b8c4ce;
--neutral-500: #8895a7;
--neutral-600: #5f6b7a;
--neutral-700: #212934;
// --neutral-800: #212934;
// --neutral-900: #212934;
--accent-primary-100: #e3fcec;
--accent-primary-200: #a8eec1;
--accent-primary-300: #74d99f;
--accent-primary-400: #38c172;
--accent-primary-500: #259d58;
--accent-primary-600: #197741;
--accent-primary-700: #145239;
// --accent-primary-800: #145239;
// --accent-primary-900: #145239;
--accent-secondary-100: #fce8e8;
--accent-secondary-200: #f5aaaa;
--accent-secondary-300: #e46464;
--accent-secondary-400: #dc3030;
--accent-secondary-500: #b82020;
--accent-secondary-600: #891b1b;
--accent-secondary-700: #611818;
// --accent-secondary-800: #611818;
// --accent-secondary-900: #611818;
// --accent-tertiary-100: #e7ffee; $font-size-body: 1em;
// --accent-quaternary-100: #fffcf4; $font-size-body--xxs: 0.9em;
// --accent-quinary-100: #ffeefc;
// lerft, right padding of sections
$padding-horizontal-xs: 8px;
$padding-horizontal-s: 32px;
$padding-horizontal-m: 64px;
$padding-horizontal-l: 96px;
// top, bottom padding of sections
$padding-vertical-xs: 24px;
$padding-vertical-s: 32px;
$padding-vertical-m: 64px;
$padding-vertical-l: 96px;
$color-primary-100: #eff8ff;
$color-primary-200: #aad4f5;
$color-primary-300: #63a2d8;
$color-primary-400: #3183c8;
$color-primary-500: #2368a2;
$color-primary-600: #1a4971;
$color-primary-700: #203d54;
// $color-primary-800: #203d54;
// $color-primary-900: #203d54;
$color-neutral-100: #f8f9fa;
$color-neutral-200: #e1e7ec;
$color-neutral-300: #cfd6de;
$color-neutral-400: #b8c4ce;
$color-neutral-500: #8895a7;
$color-neutral-600: #5f6b7a;
$color-neutral-700: #212934;
// $color-neutral-800: #212934;
// $color-neutral-900: #212934;
$color-accent-primary-100: #e3fcec;
$color-accent-primary-200: #a8eec1;
$color-accent-primary-300: #74d99f;
$color-accent-primary-400: #38c172;
$color-accent-primary-500: #259d58;
$color-accent-primary-600: #197741;
$color-accent-primary-700: #145239;
// $color-accent-primary-800: #145239;
// $color-accent-primary-900: #145239;
$color-accent-secondary-100: #fce8e8;
$color-accent-secondary-200: #f5aaaa;
$color-accent-secondary-300: #e46464;
$color-accent-secondary-400: #dc3030;
$color-accent-secondary-500: #b82020;
$color-accent-secondary-600: #891b1b;
$color-accent-secondary-700: #611818;
// $color-accent-secondary-800: #611818;
// $color-accent-secondary-900: #611818;
// $color-accent-tertiary-100: #e7ffee;
// $color-accent-quaternary-100: #fffcf4;
// $color-accent-quinary-100: #ffeefc;
$color-color__body: $color-neutral-600;
$color-color-bg: $color-neutral-100;
:root {
--primary-100: #{$color-primary-100};
--primary-200: #{$color-primary-200};
--primary-300: #{$color-primary-300};
--primary-400: #{$color-primary-400};
--primary-500: #{$color-primary-500};
--primary-600: #{$color-primary-600};
--primary-700: #{$color-primary-700};
// --primary-800: #{$color-primary-800};
// --primary-900: #{$color-primary-900};
--neutral-100: #{$color-neutral-100};
--neutral-200: #{$color-neutral-200};
--neutral-300: #{$color-neutral-300};
--neutral-400: #{$color-neutral-400};
--neutral-500: #{$color-neutral-500};
--neutral-600: #{$color-neutral-600};
--neutral-700: #{$color-neutral-700};
// --neutral-800: #{$color-neutral-800};
// --neutral-900: #{$color-neutral-900};
--accent-primary-100: #{$color-accent-primary-100};
--accent-primary-200: #{$color-accent-primary-200};
--accent-primary-300: #{$color-accent-primary-300};
--accent-primary-400: #{$color-accent-primary-400};
--accent-primary-500: #{$color-accent-primary-500};
--accent-primary-600: #{$color-accent-primary-600};
--accent-primary-700: #{$color-accent-primary-700};
//--accent-primary-800: #{$color-accent-primary-800};
//--accent-primary-900: #{$color-accent-primary-900};
--accent-secondary-100: #{$color-accent-secondary-100};
--accent-secondary-200: #{$color-accent-secondary-200};
--accent-secondary-300: #{$color-accent-secondary-300};
--accent-secondary-400: #{$color-accent-secondary-400};
--accent-secondary-500: #{$color-accent-secondary-500};
--accent-secondary-600: #{$color-accent-secondary-600};
--accent-secondary-700: #{$color-accent-secondary-700};
//--accent-secondary-800: #{$color-accent-secondary-800};
//--accent-secondary-900: #{$color-accent-secondary-900};
//--accent-tertiary-100: #{$color-color-accent-tertiary-100};
//--accent-quaternary-100: #{$color-accent-quaternary-100};
//--accent-quinary-100: #{$color-accent-quinary-100};
--color__body: var(--neutral-600); --color__body: var(--neutral-600);
--color-bg: var(--neutral-100); --color-bg: var(--neutral-100);

View File

@ -1,5 +1,4 @@
@import "imports/reset.css"; @import "imports/reset.css";
// @import "milligram";
@import "imports/variables.scss"; @import "imports/variables.scss";
@ -12,7 +11,12 @@
@import "imports/components/base.scss"; @import "imports/components/base.scss";
@import "imports/header.scss";
@import "imports/hero.scss"; @import "imports/hero.scss";
@import "imports/about.scss";
@import "imports/services.scss";
@import "imports/contact.scss";
@import "imports/footer.scss";
@import "mapbox-gl/dist/mapbox-gl.css"; @import "mapbox-gl/dist/mapbox-gl.css";
@ -26,375 +30,19 @@ html.is-animating .transition-fade {
opacity: 0; opacity: 0;
} }
.section-header {
font-size: 2.875rem;
line-height: 1.2;
text-align: center;
margin-bottom: 3.75rem;
}
// mapbox // mapbox
.mapboxgl-map { .mapboxgl-map {
height: 30em; height: 30em;
} }
// header
.header-bg {
opacity: 0.6;
}
.header {
z-index: $z-index__header;
position: fixed;
top: 0;
left: 0;
width: 100%;
}
.nav {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
li {
margin-bottom: 0;
}
}
.nav__item {
margin: 0;
}
.nav__link {
display: block;
padding: 0.6em 1.5em;
&:last-child {
padding-right: 0;
}
}
.site-nav {
&__title {
}
&__menu-btn {
@media (max-width: $bp-s) {
margin: 0;
padding: 6px 0 6px;
display: flex;
flex-direction: row;
align-items: center;
}
}
&__nav-list {
@media (max-width: $bp-s) {
position: fixed;
top: 4rem;
bottom: 2rem;
left: 2rem;
right: 2rem;
background-color: #fff;
}
}
}
.menu-text {
margin-right: 0.5rem;
}
.menu-icon {
display: block;
height: 1.1em;
width: 1.1em;
border-radius: 3px;
background-color: blue;
opacity: 0.5;
}
// footer
.footer {
position: relative;
font-size: 0.9rem;
color: var(--neutral-100);
}
.footer-bg {
background-color: var(--neutral-700);
}
.footer__term {
margin: 0 0.5em;
}
.footer__attr {
text-align: center;
margin-bottom: 0;
font-size: 0.8em;
}
.footer__body {
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.footer__body-section {
flex: 0 0 100%;
margin-bottom: 1.6rem;
@media (min-width: $bp-footer-s) {
&--narrow {
flex: 0 0 50%;
}
}
@media (min-width: $bp-footer-m) {
flex: 0 0 60%;
margin-bottom: 0;
padding: 0 0.8rem;
&:first-child {
padding-left: 0;
}
&:last-child {
padding-right: 0;
}
&--narrow {
flex: 0 1 20%;
}
&--m-left-align {
text-align: left;
.footer__social-list {
justify-content: left;
}
}
}
}
.footer__footer {
position: relative;
font-size: 0.9em;
margin-top: 2.4rem;
&::before {
content: "";
position: absolute;
width: 100%;
height: 1px;
left: 0;
top: -1.2rem;
background-color: var(--neutral-400);
opacity: 0.2;
}
}
.footer__heading {
font-size: 2.25em;
&--small {
@include font-body(bold);
font-size: 1em;
text-transform: uppercase;
}
}
.footer__social-list {
font-size: 3em;
justify-content: center;
}
.footer__link {
color: var(--neutral-200);
text-decoration: none;
@include font-link(bold);
&:focus,
&:hover {
color: var(--neutral-400);
}
}
// hero
.hero-bg {
// background-color: var(--primary-500);
}
// about
.about-bg {
background-color: var(--page-bg);
&--secondary {
background-color: var(--neutral-200);
}
}
.about-section {
align-items: flex-end;
&__info {
padding: 0;
@media (min-width: $bp-m) {
padding-right: 64px;
}
}
&--swapped {
.about-section__info {
order: 2;
@media (min-width: $bp-m) {
padding-left: 64px;
}
}
.about-section__card {
order: 1;
}
}
}
.about-card {
height: 30em;
width: 100%;
max-width: 30em;
margin-left: auto;
margin-right: auto;
font-size: 0.9em;
@media (min-width: $bp-m) {
width: 100%;
max-width: 26em;
height: 40em;
margin-left: auto;
margin-right: initial;
}
}
.about-section--swapped .about-card {
@media (min-width: $bp-m) {
margin-left: initial;
margin-right: auto;
}
}
.about-card-bg-img {
background-size: cover;
background-position: center center;
}
.about-card-bg-1 {
background-color: pink;
}
.about-card-bg-img-1 {
background-image: url(https://via.placeholder.com/300x400);
}
.about-card-bg-2 {
background-color: lightblue;
}
.about-card-bg-img-2 {
background-image: url(https://via.placeholder.com/300x400);
}
.about-icon {
width: 4em;
height: 4em;
border-radius: 50%;
margin-bottom: 1.25rem;
background-color: blue;
opacity: 0.2;
}
// services
.services-bg {
color: var(--neutral-300);
background-color: var(--primary-700);
}
.service-list {
flex-wrap: wrap;
justify-content: space-between;
}
.service {
flex: 0 0 100%;
text-align: center;
margin-bottom: 2.5rem;
&:last-child {
margin-bottom: 0;
}
@media (min-width: $bp-m) {
flex: 0 0 calc(50% - 2.5rem);
}
@media (min-width: $bp-l) {
flex: 0 0 calc(25% - 2.5rem);
}
}
.service__header {
display: inline-block;
width: 7em;
height: 7em;
margin-bottom: 1.25rem;
}
.service__img {
width: 100%;
height: auto;
border-radius: 50%;
}
.service__heading {
margin-bottom: 0.125em;
}
.service__body {
@media (min-width: $bp-s) {
font-size: 0.9em;
}
}
.service__social-list {
font-size: 2em;
}
// contact
.contact-bg {
background-color: var(--primary-100);
}
.contact-heading {
text-align: left;
margin-bottom: 1.25rem;
}
// global
.site-title {
text-transform: capitalize;
}
.body-bg {
background-color: var(--color-bg);
}
.social-icon { .social-icon {
display: block; display: block;
width: 1em; width: 1em;