
/*  COLOURS
———————————————————————— */

/* Green:

#469e50

70 / 158 / 80

---------------------------

Grey (as used in the logo):


#a6a8aa

166 / 168 / 170

*/


body {
	font-family: 'Exo', sans-serif;
}


a {
	text-decoration: none;
}




.jg-green {
	color: #469e50;
}

.bg-green {
  background-color: #469e50 !important;
  color: #fff;
}

.bg-green .border-top{
  border-top-color: #ccc !important;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #469e50;
  --bs-btn-border-color: #469e50;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #a6a8aa;
  --bs-btn-hover-border-color: #a6a8aa;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #469e50;
  --bs-btn-active-border-color: #469e50;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}




.page-header {
  padding: 0;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: 50%;
}

.page-header .container {
  z-index: 1;
}

@media (min-width: 40em) {
	.carousel-item .page-header {
		width: 100%;
	}
}

:root,
[data-bs-theme=light] {
	--bs-secondary-color: rgba(70, 158, 80, 1.0);
	--bs-link-color-rgb: 70, 158, 80;
	--bs-link-hover-color-rgb: 166, 168, 170;
}


.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 1.4rem;
  height: 1.4rem;
}




.feature-icon {
  width: 4rem;
  height: 4rem;
  border-radius: .75rem;
}

.icon-square {
  width: 3rem;
  height: 3rem;
  border-radius: .75rem;
}

.text-shadow-1 { text-shadow: 0 .125rem .25rem rgba(0, 0, 0, .25); }
.text-shadow-2 { text-shadow: 0 .25rem .5rem rgba(0, 0, 0, .25); }
.text-shadow-3 { text-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .25); }

.card-cover {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.card-link a{
	color: #333;
}
.card-link a:hover{
	color: #469e50 !important;
}



.feature-icon-small {
  width: 3rem;
  height: 3rem;
}





p {
	font-size: 1.10rem;
}

.lead {
  font-size: 1.375rem;
}


.fs-55 {
	font-size: 1.10rem !important;
}



ul, ol {
	padding-top: 1.0rem;
}

ul li, ol li {
	padding-bottom: 1.0rem;
}

/* nav ul li{
	padding-top: 0.15rem !important;
}
 */
 
 .navbar-nav ul{
 	padding-top: 1.0rem !important;
 }


footer ul {
	padding-top: 0 !important;
}

footer ul li {
	padding-bottom: 0 !important;
}





.page-header video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  transform: translateX(-50%) translateY(-50%);
}

.min-vh-25 {
  min-height: 25vh !important;
}

.min-vh-35 {
  min-height: 35vh !important;
}

.min-vh-45 {
  min-height: 45vh !important;
}

.min-vh-50 {
  min-height: 50vh !important;
}

.min-vh-55 {
  min-height: 55vh !important;
}

.min-vh-60 {
  min-height: 60vh !important;
}

.min-vh-65 {
  min-height: 65vh !important;
}

.min-vh-70 {
  min-height: 70vh !important;
}

.min-vh-75 {
  min-height: 75vh !important;
}

.min-vh-80 {
  min-height: 80vh !important;
}

.min-vh-85 {
  min-height: 85vh !important;
}

.min-vh-90 {
  min-height: 90vh !important;
}

.min-vh-95 {
  min-height: 95vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}


.mt-n5 {
  margin-top: -3rem !important;
}







.navbar-green .navbar-brand {
  color: #fff;
}
.navbar-greenk .navbar-brand:hover, .navbar-green .navbar-brand:focus {
  color: #fff;
}
.navbar-green .navbar-nav .nav-link {
  /* color: rgba(255, 255, 255, 0.55); */
  color: #fff;
}
.navbar-green .navbar-nav .nav-link:hover, .nnavbar-green .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-green .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-green .navbar-nav .show > .nav-link,
.navbar-green .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar-green .navbar-toggler {
  color: rgba(255, 255, 255, 0.55);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-green .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-green .navbar-text {
  color: rgba(255, 255, 255, 0.55);
}
.navbar-green .navbar-text a,
.navbar-green .navbar-text a:hover,
.navbar-green .navbar-text a:focus {
  color: #fff;
}


.navbar {
	text-align: center;
}


.dropdown-menu {
	text-align: center;
	--bs-dropdown-link-active-bg: #ccc;
}



.navbar-brand {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  /* margin-right: 1rem; */
  margin: 0 !important;
  font-size: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
}

@media (min-width: 40em) {
	.navbar-brand {
	  margin-right: 3.5rem;
	}
}

.navbar-brand img{
	min-width: 14rem;
}

.nav-item {
	font-size: 1.2rem;
}

.navbar-nav {
	/* force nav to center  */
	margin-left: auto;
	margin-right: auto;
}




hr {
	color: #ccc;
}






.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: rgba(70, 158, 80, .75) !important;
}
.nav-pills .nav-link {
	border-radius: var(--bs-nav-pills-border-radius);
    margin-bottom: 1.0rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #666 !important;
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-pills a, .nav-pills:focus {
	color: #666 !important;
}
.nav-pills .nav-link:hover{
	color: #fff;
	background-color: rgba(166, 168, 170, .25) !important;	
}


:root,
[data-bs-theme=light] {
	--bs-link-color: #666 !important;
}





/* ======= removes the button border around the hamburger ===== */
.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
 /*  background-image: var(--bs-navbar-toggler-icon-bg); */
  background-image: none !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  
}

