﻿
*, *::before, *::after { box-sizing: border-box; margin: 0px; padding: 0; }
html { scroll-behavior: smooth; min-height: 100%; margin: 0; padding: 0; }
body { background-color: var(--page-background-colour); }
body { width: 100%; min-height: 100%; margin: 0; padding: 0; }
div { margin: 0px; border: 0px; padding: 0px; }
table { border-collapse: collapse; }
img { max-width: 100%; height: auto; margin: 0px; border: 0px; padding: 0px; float: top; }
ul { list-style-position: outside; list-style-type: disc; padding: 16px 16px 16px 64px; }

/* ################################################################################################################################ */
/* ### font-family ### */
/* ################################################################################################################################ */

h1, h2, h3, h4, h5, p, ul, li, a, th, td, span, strong, label, select, input, textarea, button, div { 
	/*
	font-family: "Open Sans", Verdana, Tahoma, sans-serif;
	font-family: "Open Sans Light", Verdana, Tahoma, sans-serif;
	font-family: 'Montserrat', sans-serif;
	*/
	font-family: 'Montserrat', sans-serif;
}

/* ################################################################################################################################ */
/* ### font-size / weight / margin / border / padding ### */
/* ################################################################################################################################ */

p, ul, li, a, th, td, span, label, select, input, textarea, button { 
	font-size: 1rem; 
	font-weight: 300;
	line-height: 140%;
	color: var(--page-text-colour);
	text-align: left;
}
p { 
	margin: 0.75rem 0 0.75rem 0;
}
h1 { 
	font-size: 2.875rem;
	font-weight: 600;
	line-height: 120%;
	margin: 2.5rem 0 1rem 0;
	color: var(--page-text-colour);
	text-align: left;
}
	.h1
	{ 
		font-size: 2.875rem;
		font-weight: 600;
		line-height: 120%;
		margin: 2.5rem 0 1rem 0;
		color: var(--page-text-colour);
		text-align: left;
	}



h2
{ 
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 120%;
	margin: 2.5rem 0 1rem 0;
	color: var(--page-text-colour);
	text-align: left;
}
h3, h4, h5
{ 
	font-size: 1rem;
	font-weight: 600;
	line-height: 120%;
	margin: 0.5rem 0 0.5rem 0;
	color: var(--page-text-colour);
	text-align: left;
}
a, a:link, a:visited, a:hover, a:active  
{ 
	color: var(--page-link-colour); 
	font-weight: 300; 
	text-decoration: none; 
} 
strong { color: var(--page-text-strong-colour); font-weight: 600; }






.button {
	background: var(--submit-button-background); 
	color: var(--submit-button-text);
	padding: 10px 30px;
	margin: 8px 0;
	border: none;
	cursor: pointer;
	
		line-height: 200%;
	}
.button:hover {
	opacity: 0.7;
}
a.button {
	color: var(--submit-button-text);
	font-weight: normal;
}





.light-button {
	background: var(--submit-button-text); 
	color: var(--submit-button-background);
	padding: 10px 30px;
	margin: 8px 0;
	border: none;
	cursor: pointer;
	
		line-height: 200%;
	}
.light-button:hover {
	opacity: 0.7;
}
a.light-button {
	color: var(--submit-button-background);
	font-weight: normal;
}







.table-button {
	background: var(--submit-button-background); 
	color: var(--submit-button-text);
	padding: 2px 15px;
	margin: 8px 0;
	border: none;
	cursor: pointer;
	
		line-height: 150%;
	}
.table-button:hover {
	opacity: 0.7;
}
a.table-button {
	color: var(--submit-button-text);
	font-weight: normal;
}


.table-button-red {
	background: red; 
	color: white;
	padding: 2px 15px;
	margin: 8px 0;
	border: none;
	cursor: pointer;
	
		line-height: 150%;
	}
.table-button-red:hover {
	opacity: 0.7;
}
a.table-button-red {
	color: var(--submit-button-text);
	font-weight: normal;
}

iframe { padding: 0px; margin: 0px; width: 100% !important; }

