/* CSS Document */:root {  --colour1: #607659;  --colour2: #adbca8;  --colour3: #ced5c3;}body{			font-family: 'Lato', sans-serif;}h1, h2, h3, h4{	font-family: 'Playfair Display', serif;	font-weight: 300;}p, li{	font-weight: 300;	font-size: 17px;	line-height: 32px;	letter-spacing: .5px;	color: #444;}b, strong{    color: var( --colour1 );}a{	text-decoration: none;	color: var( --colour1 );}.heading{	font-weight: 300;	width: 100%;	border-bottom: 1px solid var( --colour1 );	color: var(--colour1);	padding-bottom: 16px;}.secondColour{	color: var( --colour2 );}/* - */hr{	width: 80%;	height: 1px;	background-color: var( --colour1 );	border: none;}@media( min-width: 768px ){	hr	{		width: 750px;	}}@media( min-width: 992px ){	hr	{		width: 950px;	}}@media( min-width: 1200px ){	hr	{		width: 1200px;	}}#page-content{	display: grid;    width: 100%;    grid-gap: 32px;    padding: 75px 0 75px;	background-color: #fff;	z-index: 4;}.workspace{	grid-gap: 32px;}/* - */.btn{	display: grid;		justify-self: center;	border-radius: 32px;	margin: 8px;	background-color: var( --colour1 );	font-weight: 300;	letter-spacing: 1px;}.btn h4{	grid-row: 1;	grid-column: 1;	z-index: 2;	border-radius: 32px;	border: none;	color: #fff;	padding: 16px 32px;	text-align: center;	font-size: 16px;	box-shadow: 0 1px 1px rgba(0,0,0,0.05), 0 2px 2px rgba(0,0,0,0.05), 0 4px 4px rgba(0,0,0,0.05), 0 8px 8px rgba(0,0,0,0.05), 0 16px 16px rgba(0,0,0,0.05);		transition: ease .25s;}.btn::before{		content: "";		grid-row: 1;	grid-column: 1;	z-index: 1;	background-color: var( --colour2 );		width: 0;	height: 0;		border-radius: 32px;	border: 0px solid var( --colour2 );		transition: ease .25s;		color: #fff;		overflow: hidden;		justify-self: center;	align-self: center;}.btn:hover {	cursor: pointer;}.btn:hover h4{	color: #fff;}.btn:hover::before{	height: 100%;	width: 100%;	border: 2px solid var( --colour2 );}/* - */.banner {	display: grid;}#banner-image{	display: grid;	grid-row: 1;	grid-column: 1;    z-index: 1;	    width: 100%;    height: 128px;    background-size: cover;	background-image: url('../img/banner-bg.jpg');	background-attachment: fixed;	background-position: center center;	background-repeat: no-repeat;}#banner-overlay{	display: grid;	grid-row: 1;	grid-column: 1;    z-index: 2;	    width: 100%;    height: 128px;    background-size: cover;    opacity: 0.65;		background-color: var( --colour1 );}#banner-container{	display: grid;	grid-row: 1;	grid-column: 1;	z-index: 3;		width: 100%;	height: 128px;	align-content: center;	justify-content: center;}@media ( min-width: 768px ){	#banner-image	{		height: 256px;	}	#banner-overlay	{		height: 256px;	}	#banner-container	{		height: 256px;	}}#banner-container h1{	color: #fff;}/* - *//* - */.contact-items{	grid-gap: 20px;}.contact-icon{	grid-row: 1;	color: var( --colour1 );	align-self: center;	justify-self: start;	border-right: solid 1px;	padding-right: 12px;	font-size: 20px;    width: 15px;    max-width: 15px;}.contact-items h3{	color: var( --colour1 );	grid-row: 1;	margin: 0;		align-self: center;	justify-self: start;}.contact-items p{	grid-row: 1;	margin: 0;		align-self: center;	justify-self: start;}.contact-items p, .contact-items a{	overflow-wrap: anywhere;}.contact-items .element{	align-content: start;	justify-content: start;	grid-gap: 16px;}/* Testimonials */ .testimonial-container{	display: grid;	width: 100%;	background-image: url('../img/testimonial-bg.jpg');	background-position: center center;	background-color: #111;	background-repeat: no-repeat;	background-size: cover;		min-height: 400px;}@media(min-width: 992px) {    .testimonial-container {        background-attachment: fixed;    }}.testimonial{	display: grid;	align-self: center;	justify-self: center;		grid-row: 1;	grid-column: 1;		grid-gap: 16px;		width: 512px;	max-width: 80vw;		opacity: 1;		transition: opacity ease .5s;		z-index: 3;}.opacity-0{	opacity: 0!important;}.testimonial h3{	color: #fff;	justify-self: center;	font-size: 32px;}.testimonial p{	color: #fff;	justify-self: center;	text-align: center;}.star-container{	display: grid;	align-content: center;	justify-content: center;}.star{	color: #adbca8;	grid-row: 1;}.testimonial-controls{	display: grid;	z-index: 1;	grid-row: 2;	grid-column: 1;	align-content: center;	padding: 0 32px;}@media( min-width: 992px ){	.testimonial-controls	{		grid-row: 1;		grid-column: 1;	}}.testimonial-arrow{	color: #fff;	font-size: 32px;	grid-row: 1;	grid-column: 1;		transition: opacity .5s ease;}.testimonial-arrow:hover{	cursor: pointer;	opacity: 0.5;}.testimonial-left{	justify-self: start;}.testimonial-right{	justify-self: end;}.testimonial-dots{	display: grid;	grid-gap: 8px;	justify-content: center;	justify-self: center;	align-self: center;	z-index: 3;		grid-row: 2;	grid-column: 1;}.testimonial-dot{	grid-row: 1;	width: 8px;	height: 8px;	border-radius: 16px;	border: #fff solid 1px;	align-self: center;}.testimonial-dot:hover{	cursor: pointer;	border-color: var( --colour1 );}.active-testimonial-dot{	background-color: var( --colour1 );	border-color: var( --colour1 );	/*border: none;*/}/* - Table - */.w100 {	width: 100%;}.elem-table{	border: 1px solid #fff;	background-color: #fff;	width: 100%;	text-align: left;	border-collapse: collapse;}thead{	background-color: var( --colour1 );	border-bottom: 2px solid #fff;}th{	font-size: 14px;	font-weight: bold;	color: #FFFFFF;	border-left: 2px solid #fff;	text-transform: uppercase;	letter-spacing: 2px;	border: solid 1px;		height: 20px;}th h1{	font-size: 14px;}tr:nth-child(2n) {    background: rgba(222,222,222,0.30);}/*** TABLE STYLING ***/table {  border: 1px solid #fff;  background-color: #fff;  width: 100%;  text-align: left;  border-collapse: collapse;}table td, table th {  border: 1px solid #fff;  padding: 10px 10px;}table tbody td {  font-size: 13px;}table thead th:first-child {  border-left: none;}table tfoot td {  font-size: 14px;}table tfoot .links {  text-align: right;}/* Catch-all Centering Class */.cent{justify-self:center;text-align:center;}.gatehouse {  	margin-block-start: 0px;  	margin-block-end: 0px;}.roof .workspace .element {    align-self: center;    justify-self: center;}.roof .workspace .element .element h1,.roof .workspace .element .element h3,.roof .workspace .element .element p {    justify-self: center;    text-align: center;}@media(max-width: 768px) {    .roof .workspace .element {        align-self: left;        justify-self: left;    }    .roof .workspace .element .element h1,    .roof .workspace .element .element h3,    .roof .workspace .element .element p {        justify-self: left;        text-align: left;    }} .mobishow {    display: none !important;}.mobihide {    display: grid !important;}@media (max-width: 768px) {     .mobishow {      display: grid!important      }     .mobihide {      display: none!important;      }}.card{	padding: 32px;	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;	transition : all ease .25s;	cursor: pointer;}.card:hover{	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;}@media( min-width: 992px ){	.page-img	{		grid-row: 1;		grid-column: 2;	}	.img-left	{		grid-column: 1;	}	.page-content	{		grid-row: 1;	}}.list{	display: grid;	align-content: center;}.list p{	align-content: center;	display: grid;	grid-template-columns: max-content auto;}.list p:before{	font-family: "Font Awesome 5 Pro";    font-weight: 300; 	color: var( --colour1 ); 	align-self: start; 	content: "\f054"; 	margin-right: 8px; 	font-size: 16px; 	padding-right: 8px;}		.alt{	background-color: var(--colour1);	padding: 64px 0!important;}	.alt :is( h1, h2, h3, h4, p, .header-block ){	color: var( --colour3 );}.alt .list p:before{	color: #fff;}.alt .heading{	color: #fff;	border-bottom: 1px solid #fff;}.sub-heading {	font-size: 28px;}.fancy {	background-color: transparent;	border: 2px solid var(--colour1);	border-radius: 0;	box-sizing: border-box;	color: #fff;	cursor: pointer;	display: inline-block;	float: right;	font-weight: 700;	letter-spacing: 0.05em;	margin: 0;	outline: none;	overflow: visible;	padding: 1.25em 2em;	position: relative;	text-align: center;	text-decoration: none;	text-transform: none;	transition: all 0.3s ease-in-out;	user-select: none;	font-size: 13px;	margin-top:16px;}.fancy::before {	content: " ";	width: 1.5625rem;	height: 2px;	background: var(--colour2);	top: 50%;	left: 1.5em;	position: absolute;	transform: translateY(-50%);	transform-origin: center;	transition: background 0.3s linear, width 0.3s linear;}.fancy .text {	font-size: 1.125em;	line-height: 1.33333em;	padding-left: 2em;	display: block;	text-align: left;	transition: all 0.3s ease-in-out;	text-transform: uppercase;	text-decoration: none;	color: var(--colour2);}.fancy .top-key {	height: 2px;	width: 1.5625rem;	top: -2px;	left: 0.625rem;	position: absolute;	background: #e8e8e8;	transition: width 0.5s ease-out, left 0.3s ease-out;}.fancy .bottom-key-1 {	height: 2px;	width: 1.5625rem;	right: 1.875rem;	bottom: -2px;	position: absolute;	background: #e8e8e8;	transition: width 0.5s ease-out, right 0.3s ease-out;}.fancy .bottom-key-2 {	height: 2px;		width: 0.625rem;	right: 0.625rem;	bottom: -2px;	position: absolute;	background: #e8e8e8;	transition: width 0.5s ease-out, right 0.3s ease-out;}.fancy:hover {	color: white;	background: var(--colour2);}.fancy:hover::before { width: 0.9375rem; background: white;}.fancy:hover .text { color: white; padding-left: 1.5em;}.fancy:hover .top-key { left: -2px; width: 0px;}.fancy:hover .bottom-key-1, .fancy:hover .bottom-key-2 {	right: 0;	width: 0;}.content-socials {  grid-row: 16px;}.content-socials a {  padding: 16px;  background-color: var(--colour1);  border-radius: 32px;  height: 14px;  width: 14px;  display: grid;  align-content: center;  justify-content: center;  grid-row: 1;  transition: all ease .3s;}.content-socials a:hover {  background-color: #efefef;}.content-socials a:hover :is( i,svg ) {  color: var(--colour2);}.content-socials i,.content-socials svg {  transition: all ease .3s;  font-size: 24px;  color: #efefef;}