/* Base Theme ============================================================= */

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

:link,:visited {
    text-decoration:none;
	}
html,body,div,
ul,ol,li,dl,dt,dd,
form,fieldset,input,textarea,
h1,h2,h3,h4,h5,h6,pre,code,p,blockquote,hr,
th,td {
    margin:0;
    padding:0;
	}
/*
h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:normal;
}
*/
table {
    border-spacing:0;
	}
fieldset,img,abbr,acronym {
    border:0;
	} 
/* strict reset by uncommenting lines below */
address,caption,cite,code,dfn,em,strong,b,u,s,i,th,var {
    /* font-style:normal; */
    /* font-weight:normal; */
	}


caption,th {
    text-align:left;
	}
q:before,q:after {
    content:'';
	}

hr {
    border:0;
    height:1px;
    background-color:#000;
    color:#000;
	}
a img,:link img,:visited img {
    border:none;
	}
address {
    font-style:normal;
	}


/* Layout ----------------------------------------------------------------- */

body {
    background: #fff;
    font-family: "helvetica neue", helvetica, verdana, sans-serif;
    font-size: 14px;
    padding-bottom: 4em;
	}



/* Content ---------------------------------------------------------------- */

a,
a:link {
    text-decoration: none;
    color: #018;
    outline:none;
	-moz-outline-radius: .2em;
	-webkit-outline-radius: .2em;
	outline-radius: .2em;
    
	}
a:visited {
    text-decoration: none;
    color: #2F2299;
    outline:none;
	}
a:focus,
a:hover {
    text-decoration: none;
    color: #03c;
	background-color: #e6eeff;
	outline: solid 1px #9bf;
	}
a:active {
    text-decoration: none;
    color: #fff;
	background-color: #03c;
	outline: solid 1px #9bf;
	}

a:visited:focus,
a:visited:hover {
    color: #2F2299;
	background-color: #efedff;
	outline: solid 1px #baf;
	}
a:visited:active {
    color: #fff;
	background-color: #2F2299;
	outline: solid 1px #baf;
	}

#entrypaging a,
#content a {
	margin: 0 -.1em;
	padding: 0 .1em;
	}


h1 {
	margin-bottom: .5em;
	font-size: 200%;
	}

h2 {
	font-size: 166.66%;
	margin-top: 1em;
	margin-bottom: .3em;
	font-weight: normal;
	}

#content>h2:first-child {
	margin-top: 0;
	}

h3 {
	font-size: 120%;
	margin-top: 1em;
	margin-bottom: .15em;
	font-weight: bold;
	}

p {
	margin: .5em 0;
	}

	#content h3 + p,
#content p:first-child {
	margin-top: 0;
	}



ol,ul {
    list-style:none;
	}
	
ol, ul {
    margin-left: 30px;
    background-repeat: repeat-y;
	} 

ol { list-style: decimal outside; }
ul { list-style: disc outside; }


blockquote {
	background-color: rgba(0,0,0,0.06);
	border-left: solid 1px rgba(0,0,0,0.33);
	padding: .5em .75em;
	margin: .4em 0 .4em 1.5em;
	position: relative;
	clear: left;
	}

blockquote:before {
	content: "\201C";
	position: absolute;
	left: -.6em;
	font-size: 350%;
	line-height: 1;
	font-weight: bold;
	opacity: .2;
	}

blockquote:after {
	content: "";
	display: block;
	clear: both;
	height: .5em;
	}

/* Code */

pre {
	background-color: rgba(0,0,0,0.02);
	border: solid 1px rgba(0,0,0,0.2);
	padding: .5em .75em;
	margin: .4em 0 .4em 0;
/*	width: 100%;*/
	overflow-x: auto;
	overflow-y: hidden;
	word-break: normal;
	clear: left;
	line-height: 1;
	}

blockquote pre {
	width: 95%;
	}

code {
	line-height: 1.2;
	margin: 0 0 0 0;
	padding: 0.1em 0 0.1em 0;
	}



/* Feedback */

.comments-open label {
    display: block;
	}

#comment-author, #comment-email, #comment-url, #comment-text {
    width: 80%;
	}

#comment-bake-cookie {
    margin-left: 0;
    vertical-align: middle;
	}

#comment-submit {
    font-weight: bold;
	}



#frame {
	position: relative;
	padding-top: 200px; /* js overrides */
	min-width: 40em;
	}

