/*
	Project: BU DNA Project
	Author: Tim Wright
	Created: April 8, 2011
*/

/* reset browser defaults */

	body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, p, blockquote, th, td {	
		margin:0;padding:0; }
		
	body {
		line-height:1; }
	
	h1, h2, h3, h4, h5, h6, p {
		font-size:100%;font-weight:400; }
	
	ol, ul {
		list-style:none; }
	
	caption, cite, code, th {
		font-style:normal;font-weight:400; }
	
	fieldset, img {
		border:0; }
	
	caption, th {
		text-align:left; }
	
	table {
		border-collapse:collapse;border-spacing:0; }
	
	:focus { outline:1px dotted #999;}
	
	label, button,input[type="submit"], input[type="checkbox"], input[type="radio"] {
		cursor:pointer; }

	textarea {
		font-family:inherit;resize:none; }
	
	button {
		width:auto;overflow:visible; }
	
	body:focus {
		outline:0; }
	
	::-moz-selection {
		background:#b4d5ff;color:#333;text-shadow:none; }
	
	::selection { background:#b4d5ff;color:#333;text-shadow:none; }

/* html 5 blocks */

	article, aside, detials, figure, figcaption, header, footer, hgroup, menu, nav, section { 
		display:block; }

/* general elements */

	html {
		text-align:center;-webkit-font-smoothing:antialiased;overflow-y:scroll; }

	body {
		height:100%;margin:auto;position:relative;max-width:960px;text-align:left;color:#333;font:0.75em/1.5 Sans-serif;
		background:#eee url(../images/bg-body.png) repeat-x center 0; }

	h1, h2, h3, h4, h5, h6 {
		font-family:georgia,times,serif;margin-bottom:15px;font-weight:700; }

	h1{ 
		font-size:1.5em;line-height:1em; }

	h2 {
		font-size:1.375em;line-height:1.0909em; }

	h3 {
		font-size:1.25em;line-height:1.2em; }

	h4 {
		font-size:1.125em;line-height:1.333em; }

	h5, h6 {
		font-size:1em;line-height:1.5em; }

	p, ul, ol, dl {
		font-size:1.1em;line-height:1.5;margin-bottom:15px; }

	ul, ol {
		margin-left:30px; }

	ul {
		list-style:disc; }

	ol {
		list-style:decimal; }

	ol ol, ul ul {
		margin:0 0 0 60px; }

	blockquote {
		background:#eee;padding:10px;margin-bottom:15px; }

	pre {
		white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word; }

	/* - tables - */
	
	table {
		width:auto;margin:15px auto; }

	td, th {
		border:1px solid #ccc;padding:5px 10px; }

	td {
		text-align:center; }

	th {
		font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.7); }

	th[scope="row"] {
		min-width:50px; }

	th strong, th b {
		font-weight:400; }

	td a {
		display:block;background:#eee;text-indent:-9999px;min-width:16px; }

	td a.populated {
		text-indent:0;background:#fff;color:red;font-weight:700; }

	td a:hover {
		background-color:#999; }
	
	table .red {
		background-color:#ffd9d9;color:#7f0000; }

	table .orange {
		background-color:#fff2d9;color:#7e5200; }

	table .yellow {
		background-color:#ffffd9;color:#696900; }

	table .green {
		background-color:#d9ecd9;color:#004200; }

	table .blue {
		background-color:#d9d9ff;color:#00007d; }

	table .purple {
		background-color:#ecd9ec;color:#440044; }
	
	.table-container {
		overflow:auto;position:relative; }
	
	.table-container table {
		left:0;position:relative;margin:0; }
	
	/* - buttons - */
	
	button {
		border:1px solid #bbb;padding:5px;-moz-border-radius:5px;border-radius:5px; }

	button:hover {
		background:#ddd; }

	button:active {
		background:#ccc; }

	/* - anchors - */
	a {
		color:#1e80a0;overflow:hidden;border-bottom:1px solid #ddd;text-decoration:none; }

	a:hover {
		border-bottom-color:#bbb; }

/* 
	utilities
*/

	.accessibility, .hide {
		position:absolute;top:-9999px;left:-9999px; }
	
	ul.remove {
		display:none; }

	.left {
		float:left;margin:5px 15px 10px 0; }
		
	.right {
		float:right;margin:5px 0 10px 15px; }
		
	.highlight {
		background:#fdffce; }
		
	.collapse {
		text-shadow:0 1px 0 #fff;position:absolute;top:0;right:101%;background:#fff;padding:5px 10px;cursor:pointer;border:1px solid #ddd;border-right:0;
		-moz-border-radius-topleft:5px;
		-webkit-border-top-left-radius:5px;
		-moz-border-radius-bottomleft:5px;
		-webkit-border-bottom-left-radius:5px; }
		
	.collapse:hover {
		background:#eee; }
		
	.collapse:active {
		background:#ddd;border-color:#aaa;top:1px; } 
	
	.next-section a {
		float:right;margin:10px 10px 30px;color:#333;font-size:12px;padding:8px 10px;border:1px solid #bbb;border-radius:5px; }
		
	.next-section a:active {
		position:relative;top:1px; }
		
	.next-section a:hover {
		background:#ddd; }
		
	.scale {
		cursor:move;
		-moz-transform:translate(50%, 50%) scale(2);
		-webkit-transform:translate(50%, 50%) scale(2);
	 	-o-transform:translate(50%, 50%) scale(2);
	 	transform:translate(50%, 50%) scale(2);
	 	
	 	-moz-transition: all .5s ease-in-out;
	 	-webkit-transition: all .5s ease-in-out;
	 	-o-transition: all .5s ease-in-out;
	 	transition: all .5s ease-in-out;
	 	zoom:2; }
	 	
	.usermenu {
		list-style:none; }
	
	.error {
		color:red; }
	
	.error-form {
		-webkit-animation:vibrate linear normal .4s;
		-moz-animation:vibrate linear normal .4s;
		animation:vibrate linear normal .4s; }
		
	.rss {
		float:right;font-size:12px;height:16px;width:16px;background:url(../images/icon_rss.gif) no-repeat 0 0;text-indent:-9999px;margin:1px 2px 0 0; }
	
	#content-main .errorlist-parent {
		width:69%;font-size:12px;padding:10px;background:#fffedf;color:#777;border:1px solid #e5e6a4;border-radius:5px;margin:0 0 15px 60px; list-style:none; }
		
	#content-main .errorlist-parent ul {
		margin:0;list-style:disc;margin-left:20px; }
	
	.js-error {
		color:red;margin-top:-15px;margin-bottom:10px;padding:5px;font:700 12px/1.3 Arial !important; }
	
	#expand {
		padding-left:20px; }
	
	#dna-at-bu{
		position:absolute;right:101%;top:120px;height:52px;width:149px;text-indent:-9999px;background:url(../images/dna_at_bu.png) no-repeat 0 0; }

/*
	grouping elements
*/

	/* gradient: gray */
	
	nav,button,#paginate ul,.profile-controls,.next-section a,.attachments .title,#branding .util,.collection li,.controls, .content-form,
	body.password-change-form #content-main form, body.registration-form #content-main form, #content-sub div h1 {
		background:#ddd url(../images/bg-gradient.png) repeat-x 0 0;
		background:-moz-linear-gradient(center bottom,#ddd 0%,#fff 100%);
		background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ddd),color-stop(1,#fff)); }

/*
	Layout
*/

/* header */

	#branding {
		padding:20px 0;height:88px; }

	#branding .hgroup {
		padding:20px;float:left; }

	#branding .hgroup a {
		display:block;height:49px;width:433px;background:url(../images/logo.png) no-repeat 0 0; text-indent:-9999px;border:0; }

	#branding .hgroup a:active {
		position:relative;top:1px; }

	/* - utility menu - */
	
	#branding .util {
		position:relative;border:1px solid #ccc;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;float:right;margin:25px 10px 0 0;
		padding:0;list-style:none;text-align:center;overflow:hidden;  }

	#branding .util li {
		float:left;display:inline;border-left:1px solid #ddd; }

	#branding .util li:first-child {
		border:0; }

	#branding .util a {
		color:#444;text-shadow:0 1px 0 #fff;float:left;padding:0 10px;line-height:30px; }

	#branding .util a:hover {
		background-color:#eee;color:#000; }

	#branding .util a:active {
		background-color:#fff; }

	#branding .util li[class] a {
		padding-left:28px;background-position:6px center;border-bottom:0; }

	#branding .util li.lessons a {
		background-image:url(../images/icon-lessons.png);background-repeat:no-repeat; }

	#branding .util li.admin a {
		background-image:url(../images/icon-admin.png);background-repeat:no-repeat; }

	#branding .util li.signin a {
		background-image:url(../images/icon-lock.png);background-repeat:no-repeat; }

	#branding .util li.profiles a {
		background-image:url(../images/icon-profiles.png);background-repeat:no-repeat; }

/* content */

	#content {
		position:relative;background:#fff;border:1px solid #ccc;padding:35px;
		-moz-border-radius:5px;
		border-radius:5px; }
		
	.home #content {
		padding:95px 35px 20px; }
		
	.lesson-display #content {
		padding:0; }
	
	#content:after {
		content:".";display:block;clear:both;height:0;width:0;text-indent:-9999px; }
	
	#content img {
		border:1px solid #fff;-moz-box-shadow:0 0 5px #ccc;display:block;margin:25px auto;width:auto;clear:both; }
	
	#content-main { width:66.553%;float:left;padding:0;background:#fff; }
	
	#content-main h1, #content-main h2, #content-main h3, #content-main ul, #content-main p, #content-main ol,
	#content-main dl, #content-main form, #content-main table {
		margin:0; }
		
	#content-main th[scope="col"] {
		text-align:center; }
		
	#content-main ul, #content-main ol {
		margin:0 90px 15px; }
		
	#content-main dt {
		font-weight:700; }
		
	#content-main dd {
		margin-bottom:10px; }
		
	#content-main h1, #content-main h2, #content-main h3, #content-main table, #content-main dl, #content-main p {
		margin-bottom:15px; }
		
	#content-main blockquote p:last-child {
		margin-bottom:0; }
		
	#content-main h1 {
		font-size:3em;margin-bottom:20px; }
	
	.lessons-header {
		color:#fff;font-weight:400;text-shadow:0 1px 0 #453426;position:absolute;left:-10px;top:-1px;width:100%;line-height:60px;padding:0 10px;border-bottom:1px solid #615851;
		background:#a47b5d url(../images/bg-dna_lessons_header.png) repeat-x 0 0;
		-moz-box-shadow:0 3px 3px rgba(0,0,0,.2);
		-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);
		box-shadow:0 3px 3px rgba(0,0,0,.2); }
		
	.lessons-header:before, .lessons-header:after {
		content:".";display:block;position:absolute;bottom:-11px;height:10px;width:9px;background-image:url(../images/bg_header_shelf.png);text-indent:-9999px; }
		
	.lessons-header:before {
		left:0;background-position:0 0; }
		
	.lessons-header:after {
		right:0;background-position:right 0; }
		
	.lessons-header span {
		padding:0 0 0 20px; }

