
/* Hack for Nova */
#novaContent > br,
#clearFooter,
#hide{
	display: none;
}
#footer{
	margin-top:-16px;
}
sup{
	font-size: 100%;
	vertical-align: top;
}
.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%;
}
.preload{
	display: none;
}
/* Kepler Styles */

#fullcolumn.kepler a:link,
#fullcolumn.kepler a:visited,
#fullcolumn.kepler a:active{
	color:#4c320a;
	text-decoration: underline;
}

#fullcolumn.kepler a:hover{
	text-decoration: none;
}

#fullcolumn.kepler{
	height: 746px;
	width: 980px;
	padding-top:0;
	position: relative;
	font-family:"Times New Roman",Georgia,Serif;
}

#fullcolumn.kepler p,
#fullcolumn.kepler li,
#fullcolumn.kepler{
	color:#000000;
	font-size: 15px;
	line-height: 20px;
}

#fullcolumn.kepler.subpage{
	background:url("../images/sub2.jpg") no-repeat;
}
/*#fullcolumn.kepler.whoiskepler{
	background:url("../images/whoiskpeler.jpg") no-repeat;
}*/

#fullcolumn.kepler.subpage.projects{
	background:url("../images/sub_projects.jpg") no-repeat;
	height: 874px;
}
#fullcolumn.kepler h1,
#fullcolumn.kepler h2,
#fullcolumn.kepler h3,
ul#mainmenu li a span{
	font-family: 'EB Garamond', "Times New Roman", Georgia, Serif;

	text-transform: uppercase;
	font-size: 30px;
	font-weight: normal;
}

#fullcolumn.kepler h1,
#fullcolumn.kepler h2,
#fullcolumn.kepler h3{
	padding:23px 0 29px 55px;
	border-bottom:0;
	color:#260303;
	background-position: 0 13px;
	
}
#fullcolumn.kepler ul.no_bullets li{
	list-style: none;
	margin-left:0;
}

ul#mainmenu{
	padding:0;
	margin:0;
	position: absolute;
	left:544px;
	top:65px;
}
ul#mainmenu li{
	clear:both;
}
.subpage ul#mainmenu{
	left:52px;
	top:265px;
}

#fullcolumn.kepler ul#mainmenu li a{
	display: block;
	text-decoration: none;
	position: relative;
}

ul#mainmenu li a span.caption{
	display: block;
	/*padding:18px 0 0 92px;*/
	position:absolute;
	top:18px;
	left:92px;
	height: 46px;
	width: 300px;

}
ul#mainmenu li span.icon{
	background: url("../images/item_menu.png") no-repeat;
	display: block;
	height: 68px;
	width: 78px;
	float:left;
}

ul#mainmenu li#item_downloads a{
	height:50px;	
}
ul#mainmenu li#item_downloads span.icon{ 
	background-position: 13px -8px;
}
ul#mainmenu li#item_downloads:hover span.caption{ 
	background: url("../images/item_menu.png") -206px -307px no-repeat;
}

ul#mainmenu li#item_highlights{
	padding-top:0;
}
ul#mainmenu li#item_highlights a{
	height: 59px;	
}
ul#mainmenu li#item_highlights span.icon{ 
	background-position: 13px -433px;
}
ul#mainmenu li#item_highlights:hover span.caption{ 
	background: url("../images/item_menu.png") -206px -307px no-repeat;
}
ul#mainmenu li#item_highlights.active span.caption{
	background: url("../images/item_menu.png") -206px -262px no-repeat;
}
ul#mainmenu li#item_projects a{
	height: 71px;	
}
ul#mainmenu li#item_projects span.icon{ 
	background-position: 12px -107px
}

ul#mainmenu li#item_projects:hover span.caption{ 
	background: url("../images/item_menu.png") -206px -125px no-repeat;
}

ul#mainmenu li#item_democamps a{
	height: 69px;	
}
ul#mainmenu li#item_democamps span.icon{ 
	background-position: 12px -218px;
}
ul#mainmenu li#item_democamps:hover span.caption{ 
	background: url("../images/item_menu.png") -206px -305px no-repeat;
}

ul#mainmenu li#item_friends a{
	height: 61px;	
}
ul#mainmenu li#item_friends span.icon{ 
	background-position: 11px -325px;
}
ul#mainmenu li#item_friends:hover span.caption{ 
	background: url("../images/item_menu.png") -206px -482px no-repeat;
}
ul#mainmenu li#item_friends.active span.caption{ 
	background: url("../images/item_menu.png") -206px -440px no-repeat;
}

