@charset "utf-8";


/* ============================== RESET/NORMALIZE =========================== */

body {
	position:relative;
    font-weight:normal;
    font-style:normal;
    font-size:15px;
    font-family:Arimo, Helvetica, Arial, sans-serif;
    line-height:1.6;
}

/*------------------------- Form Elements  -------------------------*/

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"], 
select, 
textarea {
	display:block;
	width:auto;
	color:#333;
	//font-size:1em;
	//font-family:Open Sans, Arial, Helvetica, sans-serif;
	font: normal 14px/auto Verdana, Arial, Helvetica, sans-serif;
	background-color: #EFF3F5;
	border: 1px solid #666;
	padding: 5px 5px;
}

input[type="submit"],
input[type="button"] {
	margin:0;
	border:0;
	background:none;	
}

input:focus,
select:focus,
textarea:focus {
	outline:none;
}

textarea {
	resize:none;
}

/*----------------------------- Misc ----------------------------*/

.clear {
	clear:both;
}
.clear-float {
	clear:both;
}

.clearfix {	
	display:block;	
}

.clearfix:after {
	display:table;
	clear:both;
	content:" ";
}

.leftshop {
    float:left;
}

.rightshop {
    float:right;
}

.text-left {
    text-align:left;
}

.text-right {
    text-align:right;
}

.text-center {
    text-align:center;
}

/* ========================== CUSTOM ELEMENTS ========================= */

/*----------------------------- Buttons -----------------------------*/

input[type="submit"],
input[type="button"],
input[type="reset"],
.element-button {	
	position:relative;
	display:inline-block;
	overflow:hidden;
	padding:0.3em 10px 0.2em 10px;
	border:1px solid rgba(0,0,0,0.15);
	background:#f3715d;
	color:#fff!important;
	text-shadow:0 -1px 0 rgba(0,0,0,0.17);
	white-space:nowrap;
	line-height:1.5em;
	cursor:pointer;
	margin-top: 1px;
}



.element-button.secondary {
	background-color:#5ea5d7;
}

.element-button.dark {
	border-color:rgba(0,0,0,0.2);
	background-color:#3d4e5b;
}

.element-button.return {
	border-color:rgba(0,0,0,0.2);
	background-color:#547B53;
	padding:0.19em 10px 0.2em 10px;
	//font-size:1.1em;
	line-height:1.5em;
	margin-top: 1px;
}



.element-button.returnmenu {
	border-color:rgba(0,0,0,0.2);
	background-color:#547B53;
	padding:0.19em 10px 0.2em 10px;
	font-size:1.0em;
	line-height:1.5em;
	margin-top: 14px;
	margin-left: 12px;
	font-weight: 400;
	height: 22px !important;
}

.element-button.menu {
	padding:0.19em 10px 0.2em 10px;
	//font-size:1.1em;
	line-height:1.5em;
	margin-top: 1px;
}

.element-button.medium {
	padding:0 12px;
	font-size:1.2em;
	line-height:2.4em;
}

.element-button.large {
	padding:0 18px;
	font-size:1.4em;
	line-height:2.4em;
}

.element-button:after {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:block;
	background:url(/images/bgs/button_bg.png) 0 0 repeat-x;
	content:" ";	
}

.element-button.dark:after {
	background:url(/images/bgs/button_dark_bg.png) 0 0 repeat-x;
}

.element-button:hover:after {
	background-color:rgba(255,255,255,0.05);
}

.element-button.active:after,
.element-button:active:after {
	background:none;
}

.element-button img {
	position:relative;
	display:inline!important;	
	margin:-2px 8px 0 0;
	vertical-align:middle;
}

.element-button.medium img {
	margin:-3px 8px 0 0;
}

.element-button.large img {
	margin:-4px 10px 0 0;
}

.button-icon {
	position:relative;
	display:inline-block;
	margin:-2px 8px 0 0;
	width:16px;
	height:16px;
	background:url(/images/icons/button_icons.png) 0 0 no-repeat;
	vertical-align:middle;
}

