/*  -- 
blooks v1.0 
Website: blooks.jiga.org
Free to use under the GPL license.
--  */

/*  -- apply a natural box layout model to all elements --  */
*, *:before, *:after {
  	-moz-box-sizing: border-box; 
	-webkit-box-sizing: border-box; 
	box-sizing: border-box;
}

body {
	background-color: #d9f1fa;
	color: #222222;
  	font-family: 'Open Sans', sans-serif;
	font-size: 1em; /* 16px */
  	line-height: 1.375em; /* 22px */
	margin: 0;
	padding: 0;
}

/*
font-family: 'Balsamiq Sans', cursive;
font-family: 'Open Sans', sans-serif;
*/

/*  -- SMALL SCREENS --  */
/*  -- Text --  */
p {
	margin: 0 0 1.375em 0;
}

abbr {
	cursor: help;
}

sub, sup {
	font-size: 65%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.75em;
}

blockquote {
	margin: 2.75em 0 2.75em 1.375em;
}

blockquote:before {
	font-size: 3em;
	font-weight: bold;
	content: "\201C";
	line-height: 0.1em;
	margin-right: 0.25em;
  	vertical-align: -0.4em;
	color: #9b58b5;	
}

blockquote:after {
	font-size: 3em;
	font-weight: bold;
	content: "\201D";
	line-height: 0.1em;
	margin-left: 0.25em;
  	vertical-align: -0.5em;
	color: #9b58b5;
}

ul, ol {
	margin-left: 1.375em;
	padding-left: 1.375em;
	margin: 0 0 1.5em 1em;
}

ul {
	list-style-type: disc;
}

ol {}

ul li, ol li {
	margin-bottom: 0.5em;
	padding-left: 0.5em;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	font-family: 'Balsamiq Sans', sans-serif;
	line-height: 1.2em;
	text-rendering: optimizeLegibility;
}

h1 {
	font-size: 2.6em;
	margin: 0 0 .3em;
}

h2 {
  	font-size: 2em;
	margin: 2.0625em 0 .3em;
}

h3 {
	font-size: 1.8em;
	color:#254c29;
	margin: 0.0625em 0 .3em;
}

h4 {
	font-size: 1.4em;
	font-weight: bold;
	margin: 2.0625em 0 .3em;	
}

h5 {
	font-size: 1.2em;
	margin: 2.0625em 0 .3em;
	text-transform: uppercase;
}

h6 {
	font-size: 1em;
	font-weight: bold;
	margin: 2.0625em 0 .3em;
}

h1+h2, h1+h3, h2+h3, h3+h4, h4+h5, h5+h6 {
  	margin-top: 1em;
}

pre, code {
	display: block;
	font-family: monospace, monospace;
	margin: 0.5em 0 2.75em 0;
}

pre, code {
	white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

code {
	background-color: #f4f4f4;
	border-radius: 3px;
	padding: 1em;
}

hr {
	background: none;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #f9f9f9;
	margin: 1.375em 0;
}


/*  -- Links --  */
a {
  	color: #e3501c;
	text-decoration: underline;
}

a:hover {
  	text-decoration: none;
}

a:active {
	position: relative;
	top: 1px;
}

a:visited {}

/*  -- Images --  */
img {
	height: auto;
	max-width: 100%;
	width: auto; /* for ie 8 */
}

/*  -- Video --  */
video {
	height: auto;
	width: 100%;
}

/*  -- Buttons --  */
.button {
	background: #9b58b5;
	border-radius: 3px;
	box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 
				0px 1px 0px 0px rgba(250, 250, 250, 0.5) ;
	color: #ffffff;
	display:inline-block;
	font-weight: bold;
	margin: 0 1em 1em 0;
	padding: 0.5625em 1.1875em;
	text-decoration: none;
}

.button-light {
	background: #d3b6de;
}

.button-dark {
	background: #6c3d7f;
}

.button:hover {
	background: rgba(0, 0, 0, 0.3);
}

.button-dark:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #6c3d7f;
}

.bborder {
	border: 2px solid rgba(0, 0, 0, 0.3);
	padding: 0.4375em 1.0625em;
}

.bwide {
	display: block;
	margin: 0 0 1em;
	text-align: center;
	width: 100%;
}

.bigger {
	font-size: 150%;
	line-height: 150%;
	padding: 0.5625em 1.1875em;
}

/*  -- Table --  */
table { 
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 75%;
	width:100%;
}

th {
	background-color: #254c29;
	color: #ffffff;
	padding: 2% 3%;
	text-align: center;
}

td { 
	border-bottom: 1px solid #254c29;
	padding: 2% 3%;
	vertical-align: top;	
}

.odd {
	background-color: #F3F3F3;
}

tr:hover {
	background-color: #e9ede9;
}

/*  -- Forms --  */
.search ul, .comments ul {
	padding: 0;
	margin: 0;
}

.search li {
	display: inline;
	float: left;
}

.comments li {
	display: block;
	margin-top: 1em;
}

label {
	color: #999;
}

.search label {
	display: none;
}

:focus {
	outline: 0;
}

