/* ==========================================================================
   HTML5boilterplate base default
   ========================================================================== */

body {
	background: #2d8a8a url(../img/background/bg.jpg) repeat-y 50% 0;
	min-width: 961px;
	font-size: 0.750em;
	line-height: 1.4;
	color: #005d5c;
}

button,
input,
select,
textarea {
	color: #222;
}

::-moz-selection {
	background: #b3d4fc;
}

::selection {
	background: #b3d4fc;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

img {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

/* ==========================================================================
   Custom default
   ========================================================================== */

/*
 * Typography
 */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Passion One', cursive;
	font-weight: normal;
	margin: 0 0 0.5em 0;
}

h1 {
	font-size: 67px;
	line-height: 63px;
	letter-spacing: -1px;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	text-shadow: 0 -1px 1px #11595b;
}

h2 {
	font-size: 40px;
	line-height: 1.4;
	letter-spacing: -1px;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	text-shadow: 0 -1px 1px #11595b;
}

h3 {
	font-size: 28px;
	line-height: 1;
	color: #fff;
	text-transform: uppercase;
	text-shadow: 0 1px 1px #11595b;
}
 
h4 {
	font-size: 26px;
	line-height: 24px;
	color: #fff;
	text-shadow: 0 1px 1px #11595b;
}

h5 {
	font-size: 24px;
	line-height: 1;
	color: #00807f;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

h6 {
	font: bold 16px/20px sans-serif;
	color: #005d5c;
}

p,
ul,
ol {
	margin: 0 0 1em 0;
}

a {
	color: #e32350;
	text-decoration: underline;
}

a:focus {
	outline: 0;
}

/*
 * Article
 */

article h3 {
	font: bold 15px/1.4 sans-serif;
	color: #005d5c;
	text-shadow: none;
	text-transform: none;
}

article h4 {
	font: bold 12px/1.4 sans-serif;
	color: #34a5a0;
	text-shadow: none;
	text-transform: none;
}

article p {
	margin-bottom: 7px;
}

/*
 * Section block
 */

.section {
	position: relative;
	width: 961px;
	margin: 0 auto;
	background: url(../img/divider.gif) repeat-x 0 bottom;
}

/*
 * Latest news
 */

.latest-news {
	color: #242424;
}

.latest-news h3 {
	margin: 0 0 9px 0;
	font-size: 25px;
	color: #e3224f;
	text-shadow: none;
}

.latest-news p {
	margin: 0;
}

.latest-news .item {
	padding-top: 7px;
	padding-bottom: 4px;
	border-top: 1px dotted #b8b8b8;
}

.latest-news .item:first-child {
	padding-top: 0;
	border-top: 0;
}

.latest-news .date,
.latest-news .readmore {
	font-weight: bold;
}

.latest-news .date {
	display: block;
	margin-bottom: 2px;
	color: #34a5a0;
}

.latest-news .readmore {
	color: #e32350;
	text-decoration: none;
}

/*
 * Button
 */

.btn {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	padding: 0;
	margin: 0;
	border: 0;
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
}

/* ==========================================================================
   Navigation
   ========================================================================== */

#nav {
	text-align: center;
	position: absolute;
	width: 961px;
	z-index: 999;
	top: 101px;
	left: 50%;
	margin-left: -480px;
}

#nav ul {
	background: url(../img/background/navi.png) repeat-x;
	display: inline-block;
	*display: inline;
	*zoom: 1;
	list-style: none;
	height: 40px;
	padding: 0;
	margin: 0 auto;
	text-align: center;
}

#nav li {
	float: left;
}

#nav a {
	display: block;
	padding: 12px 11px;
	font: 17px/17px 'Passion One', cursive;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	-webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    transition: all .3s ease;
	-webkit-font-smoothing: antialiased;
}

#nav a:active,
#nav a.selected {
	-webkit-transition: none !important;
    -moz-transition: none !important;
    transition: none !important;
}

