/*
Theme Name: CMGS
Author: John Kingsnorth
Author URI: http://www.johnkingsnorth.co.uk
Description: Theme for the CMGS website
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

CMGS is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
    ## Posts and pages
	## Asides
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 1.7em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #404040;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 20px;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 20px;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, .8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	color: #111;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"] {
	padding: 3px;
}

textarea {
	padding-left: 3px;
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/

a,
a:hover,
a:focus,
a:active,
a:visited {
	color: #09c;
	text-decoration: none;
	outline: 0;
}

#content a:hover {
  color: #06c;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin: 10px 20px 10px 0px;
}

.alignright {
	display: inline;
	float: right;
	margin: 10px 0px 10px 20px;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/* Search widget. */
.widget_search .search-submit {
	display: none;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Asides
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}

.wp-caption-text {
	text-align: center;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/*
Theme Name: CMGS
Layout: Sidebar-Content
*/

.content-area {
	float: right;
	margin: 0 0 0 -30%;
	width: 100%;
}
.site-main {
  height: 100%;
	margin: 0 0 0 26%;
	padding: 25px 0 0 50px;
	background-color: #fff;
	border-left: 1px solid #ddd;
}
.site-content .widget-area {
	float: left;
	overflow: hidden;
	width: 25%;
	padding-top: 25px;
}
.site-footer {
	clear: both;
	width: 100%;
}

/* Customisations */

@import url(http://fonts.googleapis.com/css?family=Open+Sans);

html {
	font-family: 'Open Sans', sans-serif !important;
}

body {
	min-width: 300px;
}

.site-title {
  font-size: 2rem;
  position: absolute;
  bottom: 0;
  margin: 0;
  background-color: rgba(0,0,0,0.8);
  padding: 5px 25px;
  font-weight: normal;
	color: #fff;
	text-decoration: none;
	transition: background 0.5s;
}

a {
  transition: 0.25s;
}

a:hover .site-title {
	background-color: #09c;
	background-color: rgba(0,102,153,0.8);
}

#content {
}

header.site-header {
  height: 200px;
  background: #111;
  border-bottom: 5px solid #111;
  overflow: hidden;
  position: relative;
}

.header-image {
  display: block;
  margin: 0 auto;
  max-width: none;
}

/* Footer */

footer.site-footer {
	background-color: #111;
	color: #f4f4f4;
	font-size: 14px;
}

footer.site-footer .footer-inner {
	padding: 20px 0;
}

.site-info {
	padding-top: 20px;
	clear: both;
}

.site-footer h2 {
	font-size: 16px;
	margin: 0;
	margin-right: 50px;
	float: left;
}

.site-footer ul {
	margin: 0;
	padding-left: 20px;
	list-style: square;
}

.site-footer ul li {
	float: left;
	margin-right: 50px;
	line-height: 16px;
	padding-top: 5px;
}

/* Sidebar */

/* Navigation */

nav.main-navigation ul {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

nav.main-navigation ul ul {
  margin-left: 20px;
  padding-left: 0;
  list-style: none;
}

nav.main-navigation ul li a:before {
	content: "■";
	color: #333;
	font-size: 10px;
	vertical-align: 15%;
	padding-right: 10px;
	transition: 0.25s;
}

nav.main-navigation ul li.current-menu-item > a:before,
nav.main-navigation ul a:hover:before {
	color: #09c;
}

nav.main-navigation ul li {
  padding: 3px 0;
}

nav.main-navigation ul li a {
	color: #333;
}

nav.main-navigation ul li a:hover {
	border: 0;
	color: #09c;
}

#site-navigation {
  display: block;
}

.sub-menu .menu-item {
	font-size: 14px;
}

/* Mobile navigation */

#mobile-nav-toggle {
  width: 100%;
  height: 50px;
  background-color: #09f;
  cursor: pointer;
}

nav#mobile-navigation {
	margin-left: 20px;
	margin-top: 10px;
	display: none;
}

.mobile-nav-container {
	border-bottom: 1px solid #ccc;
	display: none;
}

.mobile-nav-label {
  color: #fff;
  font-size: 24px;
  width: 200px;
  height: 50px;
  background: url('img/mobile-menu.png') no-repeat left center;
	margin-left: 20px;
	padding-left: 35px;
	line-height: 50px;
}


/* Blocks */

aside .widget-title {
	font-size: 18px;
	/* border-bottom: 1px solid #09c; */
}

aside.widget {
  padding: 1px 20px;
  background: #efefef;
  margin: 0 0 20px 0;
}

#secondary nav {
  padding: 0 20px;
}

/* Page content */

/* Homepage */

.home .entry-content h2 {
  border-bottom: 1px solid #09c;
  clear: both;
}

.home .entry-title {
  display: none;
}

.home .entry-content {
  margin-top: 0;
}

.home .entry-content article {
  margin-bottom: 0;
}

.homepage-intro {
  font-size: 1.17rem;
  padding-top: 25px;
}

/* Teasers */

.teaser-list {
  overflow: hidden;
}

