: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 ****************** */


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 {
	color:var(--tlc-black);
	/*padding-bottom:40px;*/
	font-size: 1.75em;
}

h2 {
	color:var(--tlc-black);
	font-size: 1.75em;
	padding-bottom:30px;
}

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

p {
	color:#ffffff;
	color:var(--tlc-black);
}

a	{
	color:#FFFFFF;
	color:var(--tlc-black);
}

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;
}

/*.nav > li > a {
  text-decoration: none;
}

.nav > li > a:hover {
  text-decoration: none;
	color:#CC0000;
}*/

.navbar {
	background-color:var(--tlc-black);
	--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.99%29' stroke-linecap='square' stroke-miterlimit='10' stroke-width='4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	--bs-navbar-toggler-focus-width: 0rem;
	--bs-navbar-toggler-padding-x: 0;
	padding-left:35px;
	padding-right:35px;
}

.navbar-nav {
	--bs-nav-link-hover-color:#ffffff;
}

.navbar-nav > li > a {
    background-color:var(--tlc-black);
    color: #ffffff;
    padding-left: 10px;
    padding-right: 22px;
    font-size: 20px;
    /*font-weight: bold;*/
		text-decoration:none;
}

.navbar-toggler {
	border: 0 !important;
}

.navbar-nav, .mr-auto {
	flex: 1;
	margin: auto !important;
	display: flex;
	justify-content: space-between;
}

@media (max-width: 991px) {
	.navbar-nav {
		padding-top:15px;
	}
}

.navbar-collapse {
  padding-right: 0px;
}

@media (min-width: 768px) {
  .navbar-right {
    margin-right: 0px;
  }
}

.btn-tlc {
    --bs-btn-color: #FFF;
    --bs-btn-bg: var(--tlc-red);
    --bs-btn-border-color: #FFF;
    --bs-btn-hover-color: #FFF;
    --bs-btn-hover-bg: var(--tlc-red);
    --bs-btn-hover-border-color: #FFF;
    --bs-btn-focus-shadow-rgb: 11,172,204;
    --bs-btn-active-color: #FFF;
    --bs-btn-active-bg: var(--tlc-red);
    --bs-btn-active-border-color: var(--tlc-red);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: var(--tlc-red);
    --bs-btn-disabled-border-color: var(--tlc-red);
}

.btn-tlc-black {
    --bs-btn-color: #FFF;
    --bs-btn-bg: var(--tlc-dark-grey);
    --bs-btn-border-color: #FFF;
    --bs-btn-hover-color: #FFF;
    --bs-btn-hover-bg: var(--tlc-dark-grey);
    --bs-btn-hover-border-color: #FFF;
    --bs-btn-focus-shadow-rgb: 11,172,204;
    --bs-btn-active-color: #FFF;
    --bs-btn-active-bg: var(--tlc-dark-grey);
    --bs-btn-active-border-color: var(--tlc-dark-grey);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: var(--tlc-dark-grey);
    --bs-btn-disabled-border-color: var(--tlc-dark-grey);
}

.alert-danger p, .alert-danger li, .alert-success p, .alert-success li {
    color: #000;
}

/* ****************** FONTS ****************** */