/* content forms */

	.content-form {
		position:relative;border:1px solid #ccc;width:66%;margin:auto !important; margin-bottom:15px !important;padding:20px;clear:both;  }
	
	.content-form input {
		padding:8px;font-size:14px; }
	
	.content-form label {
		display:block;font:14px Georgia, Times, Serif; }
	
	.content-form ul {
		margin: 0 15px 15px;list-style:none;clear:both; }
	
	.content-form li label {
		display:inline;float:none;width:auto;font-size:12px; }
	
	.content-form textarea {
		width:97%;padding:1%;display:block;margin-bottom:15px;border:2px solid #ccc;border-radius:3px;font-size:inherit; }
	
	.content-form input[type="text"], .content-form input[type="file"], .content-form input[type="email"],
	.content-form input[type="url"], .content-form input[type="password"] {
		display:block;width:95.5%;margin:0 0 15px;border:2px solid #ccc;border-radius:3px; }
	
	.content-form input[type="text"]:focus, .content-form input[type="file"]:focus, .content-form input[type="email"]:focus,
	.content-form input[type="url"]:focus, .content-form input[type="password"]:focus, .content-form textarea:focus {
		border-color:#a3a3a3;outline:0;background:#f5f5f5; }
	
	.content-form fieldset {
		padding:20px;border:1px solid #ccc;margin:0 0 15px; }
		
	.content-form fieldset ul {
		margin:0; }
		
	.content-form legend {
		text-transform:uppercase;padding:0 10px;font-weight:700; }

/* Sub content */

	#content-sub {
		width:28.926%;float:right;padding:0;background:#fff; }

	#content-sub h1 {
		font-size:16px;padding:10px;border:1px solid #ddd;text-transform:capitalize;font-weight:400; }

/* Lesson listing */

	#content-main .listing {
		padding:0;margin:0 0 15px; }
		
	#content-main .listing h2 {
		font-weight:400;text-transform:capitalize;margin:0;padding:10px;border:1px solid #ccc;border-bottom:0;background:#ddd url(../images/bg-gradient.png) repeat-x 0 0;
		background:-moz-linear-gradient(center bottom,#ddd 0%,#fff 100%);
		background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ddd),color-stop(1,#fff));
		-moz-border-radius-topleft:5px;
		-moz-border-radius-topright:5px;
		-webkit-border-top-left-radius:5px;
		-webkit-border-top-right-radius:5px;
		border-top-left-radius:5px;
		border-top-right-radius:5px; }
		
	#content-main .listing h2 a {
		border:0;color:#333; }
	
	#content-main .listing ul {
		border:1px solid #ccc;margin:0;list-style:none; }
	
	#content-main .listing li {
		padding:8px; }
	
	#content-main .listing li + li {
		border-top:1px solid #ccc; }
	
	#content-main .listing a {
		border:0; }

/* Paginate */

	#paginate {
		padding:0;margin-left:35px;margin-right:35px; }
	
	#paginate h2 {
		margin:5px 5px 10px 5px;font-weight:400; }
	
	#paginate ul {
		border:1px solid #ddd;overflow:hidden;margin:0;list-style:none; }
	
	#paginate li {
		display:inline;float:left; }
	
	#paginate a {
		border:0;border-right:1px solid #ddd;display:block;padding:0 10px;line-height:30px;color:#333;text-shadow:0 1px 0 #fff; }
	
	#paginate a:hover {
		background:#eee;color:#000; }
	
	#paginate a:active {
		background:#fff; }
	
	#paginate .active a {
		background:#eee;font-weight:700; }

