/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/** Remove default margin. */
body { margin: 0; }

/* HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }

/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }

/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
[hidden], template { display: none; }

/* Links ========================================================================== */
/** Remove the gray background color from active links in IE 10. */
a { background: transparent; }

/** Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }

/* Text-level semantics ========================================================================== */
/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }

/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
b, strong { font-weight: bold; }

/** Address styling not present in Safari and Chrome. */
dfn { font-style: italic; }

/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Address styling not present in IE 8/9. */
mark { background: #ff0; color: #000; }

/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

/* Embedded content ========================================================================== */
/** Remove border when inside `a` element in IE 8/9/10. */
img { border: 0; }

/** Correct overflow not hidden in IE 9/10/11. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** Address margin not present in IE 8/9 and Safari. */
figure { margin: 1em 40px; }

/** Address differences between Firefox and other browsers. */
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }

/** Contain overflow in all browsers. */
pre { overflow: auto; }

/** Address odd `em`-unit font size rendering in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }

/* Forms ========================================================================== */
/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }

/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
button { overflow: visible; }

/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
button, select { text-transform: none; }

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }

/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: default; }

/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
input { line-height: normal; }

/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }

/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }

/** Remove default vertical scrollbar in IE 8/9/10/11. */
textarea { overflow: auto; }

/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup { font-weight: bold; }

/* Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; }

/* =========================================================== Layout =========================================================== */
html { box-sizing: border-box; }

*, *:before, *:after { box-sizing: inherit; }

