body {
	text-align: center; /* this centers the container in IE 5+ browsers. The text is then set to the left aligned default in the #container selector */
	font-family: verdana, arial, tahoma, sans-serif;
	font-size: 12px;
	margin: 0px;
	padding: 0px;
	background: #EFEFEF;
}

p, li {
  margin: 4px;
}

a {
  color: #3355AA;
  text-decoration: none;
}

a:hover {
  color: #FFAA55;
  text-decoration: underline;
}

a:active {
  color: #FF9944;
  text-decoration: underline;
}
	
#container  {
	text-align: left; /* this overrides the text-align: center on the body element. */
	margin-left: auto; /* the auto margins (in conjunction with a width) center the page */
	margin-right: auto;
	margin-top: 5px;
	margin-bottom: 5px;
	padding: 0;
}

h1 {
  font-size: 18px; 
}

h2 {
  margin: 0px 0px;
  color: #433c2e;
  margin-bottom: 15px;
}

h3 {
	font-size: 16px;
	font-weight: bold;
	color: #333333;
	padding-bottom: 2px;
	margin: 0px 0px;
}

h4, h5 {
  font-size: 12px;
	margin: 2px 0px;
}

.helper {
  border: 1px solid blue;
	font-size: 10px;
	background-color: #BBBBFF;
	-moz-border-radius:4px;
  -webkit-border-radius:4px;
  padding: 2px;
}

.textcenter {
  display: block;
  text-align: center;
}

img {
  border: none; }

#header {
	display: block;
	text-align: left; /* this overrides the text-align: center on the body element. */
	padding: 5px 30px 7px 5px;
	margin-bottom: 18px;
	border-top: solid 1px #666666;
	border-bottom: solid 3px #999999;
	position: relative;
	background-color: #FF9944;
}

#header a {
  color: #0000FF;
}

#header .header_content {
	width: 980px;
	height: 60px;
	margin: 0px auto;
}

.header_content .notice {
  font-size: .9em;
	display: block;
	height: 100%;
}

#header a.title {
	float: left;
	font-size: 24px;
	color: #333333;
	text-decoration: none;
	margin-top: 3px;
}

#header #logo {
	float: left;
	width: 300px;
	margin: 0px 10px 0px 0px;
}



#header #tagline {
  display: block;
  float: left;
}

#header #tab_navigation {
  text-align: left;
  display: block;
  float: left;
}

#header #tab_navigation ul {
  list-style-type: none;
  margin: 0px 0px 0px 20px;
  padding: 0px;
  height: 20px;
}

#header #tab_navigation ul li {
  display: inline;
  padding: 0px 4px;
  margin: 0px;
}

#header #tab_navigation a {
	background-repeat: no-repeat;
	margin: 0px;
	padding: 0px;
	font-size: 20px;
	height: 20px;
}

#header #tab_navigation img { height: 20px; }

#header #tab_navigation #tab_home a { background-image: url(/images/tab_home.png); }
#header #tab_navigation #tab_home a:hover { background-image: url(/images/tab_home_hover.png); }
#header #tab_navigation #tab_home a.currentpage {	background-image: url(/images/tab_home_selected.png); }
#header #tab_navigation #tab_home img {	width: 59px; }

#header #tab_navigation #tab_photos a {	background-image: url(/images/tab_photos.png); }
#header #tab_navigation #tab_photos a:hover {	background-image: url(/images/tab_photos_hover.png); }
#header #tab_navigation #tab_photos a.currentpage {	background-image: url(/images/tab_photos_selected.png); }
#header #tab_navigation #tab_photos img {	width: 70px; }

#header #tab_navigation #tab_help a {	background-image: url(/images/tab_help.png); }
#header #tab_navigation #tab_help a:hover {	background-image: url(/images/tab_help_hover.png); }
#header #tab_navigation #tab_help a.currentpage {	background-image: url(/images/tab_help_selected.png); }
#header #tab_navigation #tab_help img {	width: 50px; }