#nav a:hover { background: rgba(255, 255, 255, 0.2); }
#nav a:active { opacity: 0.8; }

#nav a.selected {
	background: url(../img/background/navi-active.png) no-repeat center 0;
	padding-bottom: 18px;
	
}

/* ==========================================================================
   Home section
   ========================================================================== */

#home {
	background: url(../img/background/building.jpg) no-repeat fixed 49.9% 0;
	width: auto;
	height: 846px;
	overflow: hidden;
}

#home .wrapper {
	background: url(../img/divider.gif) repeat-x 0 bottom;
	position: relative;
	width: 961px;
	height: 846px;
	margin: 0 auto;
}

#home .background-grow {
	background: url(../img/background/grow.png) no-repeat;
	width: 1001px;
	height: 340px;
	position: absolute;
	left: -25px;
}

#home .logo {
	position: absolute;
	display: block;
	top: 8px;
	left: 410px;
	z-index: 1;
	outline: 0;
}

#home .arrow-dotted-line {
	background: url(../img/sprite/misc.png) no-repeat -402px 0;
	position: absolute;
	width: 519px;
	height: 270px;
	top: 379px;
	left: 156px;
}

/* Intro text */

#home .intro-text {
	position: absolute;
	width: 515px;
	top: 180px;
	right: 46px;
	z-index: 1;
}

#home .intro-text h2 {
	font-size: 67px;
	line-height: 63px;
	letter-spacing: -1px;
	margin-bottom: 66px;
	*padding-bottom: 1px;
	color: #fff;
	text-transform: uppercase;
	text-shadow: 0 -1px 1px #11595b;
}

#home .intro-text h2 span {
	float: left;
	margin-right: 10px;
}

#home .intro-text h2 .word2 {
	margin-right: 20px;
}

#home .intro-text h2 .word3 {
	clear: left;
	margin-right: 13px;
}

#home .intro-text h5 {
	font-size: 28px;
	line-height: 30px;
	letter-spacing: -1px;
}

#home .intro-text h5 span {
	float: left;
	margin-right: 7px;
}

#home .intro-text h5 .word10 {
	*width: 115px;
}

#home .intro-text h5 .word23 {
	clear: left;
}

/* Latest News */

#home .latest-news {
	background: url(../img/sprite/misc.png) no-repeat 0 0;
	position: absolute;
	width: 271px;
	height: 265px;
	top: 161px;
	left: 41px;
	padding: 42px 34px 22px 27px;
	z-index: 1;
}

#home .latest-news .container {
	width: 271px;
	margin: 42px 0 0 28px;
}

/* Green box */

#home .green-box {
	background: url(../img/sprite/misc.png) no-repeat 0 -397px;
	position: absolute;
	width: 402px;
	height: 343px;
	top: 420px;
	right: 2px;
}

#home .green-box h3 {
	position: relative;
	font-size: 44px;
	line-height: 1.4;
	letter-spacing: -1px;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	margin: 34px 0 0 27px;
	*height: 61px;
	z-index: 1;
}

.backgroundcliptext #home .green-box h3 {
	text-shadow: none;
}

.backgroundcliptext #home .green-box h3:after {
	content: 'WE TUTOR KIDS,';
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	color: transparent;
}

.backgroundcliptext #home .green-box h3 span {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdee8));
	-webkit-background-clip: text; /* add new prefix if needed */
	-webkit-text-fill-color: transparent; /* add new prefix if needed */
}

#home .green-box .photo {
	float: right;
	width: 128px;
	height: 128px;
	overflow: hidden;
	margin: 4px 30px 0 0;
	background: #fff;
	-webkit-box-shadow: 2px 2px 6px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 2px 2px 6px 3px rgba(0, 0, 0, 0.2);
}

#home .green-box .photo img {
	max-width: 128px;
}

#home .green-box .text {
	position: relative;
	z-index: 1;
	font-weight: bold;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
	float: left;
	width: 200px;
	margin-left: 29px;
}

