HTML {
	font-family: 'Questrial', sans-serif;
	font-size: 10px;
	font-weight: 300;
	color: rgba(48,59,24,0.40);
	background-color: rgba(255,255,255,1.00);
}

* {
}

BODY {
	padding-top: 20px;
}

#topGap {
	position: relative;
	width: 100%;
	height: auto;
}

.container {
	display: flex;
	position: relative;
	max-width: 100vw;
    flex-direction: row;	
	gap: 3.00rem;	
	padding: 0 0 1.00rem 0;
}

.gutter {
	flex: 5;
    box-sizing: border-box;
}

.bannerArea {
	flex: 100;
    box-sizing: border-box;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	margin: 1rem 0;
	padding-bottom: 30vw;
}


.contentArea {
	flex: 90;
    box-sizing: border-box;
}
.sectionArea {
	flex: 35;
    box-sizing: border-box;
}

.gridColumn {
	color: rgba(0,0,0,0.40);
}
.gridColumn A,
.gridColumn A:active,
.gridColumn A:visited,
.gridColumn A:link {
	text-decoration: underline;
	color: rgba(48,59,24,0.70);	
}
.gridColumn A:hover {
	text-decoration: underline;
	color: rgba(48,59,24,1.00);
}

.ribbon {
	position: relative;
	width: 40%;
	margin: -5px 30% 20px !important;
	padding: 10px 40px;
	text-align: center;
	color: rgba(255,255,255,1.00);
	background-color: rgba(200,205,200,1.00) !important;
}

.ribbon::before, .ribbon::after {
	content: '';
	width: 80px;
	height: 100%;
	background-color: rgba(175,179,175,1.00) !important;
	background-color: rgba(200,205,200,1.00) !important;

	/* position ribbon ends behind and slightly lower */
		position: absolute;
		z-index: -1;
		top: 5px;
		top: 0;

	/* clip ribbon end shape */
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 25% 50%);

	/* draw and position the folded ribbon bit */
	background-image: linear-gradient(45deg, transparent 50%, #5d3922 50%);
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: bottom right;
}

.ribbon::before {
  left: -60px;
}

.ribbon::after {
  right: -60px;
  transform: scaleX(-1); /* flip horizontally */
}


BUTTON,
.fakeButton {
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;	
	cursor: pointer !important;
	text-decoration: none !important;
	border: 0 solid rgba(94,54,91,1.00) !important;
	background-color: rgba(94,54,91,0.50);
	color: rgba(255,255,255,1.00) !important;
	-moz-border-radius: 1.50rem !important;
    -webkit-border-radius: 1.50rem !important;
    -khtml-border-radius: 1.50rem !important;
    border-radius: 1.50rem !important;	
}
BUTTON:hover,
.fakeButton:hover {
	color: rgba(255,255,255,1.00) !important;
	background-color: rgba(94,54,91,0.70) !important;
}


.ribbon,
BUTTON,
.fakeButton {
	margin: -0.5rem 0 2rem;
	padding: 1rem 0;
	font-weight: 500 !important;
	text-transform: uppercase !important;
}

.gridColumn HR {
	width: 70%;
	border: 0;
	border-top: 1px solid rgba(48,59,24,0.40);	
	margin: 50px 15% 0; 
}

ASIDE {
	flex: 40;
    box-sizing: border-box;
	text-align: center;
	padding-top: 10.00vh;
}

H1,
H2,
H3,
H4,
H5,
H6 {
    font-family: 'Crimson Text', serif;
	color: rgba(48,59,24,0.70);	
	font-weight: 400;
}

H1,
H2,
H3 {
	font-size: 4.00rem;
	text-transform: uppercase;
	text-align: center;
	padding: 20px 0 10px 0;
}

H1 {
	font-size: 5.00rem;
}

H2 {
	font-size: 3.00rem;
	margin: 3.00rem 0 1.00rem 0;
}

H3 {
	font-size: 2.00rem;
}

H4 {
	font-size: 3.00rem;
	font-weight: 400;
	margin: 3.00rem 0 1.00rem 0;
	text-align: center;
}

H5 {
	font-size: 2.00rem;
	text-align: center;
}
H6 {
	margin: 2.00rem 0;
	text-transform: uppercase;
	font-weight: 300;
	font-size: 1.40rem;
	text-align: center;
}

P,
OL,
OL LI,
UL,
UL LI {
	font-size: 1.80rem;
	line-height: 2.30rem;
}

.titleBlock P {
	width:70%;
	margin: 0.2rem auto 1.5rem auto;
	font-size: 2.50rem;
	line-height: 3.00rem;
	font-weight: 400;
	font-style: italic;
	text-align: center;	
}

OL LI,
UL LI {
	padding-bottom: 1.00rem;
}
UL LI:before {
	content: '■';
	font-size: 2.00rem;
	color: rgba(200,205,200,1.00);
	margin-right: 0.50rem;
}

