/*================== MAIN LAYOUT ====================*/
	body { 
		--bs-body-font-family: 'Barlow', sans-serif;
		--bs-body-color: #000000; 
		--bs-body-bg: #fff;
		--bs-link-color: #254800;
	    --bs-link-color-rgb: 37, 72, 0;
	    --bs-link-hover-color: #055057;
	    --bs-link-hover-color-rgb: 5, 80, 87;
		--bs-primary: #84BC28;
		--bs-primary-rgb: 132, 188, 40;
		--bs-light: #E4F1D1;
		--bs-light-rgb: 228, 241, 209;
		--bs-dark: #333333;
		--bs-dark-rgb: 51, 51, 51;
		--bs-primary-emphasis: #254800;
		--bs-primary-bg-subtle: #CFE5AB;
		font-variant-ligatures: none; 
		font-feature-settings: "liga" 0;  
	}

	a { text-decoration: none; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; cursor:pointer; }
	a[href^="tel:"] { color: inherit; text-decoration: none; }

	:focus-visible {outline: none;}

	img { max-width: 100%; height: auto; }

	/* Headers fonts */
		h1, h2, h3, h4, .title1, .title2, .title3, .title4 { font-family: "Barlow Condensed", sans-serif; font-weight: 400; font-style: normal; margin-top: 0;line-height: 1.2; margin-bottom: .5rem; color: var(--bs-heading-color);} 
		h1, .title1 { font-size: calc(1.375rem + 1.5vw)}
		h2, .title2 { font-size: calc(1.325rem + .9vw)}
		h3, .title3 { font-size: calc(1.3rem + .6vw) }
		h4, .title4 { font-size: calc(1.275rem + .3vw); }

	p:last-child { margin:0;}

	.lead { font-weight: 400}
	strong {font-weight: 700}

	[class*="wrapper"]:after { clear:both; content: ""; display: table;} 

	@media (min-width: 1280px) {
		h1, .title1 { font-size: 3.5rem; }
		h2, .title2 { font-size: 2.5rem; }
		h3, .title3 { font-size: 1.75rem;}
		h4, .title4 { font-size: 1.5rem;}
	}

	.text-stroke {z-index: 1; position: relative;}

	.text-stroke:after {
	  	content: attr(data-text);
	  	position: absolute;
	  	left: 0;
	  	top: 0;
	  	z-index: -1;
	  	-webkit-text-stroke: .2rem var(--bs-primary);
	  	font-size: 1em;
	  	width: 100%;
	}

	.text-stroke.center:after {left: 50%; transform: translatex(-50%);}

	@media (max-width: 991px) {
		.lead { font-size: 1rem }
	}

	@media (min-width: 991px) {
		.text-stroke:after { -webkit-text-stroke: .3rem var(--bs-primary)}
	}


	/* Containers */
		@media (min-width: 1180px){
			.container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 1140px;}
		}

		@media (min-width: 1400px) {
	    	.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:1320px }
		}