#header #account {
	float: right;
	font-size: 11px;
	width: 250px;
	height: 75px;
	color: #666666;
}

#header #account a {
	color: #0033CC;
}

.userpic { /*profile pics set to 40 pix square in header */
	text-align: right;
	float: right;
	padding: 2px;
}

.userinfo {
	text-align: right;
	float: left;
	width: 200px;
}

#header a:hover {
  color: #FFD863;
}

.round_top, .round_bottom {
	width:970px;
	height:4px;
	margin:auto;
	padding:0;
	background-repeat: no-repeat;
	background-position: left top;
}

.round_top {
	background-image: url(/images/top.png);
}

.round_bottom {
	background-image: url(/images/bottom.png);
}

.body_content {
	text-align: left; /* this overrides the text-align: center on the body element. */
	padding: 0px 5px;
	width: 960px;
	margin: 0px auto;
	overflow: hidden;
	background-color: #FFFFFF;
}


/* Breadcrumb */

#breadcrumb {
	display: block;
	clear: left; 
	padding: 2px 3px;
	margin: 8px 2px;
	background-color: #EEEEEE;
	color: #333333;
	text-align: center;
	overflow: hidden;
}

#breadcrumb h1 {
  margin: 0;
  padding: 0;
}

#breadcrumb h1 .friendstatus {
  font-size: 10px;
  color: #666666;
}



/* Navigation elements */

.navigation,  h5 a  {  /* edit links in photo show view are h5 a */
  border: 2px solid #BBBBBB;
	background-color: #EEEEEE;
	display: block;
	clear: left; 
	padding: 3px;
	margin: 8px 2px;
	-moz-border-radius:4px;
  -webkit-border-radius:4px;
  text-align: center;
}

#view_type {
  float: right;
  display: block;
  border-left: 2px solid #999999;
  margin-left: 4px;
}

.navigation select {
  padding: 0px 0px;
	margin: -1px 5px -2px 5px;
	font-weight: bold;
	display:inline;
/*  border: 1px solid #EEE;
  background-color: #EEE;
  padding: 2px 2px;
	-moz-border-radius:4px;
  -webkit-border-radius:4px;
	margin: 0px 6px;
	font-weight: bold; */
}

.navigation a {
	padding: 3px 3px;
	margin: 3px 1px;
	display:inline;
}

.navigation .currentpage {
	color: black;
	background-color: #FFD863;
	-moz-border-radius:4px;
  -webkit-border-radius:4px;
}

/* Below small navigation links are just modifications of the above styles -- consistency is key! */
    
.thumbnail_meta .navigation, h5 a {
  border: 1px solid #BBBBBB;
	margin: 2px 2px;
}

.thumbnail_meta .navigation a, h5 a {
	font-weight: normal;
	margin: 2px 5px;
	padding: 1px 5px;
	display: inline;
}

h5 a {
  float: right;
  }



/* Main elements */


.wide_left {  /* use this container for map and anything needing a div wide and left */
	float: right;
	padding: 7px 12px 0px 8px;
	margin: 0px 5px 0px 0px;
}

.wide_left_inner_box {
  width: 580px;
  background-color: #FFCC99;
	padding: 6px;
	margin-right: 20px;
	border: 1px dashed #FF6600;
	text-align: left;
}

.home_demo_box {
  width: 580px;
	padding: 6px;
	margin-right: 20px;
	text-align: left;
}

#slideshow_container {
	width: 580px;
	height: 390px;
	margin: 5px;
	padding: 0px;
  overflow: hidden;
}

.slide {
	position: absolute;
  top: 165px;
  z-index: 1;
 	width: 580px;
	height: 350px;
	float: left;
}

#slide_background {
	position: relative;
  top: 10px;
  z-index: 0;
 	width: 580px;
	height: 350px;
}

