/*
Theme Name: DPA Contractors
Theme URI: https://www.dpacontractors.co.uk/
Author: Fifteen IT
Author URI: http://fifteenit.co.uk
Version: 1
*/

/*----- Reset -----*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,

table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; 
	padding: 0;
	border: 0;
	font-size: 12pt;
	font: inherit;
	vertical-align: baseline;
	line-height:1.2;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	background:#228b22;
}
ol, ul {
	list-style: none;
}
li {
	list-style:outside;	
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

strong {
	font-weight:700;
}	

img {
	max-width:100%;
	height:auto;	
}

em {
	font-style:italic;	
}

/*----- Start of site styles -----*/

	.sitewrapper {
		position:relative;	
		background:#fff;
	}
	
	.body {
		overflow:hidden;
	}

/* fonts */

	h1,h2,h3,h4,.site-description, h1 a, h2 a, h3 a, h4 a {
		font-weight:700;
    	font-family: 'Fjalla One', sans-serif;
		text-rendering: optimizeLegibility;
	}
	
	body,html,span,p,h5,h6,h7,h8,h9,a, textarea {
		font-family: 'Open Sans', sans-serif;
		text-rendering: optimizeLegibility;
	}
	
	h1, h1 a {
		font-size:24pt;
	}
	
	h2,h2 a {
		font-size:20pt;	
	}
	
	h3,h3 a {
		font-size:18pt;	
	}
	
	h4,h4 a {
		font-size:16pt;	
	}
	
	h5, h5 a {
		font-size:14pt;	
	}
	
	strong {
		font-weight:bold;	
	}
	
	a {
		color:#444;
		text-decoration: none;
		transition: all ease 0.4s;
	}
	
	a:hover, a:focus {
		color:#228b22;
	}
		
	
/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #eee;
	clip: auto !important;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* General elements */

	.content {
		max-width:80%;
		height:auto;
		position:relative;
		margin:0 auto;	
		transition: all ease 0.4s;
	}
	
	.flexwrapper {
		display:flex;
	}
	
	.flex-wrap {
		flex-wrap:wrap;	
	}
	
	.alignmiddle {
		align-items:center;	 
	}
	
	.spacebetween {
		justify-content:space-between;	
	}
	
	.flex-size-even {
		flex:1;	
	}
	
	.column {
		flex-direction:column;
		min-height:150px;
		justify-content: center;
	}
	
	.even {
		flex:1 0 150px;
		padding:0 12pt;
		box-sizing:border-box;
	}
	
	.even:first-of-type {
		padding-left:0;	
	}
	
	.even:last-of-type {
		padding-right:0;	
	}
	
	input[type="text"], input[type="email"], select, textarea, input[type="number"], input[type="tel"], input[type="password"] {
		border: 1px solid #ccc;
		border-radius: 4px;
		box-sizing: border-box;
		display: inline-block;
		font-size: 10pt;
		margin: 6pt 0;
		padding: 6pt;
		width: auto;
		font-size:10pt;
		max-width: 100%;
	}	
	
	.field {
		display:block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 400px !important;
	}
	
	.list-item {
		margin-bottom:8pt;	
		margin-left:12pt;
	}
	
	.section {
		position:relative;	
	}
	
	.section-title {
		font-size:40pt;
		margin-bottom:12pt;	
		text-align:center;
	}
	
	.subtitle {
		margin-bottom:12pt;	
	}
	
	.bordertop {
		border-top:thin solid;	
	}
	
	.borderbottom {
		border-bottom:thin solid;	
	}
	
	.borderleft {
		border-left:thin solid;	
	}
	
	.borderright {
		border-right:thin solid;	
	}
	
	.button {
		background:#333;	
		border:solid thin #333;
		color:#fff;
		padding:12pt;
		margin: 24pt 0;
		display:inline-block;
		transition:all ease 0.3s;
		cursor:pointer;
	}
	
	.button:hover, .button:focus {
		background:#228b22;
		color:#fff;
	}
	
	.wpcf7-not-valid-tip {
		padding-top:12pt !important;
		font-weight:bold !important;
		color: #333 !important;	
	}
	
	.content p {
		line-height:1.5em;
		margin-bottom:12pt;	
	}
	
	.content p:last-of-type {
		margin-bottom:0;	
	}
	
	.body .content li {
		margin-left:12pt;
		margin-bottom:12pt;
	}
	
	.body .title {
		padding-bottom:12pt;	
	}