#home .green-box .readmore {
	background: url(../img/sprite/buttons.png) no-repeat 0 0;
	position: absolute;
	width: 209px;
	height: 61px;
	bottom: 45px;
	right: 0;
}

#home .green-box .readmore:hover {
	background-position: 0 -88px;	
}

/* Brown box */

#home .brown-box {
	background: url(../img/sprite/misc.png) no-repeat -489px -328px;
	position: absolute;
	width: 808px;
	height: 480px;
	top: 308px;
	left: -176px;
}

#home .brown-box .text {
	position: absolute;
	z-index: 1;
	width: 340px;
	height: 83px;
	top: 357px;
	left: 225px;
	line-height: 20px;
	font-size: 15px;
	font-weight: bold;
	color: #fff;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}

#home .brown-box strong {
	color: #7fc532;
}

/* Supporters */

#home .supporters {
	background: url(../img/background/grow-2.png) no-repeat;
	position: absolute;
	width: 961px;
	height: 54px;
	bottom: 2px;
}

#home .supporters p {
	float: left;
	width: 130px;
	margin-top: 18px;
	margin-left: 29px;
	font-size: 11px;
	line-height: 13px;
	font-weight: bold;
	color: #000;
}

#home .supporters ul {
	float: left;
	list-style: none;
	padding: 0;
	margin: 13px 0 0 12px;
}

#home .supporters li {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	margin: 0 34px;
}

/* ==========================================================================
   About section
   ========================================================================== */

#about {
	height: 848px;
}

#about h2 {
	padding: 64px 0  14px 0;
}

#about .body {
	width: 880px;
/*	margin: 0 auto;*/
	font-size: 16px;
	line-height: 20px;
}

#about .intro {
	margin-bottom: 26px;
}

#about h3,
#about h5,
#about p {
	margin-bottom: 8px;
}


#about .block {
	padding-top: 30px;
	background: url(../img/dot-4x4.gif) repeat-x 0 top;
}

#about .block:first-child {
	padding-top: 0;
	background: none;
}

#about .image {
	float: right;
}

#about .text {
	float: left;
	width: 365px;
	padding-bottom: 27px;
}

#about .text a {
	display: inline-block;
	padding-right: 16px;
	font-weight: bold;
	color: #005b5a;
	text-decoration: none;
	background: url(../img/arrow.png) no-repeat right center;
}

/* ==========================================================================
   Volunteers section
   ========================================================================== */

#volunteers {
	background: none;
	height: 848px;
	width: auto;
	overflow: hidden;
}

#volunteers .wrapper {
	background: url(../img/divider.gif) repeat-x 0 bottom;
	position: absolute;
	width: 964px;
	height: 848px;
	left: 50%;
	margin-left: -481px;
}

#volunteers h2 {
	padding: 71px 0 20px 0;
}

#volunteers .body {
	position: relative;
	width: 964px;
	height: 642px;
	background: url(../img/background/board.png) no-repeat;
}

#volunteers article {
	position: absolute;
	width: 535px;
	height: 498px;
	top: 55px;
	left: 53px;
	padding: 48px 34px 40px 34px;
}

#volunteers article h3 {
	margin: 19px 0 3px 0;
}

#volunteers article h3:first-child {
	margin-top: 0;
}

#volunteers .photo-frame {
	background: url(../img/sprite/misc.png) no-repeat -89px -808px;
	position: absolute;
	width: 243px;
	height: 196px;
	top: 105px;
	right: 50px;
}

#volunteers .photo-frame .pin {
	background: url(../img/sprite/misc.png) no-repeat -455px -906px;
	position: absolute;
	width: 69px;
	height: 52px;
	top: -10px;
	left: 97px;
}

#volunteers .photo-frame .photo {
	position: absolute;
	overflow: hidden;
	width: 202px;
	height: 152px;
	top: 19px;
	left: 15px;
}

#volunteers .photo-frame .photo {
	max-width: 202px;
}