/* Lesson content */

	.lesson {
		padding:0;position:relative;overflow:hidden; }
	
	.lesson .hgroup {
		border-bottom:2px solid #333;margin:30px 35px 1px; }
	
	.lesson .hgroup h1 {
		font-size:3em;margin:0 0 5px; }
	
	.lesson .hgroup h2 {
		margin:0;padding:0 0 10px;font-weight:400;color:#444; }
	
	.section {
		position:relative;margin-left:65px;margin-right:65px;background:#fff; }
	
	.question,.section {
		margin:30px 65px 50px;padding-top:25px; }
	
	.question h2 {
		font-size:2em; }
	
	.scratch, .profile, .notes {
		margin:0 0 25px; }

/* Profiles */

	.profile {
		border:1px solid #ddd;background:#777 url(../images/dna.png) no-repeat 66% 20px;overflow:hidden; }

	.profile.loading {
		margin:0;border-bottom:0; }

	.profile ul {
		list-style:none;margin:0;width:33.33%;float:left; }

	.profile ul ul {
		width:100%;float:none;background:#fff; }

	.profile ul ul.open {
		border-bottom:1px solid #ddd; }

	.profile li {
		border-bottom:1px solid #6d9aad; }

	.profile li:last-child ul.open {
		border:0; }

	.profile li li {
		overflow:hidden;padding:5px 0 5px 5px;border:0; }

	.profile li li + li {
		border-top:1px dashed #ccc; }

	.profile .title {
		display:block;padding:5px;cursor:pointer;color:#f1f1f1;text-shadow:0 1px 0 rgba(0,0,0,.5);background:#47849f url(../images/gradient_dkblue.png);
		background:-moz-linear-gradient(center bottom,#47849f 0%,#5193b1 100%);
		background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#47849f),color-stop(1,#5193b1)); }

	.profile .title:hover {
		background:#47849f; }

	.profile .title:active {
		background:#2a5060; }

	.profile .icon-menu { 
		float:right;height:16px;width:17px;background:#407893 url(../images/icon_arrows.png) no-repeat 3px center;border:1px solid #6d9add;border:1px solid rgba(255,255,255,.2);
		-moz-border-radius:3px;
		border-radius:3px; }
		
	.profile .title:hover .icon-menu {
		background-color:#325e73;border:1px solid rgba(255,255,255,.3); }
	
	.profile .active .icon-menu {
		background-position:-17px center; }
		
	.profile li:first-child .title {
		border:0; }
		
	.profile .label, .viewport .label {
		float:left;line-height:1.3;margin:6px 5px 0 0;color:#666;font-size:12px; }

	.profile li a { 
		height:25px;width:25px;background-image:url(../images/sprite-controls.png);background-repeat:no-repeat;text-indent:-9999px;border:0;float:left;margin:0 5px 0 0; }
	
	.profile li a.main {
		background-position:-50px 0; }
	
	.profile li a.details {
		background-position:-75px 0; }
	
	.profile li a.main:hover {
		background-position:-50px -25px; }
	
	.profile li a.main.active, .profile li a.main:active {
		background-position:-50px -50px; }
	
	.profile li a.details:hover {
		background-position:-75px -25px; }
	
	.profile li a.details.active, .profile li a.details:active {
		background-position:-75px -50px; }
	
	.collection {
		width:66.3333333333%;float:left;margin-left:1px; }
	
	.collection ul {
		float:none;border:0;width:100%;margin:0; }
	
	.collection li {
		padding:5px;overflow:hidden;margin:1px 0 0;border:0;text-shadow:0 1px 0 #fff;color:#555; }
	
	.collection button {
		float:right; }
	
	.collection li .remove a {
		float:none;position:relative;top:3px;display:inline-block;text-indent:0;text-align:center;background:url(../images/delete.png) no-repeat center;text-indent:-9999px;
		width:14px;line-height:14px;padding:0 1px 1px; margin:0;height:auto;text-shadow:none; }
	
	#content .collection img {
		width:150px;max-height:60px;-moz-box-shadow:none;border:1px solid #ccc;margin:0;float:right; }
	
	.profile-footer {
		background:#666;border-bottom:1px solid #888;overflow:hidden;padding:10px; }

	.viewport { 
		background:#666;width:95%;padding:1px 1px 0;margin:0 auto 15px; }
		
	.viewport ul {
		color:#fff;padding:10px 10px 0;list-style:none;border:1px solid #888;border-top:0;margin:0; }
	
	.viewport, .viewport ul{
		-moz-border-radius-bottomleft:5px;
		-moz-border-radius-bottomright:5px;
		-webkit-border-bottom-left-radius:5px;
		-webkit-border-bottom-right-radius:5px;
		border-bottom-left-radius:5px;
		border-bottom-right-radius:5px; }
	
	#content .viewport img {
		display:block;margin:0;padding:0;border:0;width:100%;
		-moz-box-shadow:none;
		-webkit-box-shadow:none;
		box-shadow:none; }
		
	.viewport li {
		padding:0 0 10px;overflow:hidden; }

	.viewport .label{
		margin:1px 0 0; }

	.controls {
		text-align:right;font-size:11px;padding:10px;margin:0 0 1px; }
	
	.controls a {
		border:0;color:#333;display:inline;padding:0 10px;;text-transform:uppercase;text-shadow:0 1px 0 #fff; }
	
	.controls a + a { 
		border-left:1px solid #333; }
	
	.controls a:hover {
		color:#777; }

/* editable tables */

	.scratch td.editing {
		padding:0;border:2px solid #666; }
	
	.scratch td input {
		width:100%;margin:0;padding:0;border:0;background:#fff;text-align:center; }
	
	.scratch .populated, .scratch td input {
		outline:0;font:700 14px/1.3 "Courier New", Courier, Monospace;color:#000; }
	
	.touch .scratch td input {
		padding:5px; }

/* notes */
	
	.notes form {
		background:#eee;padding:20px;overflow:hidden; }
	
	.notes label {
		display:block;font:700 1.4em/1.3 Georgia, "Times New Roman", Serif; }
	
	.notes textarea {
		font-size:1.2em;display:block;height:100px;width:98%;margin:0 0 10px;border:2px solid #bbb;padding:5px;color:#444; }
	
	.notes textarea:focus {
		border-color:#666; }
	
	.notes button {
		display:block;float:left; }
	
	.notes .savenote {
		float:left;font:700 12px/2.4 sans-serif;padding:0 10px; }

/* Section interaction */

	.has-js .section {
		position:absolute;left:100%; }
		
	.has-js .active {
		position:static; }
		
	.has-js .question, .has-js .section {
		padding-top:0; }

/* Footer */

	#footer { 
		clear:both;margin:20px 0 0;text-shadow:0 1px 0 #fff; }
		
	#footer div {
		margin: 0 auto;text-transform:uppercase; }
		
	#footer li {
		display:inline;font-size:90%;margin:0 9px 0 0;padding-right:11px; }
		
	#footer li a {
		border:0;text-transform:uppercase;background:none;color:#333; }
		
	#footer ul {
		background: url(../images/master-logo.gif) no-repeat 10px 0;height:50px;margin-left:0; }
		
	#footer li.bu span {
		padding-left:140px; }

/* styles for 800px and down */

@media screen and (max-width: 800px) {
	
	/* - header - */
	
	#branding {
		height:110px; }
		
	#branding .util {
		float:none;clear:both;margin:0 10px;height:31px; }
	
	nav {
		margin:0 10px 20px; }	
		
	#paginate {
		padding:0;margin-left:20px;margin-right:20px; }

	/* - content - */

	#content {
		margin:0 10px; }

	#content-main {
		width:66%;float:left;padding:20px 0; }
	
	#content-main h1, #content-main h2, #content-main h3, #content-main ul, #content-main p,
	#content-main form, #content-main table, #content-main dl, #content-main ol {
		margin:0 20px; }
	
	#content-main h1 {
		font-size:3em;margin-bottom:20px; }
	
	#content-main .listing {
		padding:0 !important; }
		
	#content-main .tabs {
		padding:0 0 0 20px;height:50px; }
		
	#content-main .errorlist-parent {
		margin-left:23px;width:80%; }
	
	.question, .section {
		margin:20px;padding-top:25px;width:95%; }

	.lesson .hgroup {
		margin:20px 20px 1px;-moz-transition: all .5s linear; }
	
	.lesson  img {
		max-width:90%; }
		
	.profile img {
		max-width:100%; }
		
	#content-sub {
		width:33%;float:right;padding:20px 0; }
	
	.home #content-main h1{
		margin:0; }
	
	.home #content-main, .home #content-sub{
		padding-top:0; }
	
	/* - footer - */
	
	#footer {
		margin:10px; }
		
	#footer ul {
		height:auto; }
		
	#footer li {
		display:block;text-align:left;padding-bottom:5px;padding-left:130px; }
		
	#footer li.bu span {
		padding:0; }

}

/* styles for 480px and down */

@media screen and (max-width: 480px) {
 
	/* - header - */

	#branding {
		padding:0 0 20px;height:auto; }
		
	#branding .hgroup {
		margin:10px 0;padding:0;width:100%; }
		
	#branding .hgroup a {
		display:block;margin:auto;width:100%;height:39px;background:url(../images/logo-small.png) no-repeat center; }
		
	#branding .util {
		overflow:visible;  }
		
	#branding .util li {
		float:left !important;border-top:0 !important; }
		
	#branding .util li:first-child {
		border:0; }
		
	#branding .util li[class] a {
		padding-left:10px;background:none; }

	nav a {
		line-height:2;padding:5px 10px; }
			
	#paginate li {
		width:25%; }
		
	#paginate a {
		border:0; }
	
	/* - content - */
	
	.home #content {
		padding:70px 10px 0; }
	
	#content-main ol, m#content-main ul, #content-main table {
		margin-bottom:15px; }
	
	#content-main {
		width:100%;float:none; }
		
	#content-main h1 {
		font-size:2.4em;margin-bottom:20px; }
		
	#content-main .content-form {
		margin:0;padding:0;width:100%;border:0;background:none !important; }
		
	#content-main .content-form input {
		margin:0 auto;width:80%; }
		
	#content-main .content-form label {
		margin:0 auto;width:86%;padding:8px; }
		
	#content-main .content-form button {
		margin-left:7%;margin-top:15px; }

	.lesson .hgroup h1 {
		font-size:2.4em; }
		
	.lesson .hgroup h2 {
		font-size:1.2em; }

	.section {
		width:90%; }

	#content-sub {
		width:100%;float:none;padding:20px 0; }
	
	/* - profiles - */
	
	.profile {
		padding:0;width:95%; }
		
	.profile ul {
		width:100%;float:none; }
	
	.controls {
		padding:5px; }
	
	.collection {
		width:100%; }
		
	#content .viewport img {
		width:100% !important;display:block;float:none;margin:10px auto; }
		
	.viewport {
		border-radius:0;width:95%;padding:0;margin:10px 0;border-top:1px solid #333;overflow:hidden; }
		
	.viewport li, .viewport ul {
		margin:0;padding:0; }
	
	/* notes */
	
	.notes form {
		padding:0;background:#fff;width:90%;overflow: visible; }
		
	.notes {
		overflow:hidden; }
		
}

/* styles for 320px and down */

@media screen and (max-width: 320px) {

	#branding .util li {
		float:none;display:block;text-align:left; }
	
	#branding .util li + li {
		border-top:1px solid #ddd; }
	
	#branding .util a {
		display:block;float:none; }
	
	#paginate li {
		width:50%; }
	
}

