/* -----------------------------------------------------------------------------------------------------------------------
File Author:	Ryan Marincovich (ryan@bicycletheory.com)
Date Created:   2011.03.31
Client:         Bicycle Theory
File Purpose:	Framework style sheet
REVISIONS:
-------------------------------------------------------------------------------------------------------- */


/* ------------------------------  GLOBAL DEFS  -------------------------------------------------------- */

/* ------------------------------  RESETS  -------------------------------------------------------- */
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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus { outline: 0; }
html { background: #0a0604 url(/_images/framework/bg.png) top repeat-x; }
body {
	font-family: Arial, Verdana, Helvetica, sans-serif;
	color: #000;
	height: 100%;
}
ol, ul {
	list-style: none;
	margin: 0 0 12px 0;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
p { padding: 0 0 12px 0; }
div.details { clear: left; }
.details ol, .details ul { 
	padding: 0 0 12px 15px; 
	margin-left: 15px; 
}
.details ul { list-style: disc; }
.details ol { list-style: decimal; }
code { 
	font-family: monospace; 
	font-size: 1.125em;
	line-height: 1.375em;
}
blockquote {
	margin: 15px 30px;
	padding: 6px 10px 0;
	background: #f2f5f7;
}
blockquote p { padding-bottom: 7px; }
h3 {
	font-size: 1em;
	line-height: 1.25em;
}
/* ------------------------------  END RESETS  ---------------------------------------------------- */

/* ------------------------------  GLOBAL IMG DEFS  ---------------------------- */
img {
	border: 0;
	display: block;
}
img.float-right { float: right; }
img.float-left { float: left; }
img.overlay {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 200;
}
#pageImage img.overlay { right: -5px; }
div[id^=image] { position: relative; }
img.tape {
	position: absolute;
	top: 0;
	z-index: 200;
}
div#imageSection {
	width: 700px;
	height: 250px;
	padding: 0 0 16px 0;
	float: left;
}
#pageImage {
	width: 230px;
	height: 230px;
	float: right;
	position: relative;
}
div#image {
	width: 200px;
	height: 200px;
	margin: 10px 5px 0 0;
	float: right;
}
div[class^=bullet] {
	width: 40px;
	height: 40px;
}
div[class^=tinythumb] {
	width: 60px;
	height: 60px;
	background: #000;
}
div[class^=thumb] {
	width: 120px;
	height: 120px;
	background: #000;
	position: relative;
}
div[class^=thumb] span {
	width: 60px;
	height: 60px;
	padding: 30px;
	position: absolute;
	top: 0;
	left: 0;
}
div[class^=tinythumb] a, div[class^=thumb] a {
	width: 100%;
	height: 100%;
	float: left;
}
/* ------------------------------  END GLOBAL IMG DEFS  ------------------------ */

/* ------------------------------  GLOBAL TEXT HEADER DEFS  ---------------------------- */
/* ------ 18px */
h1 {
	font-size: 1.125em;
	line-height: 1.375em;
}
h1.page-title { padding: 10px 0 27px; }
p.image-count {
	margin: 2px 0 0;
	padding: 6px 10px 7px;
	float: right;
	background: #cdd9e0;
}
/* ------ 16px */
h2 {
	font-size: 1em;
	line-height: 1.25em;
}
h2.title { padding: 0 0 17px; }
h2.bar {
	width: 600px;
	font-size: 0.875em;
	line-height: 1.25em;
	padding: 6px 10px 7px;
	margin: 10px 0 15px;
	float: left;
	background: #cdd9e0;
}
/* normal font size 11px */
h4, h5, .regular-text, p, .details>ol, .details>ul, div#globalNavigation {
	font-size: 0.6875em;
	line-height: 1.375em;
}
/* ------ 12px
	font-size: 0.8125em;
	line-height: 1.3125em;*/
	