#volunteers .email {
	background: url(../img/sprite/buttons.png) no-repeat -284px 0;
	position: absolute;
	width: 203px;
	height: 65px;
	top: 303px;
	right: 54px;
}

#volunteers .email:hover {
	background-position: -284px -88px;
}

/* ==========================================================================
   Students section
   ========================================================================== */

#students {
	height: 849px;
}

#students h2 {
	padding: 89px 0 31px 0;
}

#students .body {
	height: 598px;
}

#students .col {
	position: relative;
	width: 276px;
	height: 582px;
	float: left;
	padding: 8px 24px 8px 20px;
	background: url(../img/dot-4x4.gif) repeat-y left 0;
}

#students .col-1 {
	background: none;
}

#students .text {
	position: relative;
	z-index: 1;
	font-size: 16px;
	line-height: 20px;
}

#students .text p {
	margin-bottom: 7px;
}

#students .image {
	text-align: center;
}

#students .col-1 .image { margin-top: 33px; }
#students .col-2 .image { margin-top: 68px; }
#students .col-3 .image { margin-top: 43px; }

/* ==========================================================================
   Support section
   ========================================================================== */

#support {
	height: 1670px;
}

#support h2 {
	padding: 72px 0 33px 0;
}

#support h4 a {
	color: #fff;
	text-decoration: none;
}

#support .body {
	font-size: 16px;
	line-height: 20px;
	margin: 0 56px 0 40px;
}

#support .text {
	width: 500px;
	padding-top: 30px;
	float: left;
}

#support .graphic {
	position: relative;
	height: 270px;
	margin-bottom: 25px;
}

#support .graphic a {
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	text-shadow: 0 1px 0 #2c8488;
}

#support .donation,
#support .event,
#support .or {
	display: block;
	position: absolute;
}

#support .donation {
	background: url(../img/sprite/misc.png) no-repeat -77px -1102px;
	width: 201px;
	height: 201px;
	top: 29px;
	left: 0;
}

#support .donation:hover {
	background-position: -77px -1329px;
}

#support .donation > span {
	position: absolute;
	display: block;
	width: 137px;
	height: 73px;
	text-align: center;
	top: 69px;
	left: 30px;
}

#support .donation .underline {
	padding-bottom: 1px;
	border-bottom: 2px solid #fff;
}

#support .event {
	background: url(../img/sprite/misc.png) no-repeat -415px -1085px;
	font-size: 14px;
	width: 247px;
	height: 235px;
	
	top: 23px;
	right: 0;
}

#support .event:hover {
	background-position: -415px -1357px;
}

#support .event > span {
	position: absolute;
	display: block;
	width: 155px;
	height: 81px;
	top: 73px;
	left: 39px;
}


#support .or {
	top: 122px;
	left: 221px;
	color: #fff;
	font: bold 20px 'Passion One', cursive;
	text-shadow: 0 1px 1px #11595b;
}

/* Supporters */

#support .supporters {
	width: 320px;
	height: 538px;
	float: right;
	background: url(../img/sprite/misc.png) no-repeat -785px -906px;
}

#support .supporters h3 {
	padding: 36px 30px 14px 41px;
	margin: 0;
}

#support ul {
	overflow: hidden;
	list-style: none;
	padding: 0;
	margin-left: 24px;
}

#support li {
	display: block;
	margin: 15px 16px 15px 16px;
	float: left;
	border: 3px solid #5cb4b9;
}

#support li a {
	position: relative;
	display: block;
	width: 98px;
	height: 98px;
	font-size: 0;
	line-height: 98px;
}

#support li a:hover .hover-overlay {
	opacity: 1;
	visibility: visible;
}

#support li .hover-overlay {
	background: url(../img/sprite/misc.png) no-repeat -631px -906px;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	transition: all .3s ease;
}

/* ==========================================================================
   Gallery section
   ========================================================================== */

#gallery {
	height: 851px;
}

#gallery .wrapper {
	width: 880px;
	margin: 0 auto;
}

#gallery .body {
	overflow: hidden;
}

