windhamdavid 4 years ago
parent
commit
65835ec181
2 changed files with 483 additions and 37 deletions
  1. 422 0
      css/style.css
  2. 61 37
      index.html

+ 422 - 0
css/style.css

@@ -31,6 +31,93 @@ body {
   transition: background-color 0.4s ease;
   font-family: sans-serif;
 }
+body {
+  position: relative;
+  margin: 0;
+  padding: 0;
+  min-height: 100%;
+  -webkit-font-smoothing: antialiased;
+  font-kerning: auto;
+  background: #fff;
+  transition: background-color 0.4s ease;
+}
+/* viewports page-view used for waypoints  */
+.viewport {
+  position: fixed;
+  height: 100%;
+  width: 100%;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  overflow: hidden;
+}
+.viewport-above {
+  opacity: 0;
+}
+.viewport-inside {
+  opacity: 1;
+}
+.viewport-below {
+  opacity: 0;
+}
+.viewport-below > * {
+  transform: translateY(100px);
+}
+.page-view {
+  padding: 7rem 0;
+  transition: opacity 0.4s ease;
+  opacity: 0;
+  position: relative;
+  background: transparent !important;
+  scroll-snap-align: start;
+  min-height: 100vh;
+}
+.page-view > * {
+  transition: all 0.4s ease;
+}
+.page-view:after {
+  content: '';
+}
+.no-js .page-view {
+  opacity: 1;
+}
+.background-color {
+  position: relative;
+}
+.background-color.white {
+  background-color: #fff;
+}
+.background-color.black {
+  background-color: #121212;
+  z-index: 0;
+}
+.page-view {
+  padding: 7rem 0;
+  transition: opacity 0.4s ease;
+  opacity: 0;
+  position: relative;
+  background: transparent !important;
+  scroll-snap-align: start;
+  min-height: 100vh;
+}
+.page-view > * {
+  transition: all 0.4s ease;
+}
+.page-view:after {
+  content: '';
+}
+.no-js .page-view {
+  opacity: 1;
+}
+
+h1 a:hover,
+h2 a:hover,
+h3 a:hover,
+h4 a:hover,
+h5 a:hover {
+  color: #3496fe;
+}
 /*########################################
 ################# TYPE ###################
 #########################################*/
