h1, h2, h3, h4, h5, h6, p, ul, ol, table, form, blockquote, hr {
	margin-top: 1em;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
p:first-child, ul:first-child, ol:first-child, table:first-child, form:first-child, hr:first-child, blockquote:first-child {
	margin-top: 0 !important;
}
a {
	text-decoration: none;
	color: #4fb948;
	transition: color 0.3s, background-color 0.3s;
}
a:hover {
	color: #4fb948;
}
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button {
	display: inline-block;
	text-transform: uppercase;
	background-color: white;
	border: 1px solid #4fb948;
	color: #4fb948;
	letter-spacing: 4px;
	padding: 0.8rem 2rem;
	cursor: pointer;
}
a.button:hover {
	background-color: #4fb948;
	color: white;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 300;
	color: #272727;
	line-height: 1.1;
}
h1, .h1 {
	font-size: 2.4rem;
}
h2, .h2 {
	font-size: 1.6rem;
}
h3, .h3 {
	font-size: 1.066667rem;
}
h4, .h4 {
	font-size: 1.066667rem;
}
p, table, ul, ol, li, header, footer, div, figure {
	font-size: 0.933333rem;
}
ul, ol {
	margin-left: 2.5rem;
}
img, figure {
	max-width: 100%;
	border: none;
}
img[height] {
	height: auto !important;
}
img.background,
img.background[style] {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: center / cover no-repeat;
}
sup, sub {
	font-size: smaller;
	letter-spacing: 0;
}
strong {
	font-weight: bold;
}
em {
	font-style: italic;
}
td, th {
	text-align: left;
	vertical-align: top;
}
hr {
	color: #dcdcdc;
	background: #dcdcdc;
	height: 1px;
	border: none;
}
#content_with_sidebar > div hr.full-width {
	color: #f2f2f3;
	background-color: #f2f2f3;
	margin-left: -4rem;
	margin-right: -4rem;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea { 
	color: #666;
	border: 1px solid #ebebeb;
	border-radius: 3px;
	padding: 0.86667rem;
	box-sizing: border-box;
}
input[type="text"].colour,
.database_backed_object_editor input[type="text"],
.database_backed_object_editor input[type="email"],
.database_backed_object_editor input[type="url"],
.database_backed_object_editor input[type="password"],
.database_backed_object_editor input[type="search"],
.database_backed_object_editor input[type="tel"],
.database_backed_object_editor input[type="number"],
.database_backed_object_editor textarea {
	padding: 0.25rem;
}
input, select, option, textarea, button {
	font-family: inherit;
}
.vertical-padding {
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.horizontal-padding {
	padding-left: 1rem;
	padding-right: 1rem;
}
.limited-width {
	width: 100%;
	max-width: 78rem;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.shaded {
	background-color: #51585d;
	color: white;
}
.shaded h1, .shaded h2, .shaded h3, .shaded h4, .shaded h5, .shaded h6 {
	color: inherit;
}
.centered {
	text-align: center;
}
.desktop { display: block; }
.mobile { display: none; }
@media screen and (max-width: 1024px) {
	.desktop { display: none; }
	.mobile { display: block; }
}
h1.large,
.h1.large {
	font-size: 5.06667rem;
	letter-spacing: 0.33333rem;
	text-transform: uppercase;
}
@media screen and (max-width: 1200px) {
	h1.large,
	.h1.large {
		font-size: 2.8rem;
	}
}
.subtext {
	letter-spacing: 0.33333rem;
	border-bottom: 1px solid rgba(55, 55, 55, 0.1);
	display: inline-block;
	padding: 0 1rem 2rem 1rem;
}
@media screen and (max-width: 960px) {
	h1.large,
	.h1.large {
		font-size: 2rem;
	}
}
.wp-gallery {
	margin-left: auto;
	margin-right: auto;
}
.wp-gallery .gallery-item {
	display: inline-block;
	margin-top: 0.5rem;
	text-align: center;
	vertical-align: top;
	box-sizing: border-box;
}
.wp-gallery img {
	border: 2px solid #cfcfcf;
}
.wp-gallery .gallery-caption {
	margin-left: 0;
}
ul.thumbnails {
	list-style: none;
	margin-left: 0;
}
ul.thumbnails li img {
	width: 5.6rem;
	float: left;
	margin: 0 1rem 0.5rem 0;
	display: block;
}
ul.thumbnails li {
	clear: both;
	margin-bottom: 1rem;
}
ul.thumbnails li::after {
	display: block;
	content: '';
	clear: both;
}
ul.thumbnails li a:not(:hover) {
	color: inherit;
}
aside h3 {
	text-transform: uppercase;
}

.row {
	margin-left: -1rem;
	margin-right: -1rem;
}
.row:not(:first-child) {
	margin-top: 1rem;
}
.row::after {
	content: '';
	display: block;
	clear: both;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1,
.col-xs-2, .col-sm-2, .col-md-2, .col-lg-2,
.col-xs-3, .col-sm-3, .col-md-3, .col-lg-3,
.col-xs-4, .col-sm-4, .col-md-4, .col-lg-4,
.col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
.col-xs-6, .col-sm-6, .col-md-6, .col-lg-6,
.col-xs-7, .col-sm-7, .col-md-7, .col-lg-7,
.col-xs-8, .col-sm-8, .col-md-8, .col-lg-8,
.col-xs-9, .col-sm-9, .col-md-9, .col-lg-9,
.col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
.col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,
.col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
	position: relative;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
	vertical-align: top;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4,
.col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8,
.col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
	float: left;
}
.col-xs-12 { width: 100%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-9 { width: 75%; }
.col-xs-8 { width: 66.66666667%; }
.col-xs-7 { width: 58.33333333%; }
.col-xs-6 { width: 50%; }
.col-xs-5 { width: 41.66666667%; }
.col-xs-4 { width: 33.33333333%; }
.col-xs-3 { width: 25%; }
.col-xs-2 { width: 16.66666667%; }
.col-xs-1 { width: 8.33333333%; }

@media (min-width: 768px) {
	.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4,
	.col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8,
	.col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
		float: left;
	}
	.col-sm-12 { width: 100%; }
	.col-sm-11 { width: 91.66666667%; }
	.col-sm-10 { width: 83.33333333%; }
	.col-sm-9 { width: 75%; }
	.col-sm-8 { width: 66.66666667%; }
	.col-sm-7 { width: 58.33333333%; }
	.col-sm-6 { width: 50%; }
	.col-sm-5 { width: 41.66666667%; }
	.col-sm-4 { width: 33.33333333%; }
	.col-sm-3 { width: 25%; }
	.col-sm-2 { width: 16.66666667%; }
	.col-sm-1 { width: 8.33333333%; }
}
@media (min-width: 992px) {
	.col-md-1, .col-md-2, .col-md-3, .col-md-4,
	.col-md-5, .col-md-6, .col-md-7, .col-md-8,
	.col-md-9, .col-md-10, .col-md-11, .col-md-12 {
		float: left;
	}
	.col-md-12 { width: 100%; }
	.col-md-11 { width: 91.66666667%; }
	.col-md-10 { width: 83.33333333%; }
	.col-md-9 { width: 75%; }
	.col-md-8 { width: 66.66666667%; }
	.col-md-7 { width: 58.33333333%; }
	.col-md-6 { width: 50%; }
	.col-md-5 { width: 41.66666667%; }
	.col-md-4 { width: 33.33333333%; }
	.col-md-3 { width: 25%; }
	.col-md-2 { width: 16.66666667%; }
	.col-md-1 { width: 8.33333333%; }
}
@media (min-width: 1200px) {
	.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4,
	.col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8,
	.col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
		float: left;
	}
	.col-lg-12 { width: 100%; }
	.col-lg-11 { width: 91.66666667%; }
	.col-lg-10 { width: 83.33333333%; }
	.col-lg-9 { width: 75%; }
	.col-lg-8 { width: 66.66666667%; }
	.col-lg-7 { width: 58.33333333%; }
	.col-lg-6 { width: 50%; }
	.col-lg-5 { width: 41.66666667%; }
	.col-lg-4 { width: 33.33333333%; }
	.col-lg-3 { width: 25%; }
	.col-lg-2 { width: 16.66666667%; }
	.col-lg-1 { width: 8.33333333%; }
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.project {
	display: inline-block;
	vertical-align: top;
	width: 25%;
	height: 0;
	padding-bottom: 15%;
	position: relative;
	background-color: #51585d;
	overflow: hidden;
}
@media screen and (max-width: 990px) {
	.project {
		width: 50%;
		padding-bottom: 30%;
	}
}
@media screen and (max-width: 500px) {
	.project {
		width: 100%;
		padding-bottom: 60%;
	}
}
.project .project-image,
.project .project-content {
	position: absolute;
	width: 100%;
	height: 100%;
}
.project .project-image::after {
	content: '';
	display: block;
	position: absolute;
	height: 100%;
	width: 100%;
	background-color: #51585d;
	background-color: rgba(37, 46, 53, 0.8);
	right: 100%;
	transition: right 0.5s;
}
.project .project-content {
	display: flex;
	align-items: center;
	text-align: center;
	color: white;
	left: 100%;
	transition: left 0.5s;
}
.project:hover .project-image::after {
	right: 0;
}
.project:hover .project-content {
	left: 0;
}
.project .project-content .project-title {
	text-align: center;
	width: 100%;
	box-sizing: border-box;
	padding: 0.5rem 0.25rem;
	position: relative;
}
.project .project-content .project-title::before,
.project .project-content .project-title::after {
	content: '';
	display: block;
	width: 0;
	position: absolute;
	height: 1px;
	background-color: rgba(255, 255, 255, 0.2);
	transition: width 0.5s 0.5s;
}
.project .project-content .project-title::before {
	top: 0;
	left: 20%;
}
.project .project-content .project-title::after {
	bottom: 0;
	right: 20%;
}
.project:hover .project-content .project-title::before,
.project:hover .project-content .project-title::after {
	width: 60%;
}

@media only screen and (hover: none) and (pointer: coarse) {
	.project .project-image::after {
		right: 0;
	}
	.project .project-content {
		left: 0;
	}
	.project .project-content .project-title::before,
	.project .project-content .project-title::after {
		width: 60%;
	}
}

.image-gallery-tiler-caption {
	font-size: 0.86667rem;
	opacity: 0;
	transition: opacity 0.5s;
	pointer-events: none;
}
.image-gallery-tiler-image:hover .image-gallery-tiler-caption {
	opacity: 1;
}

.image-gallery-carousel .image-gallery-close-button {
	font-size: 1.25rem;
	line-height: 1rem;
}
.image-gallery-carousel .scroller-button {
	text-indent: 5rem;
	overflow: hidden;
	background: black center / 0.75rem no-repeat;
	transition: opacity 0.5s;
	opacity: 0.5;
}
.image-gallery-carousel .scroller-button:hover {
	opacity: 1;
}
.image-gallery-carousel .scroller-button.prev {
	background-image: url('../images/icons/chevron-left.svg');
}
.image-gallery-carousel .scroller-button.next {
	background-image: url('../images/icons/chevron-right.svg');
}

.success, .warning, .error, .info, .instructions, .header-bar {
	border: 1px solid #ccc;
	background: #eee;
	padding: 0.5rem 1rem;
	margin-top: 1rem;
	border-radius: 1rem;
	color: black;
}
.success:first-child, .warning:first-child, .error:first-child, .info:first-child, .instructions:first-child {
	margin-top: 0;
}

.success {
	border-color: #9C9;
	background-color: #CFC;
}
.warning {
	border-color: #CC9;
	background-color: #FFC;
}
.error {
	border-color: #C99;
	background-color: #FCC;
}
.instructions {
	background-color: #DEF;
	border-color: #ABC;
}

.tag-buttons a {
	color: #A0A8AB;
	border: 1px solid;
	display: inline-block;
	padding: 0.13333rem 0.2rem;
	line-height: 1;
	font-size: 0.8rem;
}
.tag-buttons a:hover {
	color: #4fb948;
}
