﻿
*, *::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: 16px; 
	font-weight: 300;
	line-height: 140%;
	color: var(--page-text-colour);
	text-align: left;
}
p { 
	margin: 12px 0 12px 0;
}
h1 { 
	font-size: 2.875rem;
	font-weight: 600;
	line-height: 120%;
	margin: 20px 0 16px 0;
	color: var(--page-text-colour);
	text-align: left;
}
	.h1
	{ 
		font-size: 2.875rem;
		font-weight: 600;
		line-height: 120%;
		margin: 20px 0 16px 0;
		color: var(--page-text-colour);
		text-align: left;
	}



h2
{ 
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 120%;
	margin: 20px 0 16px 0;
	color: var(--page-text-colour);
	text-align: left;
}
h3, h4, h5
{ 
	font-size: 16px;
	font-weight: 600;
	line-height: 120%;
	margin: 4px 0 4px 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; }


/*
adjust for the fixed herader
*/
:target {
    scroll-margin-top: 90px;  /* Adjust this value to the height of your fixed header plus some extra space */
}





/* ################################################################################################################################ */
/* ### page structure ### */
/* ################################################################################################################################ */
/* ================================================================================================================================ */
.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: 100%; margin: 0px; padding: 10px 10px; 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.64px; display: flex; justify-content: center; }
#footer-ssl > div > div > div img { width: 120px; }
/* ================================================================================================================================ */
#footer-copyright { background: var(--footer-copyright-colour); }
#footer-copyright > div > div { padding-top: 3px; padding-bottom: 3px; }
#footer-copyright > div > div p { font-size: 10px; padding: 0rem; color: var(--footer-copyright-text-colour); text-align: center; }
#footer-copyright > div > div a { font-size: 10px; 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: 16px 10px; text-align: left; }
	/* ================================================================================================================================ */

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


	/* ================================================================================================================================ */
	#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: 10px; padding-bottom: 10px; display: flex; justify-content: flex-end; }
	#footer-ssl > div > div > div img { width: 120px; }
	/* ================================================================================================================================ */
	#footer-iso { background: var(--footer-ssl-colour); }
	#footer-iso > div > div { padding-top: 10px; padding-bottom: 6px; display: flex; justify-content: flex-end; }
	#footer-iso > div > div > div img { width: 150px; }
	/* ================================================================================================================================ */
	#footer-copyright { background: var(--footer-copyright-colour); }
	#footer-copyright > div > div { padding-top: 3px; padding-bottom: 3px; }
	#footer-copyright > div > div p { text-align: right; font-size: 10px; padding: 0; color: var(--footer-copyright-text-colour); }
	#footer-copyright > div > div a { font-size: 10px; color: var(--footer-copyright-link-colour); }
	/* ================================================================================================================================ */
}
/* ################################################################################################################################ */
/* ### section type - sizes, centre ### */
/* ################################################################################################################################ */
/* ================================================================================================================================ */
.section-type-title {
	margin-bottom: 0px;
}
.section-type-title > div > div { padding-top: 70px; padding-bottom: 90px; }
.section-type-title h1 { font-size: 50px; font-weight: bold; text-align: center; }
.section-type-title h2 { font-size: 40px; text-align: center; }
.section-type-title h3 { font-size: 26px; text-align: center; }
.section-type-title p,
.section-type-title a,
.section-type-title li { font-size: 20px; text-align: center; }
.section-type-title strong { font-weight: bold; }
@media (min-width: 1200px) {
	.section-type-title > div > div { padding-top: 70px; padding-bottom: 100px; }
	.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,
	.section-type-title a,
	.section-type-title li { font-size: 20px; text-align: left; }
	.section-type-title strong { font-weight: bold; }
}
/* ================================================================================================================================ */
.section-type-body > div > div { padding-top: 30px; padding-bottom: 30px; }
/* ================================================================================================================================ */
.section-type-banner > div > div { padding-top: 16px; padding-bottom: 32px; }
.section-type-banner h2 { text-align: center; font-size: 35px; }
.section-type-banner h3 { text-align: center; font-size: 25px; }
.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: 48px; }
	.section-type-banner h3 { text-align: center; font-size: 20px; }
}
/* ================================================================================================================================ */
/* ################################################################################################################################ */
/* ### section themes - colours, images, shadows ### */
/* ################################################################################################################################ */



body.index { 
	background: linear-gradient( hsla(209.4, 63.5%, 57.1%, 0.35), hsla(209.4, 63.5%, 57.1%, 0.35) ), 
	url('/images/backgrounds/home.jpg');
	background-repeat: no-repeat; 
	background-attachment: fixed;
	background-size: cover;
	background-position: center;


overflow-y: scroll;


}