.navbar-toggler .navbar-toggler-icon {
  background-image: none;
}

.navbar-toggler .navbar-toggler-icon .navbar-toggler-bar {
  display: block;
  position: relative;
  width: 30px;
  height: 3px;
  border-radius: 1px;
  background: #fff;
  transition: all 0.2s;
  margin: 0 auto;
}

.navbar-toggler .navbar-toggler-icon .navbar-toggler-bar.bar2,
.navbar-toggler .navbar-toggler-icon .navbar-toggler-bar.bar3 {
  margin-top: 7px;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-bar.bar1 {
  transform: rotate(45deg);
  transform-origin: 10% 10%;
  margin-top: 4px;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-bar.bar2 {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-bar.bar3 {
  transform: rotate(-45deg);
  transform-origin: 10% 90%;
  margin-top: 3px;

}


.dropdown-toggle {
	/* removes the blue border in iOS */
	outline: none !important;
    border: none !important;
    box-shadow: none !important;
}




.tel-loc {
	/* force text to center on mobile */
	display: flex;
	align-items: center;
	justify-content: center;
}


@media (min-width: 40em) {
	.tel-loc {
		display: flex !important;
	}
}

.tel-link{
	color: #fff !important;
	padding: 0.5rem 1rem;
	text-decoration: none;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
	font-size: 1.3rem;
	text-align: center;
}
.tel-link:hover, .tel-link:focus{
	color: rgba(255, 255, 255, 0.75) !important;
}









/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  /* margin-bottom: 4rem; */
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  /* bottom: 3rem; */
  bottom: 2rem;
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel-item {
  /* height: 32rem; */
  /* height: 22rem; */
  min-height: 22rem !important	
}


@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    /* font-size: 1.25rem; */
	font-size: 1.40rem;
    line-height: 1.4;
  }
  
  .carousel-item {
	  /* height: 19rem; */
  	  min-height: 14.5rem !important;
  }

  .featurette-heading {
    font-size: 50px;
  }
}

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}

   
   
.bd-placeholder-img {
/* font-size: 1.125rem; */
text-anchor: middle;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}

@media (min-width: 768px) {
.bd-placeholder-img-lg {
  font-size: 3.5rem;
}
}


.bw-1 {
	border: 1px solid #fff;
}






/* MASK ============= */

.mask {
  position: absolute;
  background-size: cover;
  background-position: center center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
}


