@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700");
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,300,400italic,300italic,600,600italic,700,700italic,800,800italic");

@font-face {
    font-family: 'icomoon';
    src:    url('../fonts/icomoon.eot?z8h1zd');
    src:    url('../fonts/icomoon.eot?z8h1zd#iefix') format('embedded-opentype'),
        url('../fonts/icomoon.ttf?z8h1zd') format('truetype'),
        url('../fonts/icomoon.woff?z8h1zd') format('woff'),
        url('../fonts/icomoon.svg?z8h1zd#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-envelope:before {
    content: "\e903";
}
.icon-twitter:before {
    content: "\e901";
}


/* Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ========================================================================== HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined in IE 8/9. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }

/** Correct `inline-block` display not defined in IE 8/9. */
audio, canvas, video { display: inline-block; }

/** 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. Hide the `template` element in IE, Safari, and Firefox < 22. */
[hidden], template { display: none; }

/* ========================================================================== Base ========================================================================== */
/** 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; }

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

/** Address `outline` inconsistency between Chrome and other browsers. */
a:focus { outline: thin dotted; }

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

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

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

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

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

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

/* proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p { -webkit-hyphens: auto; -epub-hyphens: auto; -moz-hyphens: auto; hyphens: auto; }

/* Addresses margins set differently in IE6/7. */
pre { margin: 0; }

/** Correct font family set oddly in Safari 5 and Chrome. */
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }

/** Improve readability of pre-formatted text in all browsers. */
pre { white-space: pre-wrap; }

/** Set consistent quote types. */
q { quotes: "\201C" "\201D" "\2018" "\2019" "\2020"; }

/** Address inconsistent and variable font size in all browsers. */
q:before, q:after { content: ''; content: none; }

small, .small { font-size: 75%; }

/** 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; }

/* ========================================================================== Lists
========================================================================== */
/* Addresses margins set differently in IE6/7. */
dl, menu, ol, ul { margin: 1em 0; }

dd { margin: 0; }

/* Addresses paddings set differently in IE6/7. */
menu { padding: 0 0 0 40px; }

ol, ul { padding: 0; list-style-type: none; }

/* Corrects list images handled incorrectly in IE7. */
nav ul, nav ol { list-style: none; list-style-image: none; }

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

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

/* ========================================================================== Figures ========================================================================== */
/** Address margin not present in IE 8/9 and Safari 5. */
figure { margin: 0; }

/* ========================================================================== Forms ========================================================================== */
/** 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. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }

/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }

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

/** 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 Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
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; }

/** 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 */ }

/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 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 5 and Chrome on OS X. */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

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

/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }

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

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.image-replacement, .ir { text-indent: 100%; white-space: nowrap; overflow: hidden; }

.clearfix, .cf, .comment-respond { zoom: 1; }
.clearfix:before, .clearfix:after, .cf:before, .comment-respond:before, .cf:after, .comment-respond:after { content: ""; display: table; }
.clearfix:after, .cf:after, .comment-respond:after { clear: both; }

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp { font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important; font-style: italic; }

/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Typography

Need to import a font or set of icons for your site? Drop them in
here or just use this to establish your typographical grid. Or not.
Do whatever you want to...GOSH!

Helpful Articles:
http://trentwalton.com/2012/06/19/fluid-type/
http://ia.net/blog/responsive-typography-the-basics/
http://alistapart.com/column/responsive-typography-is-a-physical-discipline

******************************************************************/
/*********************
FONT FACE (IN YOUR FACE)
*********************/
/*  To embed your own fonts, use this syntax and place your fonts inside the library/fonts folder. For more information on embedding fonts, go to: http://www.fontsquirrel.com/ Be sure to remove the comment brackets.
*/
/*  @font-face { font-family: 'Font Name'; src: url('../css/library/fonts/font-name.eot'); src: url('../css/library/fonts/font-name.eot#iefix') format('embedded-opentype'), url('../css/library/fonts/font-name.woff') format('woff'), url('../css/library/fonts/font-name.ttf') format('truetype'), url('../css/library/fonts/font-name.svg#font-name') format('svg'); font-weight: normal; font-style: normal; }
*/
/*
The following is based of Typebase:
https://github.com/devinhunt/typebase.css
I've edited it a bit, but it's a nice starting point.
*/
/* i imported this one in the functions file so bones would look sweet. don't forget to remove it for your site.
*/
/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p { -ms-word-wrap: break-word; word-break: break-word; word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; -webkit-hyphenate-before: 2; -webkit-hyphenate-after: 3; hyphenate-lines: 3; -webkit-font-feature-settings: "liga", "dlig"; -moz-font-feature-settings: "liga=1, dlig=1"; -ms-font-feature-settings: "liga", "dlig"; -o-font-feature-settings: "liga", "dlig"; font-feature-settings: "liga", "dlig"; }

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/******************************************************************
Site Name:
Author:

Stylesheet: Grid Stylesheet

I've seperated the grid so you can swap it out easily. It's
called at the top the style.scss stylesheet.

There are a ton of grid solutions out there. You should definitely
experiment with your own. Here are some recommendations:

http://gridsetapp.com - Love this site. Responsive Grids made easy.
http://susy.oddbird.net/ - Grids using Compass. Very elegant.
http://gridpak.com/ - Create your own responsive grid.
https://github.com/dope/lemonade - Neat lightweight grid.


The grid below is a custom built thingy I modeled a bit after
Gridset. It's VERY basic and probably shouldn't be used on
your client projects. The idea is you learn how to roll your
own grids. It's better in the long run and allows you full control
over your project's layout.

******************************************************************/
.last-col { float: right; padding-right: 0 !important; }

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) { .m-all { float: left; padding-right: 0.75em; width: 100%; padding-right: 0; }
  .m-1of2 { float: left; padding-right: 0.75em; width: 50%; }
  .m-1of3 { float: left; padding-right: 0.75em; width: 33.33%; }
  .m-2of3 { float: left; padding-right: 0.75em; width: 66.66%; }
  .m-1of4 { float: left; padding-right: 0.75em; width: 25%; }
  .m-3of4 { float: left; padding-right: 0.75em; width: 75%; } }
