:root {
	--mpec-gold: #bfb682;
	--mpec-gold-light: #c5be99;
	--tlc-black: #161b14;
	--tlc-red: #da3935;
	--tlc-light-grey: #e4e0dd;
	--tlc-med-grey: #88817c;
	--tlc-dark-grey: #37363a;
	--bs-body-line-height: 1.2;
}

/* ****************** BOOTSTRAP OVERWRITE ****************** */

body {
	background-color:#111F24;
}

html, body, h1, h2, h3, h4, h5, p, td {
  font-family: 'PT Sans', sans-serif;
  font-weight: normal;
}

body, html { 
	margin: 0; 
	padding: 0;
}

body { 
	display: flex;
	min-height: 100vh;
	flex-direction: column; 
	font-weight:normal;
  /*font-size: 13px;*/
	/*color:#000000;*/
}

main {
	flex: 1;
	padding: 0 0 0 0;
}

header, footer {   
	padding: 0;
}

footer h3 {
	font-size:1.2rem;
	font-weight:bold;
}

footer p, footer a {
	color:#ffffff;
}

h1 {
	font-family: Arial,Verdana,Helvetica,Sans-Serif;
	/*font-size: 1.75em;*/
	font-size:21px; 
	font-weight:bold; 
	padding-top:12px;
	padding-bottom:12px; 
	color:#5aae87;
}

h2 {
	font-family: Arial,Verdana,Helvetica,Sans-Serif;
	/*font-size: 1.75em;*/
	font-size:16px;
	font-weight:bold; 
	margin-bottom:16px; 
	margin-top:0px;
	color:#5aae87;
}

h3 {
	color:var(--tlc-black);
	padding-bottom:30px;
}

p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	color:#ffffff;
	/*color:var(--tlc-black);*/
}

a	{
	color: #5aae87;
	text-decoration:underline;
}

a:hover {
  color: #FFFFFF;
}

li {
	color:#ffffff;
}

label {
	color:var(--tlc-black);
	font-weight:bold;
	padding-top:25px;
	padding-bottom:25px;
	margin-bottom:0px;
}

.display-1 {
	font-weight: 400;
	line-height: 1.0;
}

/* ****************** BESPOKE ****************** */


/* ****************** SPACING and FONTS ****************** */

@media (min-width: 576px) {
}

@media (min-width: 768px) {
}

@media (min-width: 992px) {
}

@media (min-width: 1200px) {
}

@media (min-width: 1400px) {
}

/* ****************** HEADER ****************** */

.header-top {
	height:45px; 
	background-color:var(--tlc-black);
}

.header-logo-pad {
	padding-left:27px;
	padding-right:27px;
}

.header-content-pad-h {
	padding-left:27px;
	padding-right:27px;
}

.header-strapline {
	font-size: 1.5rem;
	/*font-size: 1.25rem;*/
	/*font-size: 3.5vw!important;*/
}

/* ****************** SUB MENU ****************** */


/* ****************** FOOTER ****************** */

.footer-container {
	padding-left:0px;
	padding-right:0px;
	background-color:#1b3139;
	min-height:40px;
	line-height:35px;
}

/* ****************** PAGES ****************** */

.banner-img-mt {
	margin-top:55px; 
}

/* ****** REVIEWS ****** */

.review-col-padding {
	padding-top:15px;
}

.review-padding {
	padding:12px;
}

/************* Home Page ***************/

.home-banner-img {
	position:relative; 
	background-image: url('/images/content/home/home-banner-top.jpg'); 
	background-size: cover;
	-webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;	
	background-repeat: no-repeat; 
	background-position-x: center;
}

.house-quote-container {
	position: absolute;
	top: 5%;
	left: 5%;
	width: 30%;
	font-weight:bold;
	padding-right:5px; 
	padding-left:5px;
	border:1px solid #FFFFFF; 
}

.home-quote {
	padding:45px 80px 45px 45px;
	background-color:#000000;
	position: relative;
}

.home-quote:before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    border-top: 80px solid #000000;
    border-left: 80px solid #000000;
    width: 0;
}

.home-quote-triangle {
	padding:0px 80px;
	background-color:#000000;
	position: relative;
	width:80px;
	height:80px;
	margin:0px 80px 0px 0px;
}

.home-quote-triangle:before {
	content: '';
	position: absolute;
	top: 0; 
	left: 0;
	border-top: 80px solid #000000;
	border-left: 80px solid #000000;
	width: 0;
}

/************* Portfolio Page ***************/

.portfolio-banner-img {
	position:relative; 
	background-image: url('/images/content/projects/projects-banner-top.jpg'); 
	background-size: cover;
	-webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;	
	background-repeat: no-repeat; 
	background-position-x: center;
}

.portfolio-text-link {
	color:var(--tlc-black);
}

.portfolio-more-link {
	font-weight:bold; 
	text-decoration:underline; 
	color: var(--tlc-black);
}

.portfolio-btn-search {
	border:1px solid #FFFFFF; 
	padding-right:50px; 
	padding-left:50px; 
	font-weight:bold;
}

.project-page-title {
		font-size: calc(1.25rem + .4vw)!important;
		font-weight:bold;
}

.project-heading {
		font-size: calc(1.50rem + .4vw)!important;
		font-weight:400;
}