/* Animations */

	@-moz-keyframes vibrate {
		0% {
			-moz-transform:translate(0, 0);
		} 25% {
			-moz-transform:translate(10px, 0);
		} 50% {
			-moz-transform:translate(0, 0);
		} 75% {
			-moz-transform:translate(10px, 0);
		} 100% {
			-moz-transform:translate(0, 0);
		}
	}
	
	@-webkit-keyframes vibrate {
		0% {
			-webkit-transform:translate(0, 0);
		} 25% {
			-webkit-transform:translate(10px, 0);
		} 50% {
			-webkit-transform:translate(0, 0);
		} 75% {
			-webkit-transform:translate(10px, 0);
		} 100% {
			-webkit-transform:translate(0, 0);
		}
	}
	
	@keyframes vibrate {
		0% {
			transform:translate(0, 0);
		} 25% {
			transform:translate(10px, 0);
		} 50% {
			transform:translate(0, 0);
		} 75% {
			transform:translate(10px, 0);
		} 100% {
			transform:translate(0, 0);
		}
	}

/* Print styles */

	@media print {
	
		.next-section {
			page-break-after:always; }
	
		#branding .util, #footer, #content-sub, #paginate, .next-section, .profile, button {
			display:none !important; }
		
		body {
			background:#fff;max-width:100%; }
		
		#branding {
			padding:0;height:auto; }
		
		#branding .hgroup {
			padding:0;float:none; }
		
		#branding .hgroup a { 
			display:block;height:auto;width:auto;background:none;text-indent:0;border:0;color:#333; }
		
		#branding .hgroup {
			padding:20px 0; }
		
		#branding h1 {
			padding:0;margin:0;font-family:sans-serif;font-size:14px;font-weight:400; }
		
		#branding h2 {
			margin:0;font-family:sans-serif;font-size:20px; }
		
		#content {
			border:0; }
	
		#content-main {
			float:none;width:100%;padding:0; }
		
		#content-main h1 {
			margin:0 0 20px; }
		
		#content-main .listing {
			border:0;padding:0;margin:0; }
		
		#content-main .listing h2 {
			background:none;border:0;padding-left:0; }
		
		#content-main .listing ul {
			margin-bottom:20px; }
		
		#content-main .listing li {
			border:0; }
		
		#content-main .listing li a {
			border:0; }
		
		#content .section, .lesson .hgroup {
			margin-left:0;margin-right:0;position:static;width:100% !important; }
			
	}