#gallery h2 {
	padding: 73px 0 22px 0;
}

#gallery ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#gallery li {
	width: 880px;
}

#gallery li,
#gallery .album,
#gallery .photo {
	display: block;
	float: left;
	text-align: center;
}

/* Albums */

#gallery .albums ul {
	margin-top: 23px;
	margin-bottom: 27px;
}

#gallery .albums .title {
	display: block;
	font: bold 22px 'Passion One', cursive;
	color: #fff;
	text-transform: uppercase;
	text-shadow: 0 -1px 1px #11595b;
}

#gallery .album-frame {
	background: url(../img/sprite/misc.png) no-repeat -65px -1592px;
	width: 167px;
	height: 166px;
	padding: 45px 18px 20px 16px;
	margin: 0 10px 6px 9px;
}

#gallery .album-frame .image {
	display: block;
	width: 167px;
	height: 166px;
	overflow: hidden;
}

/* Photos */

#gallery .photos ul {
	margin-top: 38px;
	margin-bottom: 22px;
}

#gallery .photo-frame {
	background: url(../img/sprite/misc.png) no-repeat -384px -1662px;
	width: 74px;
	height: 74px;
	padding: 15px 18px 19px 16px;
	margin:  0 1px 3px 1px;
}

#gallery .photo-frame .image {
	display: block;
	width: 74px;
	height: 74px;
	overflow: hidden;
}

/* Navigators - buttons */

#gallery .navigators {
	padding: 0 14px;
}

#gallery .right {
	float: right;
}

#gallery .left {
	float: left;
}

#gallery .btn {
	*zoom: 1;
	margin: 0 2px;
}

#gallery .btn-prev {
	background: url(../img/sprite/buttons.png) no-repeat -8px -163px;
	width: 46px;
	height: 46px;
}

#gallery .btn-next {
	background: url(../img/sprite/buttons.png) no-repeat -77px -163px;
	width: 46px;
	height: 46px;
}

#gallery .btn-prev:hover { background-position: -8px -215px }
#gallery .btn-next:hover { background-position: -77px -215px }

/* ==========================================================================
   News section
   ========================================================================== */

#news {
	height: 850px;
}

#news .wrapper {
	width: 881px;
	margin-left: 41px;
}

#news h2 {
	padding: 71px 0 9px 41px;
}

#news .body {
	position: relative;
	width: 881px;
	height: 669px;
	background: url(../img/background/news.png) no-repeat;
}

#news .left-col {
	float: left;
	width: 271px;
	padding: 0 52px 0 27px;
}

#news .right-col {
	float: right;
	overflow: hidden;
	width: 448px;
	height: 574px;
	margin: 65px 40px 30px 43px;
}

#news .btn.blog {
	background: url(../img/sprite/buttons.png) no-repeat -179px -171px;
	position: absolute;
	display: block;
	width: 195px;
	height: 44px;
	bottom: 45px;
}

#news .btn.blog:hover {
	background-position: -179px -231px;
}

/* Latest news */

#news .latest-news {
	margin-top: 58px;
}

#news .latest-news .item {
	border-top: 0;
	border-bottom: 1px dotted #b8b8b8;
}

#news .pagination {
	margin-top: 30px;
}

#news .pagination .counter {
	font-weight: bold;
}

#news .pagination ul {
	list-style: none;
	padding: 0;
	margin: 7px 0 0 -6px;
}

#news .pagination li {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	border-left: 1px solid #e32350;
}

#news .pagination li:first-child {
	border-left: 0;
}

#news .pagination li span,
#news .pagination li a {
	padding: 0 6px;
}

#news .pagination li a {
	color: #242424;
}

#news .pagination li a:hover {
	color: #e32350;
}

/* Article */

#news article h3 {
	margin-bottom: 20px;
}

#news article h4 {
	margin-bottom: 24px;
}

/* ==========================================================================
   Contact section
   ========================================================================== */

#contact {
	font-size: 16px;
	height: 1000px;
	background: none;
}