.button-icon.sidemenu {
	background:url(/images/icons/image_6.png) 0px 1px no-repeat !important;
}

.button-icon.returnmenu {
	background:url(/images/icons/button_icons.png) 0 0 no-repeat;
}

/* ================================ LAYOUT =========================== */

/*------------------------------ Columns ---------------------------*/

.row.shop {
    margin:0 auto;
	padding:0 30px;
    width:1140px;
}

.row.shop:before, .row:after {
    display:table;
    content:" ";
}

.row.shop:after {
    clear:both;
}

.row.shop .row {
    min-width:0;
    max-width:none;
    width:auto;
}

.column {
    position:relative;
    float:left;
    margin-right: 3.8%;
    min-height:1px;
}

/*--------------------------- Header --------------------------*/

.header-wrap {
	position:relative;
	z-index:101;
	background-color:#3d4e5b;
	color:#fff;
}

.site-header {
	padding:2em 0;
	border:1px solid rgba(255,255,255,0.1);
	border-right-width:0;
	border-left-width:0;
}

.site-header:after {
	bottom:-1px;
}

.site-header.submenu {
	padding:1.24em 0 0.8em 0;
}

.site-logo a {
	color:#fff;
	font-size:1.5em;
}

.site-logo h1 {
	margin:0.3em 0 0 0;
}

.menucontrol.extra {
	padding-top:0.76em;
	}

/*------------------------- Dropdown Menu ------------------------*/

.header-navigation ul {
	margin:0.5em 0 0 0;
	padding:0;
	list-style:none;
}

.header-navigation ul li {
	position:relative;
	margin:0;
}

.header-navigation div > ul > li {
	float:left;
	padding-bottom:0.5em;
}

.header-navigation div > ul:after {
	display:table;
	clear:left;
	content:" ";
}

.header-navigation div > ul > li a {
	display:block;	
	color:#f0f0f0;
	white-space:nowrap;
}

.header-navigation li.current-menu-item > a,
.header-navigation li.hover > a,
.header-navigation a:hover {
	color:#fff;
}

.header-navigation div > ul > li > a {
	padding:0 12px;
	text-shadow:0 -1px 0 rgba(0,0,0,0.15);
	font-size:1.03em;	
	font-family:Arimo, Arial, Helvetica, sans-serif;
	line-height:2.2em;
}

.header-navigation div > ul > li > a:hover {
	//background:#4F6474;
	//color: #ddd !important;
}

.header-navigation div > ul > li.current-menu-item > a {
	border-bottom:1px solid rgba(255,255,255,0.2);
	background:url(/images/bgs/black_20_bg.png);
}

.header-navigation ul ul {
	position:absolute;
	top:2.7em;
	left:0;
	z-index:1000;
	display:none;
	margin:0;
	min-width:130px;
	border:1px solid rgba(0,0,0,0.15);
	border-top-color:rgba(255,255,255,0.1);
	border-bottom-width:0;
	background:#3d4e5b;
}

.header-navigation ul ul li {
	border-top:1px solid rgba(255,255,255,0.1);
	border-bottom:1px solid rgba(0,0,0,0.15);
}

.header-navigation ul ul li:first-child {
	border-top-width:0;
}

.header-navigation ul ul li a{
	padding:0.4em 15px 0.6em 15px;	
}

.header-navigation ul ul li a:hover {
	background:rgba(255,255,255,0.03);
}

.header-navigation ul ul ul {
	top:-1px;
	left:100%;
}

/*------------------------------ Select Menu ----------------------------*/

.select-element {
	position:relative;
	overflow:hidden;
	border:1px solid #D4D4D4;
	background:url(/images/select_menu_arrows.png) right -2.7em no-repeat;
}

.select-element span {
	display:block;
	padding:0.45em 31px 0.45em 9px;
	cursor:pointer;
	text-align:left;
}

