html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,b,i,small,strong,sub,sup,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,input,button,textarea,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,menu,time,mark,audio,video,a {
	border:0;
	outline:0;
	font-size:100%;
	font-weight:inherit;
	font-style:inherit;
	font-family:inherit;
	vertical-align:baseline;
	background:transparent;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	margin:0;
	padding:0;
}

html,body {
	height:100%;
}

html {
	overflow-y:scroll;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}

body {
	background:#dff;
	min-width:320px;
}

body,button,input,select,textarea {
	font-family:Inconsolata,monospace;
	font-size:16px;
	line-height:1.4;
	color:#222;
}

ul,ol {
	list-style:none;
}

strong,b {
	font-weight:700;
}

em,i {
	font-style:italic;
}

hr {
	border:0;
	height:1px;
	background:#222;
	margin:20px 0;
}

img {
	display:block;
	max-width:100%;
	height:auto;
	-ms-interpolation-mode:bicubic;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

td {
	vertical-align:top;
}

button,input[type="button"],input[type="reset"],input[type="submit"] {
	cursor:pointer;
	-webkit-appearance:button;
}

button[disabled],input[disabled] {
	cursor:default;
}

input[type="search"] {
	-webkit-appearance:textfield;
}

input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance:none;
}

button::-moz-focus-inner,input::-moz-focus-inner {
	border:0;
	padding:0;
}

textarea {
	overflow:auto;
	vertical-align:top;
}

blockquote {
	font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size:24px;
	font-weight:700;
	line-height:1.2;
	quotes:\00AB\0020 \0020\00BB;
}

blockquote:before {
	content:open-quote;
}

blockquote:after {
	content:close-quote;
}

blockquote:before,blockquote:after {
	font-weight:400;
}

figcaption {
	font-weight:700;
	font-size:12px;
	font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	text-transform:uppercase;
	letter-spacing:2px;
	display:block;
}

.group>li,.group>.left {
	float:left;
}

.group>.right {
	float:right;
}

.text h1,.text h2,.text h3,.text h4,.text h5 {
	font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	color:#222;
	font-weight:700;
	line-height:1.2;
}

.text h1,.text h2,.text h3 {
	margin:40px 0 20px;
}

.text h1:first-child,.text h2:first-child,.text h3:first-child {
	margin-top:0;
}

.text h1+h2,.text h2+h3,.text h3+h4 {
	margin-top:-20px;
}

.text h1 {
	font-size:40px;
}

.text h5 {
	font-size:inherit;
	line-height:inherit;
}

.text p {
	margin-bottom:20px;
}

.text p:last-child {
	margin-bottom:0;
}

.text ul,.text ol {
	margin:0 0 20px 40px;
}

.text ul {
	list-style:disc outside;
}

.text ol {
	list-style:decimal outside;
}

.text pre {
	background:#ffc;
	margin:20px 0;
	padding:20px;
}

figure {
	position:relative;
	cursor:pointer;
	margin:0 0 40px;
	padding:0 0 0 120px;
}

figure>.image {
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:100px;
	height:110px;
	overflow:hidden;
	border:4px solid #ccc;
}

figure>.image>img {
	position:absolute;
	width:92px;
	height:138px;
	top:50%;
	margin-top:-69px;
}

figure>blockquote {
	margin:0 0 10px;
}

#wrap {
	position:relative;
	min-height:600px;
	padding:0 0 60px;
}

#header {
	position:fixed;
	z-index:5;
	width:100%;
	top:0;
	left:0;
	background:red;
	-webkit-box-shadow:0 0 10px 2px rgba(0,0,0,0.1);
	box-shadow:0 0 10px 2px rgba(0,0,0,0.1);
}

#header #logo {
	position:relative;
	font-weight:400;
	font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size:25px;
	padding:14px 0 16px 40px;
}

#header #logo a {
	position:relative;
	display:block;
	color:#fff;
	text-decoration:none;
}

#header #logo strong {
	display:block;
	font-weight:400;
	padding:0 0 0 53px;
}

#header #logo img {
	position:absolute;
	top:-4px;
	left:-2px;
	width:45px;
	height:45px;
}

#header #menu {
	display:none;
	float:right;
	border:2px solid #fff;
	color:#fff;
	cursor:pointer;
	margin:15px 40px 0 0;
	padding:3px 8px;
}

#header #nav {
	position:relative;
	padding:20px 40px 18px 0;
}

#header #nav li {
	margin:0 0 0 20px;
}