/* Header */

	.topbar {
		background:#333;
	}
	
	.topbar .content {
		display:flex;
		justify-content:space-between;
	}
	
	.topbar .content > div {
		display:flex;	
	}
	
	.topbar a {
		color:#fff;
		padding:6pt;
		border-right:solid thin #666;
	}
	
	.topbar a:first-of-type {
		/*padding-left: 0;*/
	}
	
	.topbar a:last-of-type {
		border-right:none;
	}
	
	.topbar .fas {
		margin-right:4pt;	
	}
	
	.topbar .social a:hover, .topbar .social a:focus {
		background:#666;
	}
	
	
/* Main header */

	.header {
		background:#fff;
		z-index:100;
		position:sticky;
		top:0;	
	}
	
	.logo {
		align-items:center;
		flex-wrap:wrap;	
	}
	
	.logo img {
		padding:6pt 0;	
		max-height:130px;
		max-width:130px;
		height:auto;
		width:auto;
	}
	
	.logo .site-description {
		text-transform:uppercase;
		font-weight:bold;	
		max-width:180px;
		margin-left:12pt;
		color:#228b22;
	}
	
/* Menu */

	.header-menu ul {
		display:flex;	
		justify-content:flex-end;
		align-items:center;
	}
	
	.header-menu a {
		display:block;
		padding:12pt;
		position:relative;
		font-weight:bold;
	}
	
	.header-menu a:hover,.header-menu a:focus {
		color:#666;	
	}
	
	.header-menu .current-menu-item a {
		color:#228b22;	
	}
	
/*	.header-menu a:after {
		content:' ';
		position:absolute;
		display:block;
		bottom:0;
		height:2px;
		border-color:#666666;
		border-right:solid 2px;
		border-bottom:solid 2px;
		transition:width 0.3s ease 0s, height 0.3s ease 0s;
		opacity:0;
		width:0;
	}
	
	.header-menu a:before {
		content:' ';
		position:absolute;
		display:block;
		top:-2px;
		left:2px;
		border-color:#666666;
		border-left:solid 2px;
		border-top:solid 2px;
		transition:width 0.3s ease 0s, height 0.3s ease 0s;
		opacity:0;
		width:0;
	}
*/	
	.header-menu a:hover:after, .header-menu a:focus:after {
		width:24px;
		height:24px;
		opacity:1;
		right:0;
		bottom:0;
	}
	
	.header-menu a:hover:before, .header-menu a:focus:before {
		width:24px;
		height:24px;
		opacity:1;
		left:0;
		top:0;
	}

	.mainnavwrapper {
		background:#333;
		color:#fff;	
	}
	
	.mainnavwrapper .mainnavmenu ul {
		display:flex;
		justify-content:center;
		align-items:center;		
	}

	.menu li {
		list-style:none;	
		position:relative;
	}
	
	.mainnavwrapper li {
		border-right: solid thin #666;
	}
	
	.mainnavwrapper a {
		display:block;
		color:#fff;	
		padding:12pt;
	}
	
	.mainnavwrapper li:last-of-type {
		border-right:none;
	}
	
	.mainnavwrapper a:hover, .mainnavwrapper a:focus {
		background:#228b22;
	}
	
	.mainnavwrapper .current-menu-item a {
		background:#228b22;
	}
	
	.mainnavmenu .menu > li > .sub-menu {
		position:absolute;
		top:100%;
		z-index:999;
		max-width:200px;
		border: thin solid #ddd;
		border-bottom: 0 !important;
		border-top: 0 !important;
	}
	
	.mainnavmenu .menu > li > .sub-menu > li > a {
		color:#228b22;	
	}
	
	.mainnavmenu .menu > li:hover > .sub-menu, .mainnavmenu .menu > li:focus > .sub-menu {
		/*max-height:500px;*/
		border-bottom: thin solid #ddd !important;
		border-top: thin solid #ddd !important;
	}
	
	.mainnavmenu .menu > .menu-item-has-children {
		
	}
	
	.mainnavmenu	.sub-menu li {
		max-height:0;
		display:block;
		overflow:hidden;
		transition: all 200ms ease-in;
		background:#fff;
		width:100%;
	}
	
	.mainnavmenu li .sub-menu li a:hover, .mainnavmenu li .sub-menu li a:focus {
		background: #ddd;
	}
	
	.mainnavmenu .menu > li:hover > .sub-menu > li,  .mainnavmenu .menu > li:focus > .sub-menu > li {
		max-height:100vh;
		height:auto;
	}
	
	.shiftnav-toggle {
		display:none !important;	
	}
	
	.shiftnav-nav .sub-menu {
		padding-left: 12pt !important;
	} 
		
	.shiftnav .sub-menu .current-menu-item {
		margin-left: -12pt !important;
		padding-left: 12pt !important;
	}
	
	