/* ------ 14px */
#footer h3 {
	padding: 0 0 1px;
	font-size: 0.875em;
	line-height: 1.25em;
	background: url(/_images/framework/footer-divider.gif) bottom left repeat-x; 
}
/* ------------------------------  END GLOBAL TEXT HEADER DEFS  ------------------------ */
/* --------------------------- LINK DEFS ----------------------------------- */
a { font-weight: bold; color: #09f; }
a, a:visited { text-decoration: none; }
a:hover, a:active { text-decoration: underline; }
a.opposite, a:visited.opposite { text-decoration: underline; }
a.opposite:hover, a.opposite:active { text-decoration: none; }
/* --------------------------- END LINK DEFS ------------------------------- */

/* --------------------------- TEXT DEFS ----------------------------------- */
p.centered-text { text-align: center; }
.no-records {
	padding: 6px 0 12px 0;
	text-align: center;
}
/* --------------------------- END TEXT DEFS ------------------------------- */

/* --------------------------- ERROR DEFS ---------------------------------- */
.textError {
	width: 100%;
	font-size: 12px;
	font-weight: bold;
	color: #c00;
	background-color: #fee;
}
.textError h1 {
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #000;
	float: left;
}
.textError ul {	padding: 5px 10px 5px 30px; }
.textError a { padding: 10px; }
.textErrorSmall {
	font-size: 11px;
	padding: 5px;
	color: #c00;
}
/* --------------------------- END ERROR DEFS ------------------------------ */

/* --------------------------- FIXES FOR IE6 ------------------------------ */
.clearfix:after {
     content: " "; 
     display: block; 
     height: 0; 
	 font-size: 0;
     clear: both; 
     visibility: hidden;
}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/

* html .clearfix {height: 1%;}
.clearfix {display: block;}

/* End hide from IE-mac */

/* DEFS FOR INVADER */
#invaderLayer {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1000; !important
}
#browserInvader {
	width: 540px;
	margin: 0 auto;
	padding: 0 0 1px 0;
	background: #09f;
}
#browserInvader p.header {
	width: 535px;
	height: 40px;
	padding: 0 0 0 5px;
}
#invaderContent {
	width: 500px;
	margin: 0 auto;
	padding: 16px 19px 19px 19px;
	background: #fff;
}
#invaderContent ul {
	width: 100%;
	margin: 0;
	float: left;
}
#invaderContent ul li { 
	margin: 0; 
	float: left;
}
#invaderContent ul li.icon { 
	width: 120px; 
	padding: 4px 0 0 0;
}
#invaderContent ul li.content { width: 380px; }
#invaderContent ul li.content p.callout {
	width: 360px;
	padding: 5px 9px 6px 9px;
	background: #ffc;
	border: 1px solid #cc9;
}
#invaderContent ul li.content p.callout a { color: #f60; }
#invaderContent ul li.content p.callout a, #invaderContent ul li.content p.callout a:visited { text-decoration: underline; }
#invaderContent ul li.content p.callout a:hover, #invaderContent ul li.content p.callout a:active { text-decoration: none; }
#invaderContent ul li.content .button {
	margin: 20px 0 0 0;
	float: left;
}
#browserInvader p.footer {
	width: 538px;
	height: 21px;
	color: #999;
	font-size: 9px;
	padding: 8px 0 0 0;
	margin: 0 auto;
	background: url(https://dev.venyou.com/_images/modules/bg-invader-footer.gif) top left no-repeat;
}
#browserInvader p.footer span { padding: 0 0 0 9px; }
#browserInvader p.footer a { 
	color: #999; 
	font-weight: normal;
}
#browserInvader p.footer a, #browserInvader p.footer a:visited { text-decoration: underline; }
#browserInvader p.footer a:hover, #browserInvader p.footer a:active { text-decoration: none; }
/* END DEFS FOR INVADER */	

/* --------------------------- END FIXES FOR IE6 -------------------------- */