.select-element select {
	position:absolute;
	bottom:0;
	left:0;
	margin:0;
	width:100%;
	opacity:0;
	cursor:pointer;
}

.select-menu {
	display:none;
	background-color:#3d4e5b;
	background-position:right 0.9em;
	border:1px solid rgba(0,0,0,0.1);
	margin:0.5em 0;
}

.select-menu span {
	min-width:100px;
	color:#f0f0f0;
	text-shadow:0 -1px 0 rgba(0,0,0,0.15);
	font-size:1.1em;
	padding:0.3em 12px;
	font-family:Crete Round, Arial, Helvetica, sans-serif;
}

.select-menu:hover span {
	color:#fff;
}

/*-------------------------- Search Form -------------------------*/

.search-form  {
	margin:0.6em 0 0.6em 10px;
	border:1px solid rgba(0,0,0,0.1);
	background:#3d4e5b url(/images/icons/search_icon.png) right 0.6em no-repeat;
}

.search-form form {
	display:block;
	float:right;
}

.search-form input{
	display:block;
	margin:0;
	padding:0.5em 20px 0.4em 9px;
	width:1px;
	border-width:0;
	background-color:transparent;
	color:transparent;
	cursor:pointer;
}

.search-form input:hover {
	background-color:rgba(255,255,255,0.05);
}

.search-form input:focus {
	padding-right:27px;
	width:130px;
	background-color:transparent;
	color:#fff;
	cursor:text;
}

.mobile-search-form {
	display:none;
	margin-bottom:1em;
	padding:0 27px 0 9px;
	border:1px solid rgba(0,0,0,0.1);
	background:#3d4e5b url(/images/icons/search_icon.png) right 0.6em no-repeat;
}

.mobile-search-form input {
	display:block;
	margin:0 0 0 -9px;
	padding:0.5em 27px 0.4em 9px;
	width:100%;
	border-width:0;
	background-color:transparent;
	color:#fff;
}

/*------------------------- Login Form ------------------------*/

.login-options {
	margin:0.5em 0;
}

.login-options .element-button {
	display:block;
	border-width:0;
}

.login-options .button-wrap {
	margin-left:10px;
	border:1px solid rgba(0,0,0,0.15);
}


.login-options.mobile {
	display: none !important;
}



/* ========================= RESPONSIVE STYLES ======================== */

/* --------------------------- 940px-1199px --------------------------- */

@media only screen and (max-width: 1199px) and (min-width: 1000px) {
	.row.shop {
		width:940px;
	}
	ul.bordered.rolldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 19.89%;
	height: 150px;
	}
	ul.bordered.caldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 16.55%;
	height: 70px;
	padding-top: 20px;
	}
	ul.bordered.twocoldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 49.87%;
	height: 150px;
	padding-top: 20px;
	}
	ul.bordered.threecoldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 33.253%;
	height: 150px;
	padding-top: 20px;
	}
	ul.bordered.fourcoldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 24.88%;
	height: 170px;
	padding-top: 20px;
	}
	ul.bordered.rolldisplay.k8notes li {
		height: 290px;
	}
}

/* ---------------------------- 768px-999px --------------------------- */

@media only screen and (max-width: 999px) and (min-width: 768px) {
	.row.shop {
		width:708px;
	}
	
	ul.bordered.rolldisplay li {
	display: block;
	position: relative;
	float: clear;
	width: 100% !important;
	height: auto;
	padding-bottom: 25px;
	}
	ul.bordered.rolldisplay li.last {
	padding-bottom: 25px;
	}
	ul.bordered.rolldisplay.aidnotes li {
	height: auto;
	}
	ul.bordered.rolldisplay.aidoptions li {
	height: auto;
	}
	ul.bordered.rolldisplay.aidtools li {
	height: auto;
	}
	ul.bordered.rolldisplay.k8notes li {
	height: auto;
	}
	ul.bordered.caldisplay li {
	display: block;
	position: relative;
	float: clear;
	width: 100%;
	height: auto;
	padding-bottom: 25px;
	}
	ul.bordered.twocoldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	height: auto;
	padding-top: 20px;
	padding-bottom: 25px;
	}
	ul.bordered.threecoldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	height: auto;
	padding-top: 20px;
	padding-bottom: 25px;
	}
	ul.bordered.threecoldisplay.calc li {
	height: auto;
	}
	ul.bordered.fourcoldisplay li {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	height: auto;
	padding-top: 20px;
	padding-bottom: 25px;
	}
}