/* General block styles */

	.bgcenter {
		background-position:center;	
	}
	
	.bgleft {
		background-position:left;	
	}
	
	.bgright {
		background-position:right;	
	}
	
	.bgtop {
		background-position:top;	
	}
	
	.bgbottom {
		background-position:bottom;	
	}
	
	.section-background {
		background-size:cover;	
	}
	
	.scroll {
		background-attachment:scroll;	
	}
	
	.fixed {
		background-attachment:fixed;	
	}
	
	
/* Block Specific */

	.divider {
		width:100px;
		height:10px;
		background:#228b22;	
		margin:12pt auto 12pt 0 !important;
	}
		
/* Standard Block */

	.block-section {
		padding:24pt 0;	
	}
	
	.block-section.overlay-nopad {
		padding:0;	
	}
	
	.block-section .overlay-content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	
	.block-section .overlay {
		padding:48pt;	
	}
	
	.block-section .divider  {
		margin: 0 auto 12pt !important;	
	}

	
/* Shortcode Block */

	.shortcode {
		padding:24pt 0;	
	}
	
	.shortcode .divider {
		margin: 0 auto 24pt !important;	
	}
	
	.shortcode .flexslider {
		background:none;	
	}
	
	.shortcode .flexslider .slides img {
		width:auto !important;
		margin:0 auto 24pt;	
	}
	
	.shortcode .flexslider .flex-control-nav {
		bottom:-12pt !important;	
	}
	
/* Split Column */

	.splitcontent {
		flex:1;	
	}
	
	.splitcontent-content {
		padding:24pt;	
	}

	
/* Display Brands */

	.brands {
		padding:24pt 0;	
	}
	
	.brands .section-content {
		flex:1 0 25%;	
		box-sizing:border-box;
		padding:0 12pt;
	}
		
	.brandsflexslider li {
		list-style:none;	
	}
	
	.brand-images {
		display:flex;	
		padding:0 12pt;
	}
	
	.brand-images > img {
		flex:1 1 200px;	
		box-sizing:border-box;
		padding:6pt;
	}
	
/* Image Slider */

	.flexslider {
		margin: 0 !important;
		border: 0 !important;
	}
	
	.flex-direction-nav {
		height: 0;
	}

	.flex-control-nav {
		width: 100%;
		position: absolute;
		bottom: 12pt !important;
		text-align: center;
		z-index: 20 !important;
	}
	
	.image-slide {
			position:relative;
	}
	
	.image-slide .content {
		position: absolute;
		top: 24pt;
		bottom: 24pt;
		left: 0;
		right: 0;
		display:flex;
		box-sizing: border-box;
		overflow: hidden;
	}
	
	.slide-overlay p {
		display:block;
		margin-bottom:3px;
		padding: 12pt 0;
		box-sizing:border-box;
	}
	
	.slide-title, .slide-content {
		padding:12pt;	
	}
	
	.slide-title {
		text-transform:uppercase;	
		font-weight:bold;
		display:block;
	}
		
	.top-left {
		justify-content:flex-start;
		align-items:flex-start;	
	}
	
	.top {
		justify-content:center;
		align-items:flex-start	
	}
	
	.top-right {
		justify-content:flex-end;
		align-items:flex-start;	
	}
	
	.left {
		justify-content:flex-start;
		align-items:center;	
	}
	
	.center {
		justify-content:center;
		align-items:center;	
	}
	
	.right {
		justify-content:flex-end;
		align-items:center;	
	}
	
	.bottom-left {
		justify-content:flex-start;
		align-items:flex-end;	
	}
	
	.bottom {
		justify-content:center;
		align-items:flex-end;	
	}
	
	.bottom-right {
		justify-content:flex-end;
		align-items:flex-end;	
	}
	
/* Multiple Columns */

	.multiple-columns {
		padding:24pt 0 ;
	}
	
	.multiple-columns .content > div {
		padding: 48pt 0;	
	}
			
	.columnwrapper {
		flex:1;	
		box-sizing:border-box;
		padding: 24pt 12pt;
	}
	
	.column-title {
		font-weight:400;	
		margin-bottom:12pt;
	}
	
	.columnwrapper p {
		margin-bottom:12pt;	
	}
	
/* CTA Section */

	.cta-section {
		padding:24pt 0;	
	}
	
	.cta-wrapper {
		margin-bottom:-24pt;	
	}
	
	.cta-section .section-title {
		margin-bottom:0;	
	}
	
