/* Copyright (c) 2015 Social Graph Studios Inc. */

/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, 
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
input, select {
    vertical-align:middle;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
a, a:visited {
    color: rgb(0, 0, 238);
}

body, html {
    width: 100%;
	height: 100%;
}

/** Start Custom Rules **/


/* ======= General ======= */ 

/* Palette 
  
    #6B9DC1 // Main
    #CDE3F3
    #99C1DD
    #467CA2
    #2D658E
*/

* {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
}

body { 
	font-size: 20px;
	min-width: 320px;
    overflow-y: scroll; /* force scroll bar so page doesn't jump on load */ 
}

h1 {
    font-size: 2.5em;
    font-weight: 300;
    margin: .75em 0 0.40em 0;
	line-height: 1.1em;
}
h2 {
    font-size: 2em;
    font-weight: 300;
	margin: .6em 0 .35em 0;
	padding: 0.1em 0;
}
h3 {
    font-weight: 400;
    font-size: 1em;
}

b, strong {
    font-weight: 400;
}

@media (max-width: 900px) { 
	body { font-size: 17px; } 
}
@media (max-width: 700px) {
}
@media (max-width: 400px) { 
    body { font-size: 15px; } 
}

ol {
    list-style-position: outside;
}

#height-wrapper {
	min-height: 100%;
	position: relative;
}


/* ======= Nav ======= */ 

#main-nav {
	background: #6290B1; //rgba(30,30,30,0.8);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	z-index: 100;
}
.no-header #main-nav {
	position: relative;
}
#main-nav .logo a {
	color: white;
	text-decoration: none;
	font-size: 20px;
	line-height: 50px;
	padding-left: 2%;
	margin-left: 10px;
}
#main-nav .hamburger {
    display: none;	
}
#main-nav .nav {
	display: block;
    position: absolute;
    top: 10px;
    right: 2%;
}
#main-nav .nav li {
	display: inline-block;
}
#main-nav .nav li, #main-nav .nav li a {
    -webkit-transition: all 0.3s ease-in;
    -ms-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
#main-nav .nav li a {
	margin: 5px 8px 4px 8px;
	padding: 5px 0;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 600;
	color: white;
	display: block;
	text-decoration: none;
	letter-spacing: 0.5px;
    border-bottom: 2px solid transparent;
}
#main-nav .nav li.sel a {
    border-bottom: 2px solid white;
}
#main-nav .nav li a:hover {
	border-bottom: 2px solid #7fb9c4;
}
/* add rectangle around special menu items for widths >= 720px */
@media (min-width: 720px) {
    #main-nav .nav li.highlight {
        padding-left: 8px;
    }
    #main-nav .nav li.highlight a {
        border: 2px solid #fff;
        border-radius: 3px;
        margin: 0;
        padding: 8px 9px;
    }
    #main-nav .nav li.highlight a:hover {
        background-color: #7fb9c4;
    }
}
/* add extra spacing between menu items for widths >= 800px */
@media (min-width: 800px) {
    #main-nav .nav li {
        margin: 0 10px;
    }
}
/* narrow menu mode for narrow screens */
@media (max-width: 600px) {
	#main-nav {
	   height: 40px;
	}
	#main-nav .logo a {
	   line-height: 40px;
       font-size: 17px;
	}
	#main-nav .hamburger {
		display: block;
		position: absolute;
		top: 3px;
		right: 2%;
		width: 40px;
		height: 35px;
		text-align: center;
		font-size: 20px;
		color: white;
	}
	#main-nav .hamburger:after {
	  content: "";
	  position: absolute;
	  left: 10px;
	  top: 11px;
	  width: 20px;
	  height: 2px;
	  background: white;
	  box-shadow: 0  5px 0 0 white,
	              0 10px 0 0 white;
	}	
    #main-nav .nav {
        padding: 10px 0px;
    	background: rgba(0, 0, 0, 0.8);
    	top: 35px;
    	display: none;
    	z-index: 20;
    }
    .no-touch #main-nav .nav-container:hover .nav,
    #main-nav .hamburger.open + .nav {
	   display: block;
    }
    .no-touch #main-nav .nav-container:hover .hamburger,
    #main-nav .hamburger.open {
        background: rgba(0, 0, 0, 0.8);
    }
    #main-nav .nav li {
        display: block;
        position: relative;
    }
    #main-nav .nav li a {
    	font-size: 0.85em;
    	font-weight: 300;
    	padding: 7px 0.5em 5px 0.5em;
        margin: 4px 1em;
    }
    #main-nav .nav li a:hover {
        border-bottom-color: transparent;
        color: #7fb9c4;

        -webkit-transition: all 0.2s ease-in;
        transition: all 0.2s ease-in;
    }
}