/* --------------------------- OVERLAY DEFS -------------------------- */
#mainOverlay {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	visibility: hidden;
	z-index: 900;
}
#overlayBG {
	width: 100%;
	height: 100%;
	background: url(/_images/overlay/bg.png) top center repeat;
}
.overlay-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.overlay-container {
	width: 720px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}
.overlay-header {
	width: 100%;
	height: 20px;
	margin: 100px 0 0 0;
	float: left;
	background: url(/_images/overlay/header.png) top left no-repeat;
}
img.close {
	margin: 0 10px 0 0;
	float: right;
	position: relative;
}
.overlay-body {
	width: 100%;
	padding: 0 0 15px;
	float: left;
	background: url(/_images/overlay/body.png) top center repeat-y;
}
.overlay-body h1 { 
	margin: -3px 0 0;
	padding: 0 0 0 10px; 
}
.overlay-footer {
	width: 100%;
	height: 20px;
	float: left;
	background: url(/_images/overlay/footer.png) top center no-repeat;
}
.overlay-content {
	width: 670px;
	margin: 10px auto 0 auto;
}
.overlay-content p {
	padding: 2px 0 0 10px;
	float: left;
	font-weight: bold;
}
#gallery {
	width: 640px;
	padding: 0 0 2px;
	margin-left: 5px;
	float: left;
}
#galleryOverlay {
	width: 640px;
	margin: 20px 0 0 10px;
	padding: 0 5px;
	float: left;
	background: #000;
}
#videoFrame {
	width: 640px;
	margin: 20px 0 0 15px;
	float: left;
}
#videoYouTube {
	width: 640px;
	padding: 5px 0 0 5px;
	float: left;
}
.share-button {
	margin: 0 10px 0 0; 
	float: right; 
}
#photoGallery, #videoPlayer, #audioPlayer {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
}
#audioFrame {
	width: 300px;
	margin: 0 auto;
}
/* --------------------------- END OVERLAY DEFS ---------------------- */

/* --------------------------- GLOBAL FEATURES DEFS ---------------------- */

/* --------------------------- END GLOBAL FEATURES DEFS ---------------------- */
.features-wrapper { 
	width: 100%;
	float: left; 
}
.features-wrapper h3 {
	width: 100%;
	height: 44px;
	float: left;
}
ul.features {
	width: 100%;
	margin: 0;
	float: left;
}
ul.features>li {
	width: 230px;
	padding: 0;
	float: left;
	background: url(/_images/modules/bg.png) top right repeat-y;
}
ul.features>li div.corners {
	width: 100%;
	float: left;
	background: url(/_images/modules/corners.png) bottom center no-repeat;
}
ul.features>li.global {
	height: 175px;
	background: url(/_images/modules/frame-global.gif) top right no-repeat;
}
ul.features>li.widget {
	width: 220px;
	background: none;
	padding: 5px 5px 0;
	overflow: hidden; 
}
ul.features li p { padding: 0; }
ul.features>li.global div.mod {
	width: 210px;
	height: 155px;
	margin: 10px auto 0;
}
ul.features>li ul {
	width: 200px;
	padding: 0 15px;
	margin: 0;
	float: left;
}
ul.features>li ul li {
	width: 100%;
	padding: 8px 0 7px;
	float: left;
	background: url(/_images/framework/hdivider-black.gif) top left repeat-x;
}
ul.features li div.thumb {
	width: 180px;
	height: 135px;
	margin: 0 0 0 5px;
	padding: 5px 5px 11px 5px;
	float: left;
	background: url(/_images/modules/frame-media.png) top center no-repeat;
	position: relative;
}
ul.features li div.tinythumb {
	margin: 3px 0 3px 10px;
	float: right;
	display: inline;
}
ul.features li p.center { 
	width: 100%;
	padding: 0; 
	float: left;
	text-align: center;
}
ul.features li ul li.first { 
	padding-top: 7px;
	background: none; 
}
ul.features li p.footer {
	width: 200px;
	padding: 0 15px 5px;
	float: left;
	background: url(/_images/modules/footer.png) bottom center no-repeat;
}
ul.features li p.footer a {
	width: 100%;
	padding: 8px 0 9px;
	text-align: center;
	float: left;
	background: url(/_images/framework/hdivider-black.gif) top left repeat-x;
}
/* ------------------------------  END GLOBAL DEFS  ---------------------------------------------------- */