/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) { .t-all { float: left; padding-right: 0.75em; width: 100%; padding-right: 0; }
  .t-1of2 { float: left; padding-right: 0.75em; width: 50%; }
  .t-1of3 { float: left; padding-right: 0.75em; width: 33.33%; }
  .t-2of3 { float: left; padding-right: 0.75em; width: 66.66%; }
  .t-1of4 { float: left; padding-right: 0.75em; width: 25%; }
  .t-3of4 { float: left; padding-right: 0.75em; width: 75%; }
  .t-1of5 { float: left; padding-right: 0.75em; width: 20%; }
  .t-2of5 { float: left; padding-right: 0.75em; width: 40%; }
  .t-3of5 { float: left; padding-right: 0.75em; width: 60%; }
  .t-4of5 { float: left; padding-right: 0.75em; width: 80%; } }
/* Landscape to small desktop */
@media (min-width: 1030px) { .d-all { float: left; padding-right: 0.75em; width: 100%; padding-right: 0; }
  .d-1of2 { float: left; padding-right: 0.75em; width: 50%; }
  .d-1of3 { float: left; padding-right: 0.75em; width: 33.33%; }
  .d-2of3 { float: left; padding-right: 0.75em; width: 66.66%; }
  .d-1of4 { float: left; padding-right: 0.75em; width: 25%; }
  .d-3of4 { float: left; padding-right: 0.75em; width: 75%; }
  .d-1of5 { float: left; padding-right: 0.75em; width: 20%; }
  .d-2of5 { float: left; padding-right: 0.75em; width: 40%; }
  .d-3of5 { float: left; padding-right: 0.75em; width: 60%; }
  .d-4of5 { float: left; padding-right: 0.75em; width: 80%; }
  .d-1of6 { float: left; padding-right: 0.75em; width: 16.6666666667%; }
  .d-1of7 { float: left; padding-right: 0.75em; width: 14.2857142857%; }
  .d-2of7 { float: left; padding-right: 0.75em; width: 28.5714286%; }
  .d-3of7 { float: left; padding-right: 0.75em; width: 42.8571429%; }
  .d-4of7 { float: left; padding-right: 0.75em; width: 57.1428572%; }
  .d-5of7 { float: left; padding-right: 0.75em; width: 71.4285715%; }
  .d-6of7 { float: left; padding-right: 0.75em; width: 85.7142857%; }
  .d-1of8 { float: left; padding-right: 0.75em; width: 12.5%; }
  .d-1of9 { float: left; padding-right: 0.75em; width: 11.1111111111%; }
  .d-1of10 { float: left; padding-right: 0.75em; width: 10%; }
  .d-1of11 { float: left; padding-right: 0.75em; width: 9.09090909091%; }
  .d-1of12 { float: left; padding-right: 0.75em; width: 8.33%; } }
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Alert Styles

If you want to use these alerts in your design, you can. If not,
you can just remove this stylesheet.

******************************************************************/
.alert-help, .alert-info, .alert-error, .alert-success { margin: 10px; padding: 5px 18px; border: 1px solid; }

