/*
Theme Name: Hockton & Sons Construction
Author: Pipe Media
Author URI: https://pipemedia.co.uk
Description: Responsive WordPress Theme for Hockton & Sons Construction
Version: 1.0
*/

/* Basic Styles
------------------------------------------- */

	body {
		background-color: #FFFFFF;
		font-family: "Poppins", Arial, Helvetica, Sans-serif;
		font-size: 18px;
		line-height: 28px;
		color: #333333;
		font-weight: 300;
	}

/* Typography
------------------------------------------- */

	h1, h2, h3, h4, h5, h6 {
		font-family: "Baskervville", Times, Serif;
		color: #111111;
		font-weight: normal;
		margin: 0 0 20px; }
	h1 { font-size: 54px; line-height: 62px; margin: 20px 0 50px; }
	h2 { font-size: 36px; line-height: 42px; margin: 60px 0 30px; }
	h3 { font-size: 26px; line-height: 32px; margin: 50px 0 30px; }
	h4 { font-size: 20px; line-height: 24px; }
	h5 { font-size: 16px; line-height: 20px; }
	h6 { font-size: 14px; line-height: 18px; }
	
	p { margin: 0 0 20px; font-weight: 300; }
	p.small { color: #666666; font-size: 16px; line-height: 21px; }
	p.medium { font-size: 24px; line-height: 30px; }
	p.large { font-weight: 300; font-size: 36px; line-height: 46px; }
	p.larger { font-weight: 900; font-size: 36px; line-height: 46px; }
	p img { margin: 0; }

	em { font-style: italic; }
	strong { font-weight: 700; }
	small { font-size: 80%; }

/*	Blockquotes  */
	blockquote, blockquote p { line-height: 36px; font-size: 26px; font-style: italic; color: #555555; }
	blockquote { margin: 40px 0 0; }
	blockquote p:last-child { margin: 0; }
	
/*	Horizontal Line  */
	hr { border: solid #CCCCCC; border-width: 1px 0 0; clear: both; margin: 20px 0; height: 0; }

/*	Text alignment  */

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

/* Misc Utilities
------------------------------------------- */

/*	Display None  */
	.d-none { display: none; }

/*	Margins  */
	.m-0 { margin: 0; }
	.mb-10 { margin-bottom: 10px; }
	.mb-20 { margin-bottom: 20px; }
	.mb-30 { margin-bottom: 30px; }
	.mb-40 { margin-bottom: 40px; }
	.mb-60 { margin-bottom: 60px; }
	.mt-10 { margin-top: 10px; }
	.mt-20 { margin-top: 20px; }
	.mt-40 { margin-top: 40px; }
	.mt-60 { margin-top: 60px; }
	.ml-20 { margin-left: 20px; }
	.mr-20 { margin-right: 20px; }
	.m-auto { margin: 0 auto; }

/*	Floats  */

	.float-left { float: left; }
	.float-right { float: right; }

/* Links
------------------------------------------- */

	a { color: #454545; text-decoration: underline; }
	a:hover { color: #000000; }
	
	a.btn,
	button.btn,
	form .frm_submit button {
		display: inline-block;
		background-color: #111111;
		padding: 12px 30px;
		text-decoration: none;
		font-weight: 700;
		font-size: 18px;
		color: #FFFFFF;
		transition: background .3s ease;
	}
	
	a.btn:hover,
	form .frm_submit button:hover {
		background-color: #666666;
		color: #FFFFFF;
	}

/* Lists
------------------------------------------- */

	ul {
		list-style: square;
		padding: 0 0 0 22px;
	}
	
	ul li, ol li {
		margin: 0 0 8px;
		padding-left: 7px;
	}

/* Images
------------------------------------------- */

	img {
		max-width: 100%;
		height: auto;
	}

	img.alignleft {
		float: left;
		margin: 0 40px 0 0;
	}
	
	img.alignright {
		float: right;
		margin: 0 0 0 40px;
	}
	
	img.aligncenter {
		margin: 40px auto;
		display: block;
	}

	img.img-rounded {
		border-radius: 50%;
		position: relative;
	}

	.image-holder {
		background-color: #D9544D;
		border-radius: 50%;
		padding-left: 15px;
	}
	
	.image-holder-rectangle {
		background-color: #FFFFFF;
		border-radius: 5px;
		padding: 15px;
		-moz-box-shadow: 0 0 5px #DDDDDD;
		-webkit-box-shadow: 0 0 5px #DDDDDD;
		box-shadow: 0 0 5px #DDDDDD;
	}
	
	.image-holder-rectangle.image-holder-rectangle-no-shadow {
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
	
	.wp-caption.alignleft {
		float: left;
		margin: 0 40px 0 0;
	}
	
	.wp-caption.alignright {
		float: right;
		margin: 0 0 0 40px;
	}
	
	.wp-caption .wp-caption-text {
		margin: 5px 0 0;
		font-style: italic;
	}

/* Forms
------------------------------------------- */
	
	input[type="text"], input[type="email"], input[type="password"], textarea {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border-radius: 0;
	}

/* Table
------------------------------------------- */

	table {
		border-collapse: collapse;
		margin: 0;
		width: 100%;
		text-align: left;
	}

	table tr th,
	table tr td {
		border-bottom: 1px solid #DDDDDD;
		padding: 10px;
	}
	
/* Colour Utilities
------------------------------------------- */

	.colour-teal {
		background-color: #D9544D;
	}

	.colour-l-teal {
		background-color: #F6D7D5;
	}

	.text-colour-white {
		color: #FFFFFF;
	}

	.text-colour-teal {
		color: #D9544D;
	}

/* Sections
------------------------------------------- */

	section {
		position: relative;
		padding: 80px 0;
	}

	section h2:first-child {
		margin-top: 0;
	}

/* Accordion
------------------------------------------- */

	.small-accordion {
		border-bottom: 1px solid #CCCCCC;
	}

	.small-accordion .accordion-title {
		background-color: #FFFFFF;
		padding: 20px;
		margin: 10px 0 0;
		position: relative;
	}

	.small-accordion .accordion-title:hover,
	.large-accordion .accordion-title:hover {
		cursor: pointer;
	}

	.small-accordion .accordion-title:focus,
	.large-accordion .accordion-title:focus {
		outline: none;
	}

	.small-accordion .accordion-title .ui-icon {
		position: absolute;
		right: 20px;
		top: 22px;
	}

	.small-accordion .accordion-title .ui-icon::before {
		display: block;
		content: "+";
	}

	.small-accordion .accordion-title.ui-state-active .ui-icon::before {
		content: "-";
	}

	.small-accordion .accordion-content {
		padding: 0 20px 20px;
		background-color: #FFFFFF;
	}
	
	.small-accordion .accordion-content a {
		display: inline;
	}
	
	.small-accordion .accordion-content p:last-child {
		margin: 0;
	}

/* Header
------------------------------------------- */
	
	header {
		background-color: #111111;
		padding: 30px 0;
		position: relative;
		z-index: 999;
	}

	header .row {
		position: relative;
	}
	
/* Navigation
------------------------------------------- */
	
	nav ul {
		list-style: none;
		padding: 0;
		margin: 0;
		float: right;
	}

	nav ul li {
		display: inline-block;
		margin: 0;
		padding: 0;
		font-weight: 500;
	}

	nav ul li a {
		text-decoration: none;
	}

	nav ul li a:hover {
		text-decoration: underline;
	}

	#primary {
		position: absolute;
		right: 1rem;
		top: 20px;
	}

	#primary ul li {
		font-size: 18px;
		position: relative;
	}

	#primary ul li a {
		color: #FBEBEA;
		display: block;
		padding: 0 20px;
	}

	#primary ul li a:hover {
		color: #FFFFFF;
	}

	#primary ul > li.menu-item-has-children > a {
		background: url('images/menu-down.svg') right center no-repeat;
		background-size: 10px auto;
	}

	#primary ul > li.menu-item-has-children:hover > a {
		background: url('images/menu-up.svg') right center no-repeat;
		background-size: 10px auto;
	}

	#primary ul li.btn {
		margin-left: 15px;
	}

	#primary ul li.btn a {
		background-color: #2F54CC;
		color: #FFFFFF;
		font-weight: 700;
		font-size: 16px;
		line-height: 16px;
		padding: 6px 35px;
		border-radius: 20px;
	}

	#primary ul li ul {
		background-color: #D9544D;
		border-radius: 0 0 5px 5px;
		position: absolute;
		display: none;
		left: 0;
		top: 100%;
		width: max-content;
		float: none;
		min-width: 200px;
		padding: 10px 20px;
		z-index: 999;
	}

	#primary ul li:hover > ul,
	#primary ul li:focus-within > ul {
		display: block;
	}

	#primary ul li ul li {
		display: block;
		padding: 0;
	}

	#primary ul li ul li a {
		color: #FFFFFF;
		padding: 8px 0;
	}
	
	#primary ul li ul li a:hover {
		color: #FFFFFF;
	}