/* ################################################################################################################################ */
/* ### page structure ### */
/* ################################################################################################################################ */
/* ================================================================================================================================ */
.section { background: transparent; clear: both; min-height: 100%; } /* clear: both; terminates any image floats in a section */
.section > div { width: 100%; } /* use for full width backdrop filters */
.section > div > div { width: 100%; margin: 0px; padding: 1.25rem 0.625rem; text-align: left; }
/* ================================================================================================================================ */





/* ================================================================================================================================ */
#footer-detail { background: var(--footer-detail-colour); }
#footer-detail > div > div { display: flex; justify-content: center; flex-wrap: wrap; }
#footer-detail > div > div > div { width: 100%; text-align: center; display: inline-block; }
#footer-detail > div > div > div:first-child { margin-top: 13px; }
#footer-detail > div > div > div:first-child img { width: 200px; }
#footer-detail img.social { width: 35px; }
#footer-detail a { font-weight: normal; }
#footer-detail h3 { text-align: center; }
#footer-detail p { text-align: center; }
/* ================================================================================================================================ */
#footer-ssl { background: var(--footer-ssl-colour); }
#footer-ssl > div > div { padding-top: 0.6rem; padding-bottom: 0.4rem; display: flex; justify-content: center; }
#footer-ssl > div > div > div img { width: 7.5rem; }
/* ================================================================================================================================ */
#footer-copyright { background: var(--footer-copyright-colour); }
#footer-copyright > div > div { padding-top: 0.2rem; padding-bottom: 0.2rem; }
#footer-copyright > div > div p { font-size: 0.625rem; padding: 0rem; color: var(--footer-copyright-text-colour); text-align: center; }
#footer-copyright > div > div a { font-size: 0.625rem; color: var(--footer-copyright-link-colour); }
/* ================================================================================================================================ */
@media (min-width: 576px) { /* Small devices (landscape phones, 576px and up) */
}
@media (min-width: 768px) { /* Medium devices (tablets, 768px and up) */
}
@media (min-width: 992px) { /* Large devices (desktops, 992px and up) */
}
@media (min-width: 1200px) { /* Extra large devices (large desktops, 1200px and up) */
	/* ================================================================================================================================ */
	.section { background: transparent; clear: both; } /* clear: both; terminates any image floats in a section */
	.section > div { width: 100%; } /* use for full width backdrop filters */
	/*.section > div > div { width: 75rem; margin: 0rem auto; padding: 1rem 0.625rem; text-align: left; }*/
	/*.section > div > div { width: 100%; margin: 0rem auto; padding: 1rem 0.625rem; text-align: center; } */
	/*.section > div > div { width: 100%; margin: 0rem 0px; padding: 1rem 150px; text-align: left; }*/
	.section > div > div { width: 1200px; margin: 0rem auto; padding: 1rem 10px; text-align: left; }

	/* ================================================================================================================================ */

	#header-welcome-user { background: white; position: fixed; z-index: 99; width: 100%; }
	#header-welcome-user > div > div { padding: 2px 0.625rem; }
	#header-welcome-user p { text-align: right; padding-right: 150px; }
	


	/* ================================================================================================================================ */
	#footer-detail { background: var(--footer-detail-colour); }
	#footer-detail > div > div { display: flex; justify-content: space-between; }
	#footer-detail > div > div > div { text-align: left; }
	#footer-detail > div > div > div:first-child { width: 200px; margin-top: 13px; }
	#footer-detail > div > div > div:nth-child(2) { width: 220px; }
	#footer-detail > div > div > div:nth-child(3) { width: 180px; }
	#footer-detail > div > div > div:nth-child(4) { width: 320px; }
	#footer-detail > div > div > div:first-child img { width: 200px; }
	#footer-detail img.social { width: 35px; }
	#footer-detail a { font-weight: normal; }
	#footer-detail h3 { text-align: left; }
	#footer-detail p { text-align: left; }
	/* ================================================================================================================================ */
	#footer-ssl { background: var(--footer-ssl-colour); }
	#footer-ssl > div > div { padding-top: 0.6rem; padding-bottom: 0.4rem; display: flex; justify-content: flex-end; }
	#footer-ssl > div > div > div img { width: 7.5rem; }
	/* ================================================================================================================================ */
	#footer-copyright { background: var(--footer-copyright-colour); }
	#footer-copyright > div > div { padding-top: 0.2rem; padding-bottom: 0.2rem; }
	#footer-copyright > div > div p { text-align: right; font-size: 0.625rem; padding: 0rem; color: var(--footer-copyright-text-colour); }
	#footer-copyright > div > div a { font-size: 0.625rem; color: var(--footer-copyright-link-colour); }
	/* ================================================================================================================================ */
}
/* ################################################################################################################################ */
/* ### section type - sizes, centre ### */
/* ################################################################################################################################ */
/* ================================================================================================================================ */
.section-type-title {
	margin-bottom: 3.125rem;
}
.section-type-title > div > div { padding-top: 4.375rem; padding-bottom: 6.25rem; }
.section-type-title h1 { font-size: 50px; font-weight: bold; text-align: center; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-type-title h2 { font-size: 40px; text-align: center; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-type-title h3 { font-size: 26px; text-align: center; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-type-title p { font-size: 16px; text-align: center; }
.section-type-title strong { font-weight: bold; }
@media (min-width: 1200px) {
	.section-type-title > div > div { padding-top: 4.375; padding-bottom: 6.25rem; }
	.section-type-title h1 { font-size: 50px; font-weight: bold; text-align: left; }
	.section-type-title h2 { font-size: 40px; text-align: left; }
	.section-type-title h3 { font-size: 26px; text-align: left; }
	.section-type-title p { font-size: 16px; text-align: left; }
	.section-type-title strong { font-weight: bold; }
}
/* ================================================================================================================================ */
.section-type-body > div > div { padding-top: 0rem; padding-bottom: 0rem;         margin-top: 100px; }
/* ================================================================================================================================ */
.section-type-banner > div > div { padding-top: 1rem; padding-bottom: 2rem; }
.section-type-banner h2 { text-align: center; font-size: 2.2rem; }
.section-type-banner h3 { text-align: center; font-size: 1.4rem; }
.section-type-banner p { text-align: center; }
.section-type-banner strong { font-weight: bold; }
@media (min-width: 768px) {
	.section-type-banner h2 { text-align: center; font-size: 3rem; }
	.section-type-banner h3 { text-align: center; font-size: 1.4rem; }
}
/* ================================================================================================================================ */
/* ################################################################################################################################ */
/* ### section themes - colours, images, shadows ### */
/* ################################################################################################################################ */
/* ================================================================================================================================ */
.section-theme-technology { 
	background: linear-gradient( hsla(209.4, 63.5%, 57.1%, 0.55), hsla(209.4, 63.5%, 57.1%, 0.55) ), 
	url('/images/backgrounds/technology.jpg');
	background-repeat: no-repeat; 
	background-attachment: scroll;
	background-size: cover;
	background-position: center;
}
.section-theme-technology > div { backdrop-filter: grayscale(0%); }
.section-theme-technology h1 { color: white; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-theme-technology h2 { color: white; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-theme-technology h3 { color: white; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-theme-technology p { color: white; }
@media (min-width: 992px) { 
	.section-theme-technology { background-attachment: fixed; }
}
/* ================================================================================================================================ */
.section-theme-jetty { 
	background: linear-gradient( hsla(0, 1%, 74%, 0.2), hsla(0, 1%, 74%, 0.2) ), 
	url('/images/backgrounds/villa-vida-loca-canal-jetty.jpg');
	background-repeat: no-repeat; 
	background-attachment: scroll;
	background-size: cover;
	background-position: center;
}
.section-theme-jetty > div { backdrop-filter: grayscale(0%); }
.section-theme-jetty h1 { color: white; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-theme-jetty h2 { color: white; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-theme-jetty h3 { color: white; text-shadow: 0px 0px 20px var(--image-button-text-shadow); }
.section-theme-jetty p { color: white; }
@media (min-width: 992px) { 
	.section-theme-jetty { background-attachment: fixed; }
}
/* ================================================================================================================================ */
.section-theme-legal { 
	background: linear-gradient( hsla(0,0%,68%,0.75), hsla(0,0%,68%,0.75) ), 
	url('/images/backgrounds/legal-documents.jpg');
	filter: grayscale(100%);
	background-repeat: no-repeat; 
	background-attachment: scroll;
	background-size: cover;
	background-position: center;
	margin-bottom: 3.125rem;
}
@media (min-width: 992px) { 
	.section-theme-legal { background-attachment: fixed; }
}
/* ================================================================================================================================ */
.section-theme-dark { background: #0070C0; }
.section-theme-dark > div > div { padding-top: 1rem; padding-bottom: 2rem; }
.section-theme-dark h2 { color: white; text-align: center; }
.section-theme-dark h3 { color: white; text-align: center; }
.section-theme-dark p { color: white; text-align: center; }
.section-theme-dark strong { color: white; font-weight: bold; }
/* ================================================================================================================================ */
.section-theme-dark-blue { background: var(--colour--blue); }
.section-theme-dark-blue > div > div { padding-top: 1rem; padding-bottom: 2rem; }
.section-theme-dark-blue h2 { color: white; text-align: center; }
.section-theme-dark-blue h3 { color: white; text-align: center; }
.section-theme-dark-blue p { color: white; text-align: center; }
.section-theme-dark-blue strong { color: white; font-weight: bold; }

.section-theme-dark-blue label { color: white; text-align: left; }
.section-theme-dark-blue input[type=submit] { background: white; color: var(--colour--blue);  }

/* ================================================================================================================================ */
.section-theme-light { background: var(--footer-detail-colour); }
.section-theme-light > div > div { padding-top: 1rem; padding-bottom: 2rem; }
.section-theme-light h2 { color: var(--page-text-colour); text-align: center; }
.section-theme-light h3 { color: var(--page-text-colour); text-align: center; }
.section-theme-light p { color: var(--page-text-colour); text-align: center; }
.section-theme-light strong { color: var(--page-text-colour); font-weight: bold; }
/* ================================================================================================================================ */
.section-theme-light-blue { background: var(--colour--blue); }
.section-theme-light-blue > div > div { padding-top: 1rem; padding-bottom: 2rem; }
.section-theme-light-blue h2 { color: black; text-align: center; }
.section-theme-light-blue h3 { color: black; text-align: center; }
.section-theme-light-blue p { color: black; text-align: center; }
.section-theme-light-blue strong { color: black; font-weight: bold; }
/* ================================================================================================================================ */
.section-theme-white { background: white; }
.section-theme-white > div > div { padding-top: 1rem; padding-bottom: 2rem; }
.section-theme-white h2 { color: var(--page-text-colour); text-align: center; }
.section-theme-white h3 { color: var(--page-text-colour); text-align: center; }
.section-theme-white p { color: var(--page-text-colour); text-align: center; }
.section-theme-white strong { color: var(--page-text-colour); font-weight: bold; }
/* ================================================================================================================================ */
.section-theme-yellow { background: #F2C811; }
.section-theme-yellow > div > div { padding-top: 1rem; padding-bottom: 2rem; }
.section-theme-yellow h2 { color: black; text-align: center; }
.section-theme-yellow h3 { color: black; text-align: center; }
.section-theme-yellow p { color: black; text-align: center; }
.section-theme-yellow strong { color: black; font-weight: bold; }

.section-theme-yellow label { color: black; text-align: left; }
.section-theme-yellow input[type=submit] { background: black; color: white;  }

/* ================================================================================================================================ */





/* ################################################################################################################################ */
/* ### grids ### */
/* ################################################################################################################################ */
/* ================================================================================================================================ */

.grid { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem 0; }
.c2 > div { width: 100%; }
.c3 > div { width: 100%; }
.c4 > div { width: 100%; }
/* ------------------------------------------------------------------ */
.grid-rejuvenate-your-pavers > div { display: inline-block; width: 100%; }
	.grid-rejuvenate-your-pavers > div div { padding: 10px 10px 10px 10px; }
/* ------------------------------------------------------------------ */
.grid-contact-us > div { display: inline-block; width: 100%; }
	.grid-contact-us > div div { padding: 10px 10px 10px 10px; }
/* ------------------------------------------------------------------ */
.grid-our-locations > div { display: inline-block; width: 100%; }
	.grid-our-locations > div div { padding: 10px 10px 10px 10px; }
/* ------------------------------------------------------------------ */

/* ################################################################################################################################ */
@media (min-width: 576px) { /* Small devices (landscape phones, 576px and up) */
	.c2 > div { width: 100%; }
	.c3 > div { width: 49%; }
	.c4 > div { width: 49%; }
}
@media (min-width: 768px) { /* Medium devices (tablets, 768px and up) */
	/* ------------------------------------------------------------------ */
	.grid-rejuvenate-your-pavers > div:first-child { width: 35%; }
	.grid-rejuvenate-your-pavers > div:nth-child(2) { width: 60%; }
	.grid-rejuvenate-your-pavers > div div { padding: 10px 10px 10px 10px; }
	/* ------------------------------------------------------------------ */
	.grid-contact-us > div:first-child { width: 35%; }
	.grid-contact-us > div:nth-child(2) { width: 60%; }
	.grid-contact-us > div div { padding: 10px 0px 10px 0px; }
	/* ------------------------------------------------------------------ */
	.grid-our-locations > div:first-child { width: 35%; }
	.grid-our-locations > div:nth-child(2) { width: 60%; }
	.grid-our-locations > div div { padding: 10px 0px 10px 0px; }
	/* ------------------------------------------------------------------ */
	.c2 > div { width: 49%; }
	.c3 > div { width: 32%; }
	.c4 > div { width: 32%; }
}
@media (min-width: 992px) { /* Large devices (desktops, 992px and up) */
}
@media (min-width: 1200px) { /* Extra large devices (large desktops, 1200px and up) */
	.c2 > div { width: 49%; }
	.c3 > div { width: 32%; }
	.c4 > div { width: 24%; }
}










/* ################################################################################################################################ */
/* ### bespoke ### */
/* ################################################################################################################################ */

	.polaroid-grid { display: inline-flex; flex-wrap: wrap; gap: 2rem 0; }
	.polaroid-grid > div { width: 100%; }

@media (min-width: 576px) { /* Small devices (landscape phones, 576px and up) */
	.polaroid-grid { display: inline-flex; flex-wrap: wrap; gap: 1.8rem 4%; }
	.polaroid-grid > div { width: 48%; }
}
@media (min-width: 768px) { /* Medium devices (tablets, 768px and up) */
	.polaroid-grid { display: inline-flex; flex-wrap: wrap; gap: 2rem 3%; }
	.polaroid-grid > div { width: 31%; }
}
@media (min-width: 992px) { /* Large devices (desktops, 992px and up) */
}
@media (min-width: 1200px) { /* Extra large devices (large desktops, 1200px and up) */
	.polaroid-grid { display: inline-flex; flex-wrap: wrap; gap: 1.8rem 2.5%; }
	.polaroid-grid > div { width: 23%; }
}



div.polaroid {
	box-shadow: 0px 0px 5px 5px hsl(  0,  0%, 85%);;
	border: 20px solid white;
	border-bottom: 10px solid white;
}
div.polaroid h3,
div.polaroid h4,
div.polaroid p {
	text-align: center; 
	margin-top: 0.2rem;
	margin-bottom: 0.2rem;
}
div.polaroid img {
	border-left: 1px solid hsl(0, 0%, 45%);
	border-top: 1px solid hsl(0, 0%, 45%);
	border-right: 0.2px solid hsl(0, 0%, 65%);
	border-bottom: 0.2px solid hsl(0, 0%, 65%);
}










.x4-grid { display: inline-flex; flex-wrap: wrap; gap: 2rem 0; }
.x4-grid > div { width: 100%; }

@media (min-width: 576px) { /* Small devices (landscape phones, 576px and up) */
.x4-grid { display: inline-flex; flex-wrap: wrap; gap: 1.8rem 4%; }
.x4-grid > div { width: 48%; }
}
@media (min-width: 768px) { /* Medium devices (tablets, 768px and up) */
.x4-grid { display: inline-flex; flex-wrap: wrap; gap: 2rem 3%; }
.x4-grid > div { width: 31%; }
}
@media (min-width: 992px) { /* Large devices (desktops, 992px and up) */
}
@media (min-width: 1200px) { /* Extra large devices (large desktops, 1200px and up) */
.x4-grid { display: inline-flex; flex-wrap: wrap; gap: 1.8rem 2.5%; }
.x4-grid > div { width: 23%; }
}




.x5-grid { display: inline-flex; flex-wrap: wrap; gap: 1.8rem 4%; }
.x5-grid > div { width: 48%; }

@media (min-width: 576px) { /* Small devices (landscape phones, 576px and up) */
.x5-grid { display: inline-flex; flex-wrap: wrap; gap: 2rem 3%; }
.x5-grid > div { width: 31%; }
}
@media (min-width: 768px) { /* Medium devices (tablets, 768px and up) */
.x5-grid { display: inline-flex; flex-wrap: wrap; gap: 1.8rem 2.5%; }
.x5-grid > div { width: 23%; }
}
@media (min-width: 992px) { /* Large devices (desktops, 992px and up) */
}
@media (min-width: 1200px) { /* Extra large devices (large desktops, 1200px and up) */
.x5-grid { display: inline-flex; flex-wrap: wrap; gap: 1.8rem 2.5%; }
.x5-grid > div { width: 18%; }
}




/* ################################################################################################################################ */

#form-contact-us input[type=text], 
#form-contact-us textarea { 
	width: 100%; 
	margin: 0px; padding: 5px 0px 5px 5px;
	}

#form-contact-us #ffody5sgh6bk7erd,
#form-contact-us #ibii29554i3gfadr,
#form-contact-us #Lhthys4sqq5BBh8q { 
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	width: 0;
	z-index: -1;	
	}

#form-contact-us > div:last-child { margin-top: 30px; margin-bottom: 30px; }
	
/* ################################################################################################################################ */




















#auth {
	height: 100%; width: 100%; display: table;
	background: linear-gradient( hsla(0,0%,98%,0.8), hsla(0,0%,40%,0.8) ), url('/images/backgrounds/grey-abstract-3.jpg');
	background-repeat: no-repeat; background-size: cover; background-color: hsl(0,0%,90%); 
} 
#auth > div {
	display: table-cell; vertical-align: middle;  	
	backdrop-filter: blur(10px);
} 







#btd_login_container { margin: auto; width: 350px; background: white;}
#btd_login_container form { border: 1px solid #ccc; }
#btd_login_container input[type=text], 
#btd_login_container input[type=password] {
	  width: 100%;
	  padding: 12px 20px;
	  margin: 8px 0;
	  display: inline-block;
	  border: 1px solid #ccc;
	  box-sizing: border-box;
	}
	/* Set a style for all buttons */
	#btd_login_container button {
	  background-color: #04AA6D;
	  color: white;
	  padding: 14px 20px;
	  margin: 8px 0;
	  border: none;
	  cursor: pointer;
	  width: 100%;
	}
	#btd_login_container button:hover { opacity: 0.8; }
	#btd_login_container .cancelbtn {
	  width: auto;
	  padding: 10px 18px;
	  background-color: var(--colour--red, #f44336);
	}

	#btd_login_container .container { padding: 16px; }



/* ====================== */


table.data-table {



}

table.data-table td {

	border: 1px solid black;
	padding-left: 10px;
	padding-right: 10px;
}
table.data-table th {

	border: 1px solid black;
	padding-left: 10px;
	padding-right: 10px;

	text-align: center;
	font-weight: 600;
	background: silver;

}
table.data-table th.select-cell,
table.data-table td.select-cell
{
	border: none;
	background: none;
	padding: 0px 10px 0px 10px;
}
table.data-table th.icon-cell,
table.data-table td.icon-cell
{
	border: none;
	background: none;
	padding: 0px 10px 0px 10px;
	display: flex;
}





table.data-table tr.filter-row td {
	border: none;
	padding-bottom: 10px;
}










table.data-table input[type=image] {
	height: 20px;
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px 5px;
	border: none;
	background: none;
	display: block; /* block removes space beneath */
}

table.data-table input {
	margin-top: 0px;
	margin-bottom: 0px;
	display: block; /* block removes space beneath */
}

 /* ====================== */

.table-button {
	height: 20px; 
	margin-top: 0px; 
	margin-bottom: 0px; 
	padding: 0px 1px; 
	border: none; 
	background: white;

}


/* ====================== */











.card
{ 
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 20px 15px;
	background-color: hsl(0, 0%, 93%); /*white;*/
	xbox-shadow: 2px 2px 6px 6px #ccc;
	bxorder-left: 8px Solid #003a73;
	border-right: 1px Solid gray;
	border-top: 1px Solid gray;
	border-bottom: 1px Solid gray;
}
.card label { padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px; }


.headline-card { 
	width: 400px; display: flex; flex-wrap: wrap; gap: 5px;

	border: dashed 1px gray;
	background-color: hsl(0, 0%, 100%); /*white;*/

}
.headline-card input { width: 100%; margin: 0px; height: 22px; }
.headline-card > div:nth-child(1) { width: calc(25% - (5px / 2)); }
.headline-card > div:nth-child(2) { width: calc(75% - (5px / 2)); }
.headline-card > div:nth-child(3) { width: 100%; }
.headline-card > div:nth-child(4) { width: 100%; }
.headline-card > div:nth-child(5) { width: 100%; }



.matrix-card { 

	border: dashed 1px gray;
	background-color: hsl(0, 0%, 100%); /*white;*/

}


.notes-card { 
	width: 400px; display: flex; flex-wrap: wrap; gap: 5px;

	border: dashed 1px gray;
	background-color: hsl(0, 0%, 93%);

}
.notes-card textarea { width: 100%; margin: 0px; height: 100%; background-color: #ffee8c; padding: 10px; border-color: gray;}
.notes-card > div:first-child { width: 100%; }
.notes-card > div:nth-child(2) { width: 100%; height: 600px;}










.contact-card { 
	width: 400px; display: flex; flex-wrap: wrap; gap: 5px;
	border-left: 8px Solid gray;
}
.contact-card input { width: 100%; margin: 0px; height: 22px; }
.contact-card > div:first-child { width: 100%; }
.contact-card > div:nth-child(2) { width: calc(50% - (5px / 2)); }
.contact-card > div:nth-child(3) { width: calc(50% - (5px / 2)); }
.contact-card > div:nth-child(4) { width: 100%; }
.contact-card > div:nth-child(5) { width: 100%; }
.contact-card > div:nth-child(6) { width: 100%; }



.address-card { 
	width: 400px; display: flex; flex-wrap: wrap; gap: 5px; 
	border-left: 8px Solid gray;
}
.address-card input, .address-card select { width: 100%; margin: 0px; height: 22px; }
.address-card > div:first-child { width: 100%; }
.address-card > div:nth-child(2) { width: 100%; }
.address-card > div:nth-child(3) { width: calc(50% - (2 * 5px / 3)); }
.address-card > div:nth-child(4) { width: calc(25% - (2 * 5px / 3)); }
.address-card > div:nth-child(5) { width: calc(25% - (2 * 5px / 3)); }


 div.business-card
{ 
	width: 400px; display: flex; flex-wrap: wrap; gap: 5px;
	border-left: 8px Solid #003a73;
}
.business-card input { width: 100%; margin: 0px; height: 22px; }
.business-card > div:first-child { width: 100%; }
.business-card > div:nth-child(2) { width: calc(50% - (5px / 2)); }
.business-card > div:nth-child(3) { width: calc(50% - (5px / 2)); }
.business-card > div:nth-child(4) { width: 100%; }
.business-card > div:nth-child(5) { width: calc(50% - (5px / 2)); }
.business-card > div:nth-child(6) { width: calc(50% - (5px / 2)); }
.business-card > div:nth-child(7) { width: 100%; }
.business-card > div:nth-child(8) { width: 100%; }







 /* ====================== */


table.matrix td {

	border: 1px solid black;
	padding-left: 10px;
	padding-right: 10px;
}

table.matrix th {

	height: 100px;
	width: 25px;
	transform: rotate(270deg);
 }

 /* ====================== */


table.checkbox-matrix td {
	border: 1px solid black;
	padding: 0px;
	margin-top: 0px;
	margin-bottom: 0px;

}


table.checkbox-matrix td.x-axis-heading {
	writing-mode: vertical-rl; 
	text-orientation: mixed; 
	transform: rotate(180deg); 
	padding-top: 10px; 
	padding-bottom: 10px;
}
table.checkbox-matrix td.y-axis-heading {
	padding-left: 10px; 
	padding-right: 10px;

	height: 12px;

}
table.checkbox-matrix td.body-cell {
	text-align: center;
	padding-top: 2px;
}
table.checkbox-matrix td.body-cell input {
	padding-top: 0px;
	padding-bottom: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
}


 /* ====================== */






xinput, label { display: block; }
input { margin-bottom: 10px; }
label { margin-top: 10px; }

input[type="text"], input[type="date"], select { padding-left: 5px; }



#client_ref {  }

#opportunity_summary { width: 400px; }
#opportunity_description { width: 400px; }

#site { width: 400px; }

 
input[type="text"]#property_manager 
{ 
	width: 200px; 
}
input[type="text"]#trade_centre 
{ 
	width: 200px; 
}





input:read-only 
{ 
	background-color: silver; 
	border: 1px solid gray; 
}


table.workings { margin-left: 0px; background-color: hsl(0,0%,85%); }
table.workings th { text-align: center; padding-top: 5px; }
table.workings td { padding-left: 5px; padding-right: 5px; }
table.workings td:first-child, table.workings th:first-child { padding-left: 20px; }
table.workings td:last-child, table.workings th:last-child { padding-right: 20px; }




.input_dollar, input[type="number"]
{ 
	width: 90px; 
	text-align: right;
	padding-right: 5px;
}




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~ theme: black template override ~~~*/

p, ul, li, a, th, td, span, label, select, input, textarea, button, 
h2, a.h2, p.h2, 
h3, h4, h5, a.h3, a.h4, a.h5, p.h3, p.h4, p.h5,
strong,
div.box:before, div.box p,
div.additional-instructions p,
div.additional-instructions p span.highlight
{ 
	color: black;
}


hr
{ 
	border: none;
	border-bottom: solid black 1px;
}

span.highlight-1 { background-color: yellow; } /* yellow */
span.highlight-2 { background-color: #c4ecb9; } /* green */
span.highlight-3 { background-color: #fed8b1; } /* orange */

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/



xinput, label { display: block; }
input { margin-bottom: 10px; }
label { margin-top: 10px; }

input[type="text"], input[type="date"], select { padding-left: 5px; }



#client_ref {  }

#opportunity_summary { width: 400px; }
#opportunity_description { width: 400px; }

#site { width: 400px; }

 
input[type="text"]#property_manager 
{ 
	width: 200px; 
}
input[type="text"]#trade_centre 
{ 
	width: 200px; 
}





input:read-only 
{ 
	background-color: silver; 
	border: 1px solid gray; 
}


table.workings { margin-left: 0px; background-color: hsl(0,0%,85%); }
table.workings th { text-align: center; padding-top: 5px; }
table.workings td { padding-left: 5px; padding-right: 5px; }
table.workings td:first-child, table.workings th:first-child { padding-left: 20px; }
table.workings td:last-child, table.workings th:last-child { padding-right: 20px; }
table.workings hr { margin-bottom: 10px; margin-bottom: 10px; }





.input_dollars, input[type="number"]
{ 
	width: 110px; 
	text-align: right;
	padding-right: 5px;
}
.input_dollars_per_hour
{ 
	width: 90px; 
	text-align: right;
	padding-right: 5px;
}









/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
table.project-plan { margin-left: 0px; }

table.project-plan td { padding-left: 5px; padding-right: 5px; }
table.project-plan td.task { border: 1px solid black; background: yellow; }


table.project-plan td.task-description { padding-left: 5px; padding-right: 5px; width: 150px; }



table.project-plan th { 
	text-align: center; padding-top: 5px; 
	height: 120px;
	width: 25px;

	padding-left: 0px;
	padding-right: 0px;
	
	border: none;
	background: white;
}
table.project-plan th.weekday { 
	border: 1px solid black;
	background: white;
}
table.project-plan th.weekend { 
	border: 1px solid black;
	background: hsl(0,0%,85%);
}



table.project-plan th > div { 
	position: absolute;
	width: 25px;
    text-align: left;
	transform-origin: center;
	transform: rotate(-90deg);
    text-indent: -20px;
	padding: 0px 0px 0px 0px;
    margin: 0px;
    vertical-align: top;
	/*border: 1px solid green;*/
}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


.data-table #property { width: 100px; }
.data-table #state { width: 80px; }
.data-table #post_code { width: 80px; }




/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/