.narrow_right {  /* use this for photo lists and anything needing a div narrow and right */
	float: right;
	width: 305px;
	padding: 7px 0px 0px 0px;
	margin: 0px 5px 0px 0px;
}

.section_head {
	margin: 0px 2px 2px;
	padding: 0px 2px 5px 2px;
	text-align: center;
}

.body_content .login_prompt {
  padding: 10px 0px 15px;
}

.body_content .login_sector {
  width: 270px;
  float: left;
  border-right: solid 1px #CCCCC;
}

.body_content .login_sector_fb {
  float: left;
  padding-left: 10px;
}

.awards {
  display: block;
  float: left;
  margin: 13px;
  clear: left;
}

.appstore_container {
  display: block;
  float: right;
  margin: 13px;
  width: 250px;
}

.signup_container {
  display: block;
  float: left;
  margin: 10px 15px;
  padding: 5px;
  width: 540px;
  border: solid 2px #CCCCCC;
  background: #FFDD88;
	-moz-border-radius:6px;
  -webkit-border-radius:6px;
  clear: none;
}



/* Styles for photolist (timeline) */

#photolist {
	height: 455px;
	overflow: auto;
	background-color:#FFFFFF;
	border-bottom: 1px solid #999999;
	border-right: 1px solid #999999;
}

#photolist ul {
  float: left;
  padding: 0px;
  margin: 0px;
  list-style-type: none;
}

#photolist ul li {
  float: left;
	width: 259px;
  padding: 2px;
	margin: 2px 0px;
	background-color: #DDDDDD;
  border: 1px solid #CCCCCC;
	-moz-border-radius:8px;
  -webkit-border-radius:8px;
}

#photolist ul li.selected {
	background-color: #FFFFFF;
}

#photolist .meta_detail {
  font-size: .9em;
}

#photolist .thumbnail  {
	float: right;
	height: 100px;
	width: 92px;
	padding: 1px;
	text-align: center;
	clear:right;
}

#photolist .thumbnail img {
	margin: auto;
	border: 1px outset #999999;
}

#photolist .thumbnail_gallery {
  display: none;
}

#photolist .thumbnail_meta {
	float: left;
	margin: 2px;
	width: 157px;
}

#photolist .caption {
	font-weight: bold;
	font-size: .9em;
	border-bottom: 2px solid #999999;
}

.grey {
  color: #999999;
} 

.small {
	font-size: 9px;
}

.smallgrey {
  color: #666666;
	font-size: 10px;
}

.mini_icon {
  float: right;
	display: inline;
	margin-left: 2px;
}

.pagination {
  background: #EEEEEE;
  border: 1px solid #DDDDDD;
  text-align: center;
  padding: 3px; 
	margin: 2px 0px; }
  .pagination a, .pagination span {
    padding: 2px 3px; }
  .pagination span.disabled {
    color: #AAA; }
  .pagination span.current {
    font-weight: bold;
    background-color: #FFD863;
		-moz-border-radius:4px;
    -webkit-border-radius:4px; }
  .pagination a {
    text-decoration: none;
    color: black; }
    .pagination a:hover, .pagination a:focus {
      text-decoration: underline; }



/* Styles for photo map */

.box {
  width:385px;
}

.small_image  {
	float: right;
	width: 160px;
	height: 160px;				/* Deal with Gmaps bubble resize bug */
	display: table-cell;	/* CSS2 hack allows vertical centering */
	vertical-align: middle;
	padding-right: 6px;  /* room for the X close box */
}

.small_image img {
  display: block;
	margin: auto;
}

.small_image_meta {
	float: left;
	margin: 4px;
	width: 210px;
}


#map_div {
  overflow: hidden;
	}
	
.map_meta_detail {
  font-size: .9em;
  height: 120px;
  overflow: auto;
}

.friendpic {
	text-align: left;
	float: left;
  padding: 4px 4px 4px 0px;
}

.friendpic img {
	width: 35px;
	padding: 0px;
	margin: 0px;
}

