/* site stuff */
body {
	background: #f2f2ed;
	color: #021616;
	font-size: 19px;
	font-family: Brabo, Georgia, serif;
}
.main.container {
	margin-top: 5em; /* change to 4.5em after preorder */
	min-height: 35em;
}
::selection {
	background: #3c3625;
	color: #fff;
}
::-moz-selection {
	background: #3c3625;
	color: #fff;
}
input, .submit {
	border-radius: 0.25em;
	border: 1px solid #333;
}
.submit:hover, .submit:active {
	background: #613418;
}
blink {
  -webkit-animation: blink 1s steps(5, start) infinite;
  -moz-animation:    blink 1s steps(5, start) infinite;
  -o-animation:      blink 1s steps(5, start) infinite; 
  animation:         blink 1s steps(5, start) infinite;
}
@-webkit-keyframes blink {
  to { visibility: hidden; }
}
@-moz-keyframes blink {
  to { visibility: hidden; }
}
@-o-keyframes blink {
  to { visibility: hidden; }
}
@keyframes blink {
  to { visibility: hidden; }
}
a {
	color: #3c3625;
}
a:hover {
	text-decoration: none;
	color: #998;
}
.front {
	display: none;
}
p, li {
	-moz-font-feature-settings: 'onum';
	-ms-font-feature-settings: 'onum';
	-webkit-font-feature-settings: 'onum';
	font-feature-settings: 'onum';
}
h1, h2, h3, h4, h5, p.cta, footer, .product, ul.nav, nav, .mobile a span {
	font-family: Flama, "Helvetica Neue", Helvetica, sans-serif;
}
h3, p, li, blockquote {
	line-height: 1.5em;
}
h2, h3, h4 {
	margin-bottom: 0.5em;
}
h2 {
	text-align: center;
	line-height: 1.2em;
}
h3.subhead {
	text-align: center;
	margin-bottom: 2em;
}
h5 {
	text-align: center;
	font-weight: normal;
	font-size: 0.667em;
	margin-top: 0;
	margin-bottom: 2em;
}
h2 a:hover {
	text-decoration: none;
}
h2 a {
	font-weight: bold;
}
blockquote {
	margin: 1em 0 1em 1.5em;
	quotes: '“' '”' '‘' '’';
}
.testimonials ul {
	list-style-type: none;
}
.bump, .in-body {
	margin: 1em 0;
}
.bump-2x {
	margin: 2em 0;
}
p + p, ol + p, .indent {
	text-indent: 1.5em;
}
abbr {
	font-variant: small-caps;
	font-feature-settings: 'smcp';
	text-transform: lowercase;
	letter-spacing: 0.03em;
}
.noindent, .login-form p, p + p.noindent, .noindent p, p.cta + p {
	text-indent: 0 !important;
}
h3, h4, p.cta + p, .bump-top {
	margin-top: 1em;
}
.bump-bottom {
	margin-bottom: 1em;
}
footer {
	width: 100%;
	background: #16161d;
	color: #ddd;
	margin-top: 3em;
}
footer .container {
	padding: 1em 0;
}
footer p {
	text-align: center;
}
.footer-list-callout {
	font-size: 0.6em;
	margin-top: 2em;
}
footer a {
	color: #ddd;
}
.course-signup #mc_embed_signup {
	margin: 1em 0;
	text-align: center;
}
.list-subscribe {
text-align: center;
margin: 0.5em 0 1em 0;
}
.body-subscribe input {
font-size: 0.9em;
}
hr {
	border: 0;
	height: 0;
	width: 80%;
	border-top: 1px solid #ddd;
	margin: 1.5em auto;
}

/* header */
header {
	text-align: center;
	font-size: 1.25em;
	padding: 0 0 0.25em 0;
	line-height: 1em;
	background: #e8e8e3;
	border-bottom: 1px solid #ddd;
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 999;
}
.nav li {
	display: inline;
}
h1 {
	display: inline;
	font-weight: normal;
	font-size: 1.1em;
}
header a {
	padding: 0 0.1em;
	border-radius: 0.15em;
}
header a:hover, .logo:hover svg {
	text-decoration: none;
	background: #ddd;
	color: #021616;
}
.callout a:hover {
	background: transparent;
	color: #000;
}
.logo:hover {
	background: none;
}
.footer p {
	text-indent: 0;
}
header svg, footer svg {
	height: 1.25em;
	position: relative;
	top: 0.2em;
}
.callout {
	background: #f6f6f1;
	border-bottom: 1px solid #ddd;
	padding: 0.25em 0 0.1em 0;
	font-size: 0.69em;
	margin-bottom: 0.15em;
}