html { font: 300 100%/1.5 "Lato", sans-serif; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media (min-width: 720px) { html { font-size: 120%; } }

body { background: #3b4c55; color: #fff; }

section { border-bottom: 3px solid #3e5059; }
section:last-of-type { border: 0; }

.section--alt { background: #263238; box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.3); color: #819ca9; }

.section--example { background: #3e5059; border: 0; text-align: center; }

.row { margin-bottom: 2rem; }
.row:last-of-type { margin-bottom: 0; }

.column { margin-bottom: 1.5rem; width: 100%; }
@media (min-width: 720px) { .column { float: left; margin-bottom: 0; margin-left: 5%; width: 47.5%; }
  .column:first-of-type { margin-left: 0; } }
.column:last-of-type { margin-bottom: 0; }

.container { margin: 0 auto; padding: 3rem 0; width: 90%; }
@media (min-width: 720px) { .container { max-width: 860px; } }

/* =========================================================== Typography =========================================================== */
h1, h2, h3, h4 { font: 700 100%/1.3 "Roboto Slab", serif; margin-top: 0; margin-bottom: .5rem; }

h1 { font-size: 1.8rem; letter-spacing: 2px; margin-bottom: 1rem; text-transform: uppercase; }

h2 { font-size: 1rem; }

h3 { font-size: .9rem; font-weight: 700; text-transform: none; }

h4 { font-size: .8rem; text-transform: uppercase; }

p, ul { margin: 0 0 1rem; }
p:last-of-type, ul:last-of-type { margin-bottom: 0; }

.section__title { background: #37474f; border-radius: 3px; display: inline-block; letter-spacing: 1px; margin: 0 auto 1.5rem; padding: .5rem 1rem; }

.section__header { font-weight: 700; text-align: center; }

.section--alt__header { font: 300 100%/1.5 "Lato", sans-serif; font-weight: 700; text-align: center; }

.section--example h2 { font: 300 100%/1.5 "Lato", sans-serif; font-size: 1.5rem; margin: 0; }

/* =========================================================== Links =========================================================== */
a { color: inherit; text-decoration: underline; }

/* =========================================================== Code =========================================================== */
code { background: #353f44; border-radius: 3px; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: .9rem; padding: .1rem .2rem; }

/* =========================================================== Gists =========================================================== */
.gist-list { list-style: none; margin: 0; padding: 0; }

.gist-list__item { margin-bottom: 1rem !important; }
.gist-list__item:last-of-type { margin-bottom: 0 !important; }

.gist-file { border: 0 !important; border-radius: 3px !important; overflow: hidden !important; margin-bottom: 0 !important; }

.gist-data { padding: .5rem 0 !important; }

.gist-meta { display: none !important; }

/* =========================================================== Header =========================================================== */
header { background: #37474f; color: #fff; text-align: center; }

header .container { padding: 4rem 0; }

.hero__title { animation: both flipIn ease-in-out 1.25s; background: #429874; border-radius: 3px; display: inline-block; margin-bottom: 1.2rem; padding: .6rem 1.4rem; text-shadow: 1px 1px 1px #777; }

/* =========================================================== Header Animations =========================================================== */
@keyframes flipIn { 0% { transform: perspective(300px) rotateX(60deg); opacity: 0; }
  40% { transform: perspective(100px) rotateX(-10deg); }
  75% { transform: perspective(0) rotateX(20deg); }
  100% { transform: perspective(0) rotateX(0deg); opacity: 1; } }
/* =========================================================== Project =========================================================== */
.example-box { background: #3f525b; border-radius: 3px; overflow: hidden; padding: 4rem 0; position: relative; }
.example-box:last-of-type { margin-bottom: 0; }

.step-number { align-items: center; background: #429874; border-radius: 50%; color: #fff; display: flex; height: 50px; justify-content: center; margin: 0 auto 1rem; text-shadow: 1px 1px 1px #777; width: 50px; }

.property-list { list-style: none; margin: 0; padding: 0; }

.property-list__item { margin-bottom: 1rem; }
.property-list__item h3 { font: 300 100%/1.5 "Lato", sans-serif; font-weight: 700; margin-bottom: 0; }

/* =========================================================== Animations =========================================================== */
/* ------ Rotate and Morph ------ */
.square { background: #429874; border-radius: 3px; height: 75px; margin: 0 auto; opacity: .8; width: 75px; }

.rotate-and-morph { animation: rotate-morph 2.5s alternate infinite; }

@keyframes rotate-morph { 25% { background: purple; border-radius: 8px; transform: rotate(45deg); }
  50% { background: red; border-radius: 12px; transform: rotate(90deg); }
  75% { background: orange; border-radius: 24px; transform: rotate(135deg); }
  100% { background: yellow; border-radius: 50%; transform: rotate(180deg); } }
/* ------ Slide ------ */
.square--small { height: 60px; width: 60px; }

.square--opacity { opacity: .8; }

.square--absolute { position: absolute; left: 2rem; top: 2rem; }

.slide { animation: slide 3s ease-in-out infinite alternate; }

.example-box:active .square { animation-play-state: paused; }

@keyframes slide { from { background: purple; left: 2rem; }
  to { background: yellow; left: 80%; opacity: .5; transform: rotate(180deg); } }
/* ------ Rotate & Move ------ */
.rotate { animation: spin-shrink 1.5s ease-in infinite forwards; }

@keyframes spin-shrink { 100% { transform: rotate(225deg) scale(0.5); } }
.orb { background: #429874; border-radius: 50%; bottom: 0; height: 12px; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 12px; }

.move-1 { animation: move-1 .5s ease-in forwards infinite; }

.move-2 { animation: move-2 1s ease-in forwards infinite; }

.move-3 { animation: move-3 1.25s ease-in forwards infinite; }

.move-4 { animation: move-4 1.5s ease-in forwards infinite; }

@keyframes move-1 { 100% { left: 80%; top: 50%; } }
@keyframes move-2 { 100% { right: 80%; top: 50%; } }
@keyframes move-3 { 100% { bottom: 50%; right: 80%; } }
@keyframes move-4 { 100% { bottom: 50%; left: 80%; } }
/* ------ Turtle SVG ------ */
svg { animation: in-and-out 3s infinite alternate; display: block; height: auto; margin: 2rem auto; max-width: 250px; }

@keyframes in-and-out { 0% { opacity: 1; transform: scale(1); }
  33% { opacity: 0.7; transform: scale(0.9); }
  50% { transform: rotateY(180deg); }
  66% { opacity: 1; transform: scale(1); }
  100% { opacity: 0.7; transform: scale(0.9); } }
.example-box:hover .shell { animation: animate-shell 2s ease forwards; }

@keyframes animate-shell { 100% { fill: #6F4949; } }
/* =========================================================== Utilities =========================================================== */
.margin-bottom { margin-bottom: 1.5rem; }

.margin-top { margin-top: 1.5rem; }

/* =========================================================== Clearfix created by Nicolas Gallagher =========================================================== */
.row, .container { *zoom: 1; }
.row:before, .container:before, .row:after, .container:after { content: " "; display: table; }
.row:after, .container:after { clear: both; }