#contact .wrapper {
	width: 880px;
	margin: 0 auto;
}

#contact h2 {
	padding: 70px 0 22px 0;
}

#contact p {
	line-height: 20px;
}

#contact .website-design {
	position: absolute;
	top: 815px;
	right: 183px;
	font-size: 11px;
}

#contact .website-design span {
	vertical-align: middle;
	padding-right: 8px;
}

/* Intro text */

#contact .intro-text {
	margin-bottom: 34px;
}

#contact .intro-text h5 {
	margin-bottom: 19px;
}

#contact .intro-text h6 {
	margin-bottom: 7px;
}

/* Contact details */

#contact .contact-details {
	float: left;
	margin-left: 254px;
}

#contact .contact-details h4 {
	margin-bottom: 20px;
}

#contact .contact-details p {
	margin-top: 9px;
}

/* Contact form */

#contact .contact-form {
	float: left;
	width: 279px;
	margin: 0px 0 0 37px;
}

#contact form p {
	width: 275px;
	height: 45px;
	margin-bottom: 15px;
}

#contact .form-title,
#contact input,
#contact textarea {
	font-size: 16px;
	color: #0a534f;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

#contact ::-webkit-input-placeholder {
   color: #0a534f;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

#contact :-moz-placeholder {  
   color: #0a534f;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

#contact .form-title {
	position: relative;
	width: 279px;
	height: 22px;
	margin-bottom: 20px;
	background: url(../img/sprite/form.png) no-repeat -306px -153px;
}

#contact .form-title span {
	display: block;
	position: absolute;
	left: 88px;
}

#contact input[type=text],
#contact textarea {
	width: 207px;
	margin: 14px 17px;
	outline: 0;
	border: 0;
	background: none;
}

#contact textarea {
	overflow: hidden;
	height: 127px;
	resize: none;
}

#contact .input-name { background: url(../img/sprite/form.png) no-repeat 0 0; }
#contact .input-email { background: url(../img/sprite/form.png) no-repeat -308px 0; }

#contact .input-message {
	height: 155px;
	background: url(../img/sprite/form.png) no-repeat -2px -149px;
}

#contact .submit {
	background: url(../img/sprite/buttons.png) no-repeat -11px -306px;
	width: 277px;
	height: 49px;
	display: block;
	text-indent: -999px;
	text-transform: capitalize;
	border: 0;
}

#contact .input-name.focus { background-position: 0 -64px; }
#contact .input-email.focus { background-position: -308px -64px; }
#contact .input-message.focus { background-position: -2px -323px; }
#contact .submit:hover { background-position: -11px -368px; }

#contact .selectReplacement {
	width: 275px;
	height: 45px;
	background: url(../img/sprite/form.png) no-repeat -310px -322px;
}

#contact .selectReplacement.open { background-position: -310px -391px; }

#contact .selectReplacement > span {
	padding-left: 17px;
	color: #77c7c5;
	line-height: 45px;
	text-shadow: 0 -1px 0 rgba(8, 76, 73, 1);
}

#contact .selectReplacement ul {
	position: absolute;
	z-index: 9;
	margin: 0;
	padding: 0;
	background: #fff;
	width: inherit;
	box-shadow: inset 3px 0px 7px #ceedeb,
				inset -3px 0px 7px #ceedeb,
				0px 1px 5px #479c99;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

#contact .selectReplacement li {
	font-size: 16px;
	color: #0a534f;
	padding: 10px 17px;
}

#contact .selectReplacement li:last-child {
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

#contact .selectReplacement li:hover { background: #cceae9; }

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
	/* IE 6/7 fallback */
	*text-indent: -9999px;
}

.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 100%;
}

.hidden {
	display: none !important;
	visibility: hidden;
}

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:before,
.clearfix:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

.clear {
	clear: both;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
	* {
		background: transparent !important;
		color: #000 !important; /* Black prints faster: h5bp.com/s */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	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; /* h5bp.com/t */
	}

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