/* mobile */
.mobile {
	display: none;
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 999;
}
.mobile div {
	display: none;
}
.mobile button {
	position: absolute;
	top: 5px;
	right: 15px;
	border: 0;
	border: 1px solid #ddd;
	border-radius: 3px;
	width: 30px;
	height: 30px;
	outline: none;
	-webkit-transition: all 400ms ease;
	transition: all 400ms ease;
}
.mobile button.expanded {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	background-color: transparent;
	border: 0;
}
.mobile a {
	display: block;
	background: #f0f0f0;
	text-align: center;
	padding: 20px 0;
	border-bottom: 1px solid #ddd;
	text-decoration: none;
	font-weight: bold;
}
.mobile a span {
	font-weight: normal;
	display: block;
	font-size: 0.6em;
}
.mobile a:hover, .mobile a:active, .mobile a:focus {
	background: #e7e7e7;
}

/* front page */
.tagline {
	display: table-cell;
	vertical-align: middle;
	height: 100%;
	width: 70%;
	margin: 0 auto;
}
.offerings {
	margin-top: 1em;
}
.offerings p {
	margin-bottom: 1em;
}
.offerings .row {
	padding: 0;
}
.outreach {
	font-size: 1.5em;
	padding-top: 1em;
}
.testimonials li {
	font-size: 0.9em;
	margin-top: 1em;
}

/* CTAs */
.cta {
	text-align: center;
	margin: 0.5em 0 0.75em 0;
}
.cta + .cta {
	margin: 0;
}
.cta a, .cta input {
	padding: 0.5em 1.5em;
	font-weight: bold;
	letter-spacing: 0.03em;
	margin: 0.75em auto;
	text-decoration: none;
	display: inline-block;
	-moz-box-shadow:inset 0px 1px 0px 0px #97c4fe;
	-webkit-box-shadow:inset 0px 1px 0px 0px #97c4fe;
	box-shadow:inset 0px 1px 0px 0px #97c4fe;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #3d94f6), color-stop(1, #1e62d0));
	background:-moz-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
	background:-webkit-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
	background:-o-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
	background:-ms-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
	background:linear-gradient(to bottom, #3d94f6 5%, #1e62d0 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3d94f6', endColorstr='#1e62d0',GradientType=0);
	background-color: #3d94f6;
	-moz-border-radius: 0.25em;
	-webkit-border-radius: 0.25em;
	border:1px solid #337fed;
	text-shadow:0px 1px 0px #1570cd;
	color: #f9f9f9;
	border-radius: 0.25em;
	cursor: pointer;
}
ul.bump + .cta a, ul.bump + .cta input {
	margin: 0 auto 0.5em auto;
}
.cta a:hover, .cta input:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #1e62d0), color-stop(1, #3d94f6));
	background:-moz-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
	background:-webkit-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
	background:-o-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
	background:-ms-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
	background:linear-gradient(to bottom, #1e62d0 5%, #3d94f6 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1e62d0', endColorstr='#3d94f6',GradientType=0);
	background-color:#1e62d0;
}
.cta a:active, .cta input:active {
	position:relative;
	top:1px;
}
.cta .primary {
	-moz-box-shadow:inset 0px 1px 0px 0px #a4e271;
	-webkit-box-shadow:inset 0px 1px 0px 0px #a4e271;
	box-shadow:inset 0px 1px 0px 0px #a4e271;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #89c403), color-stop(1, #77a809));
	background:-moz-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:-webkit-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:-o-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:-ms-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:linear-gradient(to bottom, #89c403 5%, #77a809 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#89c403', endColorstr='#77a809',GradientType=0);
	background-color:#89c403;
	border:1px solid #549807;
	text-shadow:0px 1px 0px #528009;
	color: #fff;
}
.cta .primary:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #77a809), color-stop(1, #89c403));
	background:-moz-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:-webkit-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:-o-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:-ms-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:linear-gradient(to bottom, #77a809 5%, #89c403 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#77a809', endColorstr='#89c403',GradientType=0);
	background-color:#77a809;
}
.cta .primary:active {
	position:relative;
	top:1px;
}
.cta .tertiary {
	background: #fafafa;
	color: #3c3625;
	border: 1px solid #3c3625;
	text-shadow: none;
	box-shadow: none;
	-webkit-box-shadow: none;
}
.cta .tertiary:hover {
	background: #fff;
	color: #000;
}
.cta span {
	font-size: 0.6em;
	display: block;
	margin-top: -0.75em;
	font-weight: normal;
}
.cta s {
	font-weight: normal;
}
.ctafinal {
	padding-top: 1em;
}
.ctafinal h2 {
	padding: 0;
	margin: 0;
}
.cta-text {
	color: #1e62d0;
	font-weight: bold;
}
.separator {
	border-top: 1px solid #d0d0c6;
	margin-top: 1em;
	padding-top: 0 !important;
}
.ss-layers {
	padding-top: 1.2em;
}
.contact {
	text-align: center;
}

/* marketing pages */
.sig {
	text-align: right;
	font-style: italic;
}
.ps {
	font-size: 0.75em;
	margin: 1em 0;
}
.product {
	font-weight: bold;
}
.headteaser {
	width: 100%;
	text-align: center;
	border-bottom: 1px solid #333;
	font-size: 0.6em;
	text-decoration: none;
	padding: 0.25em 0;
	background: #EDC393;
	display: none;
}
.headteaser:hover {
	background: transparent;
	color: #000;
}

/* blog */
#blog-guides {
	text-align: center;
	border: 1px solid #ccc;
	width: 100%;
	background: #f6f6f1;
}
#blog-guides, #blog-tutorials {
	font-family: Flama, "Helvetica Neue", Helvetica, sans-serif;
}
h2.blog-title {
	margin: 1em 0 1em 0;
}
#blog-guides td {
	width: 50%;
	padding: 1em;
}
#blog-guides td:first-child {
	border-right: 1px solid #ccc;
}
#blog-guides tr:first-child {
	border-bottom: 1px solid #ccc;
}
#blog-guides td {
	height: 8em;
}
#blog-guides a {
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 0.5em;
	text-decoration: none;
}
#blog-guides span.description {
	display: block;
	font-weight: bold;
	font-size: 0.9em;
	margin-top: 1.5em;
}
#blog-guides .ss-icon {
	font-size: 3em;
	color: #3c3625 !important;
}