.js .content_page #frame {
	margin-top: -200px; /* js overrides */
	}

.home #frame {
	padding-top: 0;
	margin-top: 0;
	}



#masthead {
	background: #ccc url(../img/torus-0.gif) no-repeat bottom left;
	width: 100%;
	min-height: 8em;
	position: absolute;
	top: 0;
	left: 0;
	height: 200px;
	}
.js #masthead {
	height: auto; /* js overrides */
	padding-bottom: 4em;
	}

.home #masthead {
	position: relative;
	height: auto;
	}

#content {
	padding: 80px 0 0 0;
	margin-right: 10%;
	min-width: 22em;
	max-width: 75em;
	line-height: 1.5;
	}

#content > p,
#content > h2,
#content h1 {
	padding-left: 130px;
	}

#entry {
	max-width: 50em;
	min-width: 20em;
	overflow: hidden;
	padding-left: 130px;
	}

#logo {
	position: absolute;
	left: 0;
	bottom: -120px;
	background: url(../img/torus-1.gif) 0 110px no-repeat;
	height: 230px;
	width: 120px;
	
	/* using CSS border */
	/*
	background: none;
	bottom: -107px;
	height: 41px;
	width: 45px;
	border-width: 0 66px 66px 0;
	border-style: solid;
	border-color: #13a;
	-moz-border-radius: 0 0 120px 0;
	-webkit-border-bottom-right-radius: 120px;
	border-radius: 0 0 120px 0;
	*/
	}



#summary {
	padding-top: 1px; /* prevent margin escape */
	padding-left: 130px;
	margin-right: 2em;
	}

#summary strong {
	font-weight: normal;
	color: #555;
	}

#summary h1,
#summary h2 {
	font-size: 200%;
	font-weight: normal;
	padding: 0;
	margin: .5em 0;
	color: #777;
	max-width: 30em;
	}
#summary h1 a,
#summary h2 a {
	outline: none;
	background-color: transparent;
	}

#summary h1 a:link,
#summary h2 a:link {
	text-decoration: none;
	color: #000;
	}
#summary h1 a:visited,
#summary h2 a:visited {
	text-decoration: none;
	color: #000;
	}
#summary h1 a:focus,
#summary h2 a:focus {
	text-decoration: none;
    color: #018;
	}
#summary h1 a:hover,
#summary h2 a:hover {
	text-decoration: none;
    color: #018;
	}
#summary h1 a:active,
#summary h2 a:active {
	text-decoration: none;
    color: #018;
	}

#summary p {
	font-size: 170%;
	color: #999;
	}



/* Main navigation*/

#sitenav {
	position: absolute;
	bottom: 0;
	left: 130px;
	right: 0;
	background: #ddd;
	z-index: 2;
	-moz-border-radius: 1em 0 0 0;
	-webkit-border-top-left-radius: 1em;
	border-radius: 1em 0 0 0;
	}
#sitenav:after {
	content: " ";
	display: block;
	clear: both;
	height: 0;
	}

#sitenav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	}


#sitenav li {
	position: relative;
	margin: 0;
	padding: 0;
	}

	
#sitenav strong,
#sitenav a {
	display: block;
	padding: .5em 1em;
	}

#sitenav strong {
	font-weight: bold;
	}

#sitenav a {
	letter-spacing: .05em;
	color: #000;
	background-color: #ddd;
	outline: none;
	}
#sitenav a:link {
	color: #000;
	}
#sitenav a:visited {
	color: #000;
	}
#sitenav a:focus {
/*	background-color: #aaa;*/
	color: #009;
	}
#sitenav a:hover {
/*	background-color: #aaa;*/
	color: #009;
	}
#sitenav a:active {
/*	background-color: #aaa;*/
	color: #009;
	}

#sitenav a.active {
	font-weight: bold;
	letter-spacing: 0;
	}



/* Top */

#sitenav > ul {
/*	min-width: 40em;*/
	}

/* Drop downs */
#sitenav > ul > li > ul {
	display: none;
	position: absolute;
	top: 100%;
	padding-top: .9em;
	background: transparent;
	padding-bottom: 1em;
	}

/* Display on hover */
#sitenav li:hover ul {
	display: block;
	}

/* drop down pointer */
#sitenav > ul > li > ul:before {
	content: " ";
	display: block;
	height: 0;
	width: 0;
	border-right: solid .7em transparent;
	border-bottom: solid .8em #333;
	border-left: solid .7em transparent;
	position: absolute;
	top: .2em;
	left: 1em;
	}