#header #nav li>a {
	display:block;
	color:#fff;
	text-decoration:none;
	padding:0 0 3px;
}

#header #nav li>a.active,#header #nav li>a:hover {
	border-bottom:2px solid #fff;
	padding:0 0 1px;
}

.page {
	position:relative;
	z-index:3;
	max-width:700px;
	margin:auto;
}

.box {
	background:#fff;
	-webkit-box-shadow:0 0 10px 2px rgba(0,0,0,0.1);
	box-shadow:0 0 10px 2px rgba(0,0,0,0.1);
	margin:0 0 60px;
	padding:60px;
}

.flash {
	font-weight:700;
	color:#fff;
	margin:0 0 40px;
	padding:10px 20px;
}

.flash.flash-error {
	background:red;
}

.flash.flash-success {
	background:#0c0;
}

.button {
	margin:30px 0 0;
}

.heading {
	max-width:700px;
	margin:auto;
	padding:120px 0 60px 30px;
}

.heading>h1 {
	font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size:120px;
	font-weight:700;
	line-height:0.85;
	color:#222;
	margin:0;
}

.heading>.button {
	margin:30px 0 0 30px;
}

.heading>.button>a {
	font-size:30px;
	padding:12px 20px;
}

.heading>.button>a:hover {
	padding:14px 20px 13px;
}

.up {
	margin-top:20px;
	color:#999;
}

.up>span {
	cursor:pointer;
}

.bar,.text .bar {
	font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	color:#222;
	font-size:inherit;
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
	letter-spacing:2px;
	border-bottom:3px solid #222;
	margin:0 0 40px;
	padding:0 0 10px;
}

.quotes {
	height:130px;
	margin:0 0 40px;
}

.companies>ul {
	margin:-20px 0 0;
}

.companies>ul>li {
	height:80px;
	width:191px;
}

.companies>ul>li.company-vimeo>a {
	width:140px;
	padding-top:13px;
}

.companies>ul>li.company-facebook>a {
	width:160px;
	padding-top:20px;
}

.companies>ul>li.company-zendesk>a {
	width:160px;
	padding-top:18px;
}

.companies>ul>li.company-hipmunk>a {
	width:180px;
	padding-top:13px;
}

.companies>ul>li>a {
	display:block;
	margin:auto;
}

.text>.icon {
	position:relative;
}

.text>.icon>img {
	position:absolute;
	display:inline-block;
	width:50px;
	top:50%;
	left:-65px;
	margin-top:-30px;
}

.text>.icon.icon-unicorn>img {
	left:-70px;
	width:55px;
}

.text>.icon.icon-nut>img {
	width:45px;
	margin-top:-20px;
}

.program {
	padding-left:120px;
}

.text>.technology {
	margin:20px 0;
	padding:0;
}

.text>.technology>li {
	list-style:none;
	margin:0;
	padding:0 25px 0 0;
}

.text>.technology>li.technology-git>a {
	padding-top:30px;
	width:80px;
}

.text>.technology>li.technology-postgresql>a {
	padding-top:15px;
	width:55px;
}

.text>.technology>li.technology-ruby>a {
	padding-top:13px;
	width:50px;
}

.text>.technology>li.technology-rails>a {
	padding-top:5px;
	width:50px;
}

.text>.technology>li.technology-html>a {
	padding-top:0;
	width:50px;
}

.text>.technology>li.technology-jquery>a {
	padding-top:10px;
	width:60px;
}

.text>.technology>li.technology-backbone>a {
	padding-top:13px;
	width:55px;
}

.text>.technology>li>a {
	display:block;
	height:80px;
}

.weeks>.bar {
	margin:0 0 60px;
}

.weeks h3 {
	margin-bottom:5px;
	font-size:inherit;
}

.faq>.highlight {
	border:4px solid red;
	margin:40px -24px;
	padding:20px;
}

.faq-index {
	margin:0 0 40px;
}

.faq-index>li {
	border-top:1px solid #ccc;
	cursor:pointer;
	padding:5px 0;
}

.dates {
	float:left;
	margin:0 40px 20px 0;
}

.dates .dates-group {
	width:100%;
	background:#ddd;
	margin:0 auto 20px 0;
	padding:10px;
}

.dates th {
	text-align:left;
	font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:2px;
	line-height:1.2;
	border-bottom:2px solid #222;
	padding:2px 5px;
}

.dates td {
	padding:2px 5px;
}

.dates tbody>tr:first-child>td {
	padding:5px 5px 2px;
}