ul#mainmenu li#item_projects a span.caption{
	top:23px;
}

#fullcolumn.kepler ul#mainmenu li a:hover,
#fullcolumn.kepler ul#mainmenu li.active a,
#fullcolumn.kepler a.active{
	text-decoration: none;
}

#fullcolumn.kepler a.info-button:link,
#fullcolumn.kepler a.info-button:visited,
#fullcolumn.kepler a.info-button:active{
	background-image:url("../images/info.png");
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	top:536px;
	left:320px;
	padding-left:19px;
	text-decoration: none;
}
#fullcolumn.kepler.subpage a.info-button:link{
	top:168px;
	left:315px;	
}

#fullcolumn.kepler a.info-button:hover,
#fullcolumn.kepler a.info-button.active{
	background-position: 0 -18px;
}

#fullcolumn.kepler p#release-date{
	font-family: 'EB Garamond', "Times New Roman", Georgia, Serif;	
	position:absolute;
	bottom:0px;	
	text-align: center;	
	float:left;
	width: 481px;
	font-size: 14px;
	line-height: 23px;
	padding-bottom:20px;
	margin-bottom:0;
}
#fullcolumn.kepler p#now-available a:link,
#fullcolumn.kepler p#now-available a:active,
#fullcolumn.kepler p#now-available a:visited{
	font-family: 'EB Garamond', "Times New Roman", Georgia, Serif;	
	position:absolute;
	margin-top:210px;	
	text-align: center;	
	float:left;
	margin-left:150px;
	font-size: 21px;
	padding-bottom:20px;	
}
#fullcolumn.kepler p#now-available,
#fullcolumn.kepler p#release-date{
	margin-bottom:0;
}
#fullcolumn.kepler p#release-date span{
	font-size: 15px;
}
/* Mini-Highligths */

#mini-hightlights{
	padding:0;
	margin:0;
	position: absolute;
	left:544px;
	top:467px;
	width: 400px;
	height: 258px;
	overflow: hidden;
}

.subpage #mini-hightlights{
	top:60px;
	height: 621px;
}
#fullcolumn.kepler #mini-hightlights ul{
	margin-left:1em;
}
#fullcolumn.kepler #mini-hightlights li{
	font-size: 17.5px;
	line-height: 25px;
	margin-bottom:18px;
	list-style-type: square ;
	list-style-image: none;	
}
#fullcolumn.kepler.frontpage #mini-hightlights h2#h2_highlights{
	padding-left:0;
	padding-bottom:0;
	font-size: 20px;
	font-weight: bold;
	background:none;
}
/* Sub pages */
#page-left{
	padding:0 0 0 11px;
	width: 456px;
	position: absolute;
	left: 0;
}

#page-right{
	padding:0 13px 0 0;
	width: 474px;
	position: absolute;
	right: 0;
}
.friends #page-right .page-container{
	padding-top:31px;
}
.friends #page-right{
	height: 768px;
}
.page-container{
	padding:61px 52px;	
}
#fullcolumn.kepler a.nav-button:link,
#fullcolumn.kepler a.nav-button:visited,
#fullcolumn.kepler a.nav-button:active{
	text-indent: 0;
	text-transform: uppercase;
	color:#260303;
	padding:10px 20px;
	font-family: 'EB Garamond',"Times New Roman",Georgia,Serif;
	font-weight: normal;
	position:absolute;
	display: block;	
	font-size: 26px;
	text-decoration: none;
	padding-bottom:20px;
}

#fullcolumn.kepler a.nav-button:hover{
	background: url("../images/item_menu.png") -185px -34px no-repeat;
}
#fullcolumn.kepler a.nav-button.smaller{
	font-size: 15px;
}
#fullcolumn.kepler a.nav-button.smaller.right{
	width:420px;
	text-align:center;
	bottom:0;
	color:#000;
	right:18px;
	z-index: 99;
		font-weight:bold;
	
}
#fullcolumn.kepler a.nav-button.smaller.right:hover{
	font-weight:normal;
	background: none;
}
#fullcolumn.kepler #page-right a.nav-button{
	top:20px;
	right:25px;
}

#fullcolumn.kepler #page-left a.nav-button{
	bottom:-15px;
	left:4px;
}