/* ======= Header ======= */ 

#header {
    background: #6290B1 url('images/header-bg.png') repeat 0 0;
}
#header .header-content {
	color: white;
    text-align: center;
	padding: 0 10px;
}
@media (max-width: 600px) { #header .header-content { font-size: 0.85em; } }
#header .header-content a {
	color: white;
	text-decoration: none;
}
#header .header-content p {
    padding: 2% 0 0 0;
	font-size: 1.5em;
    font-weight: 400;
}
#header .header-content a.hlink {
	text-decoration: underline;
	color: white;
}
#header .header-content a.hlink:hover {
	color: #eee;
}


/* ======= Page Content ======= */ 

.page-content {
	max-width: 950px;
    color: black;
    line-height: 180%;
	margin: 0 auto;
	padding: 0 20px 50px 20px;
}
.no-header .page-content {
    padding-top: 20px;
}
.page-content.nohpadding {
	padding-bottom: 0;
}
@media (max-width: 400px) { .page-content { padding-left: 15px; padding-right: 15px; } }
.page-content h2 {
	color: #2D668E;
}
.page-content p.first {
	padding-top: 3em;
}
.page-content p + p {
    padding-top: 1em;
}

hr {
    border: solid #d5dee2;  
    border-width: 1px 0 0;
}


/* ======= Footer ======= */ 

#height-wrapper {
    padding-bottom: 115px; /* room for footer */
}
#footer {
	position: relative;
	margin-top: -115px;
	height: 115px;
	color: white;
	background: #4f4f4f;
	font-size: 12px;
	text-align: center;
}
#footer a {
    color: white;
	text-decoration: none;
}
#footer a:hover {
    color: #eee;
    text-decoration: underline;
}
#footer .links {
	padding: 27px 0 23px 0;
}
#footer .links li {
	display: inline-block;
	padding: 0 7px;
	border-right: 1px solid white;
    text-transform: uppercase;
}
#footer .links li:last-of-type {
	border-right: none;
}
#footer .copyright {
	color: #b2b2b2;
}


/* ======= Individual Pages ======= */

/* ~~~ Terms ~~~ */

.page-terms .page-content {
    font-size: 0.9em;
}
.page-terms .page-content ol {
    list-style-type: decimal;
    margin: 10px 0;
	padding-left: 30px;	
}


/* ~~~ Privacy ~~~ */

.page-privacy .page-content {
    font-size: 0.9em;
}
.page-privacy .page-content ul {
    list-style-type: disc;
    margin: 10px 0;
    padding-left: 30px; 
}


/* ~~~ FAQ ~~~ */

.page-faq ul {
    list-style-type: disc;
    margin: 10px 0;
    padding-left: 30px; 
}

.page-faq .qa {
    -webkit-transition: all 0.4s ease-in;
    -ms-transition: all 0.4s ease-in;
    transition: all 0.4s ease-in;
}
.page-faq .qa.highlighted {
    background-color: #CDE3F3;
}
.page-faq .q {
    padding-top: 2em;
	font-weight: 400;
}
.page-faq .a {
    font-size: 0.9em;
}
.page-faq .filename {
	color: #6290B1;
    font-family: Courier New,Courier,Lucida Sans Typewriter,Lucida Typewriter,monospace;
	font-size: 0.9em;
	font-weight: 600;
}
.page-faq .comment {
    color: #00B000;
    font-family: Courier New,Courier,Lucida Sans Typewriter,Lucida Typewriter,monospace;
    font-size: 0.9em;
	font-weight: 600;
}
.page-faq .faded {
    color: #B3B3B3;
}

/* ~~~ Contact ~~~ */

.page-contact h1 {
	text-align: center;
}
.page-contact form {
	width: 98%;
	margin: 0 auto;
	max-width: 500px;
}
.page-contact label {
    display: block;
    font-weight: 400;
	font-size: 0.7em;
    padding: 1.5em 0 0;
	line-height: 100%;
}
.page-contact textarea, .page-contact input {
	width: 100%;
	font-size: 1em;
    padding: 1px 5px;
}
.page-contact textarea {
	margin-top: 5px;
}
.page-contact .error {
	color: red;
	font-size: 0.75em;
	line-height: 110%;
	padding-top: 2px;
}
.page-contact input.submit {
	width: 200px;
	margin: 20px auto;
	display: block;
}