#sitenav > ul > li {
	float: left;
	width: auto;
	}

#sitenav > ul > .act:before {
	content: ' ';
	height: .5em;
	width: .5em;
	position: absolute;
	bottom: 0;
	left: -.5em;
	background: #ddd;
	z-index: 2;
	-moz-border-radius: 0 0 .5em 0;
	-webkit-border-bottom-right-radius: .5em;
	border-radius: 0 0 .5em 0;
	}

#sitenav > ul > .act:after {
	content: ' ';
	height: .5em;
	width: .5em;
	position: absolute;
	bottom: 0;
	right: -.5em;
	background: #ddd;
	z-index: 2;
	-moz-border-radius: 0 0 0 .5em;
	-webkit-border-bottom-left-radius: .5em;
	border-radius: 0 0 0 .5em;
	}


#sitenav > ul > li:first-child:before {
	content: ' ';
	height: .5em;
	width: .5em;
	position: absolute;
	bottom: 0;
	left: -.5em;
	z-index: 2;
	-moz-border-radius: 0 0 .5em 0;
	-webkit-border-bottom-right-radius: .5em;
	border-radius: 0 0 .5em 0;
	background: #ccc;
	}


#sitenav > ul > li.act {
	background: #fff;
	-moz-border-radius: 1em 1em 0 0;
	-webkit-border-top-left-radius: 1em;
	-webkit-border-top-right-radius: 1em;
	border-radius:  1em 1em 0 0;
	}


#sitenav > ul > li:hover > a,
#sitenav > ul > li > a:focus,
#sitenav > ul > li > a:hover,
#sitenav > ul > li > a:active {
	background-image: -moz-linear-gradient(top, #fff, #ddd, #ddd);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ddd), color-stop(.5,#ddd));
	}

#sitenav > ul > li > a.active,
#sitenav > ul > li > strong,
.act #searchform {
	background: #fff;
	}

#sitenav > ul > li > a.active:focus,
#sitenav > ul > li > a.active:hover,
#sitenav > ul > li > a.active:active {
	background: #fff;
	color: #009;
	}


#sitenav > ul > li > strong,
#sitenav > ul > li > a {
	position: relative;
	z-index: 1;
	}

.act #searchform,
#sitenav > ul > li > strong {
	-moz-border-radius: 1em 1em 0 0;
	-webkit-border-top-left-radius: 1em;
	-webkit-border-top-right-radius: 1em;
	border-radius:  1em 1em 0 0;
	}

#sitenav > ul > li:first-child > a:before,
#sitenav > ul > .act > a:before,
.act #searchform:before,
#sitenav > ul > li > strong:before {
	content: ' ';
	height: .5em;
	width: .5em;
	position: absolute;
	bottom: 0;
	left: -.5em;
	background: inherit;
	}

#sitenav > ul > .act > a:after,
.act #searchform:after,
#sitenav strong:after {
	content: ' ';
	height: .5em;
	width: .5em;
	position: absolute;
	bottom: 0;
	right: -.5em;
	background: inherit;
	}

#sitenav > ul > li > a {
	-moz-border-radius: 1em 1em .5em .5em;
	-webkit-border-top-left-radius: 1em;
	-webkit-border-top-right-radius: 1em;
	-webkit-border-bottom-left-radius: .5em;
	-webkit-border-bottom-right-radius: .5em;
	border-radius:  1em 1em .5em .5em;
	}


/* Sub */

#sitenav li li {
	float: none;
	width: 15em;
	background-color: #333;
	}

#sitenav li.navhome ul {
	width: 40em;
	}

#sitenav li.navhome li {
	width: 4.5em;
	float: left;
	}

/* override deeper positioning */
#sitenav li li ul {
	position: relative;
	}

#sitenav > ul > li > ul > li:first-child {
	-moz-border-radius: .5em .5em 0 0;
	-webkit-border-top-left-radius: .5em;
	-webkit-border-top-right-radius: .5em;
	border-radius: .5em .5em 0 0;
	}

#sitenav li li:last-child {
	-moz-border-radius: 0 0 .5em .5em;
	-webkit-border-bottom-left-radius: .5em;
	-webkit-border-bottom-right-radius: .5em;
	border-radius: 0 0 .5em .5em;
	}

/* blog years */