.staff .image {
	margin:0 0 20px;
}

.staff .image>img {
	width:200px;
	border:4px solid red;
}

.staff-index {
	margin:-20px 0 60px -20px;
}

.staff-index>li {
	width:120px;
	padding:20px 0 0 20px;
}

.staff-index>li>img {
width:100%;
border:4px solid #ccc;
cursor:pointer;
}

.staff-index>li>strong {
display:block;
font-weight:400;
font-size:12px;
color:#999;
padding:5px 0 0;
}

.alumni-group {
display:block;
border:4px solid red;
margin:0 0 40px;
}

.alumni-index {
float:left;
margin:0 0 40px;
}

.alumni-index>li {
border-top:1px solid #ccc;
cursor:pointer;
width:130px;
text-overflow:ellipsis;
padding:5px 0;
}

.no-js .alumni {
margin-left:0;
}

.alumni {
margin:0 0 0 160px;
}

.alumni h2+h3 {
font-weight:400;
font-size:inherit;
}

.alumni figure {
background:#ddd;
cursor:inherit;
margin:20px 0;
padding:20px;
}

.alumni figure>.image {
float:right;
position:static;
display:block;
width:100px;
height:inherit;
border:4px solid #fff;
margin:0 0 5px;
}

.alumni figure>.image>img {
position:relative;
width:100%;
top:inherit;
margin-top:inherit;
}

.alumni figure>blockquote {
float:none;
margin:0 120px 10px 0;
}

.alumni figure:hover {
color:inherit;
}

.map {
position:relative;
margin:0 0 40px;
}

.map>a {
border:4px solid red;
}

.map>ul {
position:absolute;
top:15px;
left:15px;
background:red;
list-style:none;
margin:0;
padding:4px 0 6px 14px;
}

.map>ul>li {
float:left;
cursor:pointer;
color:#fff;
margin:0;
padding:0 14px 0 0;
}

.toggle-nyc>span,.is-nyc .toggle-sf>span {
border:0;
}

.toggle-sf>span,.is-nyc .toggle-nyc>span {
border-bottom:2px solid #fff;
}

#footer {
position:relative;
z-index:2;
color:#999;
text-align:center;
font-size:11px;
}

#footer>p>a {
color:#999;
border-bottom:1px solid #999;
text-decoration:none;
}

#footer>p>a:hover {
color:red;
border-color:red;
}

#footer>.footer-logo {
text-align:center;
padding:15px 0 0;
}

#footer>.footer-logo>a {
display:block;
width:27px;
height:27px;
margin:auto;
}

#footer>.footer-logo>a>img {
width:27px;
}

#impressions {
position:fixed;
z-index:4;
top:0;
left:50%;
}

#impressions>li {
display:none;
position:absolute;
top:200px;
left:-120px;
cursor:move;
width:240px;
background:#fff;
-webkit-box-shadow:0 0 10px 2px rgba(0,0,0,0.1);
box-shadow:0 0 10px 2px rgba(0,0,0,0.1);
padding:4px;
}

#back {
position:fixed;
z-index:1;
top:0;
left:0;
width:100%;
height:100%;
background:#dff;
}

.simple_form .alert {
font-weight:700;
color:#fff;
background:red;
margin:40px 0;
padding:10px 20px;
}

.simple_form h3 {
font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
color:#222;
font-size:inherit;
font-weight:700;
line-height:1.2;
text-transform:uppercase;
letter-spacing:2px;
border-bottom:3px solid #222;
margin:60px 0 20px;
padding:0 0 10px;
}

.simple_form .input {
padding:5px 0;
}

.simple_form .hidden {
position:absolute;
left:-9999px;
padding:0;
}

.simple_form label {
display:block;
padding:0 0 3px;
}

.simple_form textarea {
width:100%;
height:150px;
border:3px solid #ccc;
padding:5px 10px;
}

.simple_form input[type="email"],.simple_form input[type="number"],.simple_form input[type="password"],.simple_form input[type="search"],.simple_form input[type="tel"],.simple_form input[type="text"],.simple_form input[type="url"],.simple_form input[type="color"],.simple_form input[type="date"],.simple_form input[type="datetime"],.simple_form input[type="datetime-local"],.simple_form input[type="month"],.simple_form input[type="time"],.simple_form input[type="week"] {
width:100%;
border:3px solid #ccc;
padding:5px 10px;
}

.simple_form .inputs-2>.input {
float:left;
padding-left:10px;
width:50%;
}

.simple_form .inputs-2>.input:first-child {
padding-left:0;
padding-right:10px;
}