#blog-tutorials h3 {
	text-align: center;
	font-size: 3em;
}
#blog-tutorials a {
	display: inline-block;
	padding: 1em 0;
	width: 100%;
	text-decoration: none;
	font-weight: bold;
	background: #f6f6f1;
}
#blog-tutorials a span {
	display: inline-block;
	padding: 0 0.5em 0 1.5em;	
}
#blog-guides a:hover span.description, #blog-tutorials a:hover {
	text-decoration: underline;
}
#blog-tutorials ul {
	list-style-type: none;
	list-style-image: none;
	border: 1px solid #ccc;
}
#blog-tutorials li + li > a {
	border-top: 1px solid #ccc;
}

/* course signups */
#course-questions h3 {
	text-align: center;
}
.course-signup {
	border: 1px solid #333;
	border-radius: 0.5em;
	padding: 0.5em 1em;
	background: #eee;
	margin: 1em 0;
}
.course-signup h3 {
	margin-top: 0;
	text-align: center;
}
.face {
	display: inline-block;
	width: 15%;
	float: right;
	margin-left: 1em;
	margin-bottom: 1em;
}
.face.photo {
	width: 25%;	
	margin-left: 0.5em;
	margin-bottom: 0.5em;
}
.photo {
	text-align: center;
}
.photo img {
	width: 100%;
	border-radius: 0.25em;
	border: 1px solid #999;
}
.photo.smartphone img {
	max-width: 325px;
}
.photo svg {
	width: 100% !important;
	height: 100% !important;
	border: 1px solid #999;
	border-radius: 0.25em;
}

/* vimeo embeds */
.embed-container {
	margin-bottom: 1em;
}