/* ================================================================================================================================ */
.section-theme-index h1 { color: white; }
.section-theme-index h2 { color: white; font-size: 28px; }
.section-theme-index h3 { color: white; }
.section-theme-index p, 
.section-theme-index a, 
.section-theme-index li { color: white; font-size: 20px; }
/* ================================================================================================================================ */
.section-theme-quality-assurance { 
	background: linear-gradient( hsla(209.4, 63.5%, 57.1%, 0.65), hsla(209.4, 63.5%, 57.1%, 0.65) ), 
	url('/images/backgrounds/commercial-building.jpg');
	background-repeat: no-repeat; 
	background-attachment: scroll;
	background-size: cover;
	background-position: center;
}
.section-theme-quality-assurance h1,
.section-theme-quality-assurance h2,
.section-theme-quality-assurance h3,
.section-theme-quality-assurance p, 
.section-theme-quality-assurance a, 
.section-theme-quality-assurance li { color: white; }
@media (min-width: 992px) { 
	.section-theme-quality-assurance { background-attachment: fixed; }
}
/* ================================================================================================================================ */
	.section-theme-about { 
		background: linear-gradient( hsla(209.4, 63.5%, 57.1%, 0.65), hsla(209.4, 63.5%, 57.1%, 0.65) ), 
		url('/images/backgrounds/about.jpg');
		background-repeat: no-repeat; 
		background-attachment: scroll;
		background-size: cover;
		background-position: center;
	}
	.section-theme-about > div { backdrop-filter: grayscale(0%); }
	.section-theme-about h1,
	.section-theme-about h2,
	.section-theme-about h3,
	.section-theme-about p, 
	.section-theme-about a, 
	.section-theme-about li { color: white; }
@media (min-width: 992px) { 
	.section-theme-about { background-attachment: fixed; }
}
/* ================================================================================================================================ */
	.section-theme-services { 
		background: linear-gradient( hsla(209.4, 63.5%, 57.1%, 0.55), hsla(209.4, 63.5%, 57.1%, 0.55) ), 
		url('/images/backgrounds/services.jpg');
		background-repeat: no-repeat; 
		background-attachment: scroll;
		background-size: cover;
		background-position: center;
	}
	.section-theme-services > div { backdrop-filter: grayscale(50%); }
	.section-theme-services h1,
	.section-theme-services h2,
	.section-theme-services h3,
	.section-theme-services p, 
	.section-theme-services a, 
	.section-theme-services li { color: white; }
@media (min-width: 992px) { 
	.section-theme-services { background-attachment: fixed; }
}
/* ================================================================================================================================ */













/* ================================================================================================================================ */
.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: 16px; 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: 16px; 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: 16px; 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: 16px; 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: 16px; 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: 16px; 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: 12px 0; }

	.c2 > div,
	.c3 > div,
	.c4 > div,
	.c2-2-1 > div, 
	.c-40-60 > div,
	.c-60-40 > div,
	.c-70-30 > div,
	.c-80-20 > div { width: 100%; }

	.grid-contact-us > div { display: inline-block; width: 100%; }
	.grid-contact-us > 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%; }
	.c2-2-1 > div { width: 49%; }
}
@media (min-width: 768px) { /* Medium devices (tablets, 768px and up) */
	.c2 > div { width: 49%; }
	.c3 > div { width: 32%; }
	.c4 > div { width: 32%; }

	.grid-contact-us > div:first-child { width: 35%; }
	.grid-contact-us > div:nth-child(2) { width: 55%; }
	.grid-contact-us > div div { padding: 10px 0px 10px 0px; }

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

	.c2-2-1 > div:first-child { width: 60%; }
	.c2-2-1 > div:nth-child(2) { width: 35%; }


	.c-40-60 > div:first-child { width: 38%; }
	.c-40-60 > div:nth-child(2) { width: 58%; }

	.c-60-40 > div:first-child { width: 58%; }
	.c-60-40 > div:nth-child(2) { width: 38%; }

	.c-70-30 > div:first-child { width: 68%; }
	.c-70-30 > div:nth-child(2) { width: 28%; }

	.c-80-20 > div:first-child { width: 78%; }
	.c-80-20 > div:nth-child(2) { width: 18%; }

}



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


	ul.two-columns { columns: 1; -webkit-columns: 1; -moz-columns: 1; }
	ul.three-columns { columns: 1; -webkit-columns: 1; -moz-columns: 1; }
	ul.four-columns { columns: 1; -webkit-columns: 1; -moz-columns: 1; }

	ul.two-columns li, 
	ul.three-columns li, 
	ul.four-columns li { break-inside: avoid; }

@media (min-width: 576px) { /* Small devices (landscape phones, 576px and up) */
}
@media (min-width: 768px) { /* Medium devices (tablets, 768px and up) */
	ul.two-columns { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 40px; }
	ul.three-columns { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 40px; }
	ul.four-columns { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 40px; }
}
@media (min-width: 992px) { /* Large devices (desktops, 992px and up) */
}
@media (min-width: 1200px) { /* Extra large devices (large desktops, 1200px and up) */
	ul.two-columns { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 40px; }
	ul.three-columns { columns: 3; -webkit-columns: 3; -moz-columns: 3; column-gap: 40px; }
	ul.four-columns { columns: 4; -webkit-columns: 4; -moz-columns: 4; column-gap: 40px; }
}




















/* ################################################################################################################################ */
/* ### 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: 3px;
	margin-bottom: 3px;
}
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 xinput, #form-contact-us label { display: block; }


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

#form-contact-us label { margin-top: 5px; margin-bottom: 0px; }
#form-contact-us input { margin-top: 5px; margin-bottom: 5px; }


/*

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

*/



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








div.business_card
{ 
	margin-top: 20px;
	margin-bottom: 20px;
	width: 250px; 
	padding: 10px 15px;
	background-color: white;
	box-shadow: 2px 2px 6px 6px #ccc;
	border-left: 8px Solid #003a73;
}


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




div.business_card
{ 
	margin-top: 20px;
	margin-bottom: 20px;
	width: 250px; 
	padding: 10px 15px;
	background-color: white;
	box-shadow: 2px 2px 6px 6px #ccc;
	border-left: 8px Solid #003a73;
}





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








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