/* Gallery */

	.gallery {
		padding:24pt 0;	
	}
	
	.fancybox-slides {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		align-items:center;	
	}
	
	.fancybox-wrapper {
		padding: 0 12pt 24pt;
	}
	
	/* display Contact form section */
	
	.display-contact {
		padding-top:24pt;	
	}
	
	.contact-form-wrapper {
		padding-bottom:12pt;	
	}
	
	.contact-form-fill .wpcf7-form {
		display:flex;	
		flex-wrap:wrap;
	}
	
	.contact-form-fill input, .contact-form-fill textarea {
		width:100% !important;	
		max-width:100% !important;
		margin:0;
	}
	
	.contact-form-fill .full-width {
		flex:1 1 100%;	
	}
	
	.contact-form-fill .half-width {
		flex:1 1 50%;
		padding-right:12pt;	
		box-sizing:border-box;
	}
	
	.contact-form-fill .half-width:last-of-type {
		padding-right:0;
		padding-left: 12pt;
	}
	
	.contact-form-fill .third-width {
		flex:1 1 30%;	
		padding-left:12pt;
		padding-right:12pt;
	}
	
	.contact-form-fill .third-width:first-of-type {
		padding-left:0;
	}

	.contact-form-fill .third-width:last-of-type {
		padding-right:0;
	}
	
	.contact-form-fill input[type=checkbox]{
		margin-right:6pt;	
		width:auto !important;
	}
	
	.contact-form-fill .field {
		max-width: 100% !important;	
		column-count:2;
	}
	
	.contact-form-fill .field .wpcf7-list-item {
		display:block;	
		padding-top:12pt;
	}
	
	.wpcf7-acceptance label > * {
		width: auto !important;
	}
	
	.contact-method label > * {
		width:auto !important;
		margin-top:12pt !important;	
	}
	
	.contact-method .wpcf7-list-item {
		margin: 0 12pt 0 0;	
	}
	
	.interest .wpcf7-list-item {
		display:block;	
		padding-bottom:12pt;
		margin:0;
	}
	
	.interest .wpcf7-list-item:last-of-type {
		padding-bottom:0;
	}
	
	.interest .wpcf7-list-item input[type="checkbox"] {
		width:auto !important;	
	}
	
	[data-class="wpcf7cf_group"], .wpcf7cf_remove, .wpcf7cf_add {
		width:100%;	
	}
	
	.contact-form-center .wpcf7-form input, .contact-form-center .wpcf7-form textarea {
		margin: 0 auto 12pt;
	}
	
	.contact-form-center .full-width {
		max-width:400px;
		margin:0 auto;	
	}
	
	.contact-form-center .full-width > * {
		max-width:400px !important;	
		display:block;
		margin: 0 auto 12pt;
	}
	
	span.wpcf7-list-item {
		margin: 0 12pt 0 0 !important;	
	}
	
	/* Contact Details display section */
	
	.contact-details-wrapper {
		text-align:center;	
	}
	
	.contact-details-wrapper a {
		font-size:18pt;
		padding:12pt;	
	}
	
	.contact-details-wrapper .value {
		display:inline-block;	
	}
	
/* Tabs Section */

	.tabswrapper {
		padding-bottom:24pt;	
	}

	.tab-menu {
		display:flex;
		flex-wrap:wrap;
		margin-bottom:24pt;	
	}
	
	.tab-menu li {
		margin-right:1px;	
		border-radius:3px !important;
		border:solid 2px #ddd;
		list-style:none;
	}
	
	.tab-menu li a {
		display:block;
		padding:12pt;	
	}
	
	.tabs-columns {
		margin:0 -12pt;	
	}
	
	.tab-column {
		flex:1;	
		padding: 0 12pt;
	}
	
	.tab-title {
		margin-bottom:24pt;	
	}
	
	.tabcontent {
		padding:24pt;	
	}
	
	.tabcontent ul, .tabcontent ol {
		padding-left:12pt;
	}
	
	.tabcontent  li {
		background:none !important;	
		border:none !important;
		margin-bottom:12pt;
	}
	
	.the-tab-content {
		padding-top:24pt;	
	}
	
	.tab-content-1 {
		padding-top:0;	
	}
	
	.content ol {
		padding-left:18pt;	
	}
	
	.content ol li {
		list-style:decimal;	
	}
	
/* Image Only */

	.image-only img {
		display:block;	
	}
	
/* Bullet List */

	.bullet-list {
		padding:24pt 0;	
	}
	
	.overlay {
		padding:24pt;	
	}
	
	.bullet-list .section-title {
		text-align:center;	
	}
		
	.list-cross {
		content: "\f057";
		color: #c81b1d;
	}
	
	.list-tick li::before {
		content: "\f058";
		color: #82c91e;
	}
	
	.list-tick li::before, .list-cross li::before  {
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
		margin-right: 12pt;
		font-size: 1.5em;
		vertical-align: middle;
	}
	
	.list-tick li, .list-cross li {
		list-style: none;
	}
	