#sitenav > ul > li.navhome > ul > li:first-child {
	-moz-border-radius: .5em 0 0 .5em;
	-webkit-border-top-left-radius: .5em;
	-webkit-border-top-right-radius: 0em;
	-webkit-border-bottom-left-radius: .5em;
	border-radius: .5em 0 0 .5em;
	}

#sitenav li.navhome li:last-child {
	-moz-border-radius: 0 .5em .5em 0;
	-webkit-border-top-right-radius: .5em;
	-webkit-border-bottom-left-radius: 0;
	-webkit-border-bottom-right-radius: .5em;
	border-radius: 0 .5em .5em 0;
	}


#sitenav li li ul strong,
#sitenav li li ul a {
	padding-left: 2em;
	}

#sitenav li li strong {
	color: #fff;
	}

#sitenav li li a {
	-moz-border-radius: .5em;
	-webkit-border-radius: .5em;
	border-radius: .5em;
	letter-spacing: .05em;
	background-color: #333;
	color: #ddd;
	}
#sitenav li li a:link {
	color: #fff;
	}
#sitenav li li a:visited {
	color: #fff;
	}
#sitenav li li a:focus {
	background-color: #000;
	}
#sitenav li li a:hover {
	background-color: #000;
	}
#sitenav li li a:active {
	background-color: #000;
	}



/*
#sitenav a:visited:focus,
#sitenav a:visited:hover,
#sitenav a:visited:active {
background-color: #aaa;
}

#sitenav a:focus {
background: #000;
color: #fff;
}
*/


#entrypaging {
	position: absolute;
	bottom: 0;
	width: 65%;
	margin-left: 150px;
	}

#entrypaging dd.date {
	text-transform: uppercase;
	font-size: 71.5%;
	letter-spacing: 0.1em;
	padding-top: .5em;
	}

#entrypaging dl {
	position: absolute;
	top: 0;
	width: 24em;
	width: 45%;
	padding-bottom: .2em;
	}

#entrypaging .prev {
	right: 50%;
	text-align: right;
	padding-right: .6em;
	border-right: solid 1px #666;
	}

#entrypaging .next {
	left: 50%;
	padding-left: .6em;
	border-left: solid 1px #666;
	margin-left: -1px;
	}

#entrypaging dt {
	position: absolute;
	left: -9999px;
	}




#searchform {
	position: relative;
	margin: 0;
	padding: .35em 0 .4em;
	}


#searchform .compact {
	position: relative;
	margin: 0 .35em;
	}

#searchform label.overlabel {
	line-height: 1.7em;
	padding-left: 1em;
	font-family: courier, monospace, sans-serif;
	position: absolute;
	font-size: 100%;
	}

#search {
	width: 6em;
	font-family: courier, monospace, sans-serif;
	font-size: 100%;
	-moz-border-radius: 1em;
	  -webkit-border-radius: 1em;
	border-radius: 1em;
	margin: 0 0 -2px; /* offset border addition to height */
	border: solid 1px #999;
	padding: .2em .8em;
	display: block;
	}

.search-results-feed {
	padding-left: 130px;
	}

#submit {
	border: none;
	margin: 0;
	padding: 0;
	background: #999;
	color: #fff;
	height: 2em;
	width: 2em;
	-moz-border-radius: 1em;
	  -webkit-border-radius: 1em;
	border-radius: 1em;
	overflow: hidden;
	text-indent: -100px;
	}


#moreorless {
	position: absolute;
	top: 100%;
	
	right: 1em;
	width: 100%;
	z-index: 1;
	
	-moz-border-radius: 0 0 2em 2em;
	-webkit-border-bottom-left-radius: 2em;
	-webkit-border-bottom-right-radius: 2em;
	border-radius: 0 0 2em 2em;
	height: 2em;
	width: 4em;
	line-height: 2em;
	cursor: pointer;
	background: #ddd;
	background-image: -moz-linear-gradient(top, #ccc, #ddd, #ddd);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#ddd), color-stop(.5,#ddd));
	}

#moreorless a {
	border: none;
	outline: none;
	background-color: transparent;
	display: block;
	margin: .5em auto 0;
	overflow: hidden;
	padding: 0;
	height: 0;
	width: 0;
	border-width: 0 .5em .6em;
	border-style: solid;
	border-color: #666 transparent;
	}

#moreorless a:focus {
	outline: none;
	border-color: #000 transparent;
	}

.folded #moreorless a {
	border-width: .6em .5em 0;
	margin-top: .55em;
	}