/* Friends of Kepler */
.ul_highlights li{
	padding-bottom:16px;
	line-height:21px;
}

#h2_highlights{
	background: url("../images/h2_highlights.png") no-repeat;
}
#h2_friends{
	background: url("../images/h2_friends.png") no-repeat;
}
#fullcolumn.kepler #h2_join{
	padding-left:0;
	padding-bottom: 10px;
	padding-top:0px
}
#fullcolumn.kepler h2#h2_twitter{
	background: url("../images/h2_twitter.png") no-repeat;
	background-position:0 19px;
}
#fullcolumn.kepler p.legal{
	display: block;
	position: absolute;
	bottom:70px;
	width: 390px;
	font-size: 11px;
	line-height: 16px;
	margin-bottom:0;
}
#fullcolumn.kepler.whoiskepler p.legal{
	bottom:20px;
}
#friend-scale{
	border: 1px solid #260303;
	position: relative;
	margin-bottom:13px;
}
#friend-scale-level{
	background:#260303;
	height:36px; 
	
}
#friend-scale-count{
	position:absolute;
	right:25px;
	top:10px;
	font-size: 22px;
	color:#260303;
}
.scale-invert #friend-scale-count{
	color:#d9fcfc;
	right: auto;
	left:25px;
}
.button-more{
	display:block;
	margin-bottom:15px;
	text-transform: uppercase;	
}

#ul_donorList li{
	width: 164px;
	display: block;
	float:right;
	white-space: nowrap;
	margin-right:11px;
}

/* Projects */

#fullcolumn.kepler h2#h2_projects{
	padding:0;
	margin-bottom:25px;
}
.projects .page-container{
	padding:31px 27px;
}
.projects #page-right .page-container{
	padding-top:73px;
}
#ul_legend{
	position: absolute;
	top: 38px;
	left:190px;
}
#ul_legend li{
	display: inline;
	padding-left:17px;
	background-repeat: no-repeat;
	background-position: 0 5px;
}
.new{
	background-image: url("../images/legend_new.png");
}
.info{
	background-image: url("../images/legend_info.png");
}

span.download-heading{
	position: absolute;
	right:41px;
	top: 30px;
	font-weight: bold;
	font-size:18px; 
	color:#260303;
}
span.download-heading img{
	padding:0 0 0 6px;
}
#page-left span.download-heading{
	right:27px;

}

dl {
	overflow: hidden;
}
dt {
	float: left;
	padding: 0 .4em 0 0;
	margin: 0;
	font-size: 14px;
	line-height: 20.5px;
}

dt img{
	height: 13px;
	padding-right:3px;
}
dd {
	float: right;
	padding: 0 0 0 .4em;
	margin: 0;
}
/* That's the leader! */
dl:after {
	content: "";
	display: block;
	overflow: hidden;
	height: 10px;
	font-size:5px;
	border-bottom: 0.4em dotted;
}
#fullcolumn.kepler dl a:link,
#fullcolumn.kepler dl a:active,
#fullcolumn.kepler dl a:visited{
	text-decoration: none;
	color:#260303;
}

#fullcolumn.kepler dl a:hover{
	text-decoration: underline;
}

#fullcolumn.kepler a.button:link,
#fullcolumn.kepler a.button:visited {
	font-family: 'EB Garamond',"Times New Roman",Georgia,Serif;
	text-transform: uppercase;
	padding: 3px 6px;	
    font-weight: bold;
    line-height: 1.3em;
    font-weight: normal;
    text-decoration: none;
    display: inline-block;
    color:#260303;
}

#fullcolumn.kepler a.button.bigger:link,
#fullcolumn.kepler a.button.bigger:visited,
#fullcolumn.kepler a.button.bigger:active
{
		font-size:28px;	
		padding-top:0;
		padding-bottom:10px;
		font-weight:bold;				    
}

#fullcolumn.kepler a.button.bigger:hover {
	background:none;
	/*color:#d9fcfc;
	border: 2px solid #d9fcfc;	*/
	background: url("../images/item_menu.png") -198px -303px no-repeat;
}
#fullcolumn.kepler a.button:active {
	position:relative;
	top:1px;
}

.center{
	text-align: center;
}

/* Who is kepler */
#kepler_pic{
	padding:5px 10px 0px 0;
	float:left;
}

#fullcolumn.kepler #h2_kepler{
	padding-left: 0;
}