.pt-sans-regular {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.pt-sans-bold {
  font-family: "PT Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.pt-sans-regular-italic {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.pt-sans-bold-italic {
  font-family: "PT Sans", sans-serif;
  font-weight: 700;
  font-style: italic;
}

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

.container-fluid-max-width {
	max-width:1960px;
}

.bkg-col-black {
	background-color:var(--tlc-black);
}

.bkg-col-light-grey {
	background-color:var(--tlc-light-grey);
}

.bkg-col-med-grey {
	background-color:var(--tlc-med-grey);
}

.bkg-col-dark-grey {
	background-color:var(--tlc-dark-grey);
}

.bkg-col-red {
	background-color:var(--tlc-red);
}

.tab-red {
	padding-top:8px; 
	padding-bottom:8px; 
	padding-left:15px; 
	margin:0px; 
	border-top-right-radius: 30px; 
	-moz-border-radius-topright: 30px; 
	-webkit-border-top-right-radius: 30px;
}

.border-bottom-line-red {
	border-bottom:1px solid var(--tlc-red);
}

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

.text-red-tlc {
	color:var(--tlc-red);
}

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

.banner-text-position {
	position:absolute;
	top:20px;
	left:30px;
}

.pad-content-main {
	padding-left:30px;
	padding-right:30px;
}

.pad-content-main-h {
	padding-left:30px;
	padding-right:30px;
}

.pad-content-left {
	padding-left:30px;
}

.pad-content-right-max-50 {
	padding-right:15px;
}

.pad-content-3-img-row {
	padding-top:40px; 
	padding-bottom:40px; 
	padding-right:30px; 
	padding-left:30px;
}

.pad-top-40-pad-bot-40 {
	padding-top:40px;
	padding-bottom:20px;
}

.pad-top-50-pad-bot-35 {
	padding-top:15px;
	padding-bottom:12px;
}

/*.fs-3, .fs-4 {
		font-size: 1.0rem!important;
}*/

.fs-3 {
		font-size: 1.1rem!important;
		font-size: calc(1.1rem + .1vw)!important;	
}

.fs-4 {
		font-size: 1.0rem!important;
}

.display-1 {
	font-size: 1.75em;
}

.tab-text {
	font-size: 1.5rem!important;
}

.btn-text {
	font-size: 1.25rem!important;
	line-height:1;
}

@media (min-width: 576px) {
	.tab-text {
		font-size: 1.25rem!important;
	}
}

@media (min-width: 768px) {
	.banner-text-position {
		position:absolute;
		top:25px;
		left:40px;
	}
	.pad-content-main {
		padding-left:40px;
		padding-right:40px;
	}
	.pad-content-main-h {
		padding-left:40px;
		padding-right:40px;
  }
	.pad-content-left {
		padding-left:40px;
  }
	.pad-content-right-max-50 {
		padding-right:20px;
	}
	.pad-top-40-pad-bot-40 {
		padding-top:40px;
		padding-bottom:40px;
	}
	.pad-top-50-pad-bot-35 {
		padding-top:20px;
		padding-bottom:15px;
	}
	.fs-3 {
			font-size: 1.1rem!important;
			font-size: calc(1.2rem + .1vw)!important;	
	}
	.fs-4 {
			font-size: 1.0rem!important;
	}
	h1, h2 {
		font-size: 1.75em;
	}
	.display-1 {
		font-size: 2.25em;
	}
	.tab-text {
		font-size: 1.5rem!important;
	}
	.btn-text {
		font-size: 1.25rem!important;
	}
}

@media (min-width: 992px) {
	.banner-text-position {
		position:absolute;
		top:30px;
		left:50px;
	}
	.pad-content-main {
		padding-left:50px;
		padding-right:50px;
	}
	.pad-content-main-h {
		padding-left:50px;
		padding-right:50px;
  }
	.pad-content-left {
		padding-left:50px;
  }
	.pad-content-right-max-50 {
		padding-right:25px;
	}
	.pad-top-50-pad-bot-35 {
		padding-top:25px;
		padding-bottom:18px;
	}
	.fs-3 {
			font-size: 1.3rem!important;
			font-size: calc(1.2rem + .1vw)!important;	
	}
	.fs-4 {
			font-size: 1.2rem!important;
	}
	h1, h2 {
		font-size: 2.0em;
	}
	.display-1 {
		font-size: 2.75em;
	}
	.tab-text {
		font-size: 1.75rem!important;
	}
	.btn-text {
		font-size: 1.5rem!important;
	}
}

@media (min-width: 1200px) {
	.banner-text-position {
		position:absolute;
		top:40px;
		left:60px;
	}
	.pad-content-main {
		padding-left:60px;
		padding-right:60px;
	}
	.pad-content-main-h {
		padding-left:60px;
		padding-right:60px;
  }
	.pad-content-left {
		padding-left:60px;
  }
	.pad-content-right-max-50 {
		padding-right:30px;
	}
	.pad-top-50-pad-bot-35 {
		padding-top:30px;
		padding-bottom:21px;
	}
	.fs-3 {
			font-size: 1.50rem!important;
			font-size: 1.75rem!important;
			font-size: calc(1.3rem + .4vw)!important;
	}
	.fs-4 {
			font-size: 1.25rem!important;
	}
	h1 {
		font-size: 2.25em;
	}
	.display-1 {
		font-size: 3.5em;
	}
	.tab-text {
		font-size: 2rem!important;
	}
	.btn-text {
		font-size: 1.75rem!important;
	}
}

@media (min-width: 1400px) {
	.banner-text-position {
		position:absolute;
		top:60px;
		left:100px;
	}
	.pad-content-main {
		padding-left:100px;
		padding-right:100px;
	}
	.pad-content-main-h {
		padding-left:100px;
		padding-right:100px;
  }
	.pad-content-left {
		padding-left:100px;
  }
	.pad-content-right-max-50 {
		padding-right:50px;
	}
	.pad-top-50-pad-bot-35 {
		padding-top:50px;
		padding-bottom:35px;
	}
	.fs-3 {
			font-size: 1.75rem!important;
	}
	.fs-4 {
			font-size: 1.5rem!important;
	}
	h1 {
		font-size: 2.5em;
	}
	.display-1 {
		font-size: 5.0em;
	}
	.tab-text {
		font-size: 2.25rem!important;
	}
	.btn-text {
		font-size: 2rem!important;
	}
}

/*@media (min-width: 1200px)
.h1, h1 {
    font-size: 2.5rem;
}

@media (min-width: 1200px)
.fs-3 {
    font-size: 1.75rem!important;
}
*/

/* ****************** 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;*/
}