.teaser-thumbnail {
	float: left;
	padding-bottom: 20px;
}

.teaser-content {
	margin-left: 170px;
	overflow: hidden;
}

.teaser-content.no-thumbnail {
	margin-left: 0;
}

.teaser-title {
  margin-top: 0;
  margin-bottom: 10px;
}

.site-content article {
	clear:both;
	overflow: hidden;

}

.archive.category .site-content article {
	border-bottom: 1px solid #ccc;
}

#content a.read-more {
	clear: both;
	float: right;
	background-color: #09c;
	color: #fff;
	padding: 3px 6px;
}


#content a.read-more:hover {
	border-bottom: none;
	background-color: #06c;
	color: #fff;
}

/* Other pages */

p {
  margin-top: 0;
}

.stretch {
  overflow: hidden;
}

.entry-header h1,
.page-header h1 {
  margin-top: 0;
}

h1.page-title,
h1.entry-title {
  border-bottom: 1px solid #09c;
}

.posted-on {
	font-size: 14px;
	color: #777;
	margin-bottom: 10px;
}

.event-date {
	margin-bottom: 10px;
}

/* Media in posts */

article figure {
	clear: both;
}

article figure.alignright {
	margin: 0px 0px 20px 30px;
}

article figure.alignleft {
	margin: 0px 30px 20px 0px;
}

article figcaption {
	font-size: 13px;
	color: #777;
}

/* Collapse images on small screens */
@media only screen and (max-width:539px) {

	article figure {
		float: none !important;
	}

}

/* Contact form */

input {
	max-width: 100%;
}

input.wpcf7-submit,
input.wpcf7-submit:hover {
	background: green;
	box-shadow: none;
	padding: 10px 20px;
	color: white;
	font-size: inherit;
	text-shadow: none;
	transition: 0.25s;
	}

input.wpcf7-submit:hover {
	background: rgb(30, 126, 30);
}

div.wpcf7-response-output {
	margin: 20px 0;
}

/* Galleries */

figure {
  margin: 20px 0;
}

@media only screen and (max-width:600px) {
  figure {
    margin: 10px;
  }
}

#cboxClose,
#cboxContent button {
  box-shadow: none;
}

*:focus {
  outline: none;
}

#colorbox #cboxCurrent {
  border-left: none; 
}

/* Respond */

.responsive-inner {
	margin: 0 auto;
}

/* Super-small, collapse floated images */

@media only screen and (max-width:380px) {

  img.alignright,
  img.alignleft {
    display: block;
    float: none;
    clear: both;
  }

}

/* Mobile/Tablet */
@media only screen and (max-width:759px) {
  
  header.site-header {
	border-bottom: none;
  }
  
  .mobile-nav-container {
	display: block;
  }
  #site-navigation {
    display: none;
  }
  
  .responsive-inner {
  	width: 100%;
  }

  #primary,
  #secondary {
  	width: 100%;
  	float: none;
  }
  
  header.site-header {
	height: 93px;
  }
  
  .site-title {
	font-size: 26px;
	padding: 5px 20px;
  }
  
  .content-area {
    margin: 0;
  }
  
  .site-main,
  .site-content .widget-area  {
    margin: 25px 0 0 0;
	  padding: 0 20px;
  }
  
  footer.site-footer .footer-inner {
		padding: 20px;
  }
  
  .site-footer h2 {
	float: none;
	}

}




/* Mobile only */
@media only screen and (max-width:479px) {

	.teaser-thumbnail {
		float: none;
	}
	.teaser-content {
		margin-left: 0;
	}
	.teaser-title {
		margin-top: 20px;
	}
	
	.site-title {
		height: 100%;
		border-radius: 0;
	}

}

/* Tablet only */
@media only screen and (min-width:760px) and (max-width:979px) {
  
  .responsive-inner {
  	width: 740px;
  }

}

/* Tablet + */
/* Grey background to sidebar */
@media only screen and (min-width:760px) {

  #content {
    background: #ffffff; /* Old browsers */
    background: -moz-linear-gradient(left,  #efefef 0%, #efefef 50%, #ffffff 50%, #ffffff 50%, #ffffff 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#efefef), color-stop(50%,#efefef), color-stop(50%,#ffffff), color-stop(50%,#ffffff), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left,  #efefef 0%,#efefef 50%,#ffffff 50%,#ffffff 50%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left,  #efefef 0%,#efefef 50%,#ffffff 50%,#ffffff 50%,#ffffff 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left,  #efefef 0%,#efefef 50%,#ffffff 50%,#ffffff 50%,#ffffff 100%); /* IE10+ */
    background: linear-gradient(to right,  #efefef 0%,#efefef 50%,#ffffff 50%,#ffffff 50%,#ffffff 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efefef', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
  }

}

/* Large */
@media only screen and (min-width:980px) {
  .responsive-inner {
  	width: 960px;
  }
}

/* Super large 
@media only screen and (min-width:1220px) {
  .responsive-inner {
  	width: 1200px;
  }
}
*/