/* Testimonials */

	.testimonial {
		padding-bottom:24pt;
	}
	
	.responsive-slider article.testimonial {
		box-sizing:border-box;
		padding: 0 12pt;
	}
	
	.responsive-slider .testimonial .quote-content, .responsive-slider .testimonial-title {
		padding: 0;
	}
	
	.responsive-slider .testimonial .quote-content::before, .responsive-slider .testimonial .quote-content::after {
		top:0;
		position:relative;
		font-size:36pt;
	}
	
	 .responsive-slider .testimonial .quote-content::after {
		content:initial; 
	 }
	
	.testimonial-title {
		margin-top:24pt;	
	}
	
	.testimonial-thumb {
		flex: 0 0 250px;	
		box-sizing:border-box;
		padding-right:24pt;
	}
	
	.quote-content {
		position:relative;
		padding: 0 24pt;	
	}
	
	.quote-content:before, .quote-content:after {
		font-size:50pt;	
		position:absolute;
		top:-6pt;
	}
	
	.quote-content:before {
		content:"\201C";
		left:0;
	}
	
	.quote-content:after { 
		content:"\201D";
		right:0;
	}
	
	.title-block {
		padding: 0 24pt;	
	}
	
/* News */

	.index {
		padding-bottom:24pt;	
	}

	.post-archives {
		padding-right:24pt;	
	}
	
	.post-archive-heading {
		text-align:center;	
	}
	
	.post-wrapper {
		align-items:flex-start;
		justify-content:flext-start;
		flex-wrap:wrap;
		max-width: calc(80% + 24pt);
	}	
		
	.post-entry {
		padding:24pt 0 0;
		flex: 0 0 300px;
		box-sizing:border-box;
		margin:0 12pt;
	}
	
	.post-archive-thumb img {
		max-width:100%;
		height:auto;
		margin-bottom:12pt;	
	}
	
	.post-entry-content {
		border:solid thin #ddd;
		padding:12pt;
	}
	
	.post-entry-content p {
		margin-bottom:6pt;	
	}
	
	.post-entry-content p:last-of-type {
		margin-bottom:0;
	}
	
	.moretag {
		display:block;
		margin-top:6pt;
		color:#228b22;	
	}
	
	.post-archive-header {
		margin-bottom:12pt;	
	}
	
	.post-archive-title a, .post-archive-title {
		font-size:18pt;	
		text-align:center;
	}
	
	.post-meta-date {
		display:block;
		
		padding-top:12pt;
	}	
	
	.moretag {
		font-weight:bold;	
	}
	
	.single-post {
		padding:24pt 0;	
	}
	
	.post p {
		margin-bottom:12pt;	
	}
	
	.post-thumb {
		margin: 0 auto 24pt;
		text-align:center;
	}
	
	.post-title {
		text-align:center;	
		margin-bottom:24pt;
		color:#228b22;
	}

	.post-date {
		margin-bottom:12pt;
		display:block;	
	}

	/* .postflexwrapper, .post-listing, .testimonial-listing {
		justify-content:space-around;
		flex-wrap:wrap;
		align-items:center;
	} */
	
	.responsive-slider {
		width:100%;	
	}
	
	.responsive-slider article.post {
		border:solid thin #ddd;
		margin:0 12pt;
	}
		
	.responsive-slider .post-shortcode-thumb img {
		padding-bottom:24pt;	
		margin: 0 auto;	
	}
	
	.responsive-slider .post header {
		margin-bottom:12pt;	
	}
	
	.responsive-slider .post-title, .responsive-slider .post-title a {
		font-size:18pt;	
		margin-bottom:0;
	}
	
	.responsive-slider .post p:last-of-type {
		margin-bottom:0;	
	}
	
	.postflexwrapper > div {
		flex:1 250px;
	}
	
	.post-listing > div {
		padding:0 12pt;
	}

	.post-listing a {
		font-weight: 700;
	}
	
	.post-listing a:hover, .post-listing a:focus {
		color:#228b22;	
	}
	
	.post-listing li {
		list-style:none;	
	}
	
	.slick-track
	{
		display: flex !important;
	}
	
	.slick-slide
	{
		/*height: inherit !important;*/
	}
	
	.slick-slide .content li {
		margin-left: 0;
		margin-bottom: 0;
	}
	
	.slick-dots {
		bottom: 12pt !important;	
	}
			
	.slick-dots li button::before {
		font-size:8pt !important;	
	}
	
	.slick-slide img {
		min-height:100px;	
	}
	
	.slick-prev {
		left:12pt !important;	
		z-index:1;
	}
	
	.slick-next {
		right:12pt !important;	
	}
	
	.slick-prev::before, .slick-next::before {
		font-size:24pt !important;
	}
	
	.slick-dots li button::before {
		color:white !important;	
	}
		
	#post-page .flexwrapper {
		justify-content:center;
	}
	
	.newsthumb {
		max-width:100%;
		margin-bottom:24pt;	
	}
	
	.post-thumb img, .newsthumb img {
		max-width:100%;
		height:auto;	
	}
	
	.featured-post-listing {
		padding-right:24pt;	
	}
	
	.featured-post-listing h3 {
		margin-bottom:24pt;
	}
	
	.shortcode-excerpt p {
		text-align:center;
	}
	
	.back-button {
		display:inline-block !important;
		margin: 24pt auto 24pt 0 !important;	
	}
	
	.page a {
		font-weight:bold;
	}
	
	.display-products ul {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		align-items:flex-start;	
	}
	
