/* BASE STYLESHEET FOR OYSTERSHELL
----------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

1 - Reset
2 - Typography
3 - Positioning & Margins
4 - Borders & Lines
5 - Lists
6 - Tables
7 - Forms
8 - Clearfix
9 - Default Backgrounds
10 - Default Paragraph Spacing
11 - Print Styles

--------------------------------------------------------------*/

/*--------------------------------------------------------------
1 - Reset
----------------------------------------------------------------

/* Sources:

   http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126

   https://github.com/murtaugh/HTML5-Reset

   Underscores - http://underscores.me/
*/

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, var,
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, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*--------------------------------------------------------------*/
/* Handle box-sizing while better addressing child elements: 
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */

html {
	box-sizing: border-box;
}

*, 
*:before, 
*:after {
	box-sizing: inherit;
}

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent;}


/*--------------------------------------------------------------
2 Typography
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	font-size: 1em;
	font-size: 1rem;
}
#page {
	line-height: 1.5;
}
pre, code, kbd, tt, var {
	font-family: "Courier 10 Pitch", Courier, monospace;
	line-height: 1.6;
}
b, strong, dt, th {
	font-weight: bold;
}

dfn, cite, em, i {
	font-style: italic;
}
small {
	font-size: 75%;
}
big {
	font-size: 125%;
}
sup,
sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
del {text-decoration: line-through;}

/*--------------------------------------------------------------
3 Positioning & Margins
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
	clear: both;
}
blockquote {
	margin: 0 1.5em;
}
address {
	margin: 0 0 1.5em;
}
pre {
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}
figure {
	margin: 0;
}

/*--------------------------------------------------------------
4 Borders & Lines
--------------------------------------------------------------*/
abbr, acronym, dfn {
	border-bottom: 1px dotted #666;
	cursor: help;
}
hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

/*--------------------------------------------------------------
5 Lists
--------------------------------------------------------------*/

ul, ol {
	margin: 0 0 1.5em 3em;
}
ul {
	list-style: disc;
}
ul ul {
	list-style: square;
}
ul ul ul {
	list-style: circle;
}
ol {
	list-style: decimal;
}
ol ol {
	list-style: lower-alpha;
}
ol ol ol {
	list-style: lower-roman;
}
ul ul, ol ol, ul ol, ol ul {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dt {

}
dd {
	margin: 0 1.5em 1.5em;
}

/*--------------------------------------------------------------
6 Tables
--------------------------------------------------------------*/
/* tables still need cellspacing="0" in the markup */
table {
	margin: 0 0 1.5em;
	width: 100%;
	border-collapse: collapse; 
	border-spacing: 0;
}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

/*--------------------------------------------------------------
7 Forms
--------------------------------------------------------------*/
input, select {vertical-align: middle;}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom;}
select, input, textarea {font: 99% sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label, 
input[type=button], 
input[type=submit], 
input[type=file], 
button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* make buttons play nice in IE */
button,
input[type=button] {width: auto; overflow: visible;}

/*--------------------------------------------------------------
8 Clearfix
--------------------------------------------------------------*/

/* let's clear some floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.clearfix:after { clear: both; }  
.clearfix { zoom: 1; }  


/*--------------------------------------------------------------
9 Default Backgrounds
--------------------------------------------------------------*/
html {
	background: #fff;
}
pre {
	background: #eee;
}
mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

/*--------------------------------------------------------------
10 Default Paragraph Spacing
--------------------------------------------------------------*/
p {
	margin-bottom: 1em;
}
hr {
	margin-bottom: 1em;
}

/*--------------------------------------------------------------
11 Print Styles
--------------------------------------------------------------
Taken from HTML5 Boilerplate
http://html5boilerplate.com/
*/

@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) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

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