/* Footer
------------------------------------------- */
	
	footer {
		padding: 30px 0;
	}
	
	footer p {
		line-height: 21px;
		font-size: 16px;
		margin: 0;
	}


/* Page
------------------------------------------- */	
	
	.row {
		max-width: 1325px;
	}
	
/* Home
------------------------------------------- */	

	section.hero {
		padding: 0;
		min-height: 700px;
		text-align: center;
		position: relative;
	}
	
	section.hero header {
		background: rgba(17, 17, 17, 0.8);
	}
	
	section.hero .overlay {
		background: rgba(17, 17, 17, 0.4);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	section.hero h1 {
		color: #FFFFFF;
		margin: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 60%;
		font-size: 60px;
		line-height: 70px;
	}

	section.services {
		background-color: #082E00;
		color: #EEEEEE;
	}
	
	section.services h2 {
		text-align: center;
		color: #FFFFFF;
	}
	
	section.services h3 {
		margin: 40px 0 20px;
		color: #FFFFFF;
	}
	
	section.testimonials {
		background-color: #DDDDDD;
	}
	
	section.testimonials h2 {
		text-align: center;
	}
	
	section.testimonials h3 {
		margin: 40px 0 20px;
	}
	
	section.faqs {
		background-color: #082E00;
	}
	section.faqs h2 {
		color: #FFFFFF;
	}
	
	section.projects h2 {
		text-align: center;
		margin-bottom: 40px;
	}
	
	section.projects h3 {
		margin: 20px 0 25px;
	}
	
/* Contact
------------------------------------------- */	
	
	.contact-details h3 {
		margin-top: 0;
	}

/* Media Queries
------------------------------------------- */

/* Small only */
@media screen and (max-width: 39.9375em) {
	
	h1 { line-height: 42px; font-size: 34px; margin-bottom: 30px; }
	h2 { font-size: 30px; line-height: 36px; }
	h3 { font-size: 24px; line-height: 28px; }
	h4 { font-size: 20px; line-height: 24px; }
	h5 { font-size: 16px; line-height: 20px; }
	h6 { font-size: 14px; line-height: 18px; }
	
	a.btn, button.btn, form .frm_submit button {
		padding: 10px 20px;
	}
	
	header #logo {
		max-width: 225px;
	}
	
	header ul.mobile-controls {
		list-style: none;
		padding: 0;
		margin: 0;
		position: absolute;
		top: 0;
		right: 1rem;
	}

	header ul.mobile-controls li {
		float: right;
		clear: both;
		margin: 0;
		padding: 0;
	}

	header ul.mobile-controls li a.mobile-menu {
		background: url('images/menu-closed.svg') center no-repeat;
		background-size: 30px auto;
		width: 30px;
		height: 20px;
		display: block;
		text-indent: -9999px;
	}

	header ul.mobile-controls li a.mobile-menu.menu-open {
		background: url('images/menu-open.svg') center no-repeat;
		background-size: 20px auto;
	}
	
	#primary {
		position: static;
		margin: 0 -1rem;
		padding: 10px 1rem 0;
		display: none;
	}

	#primary ul {
		border-top: 2px solid #F6D7D5;
		float: none;
		margin-top: 10px;
	}

	#primary ul li {
		display: block;
		padding-bottom: 0;
	}

	#primary ul li a {
		padding: 10px 0;
	}
	
	section {
		padding: 40px 0;
	}
	
	section.hero {
		min-height: 500px;
	}
	
	section.hero h1 {
		width: 90%;
	}
	
	section.story img {
		margin-bottom: 30px;
	}
	
}

/* Medium and up */
@media screen and (min-width: 40em) {}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
	
	h1 {
		line-height: 50px;
		font-size: 44px;
		margin-bottom: 30px;
	}
	h2 { font-size: 32px; line-height: 36px; }
	h3 { font-size: 26px; line-height: 30px; }
	h4 { font-size: 20px; line-height: 24px; }
	h5 { font-size: 16px; line-height: 20px; }
	h6 { font-size: 14px; line-height: 18px; }
	
	a.btn, button.btn, form .frm_submit button {
		padding: 10px 20px;
	}
	
	section.hero {
		min-height: 500px;
	}
	
}

/* Large and up */
@media screen and (min-width: 64em) {}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {}