/*
 * CSS for david.hgbrg.se
 */

@import url('reset.css');

body {
	font-family: Helvetica, Arial;
	font-size: 12px;
	color: #222729;
	line-height: 1.4;
}
.struct {
	display: none;
}

/**
 * frame
 */
	#doc {
		width: 950px;
		margin: 0 auto;
		position: relative;
	}
	#footer {
		clear: both;
	}

/**
 * grids
 */
	/* base construct */
	.g {
		display: inline-block;
		width: 950px;
		clear: both;
	}

	/** two slots (half-half) */
	.g2 > div {
		width: 470px;
	}
	.g .g2 > div {
		width: 220px;
	}
	.g2 .s1 {
		float: left;
	}
	.g2 .s2 {
		float: right;
	}

	/* nested grids */
	.g2 .g {
		width: 450px;
	}

	/** two slots (more-little+little) */
	.g2_2 > div {
		float: left;
	}
	.g2_2 .s1 {
		width: 358px;
		margin-right: 10px;
	}
	.g2_2 .s2 {
		width: 582px;
	}

	/** three slots (little-little-more) */
	.g3 > div {
		float: left;
		margin-right: 10px;
	}
	.g3 > .s1, .g3 > .s2 {
		width: 286px;
	}
	.g3 > .s3 {
		width: 358px;
		margin-right: 0;
	}
	
	/** three slots (third-third-third) */
	.g3_2 > div {
		width: 310px;
		float: left;
		margin-right: 10px;
	}
	.g3_2 > .s3 {
		margin-right: 0;
	}

/**
 * grid styling
 */
	/** standard frame */
	#intro {
		border-bottom: 1px solid #ecece6;
		/* margin-bottom: 35px; */
		padding-bottom: 28px;
		margin-top: 30px;
		padding-top: 40px;
	}
	div#footer {
		border-top: 1px solid #ecece6;
		padding-top: 30px;
		color: #999;
		text-align: right;
		margin-bottom: 10px;
		margin-top: 30px;
	}
	#footer p {
		margin: 0;
	}
	
	/** padding, basically pad everything 10 pxs */
	.s > p, .s > h3, .s > ul, .s > dl, .s > form,
	.g > div > p, .g > div > h3, .g > div > ul, .g > div > dl, .g > div > form {
		padding: 0 10px;
	}

/**
 * navigation
 */
	.nav {
		position: absolute;
		top: 5px;
		right: 0;
	}

/** 
 * text
 */
	a {
		color: #1f7b93;
		text-decoration: underline;
	}
	h1, h2, h3 {
		font-weight: normal;
	}
	h1 {
		position: absolute;
		top: 5px;
	}
	h2 {
		font-size: 14px;
		padding: 2px 10px 0 10px;
		height: 30px;
		line-height: 34px;
		color: #354147;
		margin-bottom: 20px;
		margin-top: 30px;
	}
	h3 {
		text-transform: uppercase;
		font-size: 12px;
		margin: 15px 0 5px 0;
		color: #3c4739;
	}
	h3 a {
		text-transform: none;
	}
	h3:first-child {
		margin-top: 0;
	}
	h3 + p {
		margin-top: 5px;
	}
	.hilite1 {
		background: #dfe3de;
	}
	.hilite2 {
		background: #fce6cb;
	}
	.hilite3 {
		background: #fcf2c1;
	}
	p {
		margin: 15px 0;
	}
	p:last-child {
		margin-bottom: 0;
	}

	/* feed icon */
	.feed {
		background: transparent url(images/feedicon.png) no-repeat 0 0;
		padding-left: 18px !important;
		display: inline-block;
	}

	.hr {
		width: 75%;
		margin: 20px auto;
		border-top: 1px solid #ecece6;
	}
	.hr hr {
		display: none;
	}

	/** dates */
	.d {
		color: #333;
	}

/**
 * lists
 */
	ul {
		margin-left: 20px;
	}
	li {
		margin: 3px 0;
	}
	dt {
		font-weight: bold;
		margin-top: 7px;
		margin-bottom: 1px;
	}
	dt:first-child {
		margin-top: 0;
	}
	li .desc {
		display: block;
		font-style: italic;
	}

/**
 * forms
 */
	form {
		color: #465760;
	}
	label {
		display: block;
		margin-bottom: 2px;
	}
	form p {
		clear: both;
		margin: 15px 0;
	}
	form p:last-child {
		margin-bottom: 0;
	}
	#contact input[type=text] {
		width: 200px;
	}
	#contact textarea {
		width: 336px;
	}
	#contact input#q {
		width: 125px;
		margin-right: 5px;
	}
	form .help {
		font-size: 10px;
	}

/**
 * messages
 */
	div#msg {
		margin: 20px auto 0 auto;
		width: 600px;
	}
	.msg {
		background: #ffd2da;
		padding: 9px 12px;
	}
	#doc div.msg > * {
		padding-left: 0;
		padding-right: 0;
	}
	.msg > *:first-child {
		margin-top: 0;
	}
	.msg > *:last-child {
		margin-bottom: 0;
	}
	.msg h4 + * {
		margin-top: 10px;
	}
	.msg ul {
		margin-left: 20px;
	}
	.msg > * {
		margin: 10px 0;
	}

/**
 * masthead
 */
	#intro p {
		margin-bottom: 0;
		width: 600px;
	}
	#intro p.nav {
		width: auto;
	}

/**
 * running pages
 */
	.old {
		text-decoration: line-through;
	}
	.lowkey dt {
		font-weight: normal;
	}
	dd.broken {
		text-decoration: line-through;
