@import "base.less";
@import "mixins.less";
@import "var.less";
// Credits: [Golden Grid System](http://goldengridsystem.com/) by [Joni Korpi](http://jonikorpi.com/) licensed under [MIT](http://www.opensource.org/licenses/mit-license.php)
// Important numbers
@column: 100% / 18;
@em: @font-size*1em;
@font-size: 16;
@line: 24;
// Mobile first
body {
background: @white;
color: lighten(@black, 25%);
line-height: @line * 1px;
.normal;
.sans;
}
a{
color: @link;
text-decoration: none;
&:hover{
color: darken(@link, 40%);
text-decoration:underline;
}
}
h1{
.huge;
margin: 0 0 (@line * 1.5px) 0;
.title;
}
h2{
.large;
margin: (@line * 2px) 0 (@line * 1px);
.title;
}
h3{
color: lighten(@black, 60%);
margin: (@line * 1.5px) 0 (@line * 1px);
.normal;
text-transform: uppercase;
.title;
}
h4, h5, h6{
font-weight: 400;
margin: (@line * 1px) 0;
.normal;
.title;
}
b, strong{
font-weight: 700;
}
blockquote{
border-left: (@line / 4px) solid @link;
margin-left: -(@line / 2px);
padding-left: (@line / 4px);
}
pre {
background: lighten(@black, 15%); // If you don't a dark scheme for code, we can't be friends
.box-shadow(inset 0 0 10px @black);
color: @white;
margin-left: -(@line * 1px);
.mono();
padding: (@line * 1px);
.rounded();
}
time{
.small;
text-transform: uppercase;
}
.post ul li{
list-style-image: url('../images/bullet.png'); // or use something less colorful, like list-style-type: square
}
// Archive
.archive li{
list-style: none;
}
.archive a{
border-bottom: 1px dotted lighten(@black, 80%);
display: block;
padding: (@line / 2px) 0;
.transition();
&:hover{
background-color: lighten(@black, 95%);
text-decoration:none;
}
}
.archive time{
color: lighten(@black, 40%);
display: inline;
padding-left: @line / 2px;
}
// jQuery UI tabs (in the archive)
.tabmenu li{
list-style-type: none;
a{
border: 1px solid @link;
.border-box;
display: block;
float: left;
padding: (@line / 2px) 0;
text-align: center;
width: 50%;
&:hover{
text-decoration:none
}
}
&:last-child a{
border-left: none;
}
}
// Make jQuery tabs work (because I don't use the themes's CSS)
.ui-tabs-hide{
display: none;
}
.tabmenu li a:hover, .ui-tabs-selected a, .ui-tabs-selected a{
background-color: lighten(@black, 95%);
}
// Push the button
.btn {
color: @white;
background-color: @color;
border: none;
-webkit-box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25);
-moz-box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25);
box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25);
padding: 8px 14px 10px;
position: relative;
.rounded(3px);
text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
-webkit-user-select: none;
&:hover{
color: @white;
text-decoration: none;
}
&:active {
-webkit-box-shadow: inset 0px -3px 1px rgba(255, 255, 255, 1), inset 0 0px 3px rgba(0, 0, 0, 0.9);
-moz-box-shadow: inset 0px -3px 1px rgba(255, 255, 255, 1), inset 0 0px 3px rgba(0, 0, 0, 0.9);
box-shadow: inset 0px -3px 1px rgba(255, 255, 255, 1), inset 0 0px 3px rgba(0, 0, 0, 0.9);
position: relative;
top: 3px;
}
&:active:after {
content: "";
background: @white;
bottom: -1px;
height: 3px;
left: 0;
position: absolute;
width: 100%;
}
}
// CSS tags
.tag li{
list-style: none;
margin-bottom: @line / 8px;
}
.tag a{
.border-box;
-moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-topright: 4px;
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
color: @black;
background-color: lighten(@link, 50%);
display: block;
margin-left: 20px;
padding: 0 10px 0 12px;
position: relative;
.small;
&:hover{
background-color: lighten(@link, 30%);
text-decoration:none;
}
&:before{
content: "";
border-color: transparent lighten(@link, 50%) transparent transparent;
border-style: solid;
border-width: 12px 12px 12px 0;
float: left;
height: 0;
left: -12px;
position: absolute;
top: 0;
width: 0;
}
&:after{
content: "";
background: @white;
.box-shadow(-1px -1px 2px darken(@link, 50%));
float: left;
height: 4px;
left: 0;
position: absolute;
.rounded(2px);
top: 10px;
width: 4px;
}
&:hover:before {
border-color: transparent lighten(@link, 30%) transparent transparent;
}
}
// Tagcloud
.tag-1 a{width: 100%;}
.tag-2 a{width: 90%;}
.tag-3 a{width: 80%;}
.tag-4 a{width: 70%;}
.tag-5 a{width: 60%;}
.tag-6 a{width: 50%;}
.tag-7 a{width: 40%;}
.tag-8 a{width: 30%;}
// Header
header{
.border-image(0 0 2px, 0 0 2, '../images/2px.png', repeat); // It's a very small detail, delete this line if you want different colors and don't want to edit the image file
.gradient(@color, darken(@color, 6%));
margin-bottom: (@line * 2px);
padding: (@line * 1px) @column;
h1{
margin: 0;
}
a{
color: fade(@white, 80%);
text-decoration: none;
// The 3d effect is kind of silly, so go ahead and delete the following lines xD
text-shadow:
0 1px 0 lighten(@black, 70%),
0 2px 0 lighten(@black, 60%),
0 3px 0 lighten(@black, 50%),
0 4px 0 lighten(@black, 40%),
0 5px 0 lighten(@black, 30%),
0 6px 0 lighten(@black, 20%),
0px 7px 0 lighten(@black, 10%),
0 8px 7px lighten(@black, 5%);
&:hover{
color: @white;
text-decoration:none;
}
}
}
// Footer
footer{
.border-image(20px 0 0, 20 0 0, '../images/pages.png', repeat); // Again, it's a detail. I used border-image to be able to use a gradient or background color for the footer, but now it's white
color: fade(@black, 60%);
margin-top: (@line * 4px);
padding: (@line * 2px) @column (@line * 1px);
}
.nav{
margin-bottom: (@line * 1px);
li{
list-style: none;
display: inline;
padding-right: 10px;
}
a{
.transition();
}
}
p[role="contentinfo"]{
.small;
}
.social{
margin-bottom: @line * 1px;
li{
list-style: none;
display: inline;
padding-right: @line / 2px;
}
}
.icon{
margin-right: 2px;
vertical-align: -3px;
}
.social a[href*='behance.net']:before {content: url('../images/icons/behance.png'); .icon;}
.social a[href*='delicious.com']:before {content: url('../images/icons/delicious.png'); .icon;}
.social a[href*='facebook.com']:before {content: url('../images/icons/facebook.png'); .icon;}
.social a[href*='flickr.com']:before {content: url('../images/icons/flickr.png'); .icon;}
.social a[href*='forrst.com']:before {content: url('../images/icons/forrst.png'); .icon;}
.social a[href*='github.com']:before {content: url('../images/icons/github.png'); .icon;}
.social a[href*='plus.google.com']:before {content: url('../images/icons/google_plus.png'); .icon;}
.social a[href*='last.fm']:before {content: url('../images/icons/lastfm.png'); .icon;}
.social a[href*='linkedin.com']:before {content: url('../images/icons/linkedin.png'); .icon;}
.social a[href*='quora.com']:before {content: url('../images/icons/quora.png'); .icon;}
.social a[href*='rss.xml']:before {content: url('../images/icons/rss.png'); .icon;}
.social a[href*='stackoverflow.com']:before {content: url('../images/icons/stackoverflow.png'); .icon;}
.social a[href*='twitter.com']:before {content: url('../images/icons/twitter.png'); .icon;}
.social a[href*='youtube.com']:before {content: url('../images/icons/youtube.png'); .icon;}
// Four-column grid active
// ----------------------------------------
// Margin | # 1 2 3 4 | Margin
// 5.55555% | % 25 50 75 100 | 5.55555%
.wrapper {
.border-box;
padding: 0 (@line/2)/@em;
}
.content{
margin:0 @column;
}
.meta{
background: lighten(@black, 98%);
margin-top: @line * 2px;
padding-bottom: (@line * 1px);
padding-top: (@line * 1px);
.rounded();
time{
font-weight: 700;
margin-left: 20px;
margin-bottom: @line * 1px;
}
}
.tag li{
display: block;
float: left;
width: 50%;
}
blockquote, pre, .post ul, .post ol, p, .archive{
margin: 0 0 (@line * 1px) 0;
}
.main + .main{
margin-top: (@line * 4px);
}
// Eight-column grid active
// ----------------------------------------------------------------------
// Margin | # 1 2 3 4 5 6 7 8 | Margin
// 5.55555% | % 12.5 25.0 37.5 50.0 62.5 75.0 87.5 100 | 5.55555%
// @media screen and (min-width: 720px)
@media screen and (min-width: 45em) {
header .wrapper{
float: right;
width: 75%;
}
.meta, .pages{
float: left;
text-align: right;
width: 25%;
}
.meta{
background: @white;
margin-top: 0;
padding-top: 24px + (@line * 1.5px); // h1 font-size + margin-bottom
time{
margin-bottom: (@line * 1px);
margin-left: 0;
font-weight: 400;
}
}
.post, .copy, .main{
float: right;
width: 75%;
}
.tag li{
float: none;
width: 100%;
}
.nav a:hover{
padding-right: (@line / 4px); // If prefer your links to remain still, delete this nonsense
}
.nav a:hover:after{
content: "\2192 ";
}
.nav li{
display: block;
padding-right: 0;
}
.archive time{
.border-box;
display: block;
float: left;
width: 100/4%; // target 1 columns, context 4 columns
}
}
// @media screen and (min-width: 888px)
@media screen and (min-width: 55.5em) {
pre, .post > p, .post blockquote, .post ul, .post ol{
width: 400/6%; // target 4 columns, context 6 columns
}
.main{
float: none;
margin-left: 25%;
width: 50%;
}
}
// @media screen and (min-width: 984px)
@media screen and (min-width: 61.5em) {
.meta, .pages{
width: 12.5%;
}
.pages{
padding-top: 0;
}
.meta{
padding-top: 24px + (@line * 1.5px);
}
}
// Sixteen-column grid active
// ----------------------------------------------------------------------------------------------------------------------
// Margin | # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Margin
// 5.55555% | % 6.25 12.5 18.75 25.0 31.25 37.5 43.75 50.0 56.25 62.5 68.75 75.0 81.25 87.5 93.75 100 | 5.55555%
// @media screen and (min-width: 1872px)
@media screen and (min-width: 117em) {
body{
.large;
}
header{
margin-bottom: (@line * 4px);
}
footer{
margin-top: (@line * 6px);
}
h1{
.gigantic;
margin-bottom: (@line * 2px);
}
h2, header .huge{
.massive;
}
h2{
margin-top: (@line * 3px);
}
h3{
.huge;
margin-top: (@line * 3px);
}
h4, h5, h6{
.large;
margin-top: (@line * 2px);
}
.meta, .pages{
padding-left: 6.25%;
width: 18.75%;
}
.meta{
padding-top: 48 * 2px;
}
.post, .copy{
width: 75%;
}
.post{
padding-right: 12.5%;
}
.post ul{
margin-bottom: 0;
}
.post li{
margin-bottom: (@line * 1px);
}
code, .codehilite{
line-height: 1.5;
.massive;
}
pre, .post > p, .post blockquote, .post ul, .post ol{
width: 600/10%; // target 4 columns, context 6 columns
}
}
// @media screen and (min-width: 2080px)
@media screen and (min-width: 130em) {
body {
max-width: 2560/@em;
}
}
@media print{
@import "print.less";
}
@import "codehilite.less";