/* Pages */

	.page-title {
		text-align:center;
		margin-bottom:24pt;
		color:#228b22;	
	}
	
/* Contact Page */

	.mapwrapper {
		padding-bottom:24pt;	
	}
	
	.directions-button {
		display:block;
		margin:24pt auto;	
	}

	#map {
		min-height:400px;
		min-width:200px;	
	}
	
	.companyinfo {
		padding-bottom:24pt;	
	}
	
	.block .subheading {
		text-align:center;
		font-size:30pt;
		padding-bottom:24pt;	
	}
	
	.block p {
		padding-bottom:12pt;	
	}
	
/* Generic archives */

	.archive-title {
		text-align:center;	
		margin-bottom:24pt;
		text-transform:capitalize;
		color:#228b22;
	}
	
/* Services */

	.service-listing {
		justify-content:center;
		flex-wrap:wrap;	
	}

	.service-entry {
		flex: 0 1 300px;
		box-sizing:border-box;
		padding: 0 12pt 24pt;	
	}

	.service-archive-title {
		text-align:center;
		font-size:40pt;
		text-transform:uppercase;
		color:#090;
	}
	
	.service-archives .flexwrapper {
		flex-wrap:wrap;
		justify-content: center;
		align-items:flex-start;
	}	
	
	.service-archives .service-article {
		flex: 0 1 300px;
		box-sizing:border-box;
		padding:0 12pt;	
		overflow:hidden;
	}
	
	.service-article img {
		max-width:100%;
		box-sizing:border-box;
		height:auto;	
	}
	
	.service-entry .add-border, .service-content img, .service-thumb img {
		border:solid thick #136c3c;	
	}
	
	.service-entry .add-border img {
		display:block;	
	}
	
	.service-archives .divider {
		margin: 12pt auto !important;	
	}
	
	.service-archive-content {
		margin-top:12pt;	
	}

	.service-archive-content-wrapper {
		margin-bottom:24pt;	
	}

	.service-wrapper {
		margin-bottom:24pt;
		border-bottom:solid thin #ddd;	
	}
	
	.service-description {
		margin-bottom:12pt;
		text-align:center;	
	}

	.service-posts {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		align-items:flex-start;
	}
	
	.service-wrapper:last-child {
		border-bottom:none;
		margin-bottom:0;	
	}
	
	.service-title {
		font-size:40pt;
		text-align:center;	
		margin-bottom:24pt;
		color:#090;
	}
	
	.service-post {
		flex:0 0 300px;
		padding:12pt;
		box-sizing:border-box;	
	}
	
	.service-content {
		padding: 12pt;
		flex:1;
		text-align:center;
	}
	
	.service-content p {
		margin-bottom:12pt;	
	}
	
	.service-content *:last-child {
		margin-bottom:0;	
	}
	
	.service-post-title {
		font-size:18pt;
		margin-bottom:6pt;	
		color: #090;
	}
	
	.service-post-subtitle {
		font-size:25pt;
		margin-bottom:6pt;
	}
	
	.service-entry-thumbnail {
		margin-bottom:12pt;	
	}
	
	.click-to-open {
		background:none;
		border:none;
		font-size:2em;	
		transition:all ease 0.4s;
		display:flex;
		justify-content:space-between;
		width:100%;
		text-align:left;
	}
	
	.click-to-open:hover, .click-to-open:focus {
		color:#228b22;	
	}
		
	 /* The Modal (background) */
	.modal {
	  display: none; /* Hidden by default */
	  position: fixed; /* Stay in place */
	  z-index: 1; /* Sit on top */
	  left: 0;
	  top: 0;
	  bottom:0;
	  width: 100%; /* Full width */
	  height: 100%; /* Full height */
	  overflow: hidden; /* Enable scroll if needed */
	  background-color: rgb(0,0,0); /* Fallback color */
	  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */	 
	}
	
	/* Modal Content/Box */
	.modal-content {
	  background-color: #fefefe;
	  margin: 15% auto; /* 15% from the top and centered */
	  padding: 20px;
	  border: 1px solid #888;
	  width: 50%; /* Could be more or less, depending on screen size */
	  -webkit-animation-name: animatetop;
	  -webkit-animation-duration: 0.4s;
	  animation-name: animatetop;
	  animation-duration: 0.4s;	
	  height:auto;
	  max-height:60vh;
	  overflow:auto;
	  }
	  
	  .this-modal-content {
		display:flex;  
		flex-wrap:wrap;
	  }
	  
	  .this-modal-content .service-content {
		text-align:left;  
		overflow:hidden;
	  }
	  
	  .this-modal-content .service-content .service-content {
	  	padding:12pt 0;
	  }
	  
	.this-modal-content .service-content .service-content li, .this-modal-content .service-content .service-content a {
		padding-bottom:12pt;
	  }
	  
	  .service-content li {
		  margin-left:12pt;
		  list-style:outside;
	  }
	  
	  .service-title {
		color:#090;
		margin-bottom:6pt;  
	  }
	  
	  .service-content .service {
			margin-bottom:6pt;  
	  }
	  
	  .this-modal-content .bio p {
		  margin-bottom:12pt;
	  }
	  
	  .this-modal-content .bio p:last-of-type {
			margin-bottom:0;  
	  }
	  
	  .service-thumb {
		flex: 0 0 250px;  
		box-sizing:border-box;
	  }
	  
	  .service-thumb img {
		  display:block;
		  margin:0 auto;
	  }
	
	.modal .service-thumb {
		margin: 12pt auto 24pt;
	}
	
	.modal .divider {
		width:100px;
		height:10px;
		background:#090;	
		margin:12pt auto 12pt 0 !important;
	}
	
	.modal .plant-title {
		font-size:30pt;	
	}
	
	.modal .plant-title, .modal .service-post-subtitle {
		text-align:center;	
	}
	
	.service-social a {
		padding:6pt;
		font-size:18pt;	
	}
	
	/* The Close Button */
	.close {
	  color: #aaa;
	  float: right;
	  font-size: 28px;
	  font-family: 'Kollektif Bold', sans-serif;
	  margin:0 !important
	}
	
	.close:hover,
	.close:focus {
	  color: black;
	  text-decoration: none;
	  cursor: pointer;
	} 
	
	/* Add Animation */
	@-webkit-keyframes slideIn {
	  from {bottom: -300px; opacity: 0} 
	  to {bottom: 0; opacity: 1}
	}
	
	@keyframes slideIn {
	  from {bottom: -300px; opacity: 0}
	  to {bottom: 0; opacity: 1}
	}
	
	@-webkit-keyframes fadeIn {
	  from {opacity: 0} 
	  to {opacity: 1}
	}
	
	@keyframes fadeIn {
	  from {opacity: 0} 
	  to {opacity: 1}
	}	
	
		/* Add Animation */
	@keyframes animatetop {
	  from {top: -400px; opacity: 0}
	  to {top: 0; opacity: 1}
	}
	
	/* Career Title */
	
	.careers-archive-title {
		color:#228b22;
		font-size: 36pt;
		margin-bottom: 12pt;
		padding-bottom:0 !important;
		text-align: center;
	}
	
	.career-archive .divider {
		margin:0 auto 12pt !important;	
	}

	