@@ -68,10 +155,344 @@ a {
 /*########################################
 ################# HEAD ###################
 #########################################*/
+#header {
+  position: fixed;
+  z-index: 98;
+  margin: 0;
+  padding: 0;
+  left: 0;
+  top: 0;
+  right: 0;
+  pointer-events: none;
+}
+
+#header .header-ui {
+  margin: 0;
+  padding: 0;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-align-items: center;
+  align-items: center;
+  justify-content: space-between;
+}
+
+#header .header-ui .brand--nav {
+  margin: 0 auto 0 0;
+  padding: 1rem;
+  flex: 0 0 100%;
+  width: 100%;
+  max-width: 100%;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-align-items: center;
+  align-items: center;
+  justify-content: space-between;
+  pointer-events: auto;
+  will-change: width, padding, flex;
+}
+
+@media (min-width: 576px) {
+  #header .header-ui .brand--nav {
+    flex: 0 0 50%;
+    width: 50%;
+    max-width: 50%;
+  }
+  #header .header-ui .brand--nav .brand {
+    margin-right: 20px;
+  }
+}
+@media (min-width: 768px) {
+  #header {
+    -webkit-transition: opacity .35s ease-in-out 0s;
+    transition: opacity .35s ease-in-out 0s;
+  }
+  #header .header-ui .brand--nav,
+  #header .header-ui .header--complementary {
+    padding: 2rem;
+    -webkit-transition: width .35s ease-in-out 0s, padding .35s ease-in-out 0s, flex .35s ease-in-out 0s, background .35s ease-in-out 0s;
+    transition: width .35s ease-in-out 0s, padding .35s ease-in-out 0s, flex .35s ease-in-out 0s, background .35s ease-in-out 0s;
+  }
+  #header.shrink .header-ui .brand--nav,
+  #header.shrink .header-ui .header--complementary {
+    padding: 1rem;
+    flex: 0 0 auto;
+  }
+  #header.on_menu .brand--nav {
+    padding-right: 0;
+  }
+  #header.on_menu .brand--nav .hamburger {
+    -webkit-transform: translateX(27px);
+    transform: translateX(27px);
+  }
+}
+
+@media (min-width: 992px) {
+  #header .header-ui .brand--nav,
+
+  #header.shrink .header-ui .brand--nav,
+  #header.shrink .header-ui .header--complementary {
+    padding: 1rem;
+    flex: 0 0 auto;
+  }
+
+  #header.on_menu .brand--nav {
+    padding-right: 0;
+  }
+  #header.on_menu .brand--nav .hamburger {
+    -webkit-transform: translateX(27px);
+    transform: translateX(27px);
+  }
+}
+.dw-header {
+  position: fixed;
+}
+.dw-header,
+.works-header {
+  background: #121212;
+}
+.dw-header h2,
+.works-header h2 {
+  letter-spacing: 0.01rem;
+  font-weight: normal;
+  text-align: left;
+  margin: 0;
+}
+@media (min-width: 992px) {
+  .dw-header h2,
+  .works-header h2 {
+    font-size: 2.4rem;
+  }
+}
+.dw-header {
+  min-height: 400px;
+}
+.dw-header h2 {
+  max-width: 900px;
+}
+.dw-header .main {
+  position: relative;
+  z-index: 2;
+}
+
+#header {
+  position: absolute;
+}
+#header .header-ui .brand--nav,
+#header .header-ui .header--complementary {
+  padding: 1rem;
+  background: transparent !important;
+}
+
+#header .header-ui .button.button-to-quote,
+#header .header-ui a {
+  margin-left: 40px;
+}
+#header .header-ui a,
+#header .header-ui .button {
+  position: relative;
+  color: hsla(0, 0%, 100%, 0.5);
+  border-color: hsla(0, 0%, 100%, 0.5);
+  font-family: 'Inter', sans-serif;
+}
+#header .header-ui .brand img {
+  width: 200px;
+}
+.header-small {
+  width: 100%;
+  position: fixed;
+  display: flex;
+  padding: 0.5rem 1rem 1rem 1rem;
+  z-index: 999;
+  opacity: 0;
+  top: -200px;
+  left: 0;
+  transition: opacity 0.4s ease, background-color 0.4s ease;
+}
+.header-small .header-small-menu {
+  background-color: #2b3444;
+  position: absolute;
+  box-shadow: 0 27px 53px 0 rgba(1, 93, 140, 0.24);
+  z-index: 1;
+  opacity: 0;
+  visibility: hidden;
+  padding: 20px 20px 40px 20px;
+  top: 0;
+  right: 0;
+}
+.header-small .header-small-menu h6 {
+  font-weight: bold;
+  color: #fff;
+  margin: 40px 0 0 0;
+}
+.header-small .header-small-menu a,
+.header-small .header-small-menu h6 {
+  padding: 6px 29px 8px 12px;
+}
+.header-small .header-small-menu a {
+  font-size: 26px;
+  line-height: 44px;
+  letter-spacing: -0.43px;
+  display: block;
+  color: #fff;
+}
+.header-small .header-small-menu a:hover {
+  opacity: 0.5;
+}
+.header-small .header-small-menu a.email {
+  font-size: 1rem;
+  line-height: 1.2;
+}
+.header-small.menu-open .header-small-menu {
+  display: block;
+  opacity: 1;
+  visibility: visible;
+}
+.header-small.showing {
+  opacity: 1;
+  top: 0;
+}
+.header-small a {
+  color: currentColor;
+}
+.header-small img {
+  margin-left: 0px;
+  width: 22px;
+  transition: background-color 0.4s ease;
+}
+.header-small .light {
+  display: none;
+  border: 1px solid #fff;
+}
+.header-small .dark {
+  display: inline-block;
+  border: 1px solid #000;
+}
+[bg=dark-bg] .header-small .light {
+  display: inline-block;
+}
+[bg=dark-bg] .header-small .dark {
+  display: none;
+}
+[bg=dark-bg] .hamburger-inner,
+[bg=dark-bg] .hamburger-inner:before,
+[bg=dark-bg] .hamburger-inner:after {
+  background-color: #fff !important;
+}
+
 
 /*########################################
 ################# NAVI ###################
 #########################################*/
