/*
Theme Name: TSC Construction
Text Domain: tsc
Version: 1.0
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Bespoke theme for TSC Construction
Author: Ben Louis-Smith
Author URI: https://www.embado.com/
*/

/* http://meyerweb.com/eric/tools/css/reset/ 
 * v2.0 | 20110126
 * License: none (public domain)
 */

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: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ==========================================================================
   BASE STYLING
   ========================================================================== */
/**
 * HTML & Body
 */
 
html, body {
	width: 100%;
	height: 100%;
	background: #fff;
}


/**
 * Image & Div sizing
 */
 
img {
	max-width: 100%;
	height: auto;
	width: auto\9; /* ie8 */
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/**
 * Structure
 */
.container {
	width: 100%;
	max-width: 1280px;
	padding: 0 40px;
	margin: 0 auto;
}


/**
 * Global
 */
.left {
	float: left;
}
.right {
	float: right;
}
.clear {
	clear: both;
}

.btn {
	-webkit-border-top-left-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-bottomright: 5px;
	border-top-left-radius: 5px;
	border-bottom-right-radius: 5px;
	border: 0 none;
	text-decoration: none;
	padding: 10px 20px;
	background: rgba(20,115,235,1);
	color: rgba(255,255,255,1);
}
.btn:hover {
	background: rgba(226,218,219,1);
	color: rgba(20,115,235,1);
}


/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */
/**
 * Set base font to 100% of the browser default
 * Assumed to be the default 16px
 */

body {
	font-family: 'Roboto', sans-serif;
	font-size: 100%;
	color: #000;
	font-weight: 400;
}
/* ========================================================================== */
h1, h2, h3, .serif {
	font-family: 'EB Garamond', serif;
}
h1, h2, h3 {
	line-height: 1.35em;
}
h1 {
	font-size: 2.75em;
	color: #1473eb;
}
h2 {
	font-size: 2em;
}
.form h2 { 
	font-size: 2.75em;
	color: #1473eb;
	padding-bottom: 0.5em;
}
.heading {
	font-size: 2em;
	color: #1473eb;
	padding-bottom: 10px;
}
/* ========================================================================== */
p {
	font-size: 1em;
	line-height: 1.75em;
	padding-bottom: 1.5em;
}
a {
	color: #1473eb;
	text-decoration: none;
}
strong {
	font-weight: 700;
}
/* ========================================================================== */
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}
.text-justify {
	text-align: justify;
}


/* ==========================================================================
   HEADER
   ========================================================================== */
.masthead {
	border-top: 4px solid #1473eb;
	padding: 5px 0;
}
.masthead .logo {
	float: none;
}
.masthead .contacts {
	float: none;
}
.masthead .logo,
.masthead .contacts {
	text-align: center;
	padding-top: 10px;
}
.masthead .address {
	display: none;
}
.masthead li {
	display: inline-block;
	margin-right: 50px;
	line-height: 1.35em;
}
.masthead li:last-child {
	margin-right: 0;
}
.masthead .btn {
	float: left;
}



@media (min-width: 680px) {
	.masthead .address {
		display: inline-block;
	}
}
@media (min-width: 1024px) {
	.masthead .logo {
		float: left;
		padding-bottom: 0;
	}
	.masthead .contacts {
		float: right;
		padding-top: 30px;
	}
	.masthead .logo,
	.masthead .contacts {
		text-align: left;
	}
}


/* ==========================================================================
   INTRO
   ========================================================================== */
.intro {
	background: #e2dadb;
	padding: 60px 0 36px;
}
.intro header,
.form_section header {
	float: none;
	width: 100%;
	padding-right: 0;
	padding-bottom: 20px;
}
.intro span {
	display: block;
	font-size: 110%;
	font-weight: 700;
	line-height: 1.75em;
	color: #1473eb;
}
.intro .copy,
.form_section .copy {
	float: none;
	width: 100%;
}
.intro .copy p:nth-child(1) {
	font-size: 110%;
	font-weight: 700;
}


/* ==========================================================================
   SERVICES
   ========================================================================== */