/* Privacy/Cookie policy pages */

	.cookietable {
		text-align: left;
		margin-bottom: 12pt;
	}

	.cookietable td, .cookietable th {
		border-collapse: collapse;
		border: solid 1px #ddd;
		padding: 4pt;
	}

	
/* Footer */

	.footer {
		background:#228b22;
		color:#fff;
		max-width:100%;
		overflow:auto;
	}
	
	.footer a {
		color:#fff;	
	}

	.footerblock {
		flex:0 1 300px;
		padding:24pt 12pt;	
	}
	
	.footer-title {
		margin-bottom:6pt;
		text-transform:uppercase;	
	}
	
	.footerblock p {
		margin-bottom:6pt;	
	}

	.footer li {
		list-style:none;	
	}
	
	.footer .accred-logos .slick-dots li.slick-active button::before {
		color:#fff;	
	}
	
	.footer .accred-logos .slick-dots li button::before {
		color:#ddd;	
	}
	
	.companyinfo {
		position:relative;	
	}
	
	.companyinfo .fa {
		position: absolute;
	}
	
	.companyinfo span {
		display: block;
		margin-left: 24pt;
	}
	
	.social {
		display:flex;
		box-sizing:border-box;	
	}
	
	.footer .social a {
		font-size:18pt;	
		padding: 6pt 12pt;
	}
	
	.footer .social a:first-of-type {
		padding-left:0;	
	}
	
	.open-day {
		display:table-row;
	}
	
	.day-name {
		width: 120px;
		display: table-cell;
	}
	
	.today {
		color:#ccc;	
		font-weight:bold;
	}
	
	.accred-logos {
		max-width:300px;	
	}
	
	.accreditation-image {
		padding: 6pt 0;	
	}

	.copyright {
		border-top: solid thin #fff;
		padding-top:24pt;
		padding-bottom:12pt;	
	}
	
	@media only screen and ( min-width : 0px ) and ( max-width:550px ) {
	
		.overlay-nopad .content {
			max-width:100% !important;
			width:100% !important;	
		}
		
		.logo .site-description {
			margin-left:0;
			margin-bottom:12pt;	
		}
		
		.even:last-of-type {
			padding-right:12pt;	
		}
		
		.accred-logos {
			max-width:100%;	
		}
		
		.image-slide .content {
			top: 0pt !important;
			bottom: 0pt !important;	
		}

		.slide-title, .slide-content {
			padding: 6pt;	
		}
		
		.slide-overlay .slide-title {
			font-size:14pt !important;	
		}
		
		.slide-overlay p {
			margin:0;	
		}

	}
	
	@media only screen and ( min-width : 0px ) and ( max-width:600px ) {
		
		.content {
			max-width:90%;	
		}
		
		.fixed {
			background-attachment:scroll;	
		}
		
		.topbar a {
			padding:12pt;	
		}
		
		.topbar .value {
			display:none;	
		}
		
		.block-section .overlay {
			padding:24pt;	
		}
		
		.tab-menu {
			display:block;	
		}
		
		.tab-menu li {
			margin: 0 0 -2px;	
		}
		
		.tab-menu .active {
			background:#eee;	
		}
		
		.tabcontent {
			padding:24pt 0;	
		}
		
		.third-width, .half-width {
			flex:1 1 100% !important;
			padding-left:0 !important;
			padding-right:0 !important;
		}
		
		.index .post-entry {
			flex:1 1 100% !important;	
		}
		
		.our_team-post {
			flex:1 1 100% !important;	
		}
		
		.modal {
			top:100pt;	
		}
		
		.this-modal-content {
			display:block;	
			max-height: calc(100% - 100pt);
			overflow-y: scroll;
		}
		
		.modal .our_team-thumb {
			margin: 0 auto 24pt;	
		}
		
		.modal-content {
			max-width:100%;
			width: auto;	
		}
		
		.modal .our_team-content {
			padding-bottom:80pt;	
		}
		
		.tabs-columns {
			flex-wrap:wrap;	
		}
		
		.tab-column {
			flex:1 1 150px;
			padding:12pt;	
		}
		
		.footer .flexwrapper {
			flex-wrap:wrap;	
		}
		
		.footerblock {
			flex:1 1 100%;	
		}
	
	}
		
	@media only screen and ( min-width : 0px ) and ( max-width:800px ) {
		.slide-overlay .slide-title {
			font-size:18pt !important;	
		}
		
		.cta-button {
			margin:0 auto;	
		}
		
		.slide-overlay p {
			padding:0;	
		}
		
		.image-slide .content {
			top: 6pt;
			bottom: 6pt;	
		}
		
		.contact-details-wrapper a {
			font-size:14pt;	
		}
		
	}

	@media only screen and ( min-width : 0px ) and ( max-width:960px ) {
		
		#menu-main li {
			display:none;	
		}
		
		#menu-main .shiftnav-target {
			display:block !important;	
			background:none !important;
			color:#333 !important;
		}
		
		#menu-main .shiftnav-target a {
			display:block !important;
		}
		
		.shiftnav-toggle-button:hover, .shiftnav-toggle-button:focus {
			padding:	12pt !important;
		}
		
		.shiftnav-toggle-button {
			background:none !important;
			color:#333 !important;	
		}
				
		.shiftnav-toggle-button .fa {
			font-family:"Font Awesome 5 Free" !important;
			content:"\f0c9" !important;
			font-weight: 900 !important;
		}
		
		.cookietable {
			border: 0;
		}		
		
		.cookietable tr {
			display: block;
			margin-bottom: .625em;
		}	
			
		.cookietable th {
			border: none;
			clip: rect(0 0 0 0);
			height: 1px;
			margin: -1px;
			overflow: hidden;
			padding: 0;
			position: absolute;
			width: 1px;
		}		
		
		.cookietable td {
			border-bottom: 1px solid #ddd;
			display: block;
			font-size: .8em;
			text-align: right;
		}
		
		.columns {
			flex-wrap:wrap;	
		}
		
		.columnwrapper {
			box-sizing:border-box;
			flex: 1 1 300px;
		}
		
		.slides .slick-slide > div > li {
			margin:0;	
		}
		
		.responsive-slider article.post {
			margin: 6pt;	
		}
		
		.responsive-slider article.post .overlay {
			padding:6pt;	
		}
		
		.section-title, .service-title {
			font-size:24pt !important;	
		}
		
	}