+.hamburger {
+  font: inherit;
+  display: inline-block;
+  overflow: visible;
+  margin: 0;
+  padding: 0;
+  cursor: pointer;
+  transition-timing-function: linear;
+  transition-duration: 0.15s;
+  transition-property: opacity, filter;
+  text-transform: none;
+  color: inherit;
+  border: 0;
+  background-color: transparent;
+  align-self: flex-end;
+  margin-left: auto;
+  z-index: 6;
+}
+.hamburger:focus, .hamburger:active {
+  outline-width: 0;
+}
+.hamburger.is-active {
+  outline-width: 0;
+}
+.hamburger-box {
+  width: 24px;
+  height: 15px;
+  display: inline-block;
+  position: relative;
+}
+.hamburger-inner {
+  display: block;
+  top: 50%;
+  margin-top: -0.5px;
+}
+.hamburger-inner,
+.hamburger-inner::before,
+.hamburger-inner::after {
+  width: 24px;
+  height: 2px;
+  border-radius: 2px;
+  position: absolute;
+  transition-property: transform;
+  transition-duration: 0.15s;
+  transition-timing-function: ease;
+  background-color: #000;
+}
+.hamburger-inner::before, .hamburger-inner::after {
+  content: "";
+  display: block;
+}
+.hamburger-inner::before {
+  top: -7px;
+}
+.hamburger-inner::after {
+  bottom: -7px;
+}
+.hamburger-inner:before {
+  top: 5px;
+}
+.hamburger-inner:after {
+  top: 10px;
+}
+.hamburger:hover {
+  opacity: 0.7;
+}
+.hamburger:focus, .hamburger:active {
+  outline-width: 0;
+}
+.hamburger.is-active {
+  outline-width: 0;
+}
+.hamburger.is-active:hover {
+  opacity: 0.7;
+}
+.hamburger.is-active .hamburger-inner,
+.hamburger.is-active .hamburger-inner::before,
+.hamburger.is-active .hamburger-inner::after {
+  background-color: #afafaf;
+}
+.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
+  background-color: #afafaf;
+}
+.hamburger.is-active .hamburger-inner {
+  transform: translate3d(0, 10px, 0) rotate(45deg);
+  background-color: #fff;
+}
+.hamburger.is-active .hamburger-inner:before {
+  transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
+  opacity: 0;
+}
+.hamburger.is-active .hamburger-inner:after {
+  transform: translate3d(0, -10px, 0) rotate(-90deg);
+  background-color: #fff;
+}
+.hamburger-box {
+  position: relative;
+  display: inline-block;
+  width: 20px;
+  height: 20px;
+}
+.hamburger-inner {
+  top: 50%;
+  display: block;
+  margin-top: -2px;
+}
 
 /*########################################
 ################# LAYO ###################
@@ -81,6 +502,7 @@ a {
 }
 .main {
   background:#fbfbfb;
+  margin: 100px 0;
   padding: 40px;
 }
 

+ 61 - 37
index.html

@@ -16,48 +16,72 @@
 <!-- endbuild -->
 </head>
 <body>
-<div id="top" class="container">
-  <header id="header" class="header" role="banner">
-    <div class="header-ui">
-      <div class="brand--nav">
-        <h1>David Windham</h1>
-      </div>
-    </div>
-  </header>
-  <header class="header-small showing">
-    <a href="./index.php" class="brand">
-      <img class="light" src="./img/dw-sm-white.svg" srcset="./img/dw-sm-white.svg 2x" alt="David Windham logo"/>
-      <img class="dark" src="./img/dw-sm.svg" srcset="./img/dw-sm.svg 2x" alt="David Windham logo"/>
-    </a>
-    <button class="hamburger" type="button">
-      <span class="hamburger-box">
-        <span class="hamburger-inner"></span>
-      </span>
-    </button>
-    <div class="header-small-menu">
-      <a href="#when">Home</a>
-      <a href="#work">Work</a>
-      <a href="#about">About</a>
-      <h6>Email</h6>
-      <a class="email" href="mailto:&#100;&#097;&#118;&#105;&#100;&#064;&#100;&#097;&#118;&#105;&#100;&#119;&#105;&#110;&#100;&#104;&#097;&#109;&#046;&#099;&#111;&#109;" target="_blank">&#100;&#097;&#118;&#105;&#100;&#064;&#100;&#097;&#118;&#105;&#100;&#119;&#105;&#110;&#100;&#104;&#097;&#109;&#046;&#099;&#111;&#109;</a>
+
+<!-- ============================= ** HEADER ** ============================= -->
+<header id="header" class="header" role="banner">
+  <div class="header-ui">
+    <div class="brand--nav">
+      <h1>David Windham</h1>
     </div>
-  </header>
-  <div class="main">
-    <blockquote>
-      <h1>If I can get you to laugh with me, you like me better, which makes you more open to my ideas. And if I can persuade you to laugh at the particular point I make, by laughing at it you acknowledge its truth.</h1>
-      <p class="right">~ John Cleese</p>
-    </blockquote>
-    <hr>
-    <h2>About</h2>
-    <p class="right"><time datetime="2020-03-15">3/15/20</time></p>
-    <p>I got this domain in 2020. I really didn't want it, but I've had many missed emails because folks miss the 'a' in <a href="https://davidawindham.com">http://david<b>a</b>windham.com</a> where I've been online since 2003. I happened to think of it the other day because I found my email address had been misprinted in a newsletter. I whois'd it, noticed it was pending delete, and put in a backorder. If you'd like to get in touch, head over to my <a href="https://davidawindham.com/contact/">contact page</a>.<p>
-    <hr>
   </div>
-  <footer><p><a href="#top">[Top]</a> <a href="https://code.davidawindham.com/david/dw">[git]</a></p></footer>
-</div>
+</header>
+<header class="header-small showing">
+  <a href="./index.php" class="brand">
+    <img class="light" src="./img/dw-sm-white.svg" srcset="./img/dw-sm-white.svg 2x" alt="David Windham logo"/>
+    <img class="dark" src="./img/dw-sm.svg" srcset="./img/dw-sm.svg 2x" alt="David Windham logo"/>
+  </a>
+  <button class="hamburger" type="button">
+    <span class="hamburger-box">
+      <span class="hamburger-inner"></span>
+    </span>
+  </button>
+  <div class="header-small-menu">
+     <a href="#who">Who</a>
+    <a href="#what">What</a>
+    <a href="#when">When</a>
+    <a href="#about">Why</a>
+    <a href="#when">How</a>
+    <h6><a class="email" href="mailto:&#100;&#097;&#118;&#105;&#100;&#064;&#100;&#097;&#118;&#105;&#100;&#119;&#105;&#110;&#100;&#104;&#097;&#109;&#046;&#099;&#111;&#109;" target="_blank">&#100;&#097;&#118;&#105;&#100;&#064;&#100;&#097;&#118;&#105;&#100;&#119;&#105;&#110;&#100;&#104;&#097;&#109;&#046;&#099;&#111;&#109;</a></h6>
+  </div>
+</header>
+
+ <!-- ============================= ** MAIN ** ============================= -->
+<main id="main" class="main">
+ <!-- ============================= ** HELLO ** ============================= -->
+
+  <div id="hello" class="background-color black" data-dark-bg></div>
+
+  <section class="page-view hero dw-header d-flex  align-items-center">
+    <div class="container main">
+      <div class="row">
+        <div class="col-lg-6">
+          <h1></h1>
+          <blockquote>
+            <h1>If I can get you to laugh with me, you like me better, which makes you more open to my ideas. And if I can persuade you to laugh at the particular point I make, by laughing at it you acknowledge its truth.</h1>
+            <p class="right">~ John Cleese</p>
+          </blockquote>
+          <hr>
+          <p class="lead"></p>
+          <h2 class="">I like to help folks make good use of the internet by crafting custom applications and websites.</h2>
+        </div>
+        <div class="col col-lg-6 align-self-end">
+          <!--<img width="400" src="./img/dw.svg" srcset="./img/dw.svg 2x" alt="David Windham"/>-->
+        </div>
+      </div>
+    </div>
+  </section>
+
+ <!-- ============================= ** MAIN ** ============================= -->
+</main>
+ <!-- ============================= ** FOOTER ** ============================= -->
+<footer>
+  <p><a href="#top">[Top]</a> <a href="https://code.davidawindham.com/david/dw">[git]</a></p>
+</footer>
+
 <!-- build:js js/dw.js -->
 <script src="./js/jquery.min.js"></script>
 <script src="./js/bootstrap.js"></script>
+<script src="./js/_init.js"></script>
 <!-- endbuild -->
 </body>
 </html>