/*================== HEADER ========================*/
	header {padding-top: 80px;}
	.navbar-brand img { width: 180px;  transition: all 0.5s ease; }

	@media (min-width: 768px) {
		header {padding-top: 100px}
		.navbar-brand img { width: 28vw;}
	}

	@media (min-width: 1200px) {
		.navbar-brand img { width: 375px;}
	}

	/* Main menu styles */
		.navbar {
			--bs-navbar-nav-link-padding-x: 0;
			--bs-navbar-color: #000000;
			transition: 0.3s all ease-in;
		    --bs-navbar-brand-padding-y: 0;
		}

		.nav-link { font-size: 1.25rem; font-family: "Barlow", sans-serif; font-weight: 600; font-style: normal; text-transform: uppercase;   position: relative;  }
		.nav-link:focus-visible {box-shadow:none !important;}

		.nav-link:before {
		    content: "";
		    background: var(--bs-primary) !important;
		    position: absolute;
		    bottom: 0;
		    height: 12%;
		    width: 0%;
		    left: 0;
		    transition: 0.3s all ease-in-out;
		}

		.nav-link:hover:before, .navbar-nav .active > .nav-link:before {width: 100%}

		.navbar-nav .active > .nav-link, 
		.navbar-nav .nav-link.active, 
		.navbar-nav .nav-link.show, 
		.navbar-nav .show > .nav-link { 
			color: #000000; 
		}
		
			@media (max-width: 991.98px){
				.navbar-toggler { border: none; }
				.navbar-toggler  a { font-size: 1.5rem; color: var(--bs-black);}
				.navbar-toggler:focus, .navbar-toggler:hover { background: transparent; }

				.mm-menu--theme-light {
		    		--mm-color-background: rgba(255, 255, 255, .35) !important;
					-webkit-backdrop-filter: blur(30px);
					backdrop-filter: blur(30px) !important;
				}

				.mm-navbar__title {display: none !important;}
				.mm-listitem.active {color: var(--bs-primary);}
				.mm-listitem__btn:not(.mm-listitem__text) {border: none !important;}
				.mm-navbar { border-bottom: none !important; background: transparent !important;}
				.mm-listitem__text {font-family: "Barlow", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal; text-transform: uppercase; }
			}

			@media (min-width: 768px) {
				.navbar {--bs-navbar-padding-y: 1rem;}
			}

			@media (min-width: 991px) {
				.navbar > .container-lg {align-items: flex-start;}
			}

	#home .header-bg, .header-bg { position: relative; }

	#home .header-bg {
		background-image: url('../images/home-header.webp');
		background-repeat: no-repeat;
		background-position-y: center; 
	}

	/* Header Caption */
		#home .header-caption {position: relative; top: 0; left: 0; transform: none;}

		.header-caption {
			position: absolute;
		    top: 50%;
		    transform: translate(-50%, -50%);
    		left: 50%;
		}

		.header-caption h1, .header-caption h2 {line-height:0.9}

		@media (min-width: 768px) {
			.header-caption h1 {font-size:calc(2rem + 1.5vw)}
			.header-caption h2 {font-size: calc(1.5rem + .9vw);}
		}

		@media (min-width: 991px) {
			#home .header-caption {
				position: absolute;
		    	top: 50%;
		    	transform: translate(-50%, -50%);
    			left: 50%;
    		}
		}

		@media (min-width: 1180px) {
			.header-caption h1 {font-size:calc(2.5rem + 1.5vw)}
			.header-caption h2 {font-size: calc(2rem + .9vw);}
		}

		@media (min-width: 1280px) {
			.header-caption: {left: 10vw;}
			#home .header-caption, .header-caption { transform: translate(0, -50%);left: 2.5rem;}
			.header-caption h1 {font-size:calc(3rem + 1.4vw)}
			
		}

		@media (min-width: 1400px) {
			.header-caption: {left: 10vw;}
			#home .header-caption, .header-caption { transform: translate(0, -50%);left: 2.5rem;}
			.header-caption h1 {font-size:5rem}
			.header-caption h2 {font-size:3.5rem;}
		}

	/* Tiny */
		.navbar.tiny { 
			z-index: 3 !important; 
			background-color: rgba(255, 255, 255, .9); 
			-webkit-box-shadow: 0 1px 6px 0 rgba(0, 0, 0, .46);
			-moz-box-shadow: 0 1px 6px 0 rgba(0, 0, 0, .46);
			box-shadow: 0 1px 6px 0 rgba(0, 0, 0, .46);
		}

		.navbar.tiny .navbar-brand img { 
			width: 180px;
			-webkit-transition: all 0.5s ease;
			transition: all 0.5s ease;
		}

			@media (min-width: 768px) {
				.navbar.tiny .navbar-brand img {  
					width: 250px;
				}
			}