.bg-gradient-primary {
  background-image: linear-gradient(195deg, #333 0%, #469e50 100%);
}

.bg-gradient-faded-primary {
  background-image: radial-gradient(370px circle at 80% 50%, rgba(233, 30, 99, 0.6) 0, #c1134e 100%);
}



.opacity-0 {
  opacity: 0 !important;
}

.opacity-1 {
  opacity: 0.1 !important;
}

.opacity-2 {
  opacity: 0.2 !important;
}

.opacity-3 {
  opacity: 0.3 !important;
}

.opacity-4 {
  opacity: 0.4 !important;
}

.opacity-5 {
  opacity: 0.5 !important;
}

.opacity-6 {
  opacity: 0.6 !important;
}

.opacity-7 {
  opacity: 0.7 !important;
}

.opacity-8 {
  opacity: 0.8 !important;
}

.opacity-9 {
  opacity: 0.9 !important;
}

.opacity-10 {
  opacity: 1 !important;
}







/* ============  ACCORDION STYLING =============== */


.accordion-collapse {
    border: 0;
}
.accordion-button {
    padding: 0px;
    font-weight: bold;
    border: 0;
    font-size: 18px;
    color: #666;
    text-align: left;
    border-bottom: 0.05rem solid #dee2e6; 
}
.accordion-button:focus {
    box-shadow: none;
    border: none;
}
.accordion-button:not(.collapsed) {
    background: none;
    color: #469e50;
}
.accordion-body {
    padding: 15px;
    background-color: #f6f6f6;
}
.accordion-button::after {
    width: auto;
    height: auto;
    content: "+";
    font-size: 40px;
    background-image: none;
    font-weight: 100;
    color: #469e50;
    transform: translateY(-4px);
}
.accordion-button:not(.collapsed)::after {
    width: auto;
    height: auto;
    background-image: none;
    content: "-";
    font-size: 48px;
    transform: translate(-5px, -4px);
    transform: rotate(0deg);
}






















/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}
.marketing h2 {
  font-weight: 400;
}
/* rtl:begin:ignore */
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem;
}
/* rtl:end:ignore */


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 5rem 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
.featurette-heading {
  font-weight: 300;
  line-height: 1;
  /* rtl:remove */
  letter-spacing: -.05rem;
}



@media (min-width: 40em) {

  .featurette-heading {
    font-size: 50px;
  }
}

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}


footer{
	color: #fff;
}
footer p, footer small{
	color: #ccc;
}
footer a {
	color: #fff;
	text-decoration: none;
}
footer a:hover {
	color: #666;
}
footer .list-unstyled li a {
	color: #fff !important;
}

.footer-logo{
	max-width: 12rem;
}

.small p {
	font-size: 0.875rem;
	line-height: 1.5rem;
}














/* ================= CONTAINER/WRAPPER BREAK POINTS OPTIONS =============================== */


.container {
  width: 100%
}

@media (min-width:375px) {
  .container {
    max-width: 375px
  }
}

@media (min-width:640px) {
  .container {
    max-width: 640px
  }
}

@media (min-width:768px) {
  .container {
    max-width: 768px
  }
}

@media (min-width:1024px) {
  .container {
    max-width: 1024px
  }
}

@media (min-width:1280px) {
  .container {
    max-width: 1280px;
  }
}

@media (min-width:1536px) {
  .container {
    max-width: 1536px
  }
}

@media (min-width:640px) {
  .wrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem
  }
}

@media (min-width:1024px) {
  .wrapper {
    padding-left: 2rem;
    padding-right: 2rem
  }
}










/* ============ LAZYLOAD STUFF =============== */


img.lazy {
        opacity: 0;
      }
img:not(.initial) {
        transition: opacity 1s;
      }
      
      img.initial,
      img.loaded,
      img.error {
        opacity: 1;
      }

      img:not([src]) {
        visibility: hidden;
      }


/* Fixes Firefox anomaly during image load */
@-moz-document url-prefix() {
	img:-moz-loading {
	  visibility: hidden;
	}
}







  /* =========  GALLERY  ========================= */
  
  
  .zoom {
  		padding: 0 !important;
  }
  
  .zoom::before {
    content: "\260C";
	color: #fff;
    display: block;
    position: absolute;
	margin-left: 0.75rem;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    font-weight: bold;
    font-size: 2rem;
    line-height: 1;
    text-shadow: 1px 1px 0px #838a48
}


.pswp__custom-caption {
  background: rgba(70, 158, 80, 0.75);
  font-size: 16px;
  color: #fff;
  width: calc(100% - 32px);
  max-width: 400px;
  padding: 2px 8px;
  border-radius: 4px;
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
}
.pswp__custom-caption a {
  color: #fff;
  text-decoration: underline;
}
.hidden-caption-content {
  /* display: none; */
  margin-top: 0.5rem;
}






/* ==========	BLOCKQUOTE	================== */


blockquote {
	margin: 0 !important;
}

blockquote:before, blockquote:after{
	font-size: 3.0rem;
	position: relative;
	color: #a6a8aa ;
}
blockquote:before{
	content: '\201C';
	top: 2.75rem;
}
/* blockquote:after{
	content: '\201D';
	bottom: 2.5rem;
	float: right;
	right: 2.5rem;
} */

blockquote p {
	margin-left: 1.5rem;
	margin-bottom: 0 !important;
}

blockquote footer {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  margin-left: 1.5rem !important;
}