.services {
	padding: 60px 0;
}
.services .service {
	float: none;
	width: 100%;
	padding-bottom: 40px;
}
.services .service:nth-child(even) {
	padding-right: 0;
}
.services .service:nth-child(odd) {
	padding-left: 0;
}
.services .serv-entry {
	-webkit-border-top-left-radius: 20px;
	-webkit-border-bottom-right-radius: 20px;
	-moz-border-radius-topleft: 20px;
	-moz-border-radius-bottomright: 20px;
	border-top-left-radius: 20px;
	border-bottom-right-radius: 20px;
	background: rgba(20,115,235,1);
	color: #fff;
	padding: 20px;
}
.services .serv-entry h2 {
	padding-bottom: 10px;
	color: #dbe6f4;
}
.services .serv-entry p {
	padding-bottom: 0;
}



@media (min-width: 900px) {
	.services .service {
		float: left;
		width: 50%;
	}
	.services .service:nth-child(odd) {
		padding-right: 20px;
	}
	.services .service:nth-child(even) {
		padding-left: 20px;
	}
}


/* ==========================================================================
   CONTACT
   ========================================================================== */
.form {
	background: #e2dadb;
}
.form_section {
	padding-top: 60px;
	padding-bottom: 60px;
}
.form_section header {
	float: none;
	width: 100%;
	padding-right: 0;
}
.form_section .copy {
	float: none;
	width: 100%;
}
.form_section header li {
	font-size: 1em;
	line-height: 2em;
}
.cform {
	margin-left: -35px;
	margin-right: -35px;
	-webkit-border-top-left-radius: 20px;
	-webkit-border-bottom-right-radius: 20px;
	-moz-border-radius-topleft: 20px;
	-moz-border-radius-bottomright: 20px;
	border-top-left-radius: 20px;
	border-bottom-right-radius: 20px;
	border: 2px solid #fff;
	background: rgba(255,255,255,0.35);
	padding: 40px 35px;
}
.cform label,
.cform input[type=text],
.cform input[type=email],
.cform input[type=tel],
.cform textarea {
	display: block;
	width: 100%;
	margin-bottom: 5px;
	color: #000;
}
.cform input[type=text],
.cform input[type=email],
.cform input[type=tel],
.cform textarea {
	border: 0 none;
	padding: 5px 10px;
	background: rgba(255,255,255,0.35);
	border-bottom: 2px solid #fff;
}
.cform .gdpr {
	padding: 0 0 20px;
	font-size: 75%;
}
.cform .btn-submit:disabled,
.cform .btn-submit:disabled:hover {
	background: rgba(20,115,235,0.25);
	color:  rgba(255,255,255,0.5);
	cursor: not-allowed;
}
.cform .btn-submit {
	font-size: 150%;
	margin-top: 0;
}
.cform .btn-submit:hover {
	background: rgba(255,255,255,1);
}
span.wpcf7-list-item {
	margin: 0;
}



@media (min-width: 680px) {
	.cform {
		margin-left: 0;
		margin-right: 0;
		padding: 40px;
	}
}
@media (min-width: 1024px) {
	.form_section header {
		float: left;
		width: 35%;
		padding-right: 40px;
	}
	.form_section .copy {
		float: left;
		width: 65%;
	}
}


/* ==========================================================================
   LINKS
   ========================================================================== */
.links {
	padding: 60px 0;
	background: #1473eb;
	color: #fff;
	text-align: center;
}
.links p {
	max-width: 640px;
	margin: 0 auto;
}
.links li {
	display: inline-block;
	margin: 0 15px 20px;
}
.links li a {
	color: #fff;
	text-decoration: underline;
}
.links .btn {
	font-size: 150%;
}
.links .btn {
	display: inline-block;
	margin-top: 20px;
	background: rgba(255,255,255,1);
	color: rgba(20,115,235,1);
}
.links .btn:hover {
	background: rgba(226,218,219,1);
}


/* ==========================================================================
   FOOTER
   ========================================================================== */
.smallprint {
	margin: 60px 0 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid #1473eb;
}
.credits {
	padding-bottom: 40px;
	text-align: center;
}
.credits a {
	text-decoration: underline;
}
.credits li {
	display: inline-block;
	margin: 0 15px;
	padding-top: 20px;
}




/* ==========================================================================
   CF7
   ========================================================================== */
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	border: 0 none;
	background: #ff0000;
	color: #fff;
}