.small_image_meta .friendpic {
	display:none; /* Fb javascript doesn't play nice with GMaps so disable userpic display within info window */
}

.small_image_nav {
	float: left;
	display:block;
	width:210px;
/*	clear: both; */
}

.show_narrative {
  margin: 6px;
}

.secret_url_text {
	color: #3355AA;
	font-weight: bold;
	margin: 5px 0px 0px 0px;
	padding: 0;
	text-align: center;
	font-size: .8em;
}

.secret_url_link {
	color: #666666;
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: .9em;
}

.footer_stuff {
	clear:both;
	padding: 5px 20px;
	color: black;
	width: 950px;
	margin: 0px auto;
	text-align: center;
	font-size: .85em;
}


/* Styles for photo gallery / album / blog view */

#gallery_index {
	height: 355px; 
	overflow: auto;
	background-color:#FFFFFF;
	border: 0; 
	padding-top: 5px;
}

#gallery_index ul {
  float: left;
  padding: 0px;
  margin: 0px;
  list-style-type: none;
}

#gallery_index ul li {
  float: left;
	width: 80px;
	height: 90px;
	overflow: hidden;
  padding: 2px;
	margin: 1px;
	background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
	-moz-border-radius:8px;
  -webkit-border-radius:8px;
}

#gallery_index ul li.selected {
	background-color: #CCCCCC;
	border: 1px solid #999999;
}

#gallery_index .thumbnail  {
  display: none;
}

#gallery_index .thumbnail_gallery  {
	height: 70px;
	width: 70px;
	padding: 1px 5px;	
	overflow: hidden;
	text-align: center;
	clear: right;
}

#gallery_index .thumbnail_gallery img {
	margin: auto;
}

#gallery_index .thumbnail_meta {
	margin: 2px;
}

#gallery_index .caption {
	color: #333333;
	font-size: .8em;
	height: 1.2em;
	overflow: hidden;
	z-index: 2;
}

#gallery_index .meta_detail {
	display: none;
}

#gallery_index .friendpic {
  position: relative;
  top: -42px;
  z-index: 1;
}

#gallery_index .friendpic img {
	border: 1px solid #997700;
	width: 25px;
}

#gallery_index .navigation {
  display: none;
}



/* Styles for blog view (appears with gallery index) */

#blog_view {
/*	height: 420px;	*/
  width: 455px;
  padding: 5px 10px 5px 5px;
  margin: 0px 5px 0px 0px;
  overflow: hidden;
	background-color:#FFFFFF;
}

#blog_view ul {
  float: left;
  margin: 0px;
  padding: 0px;
  list-style-type: none;
}

#blog_view ul li {
  float: left;
  padding: 0px 0px 5px 0px;
	margin: 0px;
	width: 100%;
	background-color: #FFFFFF;
}

#blog_view .meta_detail {
  font-size: .9em;
}

#blog_view .blog_photo  {
	float: left;
	padding: 4px;
}

#blog_view .blog_photo img {
	margin: auto;
	border: 1px outset #999999;
}

#blog_view .blog_meta {
  display: inline;
  margin: 2px;
}

#blog_view .caption {
	font-weight: bold;
	margin-bottom: 5px;
}

#blog_view .description {
  display: inline;
  overflow: auto; 
}

#blog_view .navigation {
  width: 180px;
  clear: none;
  float: right;
}


/* Classes for flexible rounded corners module with arrow and header */

/* Main image covers top right and content body */
.arrowmodule_topright {
	margin:0px;
	padding:0;
	width: 99%;
	background-image: url(/images/module_topright.gif);
	background-repeat: no-repeat;
	background-position: right top;
}

/* Left side including top left corner*/
.arrowmodule_topleft {
	margin:0;
	padding:0;
	background-image: url(/images/module_topleft.gif);
	background-repeat: no-repeat;
	background-position: left top;
}