.header-btn {
	max-width:400px; 
	width:100%;
}

@media (min-width: 576px) {
	.header-strapline {
		font-size: 3.7vw!important;
	}
	.header-logo-pad {
		padding-left:27px;
		padding-right:0px;
	}
	.header-content-pad-h {
		padding-left:27px;
		padding-right:27px;
	}
	.header-btn {
		max-width:400px; 
		width:90%;
	}
}

@media (min-width: 768px) {
	.header-strapline {
		font-size: 1.75rem;
		font-size: 1.5rem;
		font-size: 3.7vw!important;
	}
	.header-logo-pad {
		padding-left:36px;
	}
	.header-content-pad-h {
		padding-left:36px;
		padding-right:36px;
	}
	.header-btn {
		padding:5px;
		max-width:400px; 
		width:95%;
	}
}
@media (min-width: 992px) {
	.header-strapline {
		font-size: 2.25rem;
		font-size: 1.75rem;
		font-size: 2.75vw!important;
	}
	.header-logo-pad {
		padding-left:45px;
	}
	.header-content-pad-h {
		padding-left:36px;
		padding-right:36px;
	}
	.header-btn {
		max-width:400px; 
		width:98%;
	}
}
@media (min-width: 1200px) {
	.header-strapline {
		font-size: 2.75rem;
		font-size: 2.25rem;
		/*font-size: calc(2.0rem + .3vw)!important;*/
		font-size: 2.75vw!important;
	}
	.header-logo-pad {
		padding-left:55px;
	}
	.header-content-pad-h {
		padding-left:40px;
		padding-right:40px;
	}
	.header-btn {
		max-width:400px; 
		width:90%;
		font-size:1.1rem;
	}
}
@media (min-width: 1400px) {
	.header-strapline {
		font-size: 3.45rem;
		font-size: 2.85vw!important;
	}
	.header-logo-pad {
		padding-left:80px;
	}
	.header-content-pad-h {
		padding-left:45px;
		padding-right:45px;
	}
	.header-btn {
		max-width:400px; 
		width:90%;
		font-size:1.25rem;
	}
}

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

.submenu-pad {
	padding:10px 30px 40px 30px; 
	border-bottom:1px solid var(--tlc-red);
}

.submenu-image-container {
		position: relative;
		display: inline-block;
}

.submenu-image-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		opacity: 1;
		/*transition: opacity 0.3s ease;*/
}

.submenu-image-container:hover .submenu-image-overlay {
		opacity: 1;
		height: 30%;
}

.submenu-image-btn {
		position: absolute;
		top: 80%;
		left: 5%;
		width: 90%;
		font-weight:bold;
		padding-right:5px; 
		padding-left:5px;
		border:1px solid #FFFFFF; 
}

@media (min-width: 768px) {
	.submenu-image-btn {
		left: 20%;
		width: 60%;
	}
}

.submenu-image-txt {
	position: absolute;
	top: 5%;
	left: 0%;
	width: 100%;
}

.submenu-image-txt h3 {
	font-size:2rem!important;;
}

@media (min-width: 576px) {
	.submenu-image-txt h3 {
		font-size:calc(1rem + .6vw)!important;
	}	
}

@media (min-width: 768px) {
	.submenu-image-txt h3 {
		font-size:calc(1.3rem + .6vw)!important;
	}	
}

@media (min-width: 992px) {
	.submenu-image-txt h3 {
		font-size:calc(1.1rem + .6vw)!important;
	}	
}

@media (min-width: 1200px) {
	.submenu-image-txt h3 {
		font-size:calc(1.3rem + .6vw)!important;
	}	
}

@media (min-width: 1400px) {
	.submenu-image-txt h3 {
		font-size:2rem!important;;
	}	
}

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

.footer-btn {
	max-width:400px; 
	width:80%;
}

/* ****************** 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;
}