.alert-help { border-color: #e8dc59; background: #ebe16f; }

.alert-info { border-color: #bfe4f4; background: #d5edf8; }

.alert-error { border-color: #f8cdce; background: #fbe3e4; }

.alert-success { border-color: #deeaae; background: #e6efc2; }

/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

Buttons are a pretty important part of your site's style, so it's
important to have a consistent baseline for them. Use this stylesheet
to create all kinds of buttons.

Helpful Links:
http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/

******************************************************************/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.blue-btn, .comment-reply-link, #submit { display: inline-block; position: relative; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; text-decoration: none; color: white; font-size: 0.9em; font-size: 34px; line-height: 34px; font-weight: normal; padding: 0 24px; border-radius: 4px; border: 0; cursor: pointer; -webkit-transition: background-color 0.14s ease-in-out; transition: background-color 0.14s ease-in-out; }
.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus { color: white; text-decoration: none; outline: none; }
.blue-btn:active, .comment-reply-link:active, #submit:active { top: 1px; }

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn, .comment-reply-link, #submit { background-color: #2980b9; }
.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus { background-color: #2574a8; }
.blue-btn:active, .comment-reply-link:active, #submit:active { background-color: #2472a4; }

.y-btn, .y-btn:visited { background: transparent; padding: 10px 35px; border: 2px solid #f9bf12; color: #f9bf12; text-decoration: none; font-weight: bold; font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; text-transform: uppercase; letter-spacing: 1px; font-size: 10pt; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -ms-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; display:block;margin:0 auto 15px;max-width:225px;}
.y-btn:hover, .y-btn:focus, .y-btn:active, .y-btn:visited:hover, .y-btn:visited:focus, .y-btn:visited:active { background: #f9bf12; color: white; }

.btn-margin { margin-top: 50px; }

/******************************************************************
Site Name:
Author:

Stylesheet: Form Styles

We put all the form and button styles in here to setup a consistent
look. If we need to customize them, we can do this in the main
stylesheets and just override them. Easy Peasy.

You're gonna see a few data-uri thingies down there. If you're not
sure what they are, check this link out:
http://css-tricks.com/data-uris/
If you want to create your own, use this helpful link:
http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/

******************************************************************/
/*********************
INPUTS
*********************/
input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field { display: block; height: 40px; line-height: 1em; padding: 0 12px; margin-bottom: 14px; font-size: 1em; color: #5c6b80; border-radius: 3px; vertical-align: middle; box-shadow: none; border: 0; width: 100%; max-width: 400px; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: white; -webkit-transition: background-color 0.24s ease-in-out; transition: background-color 0.24s ease-in-out; }
input[type="text"]:focus, input[type="text"]:active, input[type="password"]:focus, input[type="password"]:active, input[type="datetime"]:focus, input[type="datetime"]:active, input[type="datetime-local"]:focus, input[type="datetime-local"]:active, input[type="date"]:focus, input[type="date"]:active, input[type="month"]:focus, input[type="month"]:active, input[type="time"]:focus, input[type="time"]:active, input[type="week"]:focus, input[type="week"]:active, input[type="number"]:focus, input[type="number"]:active, input[type="email"]:focus, input[type="email"]:active, input[type="url"]:focus, input[type="url"]:active, input[type="search"]:focus, input[type="search"]:active, input[type="tel"]:focus, input[type="tel"]:active, input[type="color"]:focus, input[type="color"]:active, select:focus, select:active, textarea:focus, textarea:active, .field:focus, .field:active { background-color: #fafafa; outline: none; }
input[type="text"].error, input[type="text"].is-invalid, input[type="password"].error, input[type="password"].is-invalid, input[type="datetime"].error, input[type="datetime"].is-invalid, input[type="datetime-local"].error, input[type="datetime-local"].is-invalid, input[type="date"].error, input[type="date"].is-invalid, input[type="month"].error, input[type="month"].is-invalid, input[type="time"].error, input[type="time"].is-invalid, input[type="week"].error, input[type="week"].is-invalid, input[type="number"].error, input[type="number"].is-invalid, input[type="email"].error, input[type="email"].is-invalid, input[type="url"].error, input[type="url"].is-invalid, input[type="search"].error, input[type="search"].is-invalid, input[type="tel"].error, input[type="tel"].is-invalid, input[type="color"].error, input[type="color"].is-invalid, select.error, select.is-invalid, textarea.error, textarea.is-invalid, .field.error, .field.is-invalid { color: #fbe3e4; border-color: #fbe3e4; background-color: white; background-position: 99% center; background-repeat: no-repeat; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=); outline-color: #fbe3e4; }
input[type="text"].success, input[type="text"].is-valid, input[type="password"].success, input[type="password"].is-valid, input[type="datetime"].success, input[type="datetime"].is-valid, input[type="datetime-local"].success, input[type="datetime-local"].is-valid, input[type="date"].success, input[type="date"].is-valid, input[type="month"].success, input[type="month"].is-valid, input[type="time"].success, input[type="time"].is-valid, input[type="week"].success, input[type="week"].is-valid, input[type="number"].success, input[type="number"].is-valid, input[type="email"].success, input[type="email"].is-valid, input[type="url"].success, input[type="url"].is-valid, input[type="search"].success, input[type="search"].is-valid, input[type="tel"].success, input[type="tel"].is-valid, input[type="color"].success, input[type="color"].is-valid, select.success, select.is-valid, textarea.success, textarea.is-valid, .field.success, .field.is-valid { color: #e6efc2; border-color: #e6efc2; background-color: white; background-position: 99% center; background-repeat: no-repeat; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==); outline-color: #e6efc2; }
input[type="text"][disabled], input[type="text"].is-disabled, input[type="password"][disabled], input[type="password"].is-disabled, input[type="datetime"][disabled], input[type="datetime"].is-disabled, input[type="datetime-local"][disabled], input[type="datetime-local"].is-disabled, input[type="date"][disabled], input[type="date"].is-disabled, input[type="month"][disabled], input[type="month"].is-disabled, input[type="time"][disabled], input[type="time"].is-disabled, input[type="week"][disabled], input[type="week"].is-disabled, input[type="number"][disabled], input[type="number"].is-disabled, input[type="email"][disabled], input[type="email"].is-disabled, input[type="url"][disabled], input[type="url"].is-disabled, input[type="search"][disabled], input[type="search"].is-disabled, input[type="tel"][disabled], input[type="tel"].is-disabled, input[type="color"][disabled], input[type="color"].is-disabled, select[disabled], select.is-disabled, textarea[disabled], textarea.is-disabled, .field[disabled], .field.is-disabled { cursor: not-allowed; border-color: #cfcfcf; opacity: 0.6; }
input[type="text"][disabled]:focus, input[type="text"][disabled]:active, input[type="text"].is-disabled:focus, input[type="text"].is-disabled:active, input[type="password"][disabled]:focus, input[type="password"][disabled]:active, input[type="password"].is-disabled:focus, input[type="password"].is-disabled:active, input[type="datetime"][disabled]:focus, input[type="datetime"][disabled]:active, input[type="datetime"].is-disabled:focus, input[type="datetime"].is-disabled:active, input[type="datetime-local"][disabled]:focus, input[type="datetime-local"][disabled]:active, input[type="datetime-local"].is-disabled:focus, input[type="datetime-local"].is-disabled:active, input[type="date"][disabled]:focus, input[type="date"][disabled]:active, input[type="date"].is-disabled:focus, input[type="date"].is-disabled:active, input[type="month"][disabled]:focus, input[type="month"][disabled]:active, input[type="month"].is-disabled:focus, input[type="month"].is-disabled:active, input[type="time"][disabled]:focus, input[type="time"][disabled]:active, input[type="time"].is-disabled:focus, input[type="time"].is-disabled:active, input[type="week"][disabled]:focus, input[type="week"][disabled]:active, input[type="week"].is-disabled:focus, input[type="week"].is-disabled:active, input[type="number"][disabled]:focus, input[type="number"][disabled]:active, input[type="number"].is-disabled:focus, input[type="number"].is-disabled:active, input[type="email"][disabled]:focus, input[type="email"][disabled]:active, input[type="email"].is-disabled:focus, input[type="email"].is-disabled:active, input[type="url"][disabled]:focus, input[type="url"][disabled]:active, input[type="url"].is-disabled:focus, input[type="url"].is-disabled:active, input[type="search"][disabled]:focus, input[type="search"][disabled]:active, input[type="search"].is-disabled:focus, input[type="search"].is-disabled:active, input[type="tel"][disabled]:focus, input[type="tel"][disabled]:active, input[type="tel"].is-disabled:focus, input[type="tel"].is-disabled:active, input[type="color"][disabled]:focus, input[type="color"][disabled]:active, input[type="color"].is-disabled:focus, input[type="color"].is-disabled:active, select[disabled]:focus, select[disabled]:active, select.is-disabled:focus, select.is-disabled:active, textarea[disabled]:focus, textarea[disabled]:active, textarea.is-disabled:focus, textarea.is-disabled:active, .field[disabled]:focus, .field[disabled]:active, .field.is-disabled:focus, .field.is-disabled:active { background-color: #d5edf8; }

input[type="password"] { letter-spacing: 0.3em; }

textarea { max-width: 100%; min-height: 120px; line-height: 1.5em; }

select { -webkit-appearance: none; /* 1 */ -moz-appearance: none; appearance: none; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC); background-repeat: no-repeat; background-position: 97.5% center; }

form#searchform input#searchsubmit { background: transparent url(../images/search.png) top left no-repeat; width: 50px; padding-left: 5px; display: block; overflow: hidden; /* Hack for IE */ text-indent: -9999px; font-size: 0px; line-height: 0px; }

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Base Mobile Stylesheet

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible. This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
/*********************
GENERAL STYLES
*********************/
body { font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 100%; line-height: 1.5; color: #5c6b80; background-color: #f7f7f7; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-hyphens: none; -epub-hyphens: none; -moz-hyphens: none; hyphens: none; }

p { -webkit-hyphens: none; -epub-hyphens: none; -moz-hyphens: none; hyphens: none; letter-spacing: 1px; line-height: 1.8em; font-size: 11pt; }

img { max-width: 100%; height: auto; }

.header { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); }

/********************
WORDPRESS BODY CLASSES
style a page via class
********************/
/* for sites that are read right to left (i.e. hebrew) */
/* home page */
/* blog template page */
/* archive page */
/* date archive page */
/* replace the number to the corresponding page number */
/* search page */
/* search result page */
/* no results search page */
/* individual paged search (i.e. body.search-paged-3) */
/* 404 page */
/* single post page */
/* individual post page by id (i.e. body.postid-73) */
/* individual paged single (i.e. body.single-paged-3) */
/* attatchment page */
/* individual attatchment page (i.e. body.attachmentid-763) */
/* style mime type pages */
/* author page */
/* user nicename (i.e. body.author-samueladams) */
/* paged author archives (i.e. body.author-paged-4) for page 4 */
/* category page */
/* individual category page (i.e. body.category-6) */
/* replace the number to the corresponding page number */
/* tag page */
/* individual tag page (i.e. body.tag-news) */
/* replace the number to the corresponding page number */
/* custom page template page */
/* individual page template (i.e. body.page-template-contact-php */
/* replace the number to the corresponding page number */
/* parent page template */
/* child page template */
/* replace the number to the corresponding page number */
/* if user is logged in */
/* paged items like search results or archives */
/* individual paged (i.e. body.paged-3) */
/*********************
LAYOUT & GRID STYLES
*********************/
.wrap { width: 85%; margin: 0 auto; }

.center { text-align: center; }

.table { display: table; border-collapse: separate; }

.table-row { display: table-row; }

.table-cell { display: table-cell; vertical-align: middle; }

.table-cell.quote-man {padding-right:35px;text-align:center;min-width:140px;}

.disclaimer {color:#fff;font-size:.7em;line-height:1.3em;}

/*********************
LINK STYLES
*********************/
a, a:visited { color: #f9bf12; -webkit-transition: color .3s ease; -moz-transition: color .3s ease; -ms-transition: color .3s ease; -o-transition: color .3s ease; transition: color .3s ease; text-decoration: none; /* on hover */ /* on click */ /* mobile tap color */ }
a:hover, a:focus, a:visited:hover, a:visited:focus { color: #3e3e40; }
a:link, a:visited:link { /*
this highlights links on iPhones/iPads.
so it basically works like the :hover selector
for mobile devices.
*/ -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3); }

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 { text-rendering: optimizelegibility; font-weight: 500; color: #f9bf12; /*
if you're going to use webfonts, be sure to check your weights
http://css-tricks.com/watch-your-font-weight/
*/ /* removing text decoration from all headline links */ }
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a { text-decoration: none; }

h1, .h1 { font-size: 2.2em; line-height: 1.333em; }

h2, .h2 { font-size: 1.75em; line-height: 1.4em; margin-bottom: 0.375em; }

h3, .h3 { font-size: 1.125em; }

h4, .h4 { font-size: 1.1em; font-weight: 700; }

h5, .h5 { font-size: 0.846em; line-height: 2.09em; text-transform: uppercase; letter-spacing: 2px; }

/*********************
HEADER STYLES
*********************/
.header { background-color: white; }

#logo { margin: 25px 0 15px; text-align: center; }
#logo a { color: white; }

#masthead { background: url("../images/masthead-bg.png") no-repeat center center; background-size: cover; clear: both; padding: 50px 0; -webkit-box-shadow: inset 0 0 5px 8px rgba(0, 0, 0, 0.2); box-shadow: inset 0 0 5px 8px rgba(0, 0, 0, 0.2); text-align: center; }
#masthead h1 { color: #f9bf12; line-height: 1.2em; max-width: 390px; text-align: center; display: block; margin: 0 auto; }
#masthead p { color: #fff; line-height: 1.8em; text-align: center; letter-spacing: 1px; font-size: 11pt; }

/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
.nav { border-bottom: 0; margin: 0; font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; /* end .menu li */ /* highlight current page */ /* end current highlighters */ }
.nav li { /*
so you really have to rethink your dropdowns for mobile.
you don't want to have it expand too much because the
screen is so small. How you manage your menu should
depend on the project. Here's some great info on it:
http://www.alistapart.com/articles/organizing-mobile/
*/ }
.nav li a { display: block; color: white; text-decoration: none; padding: 0.75em; /*
remember this is for mobile ONLY, so there's no need
to even declare hover styles here, you can do it in
the style.scss file where it's relevant. We want to
keep this file as small as possible!
*/ }
.nav li ul.sub-menu li a, .nav li ul.children li a { padding-left: 30px; }

/* end .nav */
/*********************
POSTS & CONTENT STYLES
*********************/
.home { background: white; }
.home #main img { margin: 50px 0; }
.home .header { box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; }

#and { background: #3e3e40; padding: 25px 0; color: #fff; }

#how-it-works { padding: 50px 0 100px; background: #efefef; text-align: center; border-bottom: 1px solid #e0e0e0; }
#how-it-works img { display: block; margin: 50px auto 0; }

#key-features { padding: 50px 0; background: white url("../images/key_features_bg.jpg") no-repeat top center; background-size: cover; border-top: 1px solid #efefef; }
#key-features .d-1of2 { margin: 25px 0; }
#key-features h1 { text-align: center; margin: 0 0 50px; }
#key-features h3 { font-weight: bold; max-width: 200px; line-height: 1em; font-size: 16pt; font-weight: 600; }
#key-features img { margin-right: 20px; }
#key-features .btn-margin { clear: both; text-align: center; }

#user-stories { background: #535457; padding: 50px 0; color: #fff; }
#user-stories h1 { text-align: center; }
#user-stories .intro { background: url("../images/quotes.png") no-repeat center center; text-align: center; font-weight: 600; padding: 25px 0; }
#user-stories .table { margin-bottom: 25px; border-bottom: 1px solid #7e7f81; vertical-align: middle; }
#user-stories .table:last-of-type { border-bottom: none; }
#user-stories .table-cell { width: 100%; display: block; text-align: center; margin-bottom: 25px; }
#user-stories .quote-man { text-align: center; width: 100%; }
#user-stories .quote-man h3 { margin: 10px 0 20px; }

#use-case { padding: 50px 0; background: #efefef; }
#use-case h1 { text-align: center; margin-bottom: 0; }
#use-case h3 { color: #535457; text-align: center; font-weight: 800; font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 1px; margin: 10px 0 75px; font-size: 16pt; }
#use-case .number { min-height: 100px; width: 95px; vertical-align: top; }
#use-case .left img { margin-bottom: 50px; }
#use-case .table { padding: 25px 0 25px 0; }
#use-case .table:first-of-type { padding-top: 0; }
#use-case .table p { font-size: 13pt; line-height: 1.3em; font-weight: 600; }
#use-case .table p strong { font-weight: 800; }
#use-case .table p:first-of-type { margin-top: 0; }

.arrow { margin: 50px 0 0; width: 100%; height: 150px; background-color: #f9bf12; position: relative; }
.arrow p { margin: 20px 25px 20px 25px; font-size: 14pt; text-align: left; line-height: 1.2em; }

#more-info { background: #535457; padding: 50px 0; }
#more-info p { text-align: center; }

.social-icons {text-align:center;margin-bottom:50px;}
.social-icons a {font-size:2em;}
.social-icons a:hover {color:#fff;}
.social-icons a:first-child {margin-right:15px;}
.add-to-slack {margin:0 0 0 15px;}
.add-to-slack {position:relative;top:5px;}

#content { margin-top: 2em; }

.hentry { padding: .75em; margin-bottom: 1.5em; }
.hentry footer { padding: 1.5em 0; border-top: 1px solid #d6d6d6; }
.hentry footer p { margin: 0; }

/* end .hentry */
.single-title, .page-title, .entry-title { margin: 0; }

/* want to style individual post classes? Booya! */
/* post by id (i.e. post-3) */
/* general post style */
/* general article on a page style */
/* general style on an attatchment */
/* sticky post style */
/* hentry class */
/* style by category (i.e. category-videos) */
/* style by tag (i.e. tag-news) */
/* post meta */
.byline { color: #9fa6b4; margin: 0; font-size: 10pt; }

/* entry content */
.entry-content { padding: 1.5em 0; /*
image alignment on a screen this size may be
a bit difficult. It's set to start aligning
and floating images at the next breakpoint,
but it's up to you. Feel free to change it up.
*/ }
.entry-content ol {list-style-type:decimal;padding-left:40px;}
.entry-content ul {list-style-type:disc;padding-left:40px;}
.entry-content p { margin: 0 0 1.5em; }
.entry-content table { width: 100%; border: 1px solid #626366; margin-bottom: 1.5em; }
.entry-content table caption { margin: 0 0 7px; font-size: 0.75em; color: #9fa6b4; text-transform: uppercase; letter-spacing: 1px; }
.entry-content tr { border-bottom: 1px solid #626366; }
.entry-content tr:nth-child(even) { background-color: #f8f9fa; }
.entry-content td { padding: 7px; border-right: 1px solid #626366; }
.entry-content td:last-child { border-right: 0; }
.entry-content th { background-color: #f8f9fa; border-bottom: 1px solid #626366; border-right: 1px solid #626366; }
.entry-content th:last-child { border-right: 0; }
.entry-content blockquote { margin: 0 0 1.5em 0.75em; padding: 0 0 0 0.75em; border-left: 3px solid #2980b9; font-style: italic; color: #9fa6b4; }
.entry-content dd { margin-left: 0; font-size: 0.9em; color: #787878; margin-bottom: 1.5em; }
.entry-content img { margin: 0 0 1.5em 0; max-width: 100%; height: auto; }
.entry-content .size-auto, .entry-content .size-full, .entry-content .size-large, .entry-content .size-medium, .entry-content .size-thumbnail { max-width: 100%; height: auto; }
.entry-content pre { background: #323944; color: #f8f9fa; font-size: 0.9em; padding: 1.5em; margin: 0 0 1.5em; border-radius: 3px; }

/* end .entry-content */
.wp-caption { max-width: 100%; background: #eee; padding: 5px; /* images inside wp-caption */ }
.wp-caption img { max-width: 100%; margin-bottom: 0; width: 100%; }
.wp-caption p.wp-caption-text { font-size: 0.85em; margin: 4px 0 7px; text-align: center; }

/* end .wp-caption */
/* image gallery styles */
/* end .gallery */
/* gallery caption styles */
.tags { margin: 0; }

/******************************************************************
PAGE NAVI STYLES
******************************************************************/
.pagination, .wp-prev-next { margin: 1.5em 0; }

.pagination { text-align: center; }
.pagination ul { display: inline-block; white-space: nowrap; padding: 0; clear: both; border-radius: 3px; }
.pagination li { padding: 0; margin: 0; float: left; display: inline; overflow: hidden; border-right: 1px solid #9fa6b4; }
.pagination a, .pagination span { margin: 0; text-decoration: none; padding: 0; line-height: 1em; font-size: 1em; font-weight: normal; padding: 0.75em; min-width: 1em; display: block; color: #f9bf12; }
.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus { background-color: #f9bf12; color: white; }
.pagination .current { cursor: default; color: #9fa6b4; }
.pagination .current:hover, .pagination .current:focus { background-color: transparent; color: #5c6b80; }

/* end .bones_page_navi */
/* fallback previous & next links */
.wp-prev-next .prev-link { float: left; }
.wp-prev-next .next-link { float: right; }

/* end .wp-prev-next */
/******************************************************************
COMMENT STYLES
******************************************************************/
/* h3 comment title */
#comments-title { padding: 0.75em; margin: 0; border-top: 1px solid #f8f9fa; /* number of comments span */ }

.commentlist { margin: 0; list-style-type: none; }

.comment { position: relative; clear: both; overflow: hidden; padding: 1.5em; border-bottom: 1px solid #f8f9fa; /* vcard */ /* end .commentlist .vcard */ /* end children */ /* general comment classes */ }
.comment .comment-author { padding: 7px; border: 0; }
.comment .vcard { margin-left: 50px; }
.comment .vcard cite.fn { font-weight: 700; font-style: normal; }
.comment .vcard time { display: block; font-size: 0.9em; font-style: italic; }
.comment .vcard time a { color: #9fa6b4; text-decoration: none; }
.comment .vcard time a:hover { text-decoration: underline; }
.comment .vcard .avatar { position: absolute; left: 16px; border-radius: 50%; }
.comment:last-child { margin-bottom: 0; }
.comment .children { margin: 0; /* variations */ /* change number for different depth */ }
.comment[class*=depth-] { margin-top: 1.1em; }
.comment.depth-1 { margin-left: 0; margin-top: 0; }
.comment:not(.depth-1) { margin-top: 0; margin-left: 7px; padding: 7px; }
.comment.odd { background-color: white; }
.comment.even { background: #f8f9fa; }

/* comment meta */
/* comment content */
.comment_content p { margin: 0.7335em 0 1.5em; font-size: 1em; line-height: 1.5em; }

/* end .commentlist .comment_content */
/* comment reply link */
.comment-reply-link { font-size: 0.9em; float: right; }

/* end .commentlist .comment-reply-link */
/* edit comment link */
.comment-edit-link { font-style: italic; margin: 0 7px; text-decoration: none; font-size: 0.9em; }

/******************************************************************
COMMENT FORM STYLES
******************************************************************/
.comment-respond { padding: 1.5em; border-top: 1px solid #f8f9fa; }

#reply-title { margin: 0; }

.logged-in-as { color: #9fa6b4; font-style: italic; margin: 0; }
.logged-in-as a { color: #5c6b80; }

.comment-form-comment { margin: 1.5em 0 0.75em; }

.form-allowed-tags { padding: 1.5em; background-color: #f8f9fa; font-size: 0.9em; }

/* comment submit button */
#submit { float: right; font-size: 1em; }

/* comment form title */
#comment-form-title { margin: 0 0 1.1em; }

/* cancel comment reply link */
/* logged in comments */
/* allowed tags */
#allowed_tags { margin: 1.5em 10px 0.7335em 0; }

/* no comments */
.nocomments { margin: 0 20px 1.1em; }

/*********************
SIDEBARS & ASIDES
*********************/
.widget ul li { /* deep nesting */ }

.no-widgets { background-color: white; padding: 1.5em; text-align: center; border: 1px solid #cccccc; border-radius: 2px; margin-bottom: 1.5em; }

/*********************
FOOTER STYLES
*********************/
.footer { clear: both; background-color: #3e3e40; color: #f8f9fa; min-height: 50px; }

/*
if you checked out the link above:
http://www.alistapart.com/articles/organizing-mobile/
you'll want to style the footer nav
a bit more in-depth. Remember to keep
it simple because you'll have to
override these styles for the desktop
view.
*/
/* end .footer-links */
/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media only screen and (min-width: 481px) { /****************************************************************** Site Name: Author:  Stylesheet: 481px and Up Stylesheet  This stylesheet is loaded for larger devices. It's set to 481px because at 480px it would load on a landscaped iPhone. This isn't ideal because then you would be loading all those extra styles on that same mobile connection.  A word of warning. This size COULD be a larger mobile device, so you still want to keep it pretty light and simply expand upon your base.scss styles.  *****************************************************************/
  /* IMPORTANT NOTE ABOUT SASS 3.3 & UP You can't use @extend within media queries anymore, so just be aware that if you drop them in here, they won't work. */
  /********************* NAVIGATION STYLES ********************/
  /* .menu is clearfixed inside mixins.scss */
  .menu { /* end .menu ul */ }
  .menu ul { /* end .menu ul li */ /* highlight current page */ /* end current highlighters */ }
  .menu ul li { /*
plan your menus and drop-downs wisely.
*/ }
  .menu ul li a { /*
you can use hover styles here even though this size
has the possibility of being a mobile device.
*/ }
  /* end .menu */
  /********************* POSTS & CONTENT STYLES ********************/
  #user-stories .table-cell { width: auto; display: table-cell; text-align: left; }
  #user-stories .quote-man { text-align: center; width: 200px; }
  .arrow { margin: 50px 0 0; width: 85%; height: 130px; background-color: #f9bf12; position: relative; }
  .arrow p { margin: 20px 25px 20px 25px; font-size: 14pt; text-align: left; line-height: 1.2em; }
  .arrow:after { content: ''; position: absolute; top: 0px; left: 100%; width: 0; height: 0; border: 65px solid transparent; border-left: 55px solid #f9bf12; }
  /* entry content */
  .entry-content { /* at this larger size, we can start to align images */ }
  .entry-content .alignleft, .entry-content img.alignleft { margin-right: 1.5em; display: inline; float: left; }
  .entry-content .alignright, .entry-content img.alignright { margin-left: 1.5em; display: inline; float: right; }
  .entry-content .aligncenter, .entry-content img.aligncenter { margin-right: auto; margin-left: auto; display: block; clear: both; }
  /* end .entry-content */
  /********************* FOOTER STYLES ********************/
  /* check your menus here. do they look good? do they need tweaking? */
  /* end .footer-links */ }
/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 768px) { /****************************************************************** Site Name: Author:  Stylesheet: Tablet & Small Desktop Stylesheet  Here's where you can start getting into the good stuff. This size will work on iPads, other tablets, and desktops. So you can start working with more styles, background images, and other resources. You'll also notice the grid starts to come into play. Have fun!  *****************************************************************/
  /********************* GENERAL STYLES ********************/
  /********************* LAYOUT & GRID STYLES ********************/
  .wrap { width: 760px; }
  /********************* HEADER STYLES ********************/
  #logo { float: left; text-align: left; }
  img.oniguy { margin-top: 100px; }
  .oni-guy { float: right; }
  #masthead { text-align: left; }
  #masthead h1 { text-align: left; margin: 0; }
  #masthead p { text-align: left; }
  /********************* NAVIGATION STYLES ********************/
  .nav { border: 0; float: right; margin-top: 35px; /* end .menu ul li */ /* highlight current page */ /* end current highlighters */ }
  .nav ul { background: #323944; margin-top: 0; }
  .nav li { float: left; position: relative; /*
plan your menus and drop-downs wisely.
*/ /* showing sub-menus */ }
  .nav li a { border-bottom: 0; color: #626366; font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; text-transform: uppercase; font-size: 10pt; letter-spacing: 1px; padding: .75em 1.5em; /*
you can use hover styles here even though this size
has the possibility of being a mobile device.
*/ }
  .nav li a:hover, .nav li a:focus { color: #f9bf12; }
  .nav li ul.sub-menu, .nav li ul.children { margin-top: 0; border: 1px solid #ccc; border-top: 0; position: absolute; visibility: hidden; z-index: 8999; /* highlight sub-menu current page */ }
  .nav li ul.sub-menu li, .nav li ul.children li { /*
if you need to go deeper, go nuts
just remember deeper menus suck
for usability. k, bai.
*/ }
  .nav li ul.sub-menu li a, .nav li ul.children li a { padding-left: 10px; border-right: 0; display: block; width: 180px; border-bottom: 1px solid #ccc; }
  .nav li ul.sub-menu li:last-child a, .nav li ul.children li:last-child a { border-bottom: 0; }
  .nav li ul.sub-menu li ul, .nav li ul.children li ul { top: 0; left: 100%; }
  .nav li:hover > ul { top: auto; visibility: visible; }
  /* end .nav */
  /********************* CONTENT ********************/
  #how-it-works { padding: 100px 0; text-align: left; }
  #how-it-works img { display: block; margin: 0 auto; }
  #key-features .d-1of2:nth-of-type(2n+1) { clear: both; }
  #key-features .d-1of2 p { margin-right: 35px; }
  #use-case .table { padding: 25px 0 25px 50px; border-left: 1px solid #535457; }
  #use-case .table:first-of-type { padding-top: 0; }
  #use-case .table:last-of-type { padding-bottom: 0; }
  #use-case .left img { margin-bottom: 0; padding-right: 25px; }
  .arrow { height: 80px; }
  .arrow p { margin: 20px 85px 20px 25px; }
  .arrow:after { border: 40px solid transparent; border-left: 40px solid #f9bf12; }
  .hentry { margin-right: 50px; }
  /********************* SIDEBARS & ASIDES ********************/
  .sidebar { margin-top: 0; }
  .widgettitle { border-bottom: 2px solid #444; margin-bottom: 0.75em; }
  .widget { padding: 0 10px; margin: 2.2em 0; }
  .widget ul li { margin-bottom: 0.75em; /* deep nesting */ }
  .widget ul li ul { margin-top: 0.75em; padding-left: 1em; }
  /* links widget */
  /* meta widget */
  /* pages widget */
  /* recent-posts widget */
  /* archives widget */
  /* tag-cloud widget */
  /* calendar widget */
  /* category widget */
  /* recent-comments widget */
  /* search widget */
  /* text widget */
  /********************* FOOTER STYLES ********************/
  /* you'll probably need to do quite a bit of overriding here if you styled them for mobile. Make sure to double check these! */
  .footer-links ul li { /*
be careful with the depth of your menus.
it's very rare to have multi-depth menus in
the footer.
*/ }
.y-btn {display:inline-block;margin:0;}
/*.y-btn:first-of-type {margin-right:15px;}*/
  /* end .footer-links */ }
/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 1030px) { /****************************************************************** Site Name: Author:  Stylesheet: Desktop Stylsheet  This is the desktop size. It's larger than an iPad so it will only be seen on the Desktop.  *****************************************************************/
  .wrap { width: 1040px; }
  .nav li a { padding: .75em 2em; }
  img.oniguy { margin-top: 75px; }
  #and { display: table; border-collapse: separate; width: 100%; }
  #and .and-row { display: table-row; }
  #and .and-cell { display: table-cell; vertical-align: bottom; }
  #and p { margin: 0; }
  #and img { margin-right: 35px; }
  #use-case .table:last-of-type { padding-bottom: 125px; }
  .arrow { height: 80px; }
  .arrow p { margin: 30px 60px 20px 25px; }
  .arrow:after { border: 40px solid transparent; border-left: 40px solid #f9bf12; } }
/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (min-width: 1240px) { /****************************************************************** Site Name:  Author:   Stylesheet: Super Large Monitor Stylesheet  You can add some advanced styles here if you like. This kicks in on larger screens.  *****************************************************************/ }
/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { /****************************************************************** Site Name:  Author:   Stylesheet: Retina Screens & Devices Stylesheet  When handling retina screens you need to make adjustments, especially if you're not using font icons. Here you can add them in one neat place.  *****************************************************************/
  /*   EXAMPLE  Let's say you have an image and you need to make sure it looks ok on retina screens. Let's say we have an icon which dimension are 24px x 24px. In your regular stylesheets, it would look something like this:  .icon { 	width: 24px; 	height: 24px; 	background: url(../css/img/test.png) no-repeat; }  For retina screens, we have to make some adjustments, so that image doesn't look blurry. So, taking into account the image above and the dimensions, this is what we would put in our retina stylesheet:  .icon { 	background: url(../css/img/test@2x.png) no-repeat; 	background-size: 24px 24px; }  So, you would create the same icon, but at double the resolution, meaning  it would be 48px x 48px. You'd name it the same, but with a @2x at the end (this is pretty standard practice). Set the background image so it matches the original dimensions and you are good to go.   */ }
/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print { /****************************************************************** Site Name: Author:  Stylesheet: Print Stylesheet  This is the print stylesheet. There's probably not a lot of reasons to edit this stylesheet. If you want to though, go for it.  *****************************************************************/
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter: none !important; -ms-filter: none !important; }
  a, a:visited { color: #444 !important; text-decoration: underline; }
  a:after, a:visited:after { content: " (" attr(href) ")"; }
  a abbr[title]:after, a:visited abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
  .sidebar, .page-navigation, .wp-prev-next, .respond-form, nav { display: none; } }