P {
	margin: 0 0 1.80rem 0;
}
ASIDE P {
	margin-bottom: 1.00rem;
}
FORM {
	width: 70%;
	margin: 1.00rem 0;
	padding: 3.00rem;
}
FIELDSET {
	margin: 1.00rem 0;
}
LABEL {
	text-transform: uppercase;
}
LABEL,
INPUT,
TEXTAREA,
SELECT {
	font-size: 2.00rem;
}
INPUT,
SELECT {
	width: 70%;
	color: rgba(48,59,24,0.60);
	background-color: rgba(255,255,255,1.00);
	border: 1px solid rgba(48,59,24,0.60);
}
TEXTAREA {
	font-family: 'Questrial', sans-serif;
	font-size: 20px;
	font-weight: 300;
	color: rgba(48,59,24,0.60);
	height: 10.00rem;
	resize: none;
}

.grecaptcha-badge { 
    z-index: 999;
}
.wallpaper {
	padding: 2.00rem 0;
	background-color: rgba(255,255,255,1.00) !important;
}
.shrink::before {
	filter: grayscale(100%);
	opacity: 0.30;
	transition: opacity 4.0s, filter 4.0s;	
}

.clear {
	clear: both;
}

.colourOne {
	color: rgba(40,40,40,1.00);
	background-color: rgba(200,205,200,1.00);
}
.colourOne H2,
.colourOne P {
	color: rgba(255,255,255,1.00);
}

.colourOne P,
.colourOne LI {
	font-size: 2.00rem;
	font-weight: 300;
}
.colourOne LI {
}

.colourOneText {
	color: rgba(200,205,200,1.00);
}
.verydarkText,
.colourOne OL LI::marker {
	color: rgba(40,40,40,1.00);
}

.centred {
	text-align: center;
}
.asTyped {
	text-transform: default;
}
	
.logo {
	background-color: rgba(255,255,255,1.00);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 60% auto;
}
.logoMedium {
	width: 25%;
	padding-bottom: 25%;
	margin: 2.00rem 37%;
}
.logoSmall {
	width: 15%;
	padding-bottom: 15%;
	margin: 2.00rem 42%;
}

#socialMedia {
	text-align: center;
}
#socialMedia IMG {
	margin: 0 1rem;
	max-width: 3rem;
	max-height: 3rem;
	width: auto;
	height: auto;
}

#animationCanvas {
	background-position: top center;
	background-repeat: no-repeat;
	height: 20%;
	min-height: 200px;
	transition: background-image 300ms ease-in 200ms;	
}

.show {
	opacity: 1;
}

.roundCornersLogo {
     -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%;	
}

.roundCorners {
     -moz-border-radius: 3rem;
    -webkit-border-radius: 3rem;
    -khtml-border-radius: 3rem;
    border-radius: 3rem;	
}

.titleBlock {
}

.home_boxes {
	display: flex;
	flex-wrap: wrap;
}

.home_box {
	flex: 1 0 18%; /* The important bit. This percentage decides your columns. 
	The percent can be px. It just represents your minimum starting width.
	*/
	margin: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 0;
}
.home_box A,
.home_box A:active,
.home_box A:visited,
.home_box A:link {
	padding-top: 70%;
	width: 100%;
	font-family: 'Questrial', sans-serif;
	font-size: 2.00rem;
	font-weight: 200;
	text-transform: capitalize;
	text-decoration: none;
	color: rgba(48,59,24,0.70);	
	text-align: center;
}
.home_box A:hover {
	font-weight: 400;
	color: rgba(48,59,24,1.00);
	text-decoration: underline;
}

.testimonials,
.clientSays,
.clientName,
.clientJob {
	text-align: center;
	font-size: 2.00rem !important;
	line-height: 2.20rem !important;
}
.testimonial {
	padding: 2rem 0;
	border-bottom: 1px solid rgba(48,59,24,0.30);
}
.clientSays {
	margin: 0.70rem 0;
}
.clientName,
.clientJob {
	font-weight: 700;
}
.clientName {
	margin: 1.00rem 0 1.00rem 0;
}
.clientJob {
	color: rgba(200,205,200,1.00);
	font-size: 1.30rem;
	text-transform: uppercase;
}

.centre {
	text-align: center;
}
.aboutImage {
	margin: 1.00rem 0;
}
.aboutImage IMG {
	width: 50%;
	height: auto;
}

.formLabel {
	flex: 30%;
    box-sizing: border-box;
}
.formField {
	flex: 70%;
    box-sizing: border-box;
}

.copyright {
	margin: 1.00rem 0;
	font-weight: 200;
	font-size: 1rem !important;
	text-align: center;
}

.gallery {
	width: 70%;
	margin-left: 15%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* Adjust column width as needed */
    grid-gap: 10px; /* Adjust gap between images */
}

.gallery-item {
    width: 100%;
    height: 200px; /* Adjust height as needed */
    background-size: cover;
    background-position: center;
}