/* Bottom, including bottom-right corner */
.arrowmodule_bottomright {
	margin:0;
	padding:0;
	background-image: url(/images/module_bottomright.gif);
	background-repeat: no-repeat;
	background-position: right bottom;
}

/* Bottom-left corner only */
.arrowmodule_bottomleft {
	margin:0;
	padding:0;
	background-image: url(/images/module_bottomleft.gif);
	background-repeat: no-repeat;
	background-position: left bottom;
}

/* Arrowmodule Content */
.arrowmodule_content {
	margin:0;
	padding-right: 10px;
	padding-bottom: 8px;
	padding-left: 10px;
	padding-top: 2px;	
	text-align: left;
}



/* Classes for flexible rounded corners module for navbar*/

/* Main image covers top right and content body */
.module_topright {
	margin:0px;
	padding:0;
	width: 99%;
	background-image: url(/images/rounded_r1_c2.gif);
	background-repeat: no-repeat;
	background-position: right top;
}

/* Left side including top left corner*/
.module_topleft {
	margin:0;
	padding:0;
	background-image: url(/images/rounded_r1_c1.gif);
	background-repeat: no-repeat;
	background-position: left top;
}

/* Bottom, including bottom-right corner */
.module_bottomright {
	margin:0;
	padding:0;
	background-image: url(/images/rounded_r2_c2.gif);
	background-repeat: no-repeat;
	background-position: right bottom;
}

/* Bottom-left corner only */
.module_bottomleft {
	margin:0;
	padding:0;
	background-image: url(/images/rounded_r2_c1.gif);
	background-repeat: no-repeat;
	background-position: left bottom;
}

/* Module Content */
.module_content {
	margin:0;
	padding:8px;
	text-align: left;
}



/* styles for ad units */

.left_bar {
	float: left;
	width: 124px;
	padding: 0px 0px 0px 2px;
	margin: 0px 0px 0px 2px;
}

.banner_left {
  display: inline;
	float: left;
	width: 124px;
	margin: 0px 0px;
	padding: 5px 0px 5px 8px;
	overflow: hidden;
}

#banner_right {
	display: block;
	float: left;
	height: 100%
	width: 124px;
	margin: 0px 0px 0px 4px;
}

#banner_low {
	display: block;
	width: 100%;
	float: left;
	margin: 10px auto 10px auto;
	text-align: center;
  padding-top: 10px;
  border-top: 1px solid #eeeeee;
}





/* styles for errors and notices */

.fieldWithErrors {
  padding: 2px;
  background-color: #FFFF99;
  display: table;
}

#noticeExplanation {
  border: 1px solid blue;
  padding: 2px;
  margin: 2px 2px 10px 2px;
  background-color: #BBBBFF;
	-moz-border-radius:4px;
  -webkit-border-radius:4px;
}

#noticeExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 5px;
}

#errorExplanation {
  border: 1px solid #FF6600;
  padding: 2px;
  margin: 2px 2px 10px 2px;
  background-color: #FF9933;
	-moz-border-radius:4px;
  -webkit-border-radius:4px;
}

#errorExplanation h2 {
  text-align: left;
  padding: 5px 5px; 
  margin: -2px -2px;
  background-color: #FFFF99;
  color: #FF0000;
}

#errorExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 5px;
}

#errorExplanation ul li {
  list-style-type: circle;
  marker-offset: -5px;
  margin: 0px 20px;
  padding: 2px 0px;
  border-top: none;
  border-bottom: none;
}

    
.legalbox {
	display: block;
	height: 325px;
	width: 580px;
	overflow: auto;
	background-color:  #EEEEEE;
	border: thin groove #999999;
	margin: 5px 15px 5px 5px;
	padding: 5px 0px 5px 5px;
}



/* clearfixes */

.clearleft {
	clear:left;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }

.clearfix {
    display: inline-block; }

html[xmlns] .clearfix {
    display: block; }

* html .clearfix {
    height: 1%; }