@media (min-width: 768px) {
	.project-page-title {
		font-size: calc(1.5rem + .2vw)!important;
	}
	.project-heading {
		font-size: calc(1.75rem + .4vw)!important;
	}
}
@media (min-width: 992px) {
	.project-page-title {
		font-size: calc(2rem + .2vw)!important;
	}
	.project-heading {
		font-size: calc(2.25rem + .2vw)!important;
	}
}
@media (min-width: 1200px) {
	.project-page-title {
		font-size: calc(2.25rem + .2vw)!important;
	}
	.project-heading {
		font-size: calc(2.75rem + .2vw)!important;
	}
}
@media (min-width: 1400px) {
	.project-page-title {
		font-size: 2.50rem;
	}
	.project-heading {
		font-size: 3.00rem;
	}
}

/************* Planning Page ***************/

.planning-banner-img {
	position:relative; 
	background-image: url('/images/content/planning/planning-banner-top.jpg'); 
	background-size: cover;
	-webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;	
	background-repeat: no-repeat; 
	background-position-x: center;
}

.planning-onsite-img {
	position:relative; 
	background-image: url('/images/content/planning/planning-on-site.jpg'); 
	background-size: cover;
	-webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;	
	background-repeat: no-repeat; 
	background-position-x: center;
}

.planning-tab-max-w {
	max-width:792px;
}

/************* Testimonials Page ***************/

.testimonials-banner-img {
	position:relative; 
	background-image: url('/images/content/testimonials/testimonials-banner-top.jpg'); 
	background-size: cover;
	-webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;	
	background-repeat: no-repeat; 
	background-position-x: center;
}

.testimonials-txt-title {
  color: #E72E00;
  font-weight: bold;
}

.testimonials-txt-footer {
  color: #E72E00;
}

.testimonials-txt-link {
	text-decoration:underline;
}

.testimonials-quote {
	padding:50px 50px 60px 50px;
	background: var(--tlc-med-grey);
	position: relative;
}

.testimonials-quote:before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    border-top: 80px solid var(--tlc-light-grey);
    border-left: 80px solid var(--tlc-med-grey);
    width: 0;
}

.testimonials-quote-triangle {
	padding:0px 80px;
	background: var(--tlc-light-grey);
	position: relative;
	width:80px;
	height:80px;
	margin:0px 80px 0px 0px;
}

.testimonials-quote-triangle:before {
    content: '';
    position: absolute;
    top: 0; 
		left: 0;
    border-top: 80px solid var(--tlc-med-grey);
    border-left: 80px solid var(--tlc-light-grey);
    width: 0;
}

blockquote {
  border:none;
    /*font-family:Georgia, "Times New Roman", Times, serif;*/
  margin-bottom:-30px;
  font-family: "PT Sans", sans-serif;
  font-weight: 700;
  font-style: bold;
  quotes: "\201C""\201D""\2018""\2019";
}

blockquote p {
/*font-size:21px;*/
	position: relative;
}

blockquote p:before { 
	content: open-quote;
	font-weight: bold;
	font-size:90px;
	color:#ffffff;
	margin-left:-35px;
	margin-bottom:-20px;
	/*display: inline;*/
    position:absolute;
        top:-45px;
        left:0px;
} 
blockquote p:after {
  content: '"';
	content: close-quote;
	font-weight: bold;
	font-size:90px;
	color:#ffffff;
	/*display: inline;*/
        position:absolute;
        bottom:-90px;
        right:0px;
}

/************* Quote Page ***************/

.quote-banner-img {
	position:relative; 
	background-image: url('/images/content/quote/quote-banner-top.jpg'); 
	background-size: cover;
	-webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;	
	background-repeat: no-repeat; 
	background-position-x: center;
}

.quote-modal-links {
	font-weight:400;
	text-decoration:underline;
}

.quote-modal-links:hover {
  cursor: pointer;
}

.quote-form-row {
	padding-top:20px;
	border-bottom:1px solid #bbb8b1; 
}

input[type="radio"] {
		appearance: none;
		width: 24px;
		height: 24px;
		border: 1px solid red;
		border-radius: 50%;
		outline: none;
		background-color: white;
		cursor: pointer;
}

input[type="radio"]:checked {
		background-color: red;
}

@media (min-width: 992px) {
	input[type="radio"] {
			width: 32px;
			height: 32px;
	}
}

.quote-form-pad-col {
	padding-right:5px;
	padding-left:5px;
}

@media (min-width: 992px) {
	.quote-form-pad-col {
		padding-right:10px;
		padding-left:10px;
	}
}

@media (min-width: 1400px) {
	.quote-form-pad-col {
		padding-right:13px;
		padding-left:13px;
	}
}

.quote-form-pad-img {
	padding-right:15px;
}

@media (min-width: 992px) {
	.quote-form-pad-img {
		padding-right:45px;
	}
}

.quote-form-pad-proptype {
	padding-right:0px;
}

@media (min-width: 1200px) {
	.quote-form-pad-proptype {
		padding-right:140px;
	}
}

@media (min-width: 1400px) {
	.quote-form-pad-proptype {
		padding-right:172px;
	}
}

.quote-form-pad-propstyle {
	padding-right:0px;
}

@media (min-width: 1200px) {
	.quote-form-pad-propstyle {
		padding-right:52px;
	}
}

@media (min-width: 1400px) {
	.quote-form-pad-propstyle {
		padding-right:92px;
	}
}

/************* Contact Page ***************/

.pb-contact-text {
	padding-bottom:100px;
}

.mt-contact-3-img-row {
	margin-top:-100px;
}

.contact-banner-img {
	position:relative; 
	background-image: url('/images/content/contact/contact-banner-top.jpg'); 
	background-size: cover;
	-webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;	
	background-repeat: no-repeat; 
	background-position-x: center;
}