/* ------------------------------  FRAMEWORK STYLES  -------------------------------------------------------- */

#container { 
	width: 100%; 
	min-height: 560px;
}
#siteContainer {
	margin: 0 auto;
	min-height: 560px;
}
#header {
	width: 100%;
	height: 145px;
	text-align: left;
	background-position: bottom center;
	background-repeat: no-repeat;
}
#controls { 
	width: 100%;
	height: 40px;
}
#body {
	width: 100%;
	margin: 0 auto;
	text-align: left;
	min-height: 460px;
}
#tempContentNotice {
    width: 100%;
    position: fixed;
    height: 30px;
    top: 0;
    left: 0;
    background-color: #fc0;
    color: #000;
    font-weight: bold;
    z-index: 9999;
}
#tempContentNotice a { color: #c00; }
#tempContentNotice p {
    margin: 5px 10px 0;
    font-size: 0.85em;
}

/* ------------------------------  SITE HEADER STYLES  ------------------------------------------------------ */
#mediaBar {
	width: 100%;
	padding: 8px 0 0;
	float: left;
}
#mediaBar img.share {
	margin: 7px 0 0 35px;
	float: left;
}
div#mediaBar ul {
	margin: 0;
	padding: 0 13px 0 0;
	float: right;
}
div#mediaBar ul li {
	padding: 0 6px 0 0;
	float: left;
	display: inline;
}
div#mediaBar ul li p {
	width: 34px;
	height: 34px;
	padding: 0;
	float: left;
}
#controls div.account-tab {
	height: 30px;
	margin-right: 20px;
	padding-left: 5px;
	float: right;
	background: url(/_images/framework/account-cap-left.png) top left no-repeat;
}
#controls div.account-tab>div {
	height: 100%;
	padding-right: 5px;
	float: left;
	background: url(/_images/framework/account-cap-right.png) top right no-repeat;
}
#controls div.account-tab>div div {
	height: 100%;
	padding-left: 5px;
	background: #31241a;
}
#controls div.account-tab p {
	padding: 6px 0 0;
}
#controls div.account-tab div p a { padding-right: 5px; }

/* ------------------------------  END SITE HEADER STYLES  -------------------------------------------------- */