.simple_form .inputs-4>.input {
float:left;
padding-left:10px;
padding-right:10px;
width:25%;
}

.simple_form .inputs-4>.input:last-child {
padding-right:0;
}

.simple_form .cycles .radio_buttons label {
float:left;
padding:0 0 0 20px;
}

.simple_form input[type="radio"],.simple_form input[type="checkbox"] {
display:inline-block;
margin:0 10px 0 0;
}

.simple_form .field_with_errors label {
font-weight:700;
color:red;
}

.simple_form .field_with_errors .error {
display:block;
color:red;
padding:3px 0 0;
}

#posts {
list-style:none;
margin:0;
}

#posts>li {
border-bottom:1px solid #ccc;
margin:0 0 40px;
padding:0 0 40px;
}

#posts>li h3,#posts>li.link>a:first-child {
font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
color:red;
font-weight:700;
line-height:1.2;
font-size:20px;
margin:0;
}

#posts>li blockquote {
font-family:inherit;
font-size:inherit;
font-weight:inherit;
line-height:inherit;
}

#posts>li blockquote:before,#posts>li blockquote:after {
content:none;
}

#posts-footer>.posts-footer-archive {
max-width:200px;
text-align:center;
margin:auto;
}

#posts-footer span {
font-family:sans-serif;
}

#colors {
position:relative;
z-index:2;
text-align:center;
margin:20px 0;
}

#colors>li {
display:inline-block;
color:#999;
border:2px solid #999;
cursor:pointer;
font-size:11px;
font-weight:700;
margin:0 10px;
padding:1px 5px;
}

#colors>li:hover {
color:red;
border-color:red;
}

#colors>li.active {
color:#222;
border-color:#222;
}

.ned>h5 {
font-weight:400;
margin:30px 0 0;
}

.ajax-message {
position:fixed;
margin-left:-100px;
font-weight:500;
font-size:1.5em;
width:200px;
left:50%;
text-align:center;
top:65px;
background-color:#fff;
}

#ajax-success {
color:#0d0;
}

#ajax-error {
color:#d00;
}

#ajax-loading {
color:#000;
}

article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,.js #site-single .page.active,.map-sf,.is-nyc .map-nyc {
display:block;
}

::-moz-selection,::selection {
background:red;
color:#fff;
text-shadow:none;
}

a,.show-answer>span {
color:red;
text-decoration:none;
cursor:pointer;
}

a:hover,.show-answer>span:hover {
color:red;
text-decoration:underline;
}

.group,.simple_form .cycles .radio_buttons {
zoom:1;
}

.group:before,.group:after,.simple_form .cycles .radio_buttons:before,.simple_form .cycles .radio_buttons:after {
content:"";
display:table;
}

.group:after,.simple_form .cycles .radio_buttons:after {
clear:both;
}

.text h2,.weeks h2 {
font-size:30px;
}

.text h3,.text h4 {
font-size:20px;
}

figure:hover,.up>span:hover,.faq-index>li:hover,.alumni-index>li:hover,#posts>li h3 a,#posts>li.link>a:first-child a {
color:red;
}

figure:hover .image,.staff-index>li>img:hover,.staff-index>li.active>img,.simple_form textarea:focus,.simple_form input[type="email"]:focus,.simple_form input[type="number"]:focus,.simple_form input[type="password"]:focus,.simple_form input[type="search"]:focus,.simple_form input[type="tel"]:focus,.simple_form input[type="text"]:focus,.simple_form input[type="url"]:focus,.simple_form input[type="color"]:focus,.simple_form input[type="date"]:focus,.simple_form input[type="datetime"]:focus,.simple_form input[type="datetime-local"]:focus,.simple_form input[type="month"]:focus,.simple_form input[type="time"]:focus,.simple_form input[type="week"]:focus,.simple_form .field_with_errors input[type="email"],.simple_form .field_with_errors input[type="number"],.simple_form .field_with_errors input[type="password"],.simple_form .field_with_errors input[type="search"],.simple_form .field_with_errors input[type="tel"],.simple_form .field_with_errors input[type="text"],.simple_form .field_with_errors input[type="url"],.simple_form .field_with_errors input[type="color"],.simple_form .field_with_errors input[type="date"],.simple_form .field_with_errors input[type="datetime"],.simple_form .field_with_errors input[type="datetime-local"],.simple_form .field_with_errors input[type="month"],.simple_form .field_with_errors input[type="time"],.simple_form .field_with_errors input[type="week"],.simple_form .field_with_errors textarea {
border-color:red;
}