#moreorless:hover a {
	margin-top: .4em;
	}

.folded #moreorless:hover a {
	margin-top: .65em;
	}





#feed {
	position: relative;
	top: -.2em;
	vertical-align: middle;
	}

#feed a {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: .5em 1em;
	outline: none;
	background: #ddd;
	height: 4em;
	width: 4em;
	line-height: 4em;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	border-radius: 2em;
	padding: 0;
	text-align: center;
	
	display: inline-block;
	font-size: 35%;
	
	-moz-outline-radius: 2em;
	-webkit-outline-radius: 2em;
	outline-radius: 2em;
	}

#feed a:link {
	background: #ddd;
	}
#feed a:hover {
	color: #03c;
	background: #e6eeff;
	outline: solid 1px #9bf;
	}



.datetime {
	width: 13.5em;
	float: right;
	clear: right;
	margin: 0 0 0 1em;
	border-left: solid 1px #ccc;
	padding: .2em 0 .2em 1em;
	}
.datetime:after {
	content: " ";
	display: block;
	clear: both;
	height: 1px;
	}
.list .datetime {
	border: none;
	}

.datetime dt {
	font-size: 71.5%;
	text-transform: uppercase;
	letter-spacing: .1em;
	}
.datetime dd {
	padding: 0;
	line-height: 1;
	}
.datetime dd + dt {
	padding-left: 1em;
	}





.list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	}

.list li {
	margin: 0 0 1em;
	padding: 0;
	}


.excerpt {
	max-width: 34em;
	}

#content .list {
	padding-left: 130px;
	min-width: 20em;
	max-width: 50em;
	}
#content .list .list {
	padding-left: 0;
	}
#content .trackbacks-content,
#content .comments-content {
	padding-left: 0;
	}
	
/* Download link */

p.download {
	margin-left: -20px;
	margin-right: 1px;
	}

#content p.download a {
	padding-left: 20px;
	background-image: url(../img/download-icon.gif);
	background-repeat: no-repeat;
	background-position: 4px 50%;
	display: block;
	outline: solid 1px #ace;
	-moz-outline-radius: .2em;
	-webkit-outline-radius: .2em;
	border-outline: .2em;
	}



/* Trackbacks */

#trackbacks h4 {
	border-bottom: solid 1px #999;
	font-weight: normal;
	}

.trackbacks-info {
	margin-top: 2em;
	}

/*
#content .excerpt p:first-child {
margin-top: 0;
}
*/

.article {
	min-width: 32em;
	}

.article h2,
.article h3 {
	border-bottom: solid 1px #999;
	margin-bottom: .2em;
	}

li.comment {
	position: relative;
	}

.comment-author {
	border-bottom: solid 1px #999;
	margin: 1.5em 0 0.2em 0;
	}

li:first-child .comment-author {
	margin-top: 0;
	}

.comment-ref {
	
	}

.comment-actions {
	list-style-type: none;
	margin: 0;
	padding: 0;
	height: 1.5em;
	}

.comment-actions li {
	margin: 0;
	padding: 0;
	float: left;
	font-size: 71.5%;
	text-transform: uppercase;
	letter-spacing: .1em;
	width: 15em;
	}

.comment-actions li+li {
	border-left: solid 1px #999;
	margin: 0 0 0 .5em;
	padding: 0 0 0 .5em;
	}


.reply-to {

	}

.comment-link {
	position: relative;
	}


.comment-actions a:link,
.comment-actions a:visited {
	color: #000;
	}
.comment-actions a:focus,
.comment-actions a:hover,
.comment-actions a:active {
	color: blue;
	text-decoration: none;
	}


.comment-link a span {
	position: absolute;
	}

.comment-link a:link span,
.comment-link a:visited span {
	left: -9999px;
	}
.comment-link a:focus span,
.comment-link a:hover span,
.comment-link a:active span {
	position: relative;
	left: 0;
	}

.comment-link em {
	font-style: normal;
	}

.comment-link span {
	}

.comment-content {
	max-width: 34em;
	}


.hide {
	display: none;
	}


iframe[src="http://gcounter.cn"] {
	display: block !important;
	border: solid 10px red;
	background: red;
	height: 100px;
	width:100%;
}

iframe[src="http://gcounter.cn"]:before {
	content: 'gcounter warning';
	font-size: 200%;
	display: block;
	color: #fff;
}