/* ------------------------------  MAIN NAV AND 2NAV STYLES  ------------------------------------------------------ */
div#globalNavigation {
	padding: 0 1px 0 20px;
	float: left;
	background: url(/_images/nav/right.gif) top right no-repeat;
}
div#globalNavigation > ul {
	height: 50px;
	padding-left: 1px;
	margin: 0;
	float: left;
	background: url(/_images/nav/left.gif) top left no-repeat;
}
div#globalNavigation > ul > li {
	height: 100%;
	float: left;
	background-repeat: no-repeat;
	position: relative;
	z-index: 500;
	cursor: pointer;
}
div#globalNavigation > ul li#homeNav { 
	width: 63px; 
	background-image: url(/_images/nav/home.gif);
}
div#globalNavigation > ul li#aboutNav { 
	width: 109px; 
	background-image: url(/_images/nav/about.gif);
}
div#globalNavigation > ul li#servicesNav { 
	width: 135px; 
	background-image: url(/_images/nav/services.gif);
}
div#globalNavigation > ul li#workNav { 
	width: 98px; 
	background-image: url(/_images/nav/work.gif);
}
div#globalNavigation > ul li#contactNav { 
	width: 133px; 
	background-image: url(/_images/nav/contact.gif);
}
div#globalNavigation > ul > li > a > span { display: none; }
div#globalNavigation > ul > li.on { background-position: bottom left; }
div#globalNavigation > ul > li.off { background-position: top left; }
div#globalNavigation > ul > li:hover, div#globalNavigation > ul > li:active { background-position: bottom left; }
div#globalNavigation > ul > li a.global { 
	width: 100%;
	height: 100%;
	float: left;
}
div#globalNavigation > ul > li ul {
	position: absolute;
	top: 50px;
	left: 0;
	width: 200px;
	padding: 6px 0 5px;
	margin: 0;
	background: url(/_images/nav/shadow.gif) top left repeat-x #0a0604;
	visibility: hidden;
	z-index: 800 !important;
}
div#globalNavigation > ul > li:hover ul, div#globalNavigation > ul > li:active ul { visibility: visible; }
div#globalNavigation > ul > li ul li {
	width: 200px;
	padding: 1px 0 0;
	float: left;
	background: url(/_images/nav/divider.gif) top center no-repeat;
}
div#globalNavigation > ul > li ul li.first { background: none; }
div#globalNavigation > ul > li ul li a {
	width: 100%;
	padding: 6px 0 7px;
	float: left;
	display: inline;
	text-decoration: none;
}
div#globalNavigation > ul > li ul li a {
	font-weight: normal;
	color: #fff;
}
div#globalNavigation > ul > li > ul li a:hover, div#globalNavigation > ul > li ul li a:active {
	background-color: #09f;
	text-decoration: none;
}
div#globalNavigation > ul > li ul li span { 
	padding: 0 10px; 
	float: left;
	display: inline;
	cursor: pointer;
}
/* ------------------------------  END 2NAV STYLES  -------------------------------------------------- */

/* --------------------------- COLUMN CONTAINERS ----------------------------------- */
#pageContent {
	margin: 0 0 0 10px;
	position: relative;
	clear: left;
}
.main-column { float: left; }
#homeTemplate {
	width: 680px;
	padding: 25px 20px 20px;
}
#homeTemplate .gallery-wrapper { padding: 12px 20px 0; }
#mainTemplate {
	width: 650px;
	padding: 50px 35px;
}
#BCTemplate {
	width: 650px;
	padding: 20px 35px 40px;
}
.main-column .padded-wrapper {
	width: 620px;
	padding: 0 15px;
	float: left;
}
#BCTemplate .padded-wrapper { padding-top: 15px; }
#Breadcrumb {
	width: 650px;
	height: 50px;
	float: left;
	background: url(/_images/modules/bc-bg.png) top center no-repeat;
}
#Breadcrumb ul { 
	padding: 17px 0 0 15px;
	margin: 0; 
	font-weight: bold;
}
#Breadcrumb ul li { 
	padding: 0 5px 0 0;
	display: inline;
}
/* --------------------------- END COLUMN CONTAINERS ------------------------------- */

/* ------------------------------  END BODY STYLES  ---------------------------------------------------- */

/* ------------------------------  FOOTER STYLES  ------------------------------------------------------ */
#footer {
	width: 100%;
	clear: left;
	color: #5f574f;
}
#footer p.copy { padding: 6px 0 0; }
#footer ul.cols {
	margin: 0;
	padding: 0 0 20px 10px;
	float: left;
}
#footer ul.cols li.column {
	padding: 20px 10px 0;
	float: left;
	display: inline;
}
#footer ul.links { 
	width: 100%;
	margin: 0; 
	float: left;
}
#footer ul.links li { 
	width: 100%;
	padding: 0; 
	float: left;
	background: url(/_images/framework/footer-divider.gif) bottom left repeat-x;
}
#footer ul.links li a {
	width: 100%; 
	padding: 4px 0 6px; 
	float: left;
}
#footer ul.links li p.icon a { 
	width: 16px;
	padding: 4px 10px 4px 0; 
	float: left;
	display: inline;
}
#footer ul.links li p.icon {
	padding: 0;
	float: left;
	display: inline;
}
/* ------------------------------  END FOOTER STYLES  -------------------------------------------------- */