input[type=text], input[type=submit], input[type=search], input[type=email] ,input[type=URL], input[type=password], textarea {
	border: 2px solid rgba(0, 0, 0, 0.3);
	border-radius: 3px;
	box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 
				0px 1px 0px 0px rgba(250, 250, 250, 0.5) ;
}

input:not([type=submit]), input:not([type=checkbox]), input:not([type=radio]), textarea {
	margin: 0 0.625em 0.625em 0;
	padding: 0.3125em;
}

input[type=submit] {
	background: #9b58b5;
	color: #fff;
	font-weight: bold;
	margin-right: 0;
	padding: 0.3125em 0.9375em;
}

input[type=submit]:hover {
	background: rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

input[type=text]:focus, input[type=submit]:focus, input[type=search]:focus, input[type=email]:focus, input[type=URL]:focus, input[type=password]:focus, textarea:focus {
	border: 2px solid #9b58b5;
}

.comments input:not([type=submit]), .comments textarea {
	width: 90%;
}

input[type=checkbox], input[type=radio] {
	margin-right: 0.3125em;
	padding: 0.3125em;
	vertical-align: baseline;
}



/*  -- HELPERS --  */
/*  -- ClearFix --  */
.cf:before, .cf:after {
    content: ""; 
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

.nomargin {
	margin:0;
}

.center {
	text-align:center;
}

/*  -- Mouse selector --  */
::-moz-selection {
    background: #e6d5ec;
    text-shadow: none;
}

::selection {
    background: #e6d5ec;
    text-shadow: none;
}


/*  -- Grid --  */
div[class*="grid-"] {
    float: left;
	padding: 2em 0;
}

div[class*="grid-"] div[class*="grid-"] .module {
	/*background-color: #d3b6de; /*helper*/
}

div[class*="grid-"]:after {
    content: " ";
    display: table;
    clear: both;
}

.module {
    /*color: #ffffff; /*helper*/
	/*background: #9b58b5; /*helper*/
	
}
.holder {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 1em;
}
.bg-1 {
	background: #ffffff url(/bg-1.png) no-repeat bottom; /*#afd298 url(/bg-1.png) no-repeat bottom;*/
	background-size: contain;
	padding-bottom: 8em !important;
}
.bg-2 {
	background: url(/bg-2.png) no-repeat bottom;
	background-size: contain;
	padding-bottom: 6em !important;
}
.bg-3 {
	/*background: url(/bg-3.png) no-repeat bottom;*/
}
.text-head {
	text-align:center;
	max-width: 600px;
}
.text-head h1 {
	max-width: 350px;
	margin: 0 auto;
}
.text-head h1 img {
	display: block;
}
.text-head h2 {
	font-size: 3em;
	color: #e3501c;
}
.text-head p {
	/*font-size: 1.3em;
	line-height: 1.375em;*/
}

/*.app-img img {
	max-width: 400px;
}*/
.app-text {
	margin-left: 0.8em;
}
.app-text h3 {
	font-size: 2.4em;
	color: #254c29;
}
.text-frame {
	padding: 0 !important;
	background-color: #ffffff;
}
.text-extra {
	background-color: #ffffff;
}
.text-legal {
	background-color: #cfe8f1;
	padding: 1em 0 !important;
}
.text-legal p {
	padding: 0 !important;
	margin: 0 !important;
	font-size: 0.8em;
}
.bg-3 h3 {
	color: #222222;
	margin-top: 0;
}
.bg-3 .grid-1-3 {
	text-align:center;
}

.text-legal a {
	color: #222222;
}


.grid-1 {
	width: 100%;
}
.grid-1-2 {
    width: 100%;
}
.grid-2-3 {
    width: 100%;
}
.grid-1-3 {
    width: 100%;
}
.grid-1-4 {
    width: 50%;
}
.grid-2-4 {
    width: 100%;
}
.grid-3-4 {
    width: 50%;
}

/*  -- SMALL-MEDIUM SCREENS --  */
@media only screen and (min-width: 420px) {
	/*  -- Grid --  */
	.grid-2-3 {
		width: 66.66%;
	}
	.grid-1-3 {
		width: 33.33%;
	}
	.grid-1-4 {
		width: 25%;
	}
	.grid-2-4 {
		width: 50%;
	}
	.grid-3-4 {
		width: 75%;
	}
	
	/*  -- Table --  */
	table {
		font-size: 100%;
		max-width: 80%;
		margin-left:auto; 
    	margin-right:auto;			
	}
}

@media only screen and (min-width: 520px) {	
	.app-img {
		text-align: center;
		}
	.app-img img {
		max-width: 320px;
	}
}

/*  -- MEDIUM SCREENS --  */
@media only screen and (min-width: 720px) {
	/*  -- Grid --  */
	.grid-1-2 {
		width: 50%;
	}	
	.app-img img {
		max-width: auto;
	}
	h3 {
		font-size: 1.8em;
		margin: .25em 0 .3em;
	}
}

@media only screen and (min-width: 800px) {	
	.app-img img {
		max-width: 400px;
	}
}

/*  -- BIG SCREENS --  */
@media only screen and (min-width: 960px) {
}