/* ------------------------------ 0-999px ---------------------------- */

@media only screen and (max-width: 999px) {
	.header-navigation .menu {
		display:none;
	}
	
	.header-navigation .select-menu {
		display:block;
	}
	
	.search-form input:focus {
		width:60px;
	}
	
	.header-options {
		float: none !important;
		}
	
	.login-options {
		float: none !important;
		margin-right: auto !important;
		}
	
	.login-options.right {
		margin-right: auto !important;
		display: block !important;
		float: right !important;
		}
}

/* ------------------------------ 0-767px ---------------------------- */

@media handheld, only screen and (max-width: 767px) {
	
	.row.shop .column {
		margin:0 0 3em 0;
		width:100%;
	}
	
	.row.shop .column > .column {
		margin-bottom:1em;
	}
	
	.column.last,
	.courses-listing .column,
	.lessons-listing,
	.formatted-form .column{
		margin-bottom:0;
	}
	
	.site-header .search-form,
	table.cart .coupon,
	.boxed-slider .caption,
	.parallax-slider .substrate,
	.footer-navigation {
		display:none;
	}
	
	.mobile-search-form {
		display:block;
	}
	
	.select-menu,
	.site-header .site-logo,
	.site-footer .copyright,
	.header-navigation {
		float:none;
		width:100%;
	}
	
	.site-header,
	.site-footer {
		text-align:center;
	}
	
	.header-options {
		display:inline-block;
		float:none;
		margin:1em 0 2px 0;
	}
	
	.login-options,
	.share-button,
	.search-form,
	.select-menu {
		text-align:left;
	}
	
	.share-button {
		margin-left:0;
	}
	
	.parallax-slider {
		padding-top:3em;
	}
	
	.parallax-slider .column {
		top:0!important;
	}
	
	.post .post-image ,
	.course-content .course-questions {
		margin-bottom:1.5em;
	}
	
	.vertical-tabs .tabs {
		margin-bottom:1.5em;
		border-width:0;
	}
	
	.vertical-tabs .tabs li {
		margin-top:-1px;
	}		
	
	.vertical-tabs .tabs li.current {
		margin-right:0;
		border-right:1px solid #E5E5E5;
	}
	
	.vertical-tabs .panes {
		padding:0;
		border-width:0;
	}
	
	.single-course .related-courses {
		margin-top:1em;
	}
	ul.bordered.rolldisplay li {
	display: block;
	float: clear;
	width: 100% !important;
	height: auto;
	padding-bottom: 25px;
	}
	ul.bordered.rolldisplay li.last {
	padding-bottom: 25px;
	}
	ul.bordered.rolldisplay.aidnotes li {
	height: auto;
	}
	ul.bordered.rolldisplay.k8notes li {
	height: auto;
	}
	ul.bordered.rolldisplay.aidoptions li {
	height: auto;
	}
	ul.bordered.rolldisplay.aidtools li {
	height: auto;
	}
	ul.bordered.caldisplay li {
	display: block;
	position: relative;
	float: clear;
	width: 100%;
	height: auto;
	padding-bottom: 25px;
	}
	ul.bordered.twocoldisplay li {
	display: block;
	position: relative;
	float: clear;
	width: 100%;
	height: auto;
	padding-top: 20px;
	padding-bottom: 25px;
	}
	ul.bordered.threecoldisplay li {
	display: block;
	position: relative;
	float: clear;
	width: 100%;
	height: auto;
	padding-top: 20px;
	padding-bottom: 25px;
	}
	ul.bordered.threecoldisplay.calc li {
	height: auto;
	}
	ul.bordered.fourcoldisplay li {
	display: block;
	position: relative;
	float: clear;
	width: 100%;
	height: auto;
	padding-top: 20px;
	padding-bottom: 25px;
	}
	
	.login-options.right {
		float: none !important;
		}
}

