/*
CONTENTS
LAYOUT
global layout tweaks
general resets and defaults 
template variations 
content components global padding 
image stack components global style 
CONTENT
global font control 
default font styles 
- headings 
- paragraphs, lists, etc 
- anchors 
- decal special component - structured data list 
decal custom styles 
- anchors 
- simple data list 
- headings, paragraphs & lists 
- custom colors 
TEMPLATE CUSTOMISATION 
crop images on smaller screens  
header 
navigation 
banner  
content  
- .stackContent padding
- image anchors
- image stack components
- content general
section
aside
footer 
custom styling for decal structured data list 
image caption links in #aside columns 
blog styles 
*/
/* global layout tweaks */
.stackContent:after,
.blogContent:after,
.blogContent:after,
#galleryLanding #content:after,
#nav:after
{
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
}
.stackAuto .stackContent
{
    text-align:center;
    display:inline-block;
}
/* general resets and defaults */
*
{
    padding:0;
    margin:0;
    border:0;
}
html,
body
{
    font-size:87.5%; /* default font size 14px */
    text-align:center;
}
/* CONTENT */
input,
select,
textarea,
h1, h2, h3, h4, h5, h6
{
    font-size:1em;
    font-weight:normal;
}
/* deafult font styles */
/* headings */
h1,
h2,
h3,
h4,
h5,
h6
{
    margin-top:1em;
    margin-bottom:0.5em;
    clear:both;
    line-height:1.2em;
    font-weight:normal;
}
#section *.firstChild,
#section .stackContent > *:first-child
{
    margin-top:0;
}
#section *.lastChild,
#section .stackContent > *:last-child
{
    margin-bottom:0;
}
h1
{
    font-size:2.5em;
}
h2
{
    font-size:2em;
}
h3
{
    font-size:1.5em;
}
h4
{
    font-size:1.5em;
}
h5
{
    font-size:1.3em;
}
h6
{
    font-size:1.3em;
    font-weight:normal;
}
/* paragraphs, lists, etc */
p
{
    line-height:1.4em;
}
#section p,
#section ul,
#section ol
{
    line-height:1.4em;
    margin-bottom:1.5em;
}
#section ul
{
    list-style-type:disc;
    padding-left:30px;
}
ol
{
    margin-left:30px;
}
ol ol,
ul ul,
ul ol,
ol ul
{
    margin-top:0.5em;
    margin-bottom:1em;
}
#section ul li,
#section ol li
{
    margin-bottom:0.5em;
}
pre
{
    padding:10px;
    overflow-x:auto;
    width:auto;
    background-color:#fff;
    border:1px dashed #000;
    margin-bottom:1em;
}
/* anchors */
a,
a:visited
{
    text-decoration:none;
    cursor:pointer;
    color:#888;
}
#general #section a,
#general #section a:visited
{
    border-bottom:1px solid #777;
}
.active a,
a:hover,
a:focus
{
    color:#fff;
}
#general #section a:hover,
#general #section a:focus
{
    border-bottom-color:transparent; 
}
a.anchorRss,
a.anchorRss:visited
{
    padding-top:2px;
    padding-bottom:1px;
    padding-left:20px;
    background:transparent url(images/icon-rss-16.png) scroll no-repeat left center;
}
a.anchorRecent,
a.anchorRecent:visited
{
    padding-top:2px;
    padding-bottom:1px;
    padding-left:22px; 
    background:transparent url(images/icon-recent-16.png) scroll no-repeat left center; 
}
a.anchorPermalink,
a.anchorPermalink:visited
{
    padding-top:2px;
    padding-bottom:1px;
    padding-right:18px;
    background:transparent url(images/icon-link.png) scroll no-repeat right center;
}
a.anchorSearch,
a.anchorSearch:visited
{
    padding-top:2px;
    padding-bottom:1px;
    padding-right:18px;
    background:transparent url(images/icon-search.png) scroll no-repeat right center;
}
/* decal special component - structured data list */
ul.dataList
{
    padding:0 !important;
    border-top:1px dashed #000;
    margin-bottom:0;
}
ul.dataList li.dataListRow
{
    border:1px dashed #000;
    border-top:0;
    list-style-type:none;
    margin-bottom:0;
    overflow:hidden;
    padding:0;
/* IE fix */
    *position:relative;
    *zoom:1;
}
ul.dataList li.dataListRow:after
{
    content:" ";
    display:block;
    font-size:0;
    height:0;
    clear:both;
    visibility:hidden;
}
ul.dataList li.dataListRow .dataListCell1,
ul.dataList li.dataListRow .dataListCell2,
ul.dataList li.dataListRow .dataListCell3,
ul.dataList li.dataListRow .dataListCell4,
ul.dataList li.dataListRow .dataListCell5,
ul.dataList li.dataListRow .dataListCell6
{
/* resets */
    margin:0;
    text-transform:none;
    text-shadow:none;
    font-size:1em;
    font-weight:normal;
    letter-spacing:normal;
/**/
    border-right:1px dashed #000;
    float:left;
    padding:0.5em 1%;
    padding-bottom:999em;
    margin-bottom:-998.5em;
}
ul.dataList2col li.dataListRow .dataListCell2,
ul.dataList2colLarge li.dataListRow .dataListCell2,
ul.dataList3col li.dataListRow .dataListCell3,
ul.dataList3colLarge li.dataListRow .dataListCell3,
ul.dataList4col li.dataListRow .dataListCell4,
ul.dataList4colLarge li.dataListRow .dataListCell4,
ul.dataList5col li.dataListRow .dataListCell5,
ul.dataList5colLarge li.dataListRow .dataListCell5,
ul.dataList6col li.dataListRow .dataListCell6,
ul.dataList6colLarge li.dataListRow .dataListCell6
{
    border-right:0;
    margin-right:-99px;
}
ul.dataList2col li.dataListRow .dataListCell1,
ul.dataList2colLarge li.dataListRow .dataListCell1,
ul.dataList2col li.dataListRow .dataListCell2,
ul.dataList2colLarge li.dataListRow .dataListCell2
{
    width:48%;
}
ul.dataList3col li.dataListRow .dataListCell1,
ul.dataList3colLarge li.dataListRow .dataListCell1,
ul.dataList3col li.dataListRow .dataListCell2,
ul.dataList3colLarge li.dataListRow .dataListCell2,
ul.dataList3col li.dataListRow .dataListCell3,
ul.dataList3colLarge li.dataListRow .dataListCell3
{
    width:31.333%;
}
ul.dataList4col li.dataListRow .dataListCell1,
ul.dataList4colLarge li.dataListRow .dataListCell1,
ul.dataList4col li.dataListRow .dataListCell2,
ul.dataList4colLarge li.dataListRow .dataListCell2,
ul.dataList4col li.dataListRow .dataListCell3,
ul.dataList4colLarge li.dataListRow .dataListCell3,
ul.dataList4col li.dataListRow .dataListCell4,
ul.dataList4colLarge li.dataListRow .dataListCell4
{
    width:23%;
}
ul.dataList5col li.dataListRow .dataListCell1,
ul.dataList5colLarge li.dataListRow .dataListCell1,
ul.dataList5col li.dataListRow .dataListCell2,
ul.dataList5colLarge li.dataListRow .dataListCell2,
ul.dataList5col li.dataListRow .dataListCell3,
ul.dataList5colLarge li.dataListRow .dataListCell3,
ul.dataList5col li.dataListRow .dataListCell4,
ul.dataList5colLarge li.dataListRow .dataListCell4,
ul.dataList5col li.dataListRow .dataListCell5,
ul.dataList5colLarge li.dataListRow .dataListCell5
{
    width:18%;
}
ul.dataList6col li.dataListRow .dataListCell1,
ul.dataList6colLarge li.dataListRow .dataListCell1,
ul.dataList6col li.dataListRow .dataListCell2,
ul.dataList6colLarge li.dataListRow .dataListCell2,
ul.dataList6col li.dataListRow .dataListCell3,
ul.dataList6colLarge li.dataListRow .dataListCell3,
ul.dataList6col li.dataListRow .dataListCell4,
ul.dataList6colLarge li.dataListRow .dataListCell4,
ul.dataList6col li.dataListRow .dataListCell5,
ul.dataList6colLarge li.dataListRow .dataListCell5,
ul.dataList6col li.dataListRow .dataListCell6,
ul.dataList6colLarge li.dataListRow .dataListCell6
{
    width:14.666%;
}
ul.dataList6col li.dataListRow .dataListCell6,
ul.dataList6colLarge li.dataListRow .dataListCell6
ul.dataList2colLarge,
ul.dataList2colLarge,
ul.dataList3colLarge,
ul.dataList4colLarge,
ul.dataList5colLarge,
ul.dataList6colLarge
{
    font-size:1.3em;
}
/* feature request for future implementations */
ul.dataList2col li.oddChild
{
    background-color:#ddd;
}
ul.dataList2col li.evenChild
{
    background-color:#eee;
}
/* decal custom styles */
/* anchors */
a.anchorBlock, /* decal: Block */
a.anchorBlock:visited
{
    display:block;
    padding:5px;
}
a.anchorExternal, /* decal: External */
a.anchorExternal:visited
{
    padding-right:14px;
    background:transparent url(images/icon-external.gif) scroll no-repeat right center;
}
a.anchorComment, /* decal: Comment */
a.anchorComment:visited
{
    padding-top:2px;
    padding-bottom:1px;
    padding-right:18px;
    background:transparent url(images/icon-comment.png) scroll no-repeat right center;
}
a.anchorPrevious, /* decal: Previous */
a.anchorPrevious:visited
{
    padding-left:20px;
    background:transparent url(images/icon-previous.png) scroll no-repeat left center;
}
a.anchorNext, /* decal: Next */
a.anchorNext:visited
{
    padding-right:20px;
    background:transparent url(images/icon-next.png) scroll no-repeat right center;
}
/* simple data list */
ul.dataListSimple /* decal: List with margin */
{
    list-style-type:none;
    width:100%;
    padding-left:0;
}
ul.dataListSimple li,
ul.dataListSimpleDouble li
{
    background:none;
    margin-bottom:0.3em;
}
ul.dataListSimple li strong
{
    display:-moz-inline-stack;
    display:inline-block;
    *display:inline;
    *zoom:1;
    width:20%;
    padding-right:10px;
}
ul.dataListSimpleDouble /* decal: List with double margin */
{
    list-style-type:none;
    padding-left:0;
}
ul.dataListSimpleDouble li
{
    margin-bottom:0.3em;
}
ul.dataListSimpleDouble li strong
{
    display:-moz-inline-stack;
    display:inline-block;
    *display:inline;
    *zoom:1;
    width:40%;
    padding-right:10px;
}
/* headings, paragraphs & lists */
.fontMajor
{
    clear:both;
}
.fontMajor img
{
    margin-bottom:0;
}
*.fontMajor /* decal: Major */
{
    background-color:#555;
    padding:10px 12px;
    margin-bottom:0.75em;
}
p.fontSmall, /* decal: Small Font */
ul.fontSmall,
ol.fontSmall
{
    font-size:0.85em;
}
p.fontLarge, /* decal: Large Font */
ul.fontLarge,
ol.fontLarge
{
    font-size:1.3em;
    line-height:1.3em;
}
p.fontMinor, /* decal: Minor */
ul.fontMinor,
ol.fontMinor
{
    font-size:0.885em;
    color:#999;
    text-align:center;
}
*.sectionBreakAbove /* decal: Section Break - Above */
{
    margin-top:40px;
    padding-top:40px;
    border-top:2px solid #555;
}
*.sectionBreakBelow /* decal: Section Break - Below */
{
    padding-bottom:40px;
    margin-bottom:40px;
    border-bottom:2px solid #555;
}
*.postDate /* decel: Blog post date */
{
    text-transform:uppercase;
    padding-left:22px;
    background:transparent url(images/icon-calendar.gif) scroll no-repeat 2px center;
}
p.quote /* decal: Quote */
{
    padding-left:45px;
    font-size:1.3em;
    line-height:1.3em;
    color:#999;
    font-style:italic;
    background:transparent url(images/bg-quote.gif) scroll no-repeat 0 0.2em;
    margin-bottom:0.5em;
}
p.quoteCredit /* decal: Quote Credit */
{
    padding-left:45px;
    font-weight:bold;
}
/* TEMPLATE CUSTOMISATION */
/* crop images on smaller screens  */
.rr-image-holder
{
    overflow:hidden;
}
p.rr-image-caption-wrapper
{
    overflow:visible;
}
/* image captions */
#footer .rr-image-caption-wrapper a .rrImageCaption,
#aside .rr-image-caption-wrapper a .rrImageCaption,
#aside2 .rr-image-caption-wrapper a .rrImageCaption
{
    width:auto !important;
}
/* header */
#logo
{
}
#logo img,
#logo a
{
    display:block;
}
#logo .stackContent
{
    margin:0 10px;
}
#logo p.rr-image-holder
{
    margin-bottom:0;
}
/* banner  */
#banner
{
    background:#ddd;
}
#banner .wrapper
{
    padding-top:0;
    padding-bottom:0;
}
#banner .rr-image-holder
{
    margin-left:-20px;
    margin-right:-20px;
    margin-bottom:0;
}
/* content */
/* .stackContent padding */
/* adding padding to content components, adjusting child nodes affected by padding; .rr-image-holder, .fontMajor, .sectionBreak*, .dataList  & .blogItemDetails */
/* this padding is removed by mobile specific CSS to maximise viewable area */
#section .stackContent,
#section .sectionBreakAbove,
#section .sectionBreakBelow
{
    padding:12px;
}
#section .rr-image-holder,
#section .sectionBreakAbove,
#section .sectionBreakBelow,
#section .dataList,
.blog #section .blogItemDetails
{
    margin-left:-12px;
    margin-right:-12px;
}
/* image stack components */
#content .stackImage
{
    vertical-align:middle;
}
#content .stackImage .rr-image-holder
{
    letter-spacing:normal;
    word-spacing:normal;
    text-align:left;
    /* padding + border + margin = 10px = default .stackContent margin. relative to default images sizes. a larger number will cause .stackImage items to wrap */
    padding:4px;
    border:1px solid #ddd;
    margin:5px !important; /* !important required to override .stackContent child node position adjustment - see above */
}
#content .stackImage .rr-image-holder a:hover
{
    outline:4px solid red;
}
#content .stackImage .rr-image-caption-wrapper img
{
    display:block;
}
/* footer */
#footer
{
    font-size:0.9em;
}
#footer .stackAuto
{
    vertical-align:middle;
}
#footer .stack1of1 p
{
    text-align:center;
}
#footer .stackAuto p,
#footer p.rr-image-holder
{
    padding-top:0;
}
#footer a.anchorBlock
{
    margin-top:-5px;
}
#footer .rr-image-holder a
{
    display:block;
    padding:10px;
} 
/* custom styling for decal structured list */
ul.dataList
{
/*    -moz-border-radius:5px;*/
/*    -webkit-border-radius:5px;*/
/*    -khtml-border-radius:5px;*/
/*    box-shadow:0 1px 3px #444;*/
/*    -moz-box-shadow:0 1px 3px #aaa;*/
/*    -khtml-box-shadow:0 1px 3px #444;*/
/*    -webkit-box-shadow:0 1px 3px #444;*/
}
ul.dataList,
ul.dataList li.dataListRow,
ul.dataList li.dataListRow .dataListCell1,
ul.dataList li.dataListRow .dataListCell2,
ul.dataList li.dataListRow .dataListCell3,
ul.dataList li.dataListRow .dataListCell4,
ul.dataList li.dataListRow .dataListCell5,
ul.dataList li.dataListRow .dataListCell6
{
    border-color:#aaa;
}
/* blog styles */
.blog #content .blogItem,
.blog #content .stackWidget,
.blog #content .blogNav
{
    text-align:left;
}
.blog #content .blogItem
{
    position:relative;
    margin-bottom:20px;
    padding-left:70px;
}
.blog #content .blogContent a,
.blog #content .blogContent a:visited,
.blog #content .blogItemDetails a,
.blog #content .blogItemDetails a:visited
{
    color:#777;
}
.blog #content .blogContent a:focus,
.blog #content .blogContent a:hover,
.blog #content .blogItemDetails a:focus,
.blog #content .blogItemDetails a:hover
{
    color:#fff;
}
.blog #content .blogItemDate
{
    text-align:center;
    width:60px;
    position:absolute;
    top:0px;
    left:0px;
    font-size:1.5em;
    color:#666;
}
.blog #content .blogItemDate strong
{
    font-weight:normal;
    display:block;
    padding:10px;
}
.blog #content .blogItemDate span
{
    display:block;
    line-height:1.1em;
}
.blog #content .blogItemDateDay
{
    font-size:1.6em;
}
.blog #content .blogItemDateMonth
{
}
.blog #content .blogItemDateYear
{
    font-size:0.8em;
}
.blog #content .blogItemDetails
{
    padding-top:15px;
    margin:15px 0;
    border-top:1px dotted #555;
}
.blog #content .blogItemDetails p
{
    color:#aaa;
    margin:0;
}
.blog #content #disqus_thread
{
    padding-top:15px;
    border-top:1px dotted #555;
}
.blog #content #disqus_thread select
{
    padding:2px;
    border:2px solid #ddd;
}
.blog #content #disqus_thread *,
.blog #content #disqus_thread textarea,
.blog #content #disqus_thread button
{
    font-size:1em;
}
.blog #content .blogNav
{
    padding:0;
    margin-bottom:20px;
    background-color:transparent !important;
}
.blog #content .blogNav a
{
    max-width:40%;
}
.blog #content .blogNav p
{
    clear:both;
}
.blog #content #aside .stackContent li
{
    margin-bottom:0;
}
.blog #content .blogNav a,
.blog #content #aside .stackContent a
{
    border-bottom:0 !important;
    text-decoration:underline;
    padding-top:0.5em;
    padding-bottom:0.5em;
    display:inline-block;
}
.blog #content .blogNav a:hover,
.blog #content .blogNav a:focus,
.blog #content #aside .stackContent a:hover,
.blog #content #aside .stackContent a:focus
{
    text-decoration:none;
}
.blog #content .blogNav p
{
    height:1em;
}
.blog #content .blogNav .anchorPrevious
{
    float:left;
}
.blog #content .blogNav .anchorNext
{
    float:right;
    text-align:right;
}
.blog #content #aside .stackContent
{
    padding-bottom:0;
    margin-bottom:30px;
}
.blog #content #aside .stackContent h4
{
    margin-top:0;
}
.blog #content #aside .stackContent ul
{
    padding:0;
    list-style-type:none;
}
.blog #content #aside .stackContent #twitter,
.blog #content #aside .stackContent #facebook
{
    float:left;
    position:relative;
    width:40%;
}
.blog #content #aside .stackContent #twitter,
{
    left:5px;
}
.blog #content #aside .stackContent #facebook
{
    left:30px;
}