/*================== CONTENT =======================*/
	#content {position: relative; z-index: 2}

	#content .list ul  { list-style:square; padding-left: 1.25rem;}
	#content .list li  { margin-bottom: 0.625rem;}
	.row.list ul {margin-bottom: 0}

	/* Wrapper */
		.wrapper1 { padding: 2.5rem 0 3rem; }
		.wrapper2 { padding: 2rem 0 3rem }

		.extra-lg-pt { padding-top: 9rem !important; }

		@media (min-width: 1280px) {
			.wrapper1 { padding: 5rem 0 7.5rem; }
			.wrapper2 { padding: 4rem 0 5rem}
		}

	/* Image Wrap */
		.bg-aside { position:relative;}
		.bg-aside .img-wrap { position: relative; top: 1rem; bottom: auto; right: 0; }
		.bg-aside .img-wrap img { margin-bottom:-15rem }

		@media (min-width: 991px) {
			#home .bg-aside .img-wrap { top: 0; }
			
			.bg-aside .img-wrap { position: absolute; top: -100px; right: -140px; justify-content:end; display:flex; }
			.bg-aside .img-wrap img {width: 50vw; margin-bottom: 0}
		}

		@media (min-width: 1280px) {
			.bg-aside .img-wrap img {width:auto;}
		}

	/* Gallery */
		#content .img-box a { display: block; overflow: hidden; position: relative; }
		#content .img-box a img{ opacity:1; -moz-transition: 0.5s all ease; -o-transition: 0.5s all ease; -webkit-transition: 0.5s all ease; transition: 0.5s all ease;}
		#content .img-box a:hover img {
			-webkit-filter: grayscale(100%);
		    filter: grayscale(100%);
		    opacity: 0.7;
		}

	/* Module box */
		#content .module-box.withlinks img {width: 100%;}
		#content .module-box.withlinks .card:hover img{
			-webkit-filter: grayscale(100%);
			filter: grayscale(100%);
			opacity: 0.6;
		}

		.module-box .wrapper1 { margin-bottom: -80px;}

		@media (max-width: 991px) {
			.module-box .wrapper1 { padding-top: 11.25rem !important; }
		}

	/* Testimonials */
		.blockquote {margin-bottom: 2rem; line-height: 1.5em; }
		blockquote .open-quote{  content: open-quote;  top: .2em; }
		blockquote .close-quote{ content: close-quote; top: .35em !important;}

		blockquote .open-quote,
		blockquote .close-quote {
		  display: inline-block;
		  vertical-align: bottom;
		  color: var(--bs-primary-emphasis);
		  font-size: 200px;
		  position: relative;
		  font-family: Arial;
		}

		.bx-wrapper {overflow: hidden; padding-top: 40px; margin: 20px auto 20px; position: static; background: transparent; border: none; box-shadow: none;}
		.bx-viewport {overflow: visible !important;}
		.bx-controls {display: none;}
	
		@media (min-width: 1280px) {	
			.bx-controls { display: block }
			.bx-wrapper .bx-controls-direction a {z-index: 2; text-indent: 0; background: none; width: 15px;height: 25px;font-size: 25px;}
			.bx-wrapper .bx-prev {left:-30px;}
			.bx-wrapper .bx-next {right:-30px;}
		}

	/* Card */
		.card {
		    --bs-card-cap-padding-y:1rem;
		    --bs-border-radius: 1rem;
		    --bs-card-cap-bg: transparent;
		    --bs-card-border-width: 0;
		}

		.card-header h3 {margin-bottom: 0}

	/* Quote Card */
		header .quote-card {padding-top: 1.25rem}
		.quote-card .card {
			--bs-card-spacer-y: 2rem;
			--bs-card-spacer-x: 2rem;
		}

		@media (min-width: 991px) {
			.quote-box .container {position: absolute; bottom: 1rem; transform: translatex(-50%); left: 50%;}
		}

		@media (min-width: 1280px) {
			header .quote-card {padding-top: 3.125rem}
		}

	/* Contact details */
		ul.contactdetails {padding: 0}
		.contactdetails li { font-size: 1.25rem; margin-bottom: 1.5rem; padding-right: 30px;}
		
		.contactdetails .contact-icon:before {
			font-family: 'Font Awesome 7 Free'; 
			padding-right:10px; 
			font-weight: 900;
			display: inline-block;
			vertical-align: top;
			text-rendering: auto;
			-webkit-font-smoothing: antialiased;
		}

		.contactdetails li span { display: inline-block;}

		li.telno:before { content:"\f879";}
		li.email:before { content:"\f0e0";}
		li.address:before { content: "\f3c5";}
		li.time:before { content: "\f017";}

		.social-media { margin-bottom:0; padding-left:0}
		.social-media .icon {font-size: 1.375rem; width: 40px; height: 40px; line-height: 40px; color: #fff; text-align: center;}
		.social-media li { display: inline-block; margin-right: 5px; }
		.social-media li a:hover { background: var(--bs-primary)}
		.social-media .facebook { background-color: #1877f2; }
		.social-media .instagram { background-color: #E4405F; }

		@media (min-width:768px) {
			.contacts { justify-content: space-between; display: flex;  align-items: center; flex-wrap: wrap; margin-bottom: 1.875rem; }
			.contactdetails li { padding-right: 20px;}
		}

		@media (min-width:991px) {
			.social-media { padding-left:3rem }
		}

	.map {height:650px; }

/*================== FOOTER ========================*/
	footer .wrapper1 {padding: 10rem 0 12rem;}
	footer .footer-bg {background-image: url("../images/signature-image.webp")}
	footer .contactdetails .contact-labels {background: rgba(0,0,0,.4); padding: 3px 15px}
	footer ul {padding: 20px 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: flex-start; flex-direction: row; margin-bottom: 0;}
	footer li.author { font-size: 0.75rem; margin-top: 15px; }

	@media (min-width:768px) {	
		footer li.author {margin-top: 0;}
	}


/*================== CONTACT FORM =========================*/
	.form-control:focus, .form-select:focus, textarea:focus {
	  	-webkit-box-shadow: none; 
	  	-moz-box-shadow: none;
	  	box-shadow: none; 
	  	border: none;
	}

	.form-control {font-weight: 700; color: #999;}

	.success { width:100%; text-align:center; color:#fff; background-color:#f00; font-size:18px; line-height:1.2em; padding:10px; margin-bottom:10px; display:none }

	.contact-form textarea { height:7.5rem; resize:none;}
	.contact-form label { display:block }
	.contact-form .error, .contact-form .empty { color:#fff; display:none; position: absolute; right: 0.625rem; top: 0.7rem; opacity: .7}

	.has-feedback { position: relative; }
	.has-feedback .form-control { padding-right: calc(1.5em + .75rem); }
	.has-feedback.left-feedback .form-control { padding-left: 1.5em; }
	.has-feedback.mandatory:before { font: var(--fa-font-solid); content: "\f005"; color:red; position:absolute; left:0.3125rem; top:1.2rem; font-size: 0.625rem; }

 	/* Buttons */
 		.btn { 
 			--bs-btn-font-family:"Barlow Condensed", sans-serif; 
 			--bs-btn-font-weight: 400;
 			font-optical-sizing: auto;
 			border: none !important;
 			--bs-btn-padding-y:0.625rem;
 			--bs-btn-border-radius: 0.5rem;
 		}

		.btn-lg {
			--bs-btn-padding-y: 1.125rem;
		    --bs-btn-padding-x: 2rem;
		    --bs-btn-font-size: 1.5rem;
		}

		.btn-primary { 
			--bs-btn-bg: var(--bs-primary);
			--bs-btn-hover-color: var(--bs-primary-emphasis);
			--bs-btn-hover-bg: var(--bs-primary-bg-subtle);
			--bs-btn-active-bg: var(--bs-primary-bg-subtle);
		}

		.btn-light {
    		--bs-btn-bg: var(--bs-light);
		    --bs-btn-hover-bg: var(--bs-primary-bg-subtle);
		    --bs-btn-active-bg: var(--bs-primary-bg-subtle);
		}   

		.btn-close {
			--bs-btn-close-bg: none;
		    --bs-btn-close-opacity: 1;
		    width: auto;
		    height: auto;
		    --bs-btn-close-color: #fff;
		}

		.btn-close:before {
			border-color:#45194e;
			border-width: 3px;
			background: #45194e;
			display: block;
		    content: "\f00d";
		    font-family: "Font Awesome 7 Free";
		    font-weight: 700;
		    width: 1.625rem;
			height: 1.625rem;
			font-size: 1rem;
		    line-height: 1.625rem
		}

		button:focus { box-shadow: none !important;}


/*================== WIDGETS ========================*/
	
	/* Colors */
 		.text-primary-emphasis { color: var(--bs-primary-emphasis)!important;}
		.bg-primary-emphasis { background-color: var(--bs-primary-emphasis)!important}

	/* Links */
		.link-white {color: RGBA(var(--bs-white-rgb),var(--bs-link-opacity,1))!important;}

		.link-white:focus, .link-white:hover {  color: RGBA(var(--bs-white-rgb),var(--bs-link-opacity,.5))!important; }

	/* Cookies */
		.cookiealert {border-radius: 4px; background: #fff; text-shadow: none; padding: 15px; color:#707070; box-shadow: 1px 1px 20px 0px #707070; width: auto; margin-top: 10px; margin-left: 10px; margin-right: 10px; text-align: left; font-size: 0.8125rem; position: fixed; bottom: 0;left: 0; z-index: 1000; transition: all 500ms ease-out; transform: translateY(100%); opacity: 0;  visibility: hidden; }
		.cookiealert.show { opacity: 1; visibility: visible; transform: translateY(0%); transition-delay: 1000ms; }

		.cookiealert .acceptcookies {margin: -5px 10px; font-size: 0.8125rem; padding-left: 35px; padding-right: 35px;}

			@media (max-width: 768px) {
				.cookiealert .acceptcookies{ display: block; margin: 1em 0 0;}
			}

	/* Accordion */
		.accordion {font-size: 1.25rem;}
		.accordion-button {font-size: inherit;}
		.bg-primary-emphasis .accordion { --bs-accordion-color:var(--bs-white); --bs-accordion-border-color: rgba(var(--bs-white-rgb),.5); --bs-accordion-bg: transparent; --bs-accordion-btn-color: var(--bs-white);}
		.bg-primary-emphasis .accordion-body {background: rgba(var(--bs-white-rgb), .1);}
		.bg-primary-emphasis .accordion-button:hover{background: var(--bs-primary); }
		
		.accordion-button:not(.collapsed) {background: rgba(var(--bs-white-rgb), .3); color: var(--bs-white); box-shadow: none; }
		.accordion-button::after {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");}
		.accordion-button:not(.collapsed)::after{
		    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
		}

	/* UItoTop styles */
		#toTop { 
			display: none; 
			text-decoration: none; 
			position: fixed; 
			bottom: 80px; 
			right: 30px; 
			overflow: hidden; 
			border-radius: 50%; 
			width: 60px; 
			height: 60px; 
			font-size: 35px; 
			line-height: 60px; 
			text-align: center; 
			background: var(--bs-primary-emphasis);
			color: #fff; 
			z-index: 20;  
			-webkit-transition: color 0.5s ease; 
			transition: color 0.5s ease; 
			opacity: 1;
			-webkit-animation-name: hvr-bob-float, hvr-bob;
		  	animation-name: hvr-bob-float, hvr-bob;
		  	-webkit-animation-duration: .3s, 1.5s;
		  	animation-duration: .3s, 1.5s;
		  	-webkit-animation-delay: 0s, .3s;
		 	animation-delay: 0s, .3s;
		  	-webkit-animation-timing-function: ease-out, ease-in-out;
		  	animation-timing-function: ease-out, ease-in-out;
		  	-webkit-animation-iteration-count: 1, infinite;
		  	animation-iteration-count: 1, infinite;
		  	-webkit-animation-fill-mode: forwards;
		  	animation-fill-mode: forwards;
		  	-webkit-animation-direction: normal, alternate;
		  	animation-direction: normal, alternate; 
		}

		#toTop:hover { opacity: .5 }

		@media only screen and (max-width: 1199px) {
			#toTop { display: none !important; }
		}