/* ---------------------------- 480px-767px -------------------------- */

@media handheld, only screen and (max-width: 767px) and (min-width: 480px) {
	.row.shop {
		padding:0 15px;
		width:450px;
	}
	
	.featured-content .substrate {
		width:500%;
	}

	.collegeplans.k8 {
		display: none;
	}

	.collegeplans.mobilek8 {
		display: block;
	}

	.collegeplans .widget-title.mobile {
		margin-bottom:-15px;
	}
	ul.bordered.rolldisplay li.last {
	padding-bottom: 25px;
	}
	ul.bordered.rolldisplay.aidnotes li {
	height: auto;
	}
	
	.login-options {
		margin-left: 25% !important;
		}
}

/* ---------------------------- 320px-479px -------------------------- */

@media handheld, only screen and (max-width: 479px) {
	.row.shop {
		padding:0 15px;
		width:290px;
	}
	
	.login-button .tooltip-wrap {
		right:auto;
		left:0;
	}
	
	.row.shop .mobile {
		margin-top: -45px !important;
		}

	.page-title h1 {
		font-size: 18px;	
	}
	
	.login-options {
		margin-left: 14% !important;
		}
}

@media print {
	.print-button {
		display:none;
	}
}

/* =========================== CSS3 EFFECTS =========================== */


.search-form,
.mobile-search-form,
.element-button,
.element-button:after,
.button-wrap, {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.site-header {
	background-image: -moz-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.1)), color-stop(100%,rgba(255,255,255,0)));
	background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%);
	background-image: -o-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%);
	background-image: -ms-linear-gradient(top, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%);
	background-image: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%);
}

.select-menu,
.mobile-search-form,
.search-form {
	-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.1);
	-moz-box-shadow:0 1px 0 rgba(255,255,255,0.1);
	box-shadow:0 1px 0 rgba(255,255,255,0.1);
}



.search-form input{
	-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.1) inset;
	-moz-box-shadow:0 1px 0 rgba(255,255,255,0.1) inset;
	box-shadow:0 1px 0 rgba(255,255,255,0.1) inset;
}

.login-button .tooltip-text input,
.search-form input:focus {
	-webkit-box-shadow:none;
	-moz-box-shadow:none;
	box-shadow:none;
}

.search-form input {
	-webkit-transition: width 0.3s, padding 0.3s;	
	-moz-transition: width 0.3s, padding 0.3s;
	-o-transition: width 0.3s, padding 0.3s;
	transition: width 0.3s, padding 0.3s;
}


input[type="submit"],
input[type="button"],
.search-form input,
.select-menu span,
.element-button {
	background-image: -moz-linear-gradient(top, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.15)), color-stop(100%,rgba(255,255,255,0)));
	background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.15) 0%,rgba(255,255,255,0) 100%);
	background-image: -o-linear-gradient(top, rgba(255,255,255,0.15) 0%,rgba(255,255,255,0) 100%);
	background-image: -ms-linear-gradient(top, rgba(255,255,255,0.15) 0%,rgba(255,255,255,0) 100%);
	background-image: linear-gradient(to bottom, rgba(255,255,255,0.15) 0%,rgba(255,255,255,0) 100%);
}

.mobile-search-form input,
.search-form input:focus {
	background-image: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.05) 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,0.05)));
	background-image: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.05) 100%);
	background-image: -o-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.05) 100%);
	background-image: -ms-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.05) 100%);
	background-image: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0.05) 100%);
}


/* ============================ IE FIXES ============================ */

.ie .row,
.ie .clearfix {
	zoom:1;
}