.js #site-single .page,.js .staff>li,.js .staff .image,.js .alumni>li,.map-nyc,.is-nyc .map-sf,.no-js #impressions {
display:none;
}

.button>a,.simple_form input[type="submit"] {
position:relative;
display:inline-block;
font-weight:400;
color:#fff;
background:#0c0;
line-height:1.0;
border-bottom:3px solid #0a0;
padding:10px 15px;
}

.button>a:before,.simple_form input[type="submit"]:before {
content:"> ";
}

.button>a:hover,.simple_form input[type="submit"]:hover {
border:0;
background:#0a0;
text-decoration:none;
padding:12px 15px 11px;
}

.text>.bar,.ned>.bar {
margin:80px 0 20px;
}

.companies,.staff>li+li,.no-js .alumni>li+li {
margin:60px 0 0;
}

.companies>ul>li.company-thoughtbot>a,.companies>ul>li.company-twilio>a {
width:160px;
padding-top:17px;
}

.companies>ul>li>a>img,.text>.technology>li>a>img,.dates table,.alumni-group>img,.map>a>img,#impressions>li>img {
width:100%;
}

.weeks,.faq>li+li {
margin:40px 0 0;
}

.faq-index>li:first-child,.alumni-index>li:first-child {
border-top:0;
}

.staff-index>li.active>strong,.alumni-index>li.active {
color:red;
font-weight:700;
}

.simple_form .inputs-4>.input:first-child,.simple_form .cycles .radio_buttons label:first-child {
padding-left:0;
}

@media max-width 640px{
blockquote {
font-size:20px;
}

#header {
position:relative;
top:inherit;
left:inherit;
}

#header #logo {
padding-left:20px;
}

#header #menu {
margin-right:20px;
}

#header #nav {
padding:5px 20px 15px;
}

.heading {
padding-top:60px;
}

.heading>h1 {
font-size:80px;
}

#posts>li blockquote {
font-size:inherit;
}
}

@media max-width 480px{
figure {
padding-left:0;
}

figure>.image {
position:relative;
left:inherit;
top:inherit;
margin-bottom:20px;
}

.box {
padding:40px 20px;
}

.heading {
padding-left:20px;
}

.heading>h1 {
font-size:60px;
}

.quotes {
height:auto;
}

.faq>.highlight {
margin:40px -14px;
padding:10px;
}

.dates {
float:none;
margin:0 0 40px;
}

.alumni-index {
float:none;
}

.alumni-index>li {
width:inherit;
}

.alumni {
margin-left:0;
}

.alumni figure>.image {
position:static;
margin-bottom:inherit;
}
}

@media max-width 370px{
#header #logo {
padding-top:17px;
font-size:20px;
}

#header #logo strong {
padding:0 0 0 43px;
}

#header #logo img {
width:37px;
height:37px;
}
}

@media max-width 1024px{
#header #nav {
clear:both;
float:none;
background:#222;
padding:5px 40px 15px;
}

#header #nav li {
padding-top:10px;
margin:0 20px 0 0;
}

.js .menu-open #header #menu {
background:#fff;
color:red;
}

#header #menu,.js .menu-open #nav {
display:block;
}

.js #nav,#impressions,#back {
display:none;
}
}

@media min-width 1025px{
#header #nav #nav-apply>a {
border:2px solid #fff;
margin:-5px 0 0;
padding:3px 8px;
}

#header #nav #nav-apply>a:active,#header #nav #nav-apply>a:hover {
background:#fff;
color:red;
}
}

@media max-width 700px{
.box {
padding:40px;
}

.heading {
overflow:hidden;
}
}

@media max-width 320px{
.heading>h1 {
font-size:50px;
}
}

@media max-width 1024px and min-width 641px{
.js .menu-open .heading {
padding-top:180px;
}
}

@media min-width 700px{
#p-curriculum .heading>h1 {
font-size:110px;
line-height:0.93;
}
}

@media max-width 360px{
.alumni figure>blockquote {
font-size:inherit;
}
}

@media max-width 639px{
.simple_form .inputs-2>.input,.simple_form .inputs-4>.input {
float:none;
padding-left:0;
padding-right:0;
width:100%;
}

.simple_form .inputs-2>.input:first-child,.simple_form .inputs-2>.input:last-child,.simple_form .inputs-4>.input:first-child,.simple_form .inputs-4>.input:last-child {
padding-left:0;
padding-right:0;
}
}