/*********
Typography
*********/

body {
	font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #3C3C3C;
}

p, ul, ol, table, h1, h2, h3, h4, h5, h6 {
	margin: 20px 0;
}

h1, h2, h3, h4, h5, h6 {
	color: #000000;
	margin-top: 40px;
}

ul li {
	list-style-type: disc;
}

ol li {
	list-style-type: lower-alpha;
}

/* We don't want nested lists or tables to have their own margin */
ul ul, ol ol, table table {
	margin-top: 0;
	margin-bottom: 0;
}

a {
	color: #005BB8;
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
}

/**********************************************
Clearfix, to contain floated elements
http://nicolasgallagher.com/micro-clearfix-hack
**********************************************/

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

/***
Page
***/

body {
	background-color: #e5e8e9;
	background-image: url(../images/background.png);
	background-repeat: repeat-x;
	background-position: 0px 93px;
}

h2 {
	font-size: 30px;
}

h3 {
	font-size: 26px;
}

.center {
	text-align: center;
}

a.printer {
	float: right;
	font-size: 13px;
}

a.printer img {
	vertical-align: top;
}

.topinfo {
	padding: 40px;
}

/*****
Header
*****/

div.header {
	background-color: white;
	border-bottom: 1px solid #bbbbbb;
}

div.header-inner {
	width: 960px;
	margin: 0 auto;
	padding: 20px 0;
}

div.enquiry {
	float: right;
	line-height: 53px;
	font-size: 16px;
}

div.enquiry img {
	vertical-align: middle;
}

@media all and (max-width: 960px){
	div.header-inner {
		width: auto;
		text-align: center;
		padding: 20px 10px;
	}
	
	div.enquiry {
		float: none;
		text-align: center;
		line-height: inherit;
		padding-top: 10px;
	}
}

/****
Blurb
****/

div.blurb {
	width: 960px;
	margin: 20px auto;
	border-radius: 10px 10px 0 0;
	background-color: #15377e;
	background-image: url(../images/samples.jpg);
	background-repeat: no-repeat;
}

div.blurb-text {
	float: right;
	width: 320px;
	height: 300px;
	padding: 0 20px;
	box-sizing: border-box;
}

div.blurb-text h3 {
	color: white;
	margin-top: 20px;
	font-weight: 300;
}

div.blurb-text p {
	color: white;
}

@media all and (max-width: 960px){
	div.blurb {
		width: auto;
		background-image: none;
		margin: 20px 10px;
	}
	
	div.blurb-text {
		width: auto;
		height: auto;
	}
}

/****************
Information Boxes
****************/

div.boxes {
	width: 960px;
	margin: 20px auto;
}

div.box1,
div.box2 {
	overflow: hidden;	
	float: left;
	background-color: white;
	border-radius: 10px 10px 0 0;
	width: 470px;
	box-sizing: border-box;
	border: 1px solid #bbbbbb;
}

div.box1 {
	margin-right: 20px;
}

div.boxes h3 {
	font-size: 20px;
	margin-top: 0;
	background-color: #C9D5EF;
	padding: 5px 20px;
	color: #15377e;
	font-weight: 600;
}

div.boxes ul {
	padding-right: 20px;
}

div.boxes li {
	margin-bottom: 10px;
}

@media all and (max-width: 960px){ 
	div.boxes {
		width: auto;
	}
	
	div.box1,
	div.box2 {
		width: auto;
		float: none;
		margin: 20px 10px;
	}
}

/***
Tabs
***/

p.tabs {
	margin: 20px auto 0 auto;
	width: 960px;
	margin-bottom: -1px;
}

p.tabs a {
	display: inline-block;
	color: black;
	padding: 6px 8px;
	border-radius: 10px 10px 0 0;
	margin-right: 5px;
	border-top: 1px solid #bbb;
	border-left: 1px solid #bbb;
	border-right: 1px solid #bbb;
	background-color: #bbb;
	background: transparent linear-gradient(#fff, #bbb) repeat scroll 0% 0%;
	outline: none; /* Hide the dotted line wihch appears after a tab has been clicked */
}

p a#active-tab {
	background: white;
	border-top: 2px #4c732a solid;
	border-radius: 0;
}

@media all and (max-width: 960px){ 
	p.tabs {
		width: auto;
		margin: 20px 10px 0 10px;
	}
	
	/* Transform the tabs into separate buttons on small screens, so we don't get odd "floating" tabs on multiple rows */
	p.tabs a,
	p a#active-tab {
		border-radius: 10px;
		margin-bottom: 5px;
		border-bottom: 1px solid #bbb;
	}
}

/*************
Tab containers
*************/

div[class^=tab] {
	background-color: white;
	width: 960px;
	margin: 0 auto 20px auto;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 0 10px 0 0;
	border: 1px solid #bbb;
}

div[class^=tab] h3 {
	margin: 0;
}

div.tab2, 
div.tab3, 
div.tab4, 
div.tab5, 
div.tab6, 
div.tab7, 
div.tab8, 
div.tab9 {
	display: none; /* Initially hide everything except the "Cereals" prices, as expected by our Javascript */
}

@media all and (max-width: 960px){ 
	div[class^=tab] {
		width: auto;
		margin: 0 10px 20px 10px;
	}
}

/***********
Price tables
***********/

table {
	width: 100%;
	border-left: 1px solid #9BC27B;
	border-bottom: 1px solid #9BC27B;
	border-top: 1px solid #9BC27B;
	margin-top: 0;
	margin-bottom: 40px;
}

th {
	padding: 4px;
	text-align: left;
	background-color: #4c732a;
	color: #ffffff;
	border-right: 1px solid #9BC27B;
	vertical-align: middle;
}

td {
	padding: 8px 4px;
	border-right: 1px solid #9BC27B;
	vertical-align: top;
}

tr th:last-child {
	border-right: 1px solid #9BC27B;
}

tr th:nth-child(3),
tr th:nth-child(4),
tr th:nth-child(5),
tr td:nth-child(3),
tr td:nth-child(4),
tr td:nth-child(5) {
	width: 100px;
	text-align: center;
}

tr.cropsection td {
	border-top: 1px solid #9BC27B;
	font-size: 16px;
	text-align: center;
	font-weight: bold;
}

tr td:first-child:not([colspan="2"]){
	font-weight: bold;
	color: grey;
	border-right-width: 0;
}

div.info {
	background-color: #ffff8b;
	padding: 5px;
}

abbr[title] {
    text-decoration: none;
    border-bottom: 1px dotted #3C3C3C;
}

span.info {
    background-color: #ffff8b;
}

@media all and (max-width: 550px){ 
	th,
	td {
		font-size: 13px; /* Make the table text smaller at narrow widths, so it's not cutoff on mobile devices */
	}
}

@media all and (max-width: 700px){ 
	tr th:nth-child(3),
	tr th:nth-child(4),
	tr th:nth-child(5),
	tr td:nth-child(3),
	tr td:nth-child(4),
	tr td:nth-child(5){
		width: auto; /* Remove the fixed-column width on small screens to save a bit of extra space */
	}
}

/*****
Footer
*****/

div.footer {
	background-color: #252525;
	color: rgb(220,220,220);
}

div.footer-inner {
	width: 960px;
	margin: 0 auto;
}

@media all and (max-width: 960px){ 
	div.footer-inner {
		width: auto;
		padding: 10px;
	}
}