/* training */
.login-form {
	display: inline-block;
	max-width: 100%;
	width: 25em;
	padding: 1em;
	margin: 0 auto 2em auto;
	border-radius: 0.25em;
	border: 1px solid #ccc;
	background: #fafafa;
	text-align: left;
}
.login-form, .login-form input {
	font-family: Flama, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.login-form p {
	margin-bottom: 10px;
}
.login-form label {
	display: inline-block;
	min-width: 8em;
	text-align: right;
	margin-right: 0.5em;
}
.login-form .login-remember {
	margin-left: 8.25em;
}
.login-form .login-submit {
	margin-left: 8.75em;
}
.login-form input, .login-form select {
	font-size: 1.25em;
	border-radius: 0.25em;
	border: 1px solid #ccc;
	padding: 0.25em;
}
.login-form .submit-button {
	font-family: Mallory, Flama, "Helvetica Neue", Helvetica, Arial, sans-serif;
	padding: 0.25em 1em;
	font-size: 1em;
	font-weight: bold;
	border-radius: 0.25em;
	background: rgba(241,231,103,1);
	background: -moz-linear-gradient(top, rgba(241,231,103,1) 0%, rgba(254,182,69,1) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(241,231,103,1)), color-stop(100%, rgba(254,182,69,1)));
	background: -webkit-linear-gradient(top, rgba(241,231,103,1) 0%, rgba(254,182,69,1) 100%);
	background: -o-linear-gradient(top, rgba(241,231,103,1) 0%, rgba(254,182,69,1) 100%);
	background: -ms-linear-gradient(top, rgba(241,231,103,1) 0%, rgba(254,182,69,1) 100%);
	background: linear-gradient(to bottom, rgba(241,231,103,1) 0%, rgba(254,182,69,1) 100%);
}
.login-form .submit-button:disabled {
	background: #ccc !important;
}
.login-form .submit-button:not([disabled]):hover {
	background: rgba(182,236,34,1);
	background: -moz-linear-gradient(top, rgba(182,236,34,1) 0%, rgba(115,195,40,1) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(182,236,34,1)), color-stop(100%, rgba(115,195,40,1)));
	background: -webkit-linear-gradient(top, rgba(182,236,34,1) 0%, rgba(115,195,40,1) 100%);
	background: -o-linear-gradient(top, rgba(182,236,34,1) 0%, rgba(115,195,40,1) 100%);
	background: -ms-linear-gradient(top, rgba(182,236,34,1) 0%, rgba(115,195,40,1) 100%);
	background: linear-gradient(to bottom, rgba(182,236,34,1) 0%, rgba(115,195,40,1) 100%);
}
.reset-pw {
	font-size: 0.75em;
	text-align: center;
}
.subnav {
	font-size: 0.75em;
}
.logout {
	font-weight: bold;
}
.embed-container {
	position: relative; 
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	margin: 1em auto 2em auto;
}
.embed-container iframe, .embed-container object, .embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* store */
#store h2 {
	text-align: left;
	margin-top: 0;
}
#store h3 {
	margin-bottom: 1em;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #ddd;
	font-size: 2em;
	text-align: center;
}
#store .cta {
	text-align: left;
	margin-top: 0;
}
#store .cta a {
	text-align: center;
}
#store .price {
	font-weight: normal;
	font-size: 0.75em;
	margin-left: 0.5em;
}

/* clock */
.clock {
	font-family: Flama, "Helvetica Neue", Helvetica, sans-serif;
	text-align: center;
	font-size: 1.5em;
	margin: 0 auto 1em auto;
}
.clock h3 {
	margin-top: 0;
	font-size: 0.75em;
}
.clock > div {
	padding: 0.25em;
	border-radius: 3px;
	border: 1px solid #ddd;
	background: #f0f0f0;
	display: inline-block;
}
.clock div > span {
	padding: 0.5em;
	border-radius: 3px;
	border: 1px solid #ddd;
	background: #f8f8f8;
	display: inline-block;
}
.days {
	font-weight: bold;
}
.smalltext {
	padding-top: 5px;
	font-size: 0.75em;
}

/* wufoo embed */
.wufoo ul {
	list-style-type: none;
}
.wufoo li {
	margin-top: 1em;
}
.wufoo input, .wufoo textarea {
	font-size: 1.25em;
	font-family: Flama, "Helvetica Neue", Helvetica, Arial, sans-serif;
	border-radius: 0.25em;
	border: 1px solid #ccc;
	padding: 0.25em;
}
.wufoo textarea {
	max-height: 6em;
}
.hide {
	display: none !important;
}
.req {
	color: #a00;
	vertical-align: super;
	font-size: 0.7em;
}
.wufoo .cta input {
	padding: 0.25em 1em;
}
.wufoo .radio-wrap {
	display: block;
}
.wufoo .instruct {
	display: none;
}
.wufoo .buttons {
	text-align: center;
}

@media only screen and (max-width: 479px) {
	body {
		font-size: 12px;
	}
	.offerings p {
		margin: 0;
	}
	ul, li {
		list-style-position: inside;
	}
	.body-subscribe input {
		font-size: 0.75em !important;
	}
}
@media only screen and (max-width: 767px) {
	.main.container {
		margin-top: 7em; /* change to 5em after preorder */
	}
	#store h2 {
		margin: 0.5em auto;
		font-size: 2em;
		text-align: center;
	}
	#store .cta {
		text-align: center;
	}
	body {
		font-size: 16px;
	}
	.cta {
		padding: 1em 0 0.5em 0;
		text-align: center;
	}
	.mobile {
		display: block;
	}
	.spacer, .desktop, h1 span {
		display: none !important;
	}
	.body-subscribe input {
		font-size: 1em;
	}
	.face {
		margin-left: 0.5em;
		margin-bottom: 0.5em;
	}
	.nomobile {
		display: none !important;
	}
	.content p {
		hyphens: auto;
		-webkit-hyphens:auto;
		-moz-hyphens:auto;
		hyphenate-limit-last: always;
	}
	#blog-tutorials h3 {
		font-size: 2em;
	}
	#blog-guides span.description {
		font-size: 1em;
	}
}
@media only screen and (min-width: 768px) {
	blockquote {
		margin-left: 0;
		padding-left: 0.5em;
		border-left: 4px solid #e0e0e0;
	}
	body {
		text-rendering: optimizeLegibility;
	}
}