/*
 Theme Name:     TFN
 Template:       Divi
 Version:        T1000
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */


body:not(.home) .back-to-top.is-visible {
  display: none;
}

.et_pb_group_carousel.et_pb_group_carousel_slides_5 .et_pb_group, .et_pb_group_carousel.et_pb_group_carousel_slides_5 .et_pb_group_carousel_slide {
    flex: 0 0 20%;
    margin: 0.5px;
}



/* Bold text mixed with normal */

.bcsansbold{
	font-family: 'BCSansBold', Helvetica, Arial, Lucida, sans-serif;
}

/* Temporary */

.village-carousel .et_pb_group , .boundary-carousel .et_pb_group{
	pointer-events: none;
}


/* Nav Menu */

.nav li ul.sub-menu {
  left: auto !important;
  right: -3vw !important;
	border-top:0;
}


.nav li ul.sub-menu li{
	padding-left:0;
	padding-right:0 !important;
}

.nav li ul.sub-menu li a{
	line-height:1.1;
	padding-bottom:15px;
	width:14.5rem;
	background:transparent;
}

.et-menu .menu-item-has-children>a:first-child:after{
	content: '\43' !important;
	font-weight:400;
}

.nav li ul.sub-menu li a{
	opacity:1 !important;
}

.land-use-sub-menu a :hover{
	color:#77d47c !important;
}

/* Mobile Nav Menu */

.mobile_menu_bar:before{
	color:#fff7e8 !important;
}


@media (max-width: 767px){
	.et_mobile_menu{
		border-top:none;
		min-width: 101vw !important;
    width: 100% !important;
    margin-left: -4% !important; 
    left: 0 !important;
    border-top: none !important; 
		height:100vh;
	}
	
	.et_mobile_menu li li{
		padding-left:0;
	}
	
	.et_mobile_menu li a{
		padding:8px 8px;
		font-size:15px !important;
	}
	
}


/* Main Banner */


.banner .subtitle {
  display: block;
  font-size: 35px;
  letter-spacing: 7px;
  text-transform: uppercase;
  font-weight: 400;
}

/* Button Fix for tablet + mobile */


@media (max-width: 1035px) {

    .community-button:after {
    display:none !important;
    }
}

@media (max-width: 767px) {
    .community-button {
        position: relative;
        display: inline-flex;
        align-items: center;
        padding-right: 2em;
			width:75%;
			line-height:1.2 !important;
    }

    .community-button:after {
			  display:block !important;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
    }
}

@media (max-width: 767px){
	.subtitle{
		font-size:18px !important;
	}
	
}


/* Legend Section */

.legend-section {
    margin: 0 auto;
	font-family:'BCSansRegular',Helvetica,Arial,Lucida,sans-serif;
  }
 
  .legend-header {
    text-align: center;
    color: #4a6b3a;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    margin-bottom: 28px;
    padding: 0 10px;
  }
 
  .legend-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px 10px;
  }
 
  .legend-item {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: background 0.2s ease;
		gap: 0 10px !important;
  }


.legend-item a {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  width: 100%;
}

.icon img {
  min-width:35px;
}
 
  .legend-item:hover {
    background: rgba(74, 107, 58, 0.08);
  }
 
  .swatch {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    border-radius: 2px;
  }
 
  .icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4a6b3a;
  }
 
  .icon svg {
    width: 100%;
    height: 100%;
  }
 
  .label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #1B5128;;
    text-transform: uppercase;
  }
 

  /* Color swatches */
  .village { background: #F1E2A9; }
  .neighbourhood { background: #E6B890; }
  .tidal-marsh { background: #83A2A0; }
  .mixed-use { background: #D28B74; }
  .industrial { background: #B9B2C0; }
  .agricultural { background: #CBD4B4; }
  .right-of-refusal { background: #E6EFCC; }
  .other-lands { background: #FFBAED; }
  .future-land { background: #88775F; }
 
  /* Tablet */
  @media (max-width: 900px) {
    .legend-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 14px 20px;
    }
  }
 
  /* Mobile */
@media (max-width: 560px) {

  .legend-header {
    font-size: 11px;
    letter-spacing: 1px;
    margin-bottom: 20px;
  }

  .legend-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .label {
    font-size: 11px;
  }

  .swatch, .icon {
    width: 20px;
    height: 20px;
  }

  /* Mobile order */
  .legend-grid .legend-item:nth-child(1)  { order: 1; }  /* Village */
  .legend-grid .legend-item:nth-child(4)  { order: 2; }  /* Neighbourhood */
  .legend-grid .legend-item:nth-child(7)  { order: 3; }  /* Tidal Marsh & Bluff */
  .legend-grid .legend-item:nth-child(10) { order: 4; }  /* Mixed Use Area */
  .legend-grid .legend-item:nth-child(13) { order: 5; }  /* Industrial & Employment */
  .legend-grid .legend-item:nth-child(2)  { order: 6; }  /* Agricultural */
  .legend-grid .legend-item:nth-child(5)  { order: 7; }  /* Right of Refusal Lands */
  .legend-grid .legend-item:nth-child(8)  { order: 8; }  /* Other Lands */
  .legend-grid .legend-item:nth-child(11) { order: 9; }  /* Future Land Based Addition */
  .legend-grid .legend-item:nth-child(14) { order: 10; } /* Boundary Marker House Posts */
  .legend-grid .legend-item:nth-child(3)  { order: 11; } /* Parks, Open Spaces & Blueways */
  .legend-grid .legend-item:nth-child(6)  { order: 12; } /* Transportation & Infrastructure */
  .legend-grid .legend-item:nth-child(9)  { order: 13; } /* Study & Action Areas */
  .legend-grid .legend-item:nth-child(12) { order: 14; } /* Future Land Bridge */

}


/* Carousel */

.et_pb_group_carousel_container{
	width:90% !important;
	margin:auto;
}


/* Learn More Swap */
.tfn-card {
  position: relative;
}

.tfn-card .et_pb_text:not(.learn-more-text) {
  position: relative;
  z-index: 2;
  transition: opacity 0.3s ease;
}

.tfn-card .learn-more-text {
  position: absolute;
  bottom: 25px;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 2;
}

/* Hover gradient overlay */
.tfn-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 40px;
  background: linear-gradient(179deg, rgba(0, 0, 0, 0.00) 37.68%, rgba(0, 0, 0, 0.60) 87.71%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

.tfn-card:hover::after {
  opacity: 1;
}

.tfn-card:hover .et_pb_text:not(.learn-more-text) {
  opacity: 0;
}

.tfn-card:hover .learn-more-text {
  opacity: 1;
}


.et_pb_group_carousel .et-pb-icon{
	width:50px !important;
}


@media (max-width: 500px){
	.tfn-card .et_pb_text:not(.learn-more-text){
		padding:0px 20px !important;
		width:300px;
	}
}



/* Shared icon replacement for both carousels */
.dark-bg .et_pb_group_carousel_arrow_prev .et-pb-icon,
.dark-bg .et_pb_group_carousel_arrow_next .et-pb-icon,
.light-bg .et_pb_group_carousel_arrow_prev .et-pb-icon,
.light-bg .et_pb_group_carousel_arrow_next .et-pb-icon {
  font-size: 0 !important;
  color: transparent !important;
  content: "" !important;
  
  display: inline-block;
  width: 61px;
  height: 61px;
  
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  
  transition: background-color 0.25s ease;
}

/* Kill Divi's icon-font pseudo-element on both */
.dark-bg .et_pb_group_carousel_arrow_prev .et-pb-icon::before,
.dark-bg .et_pb_group_carousel_arrow_next .et-pb-icon::before,
.light-bg .et_pb_group_carousel_arrow_prev .et-pb-icon::before,
.light-bg .et_pb_group_carousel_arrow_next .et-pb-icon::before {
  content: none !important;
}

/* Flip the "next" arrow on both */
.dark-bg .et_pb_group_carousel_arrow_next .et-pb-icon,
.light-bg .et_pb_group_carousel_arrow_next .et-pb-icon {
  transform: scaleX(-1);
}



/* Dark background → light arrows */
.dark-bg .et_pb_group_carousel_arrow .et-pb-icon {
  background-color: #FFF7E8;
}
.dark-bg .et_pb_group_carousel_arrow:hover .et-pb-icon {
  background-color: #77D47C !important;
}

/* Light background → dark arrows */
.light-bg .et_pb_group_carousel_arrow .et-pb-icon {
  background-color: #1B5128;
}

.light-bg .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_prev{
	left:7px;
}

.light-bg .et_pb_group_carousel_arrow.et_pb_group_carousel_arrow_next{
	right:7px;
}

.light-bg .et_pb_group_carousel_arrow:hover .et-pb-icon {
  background-color: #77D47C !important;
}




@media (max-width: 979px) {
	
		.et_pb_group_carousel_container{
	width:100% !important;
	margin:auto;
}
    .et_pb_group_carousel_center_mode .et_pb_group_carousel_track {
        align-items: center;
        width: 100% !important;
        margin-left: 20%;
    }
}


@media (max-width: 767px) {
	.et_pb_group_carousel_center_mode .et_pb_group_carousel_track {
    align-items: center;
    width: 70% !important;
		margin-left: 15%;
}
	
	.et_pb_group_carousel_slide h3{
		padding:0 50px;
	}
	
}



/* Disable hover effects on touch devices */
@media (hover: none) {
  .tfn-card:hover::after {
    opacity: 0;
  }
  
  .tfn-card:hover .et_pb_text:not(.learn-more-text) {
    opacity: 1;
  }
  
  .tfn-card:hover .learn-more-text {
    opacity: 0;
  }
}


/* Popups */

.divi-popup{
	opacity:1 !important;
   background: rgba(255, 247, 232, 0.97);
}

	.divi-popup {
  overscroll-behavior: contain !important;
}

.divi-popup img{
	object-fit:cover;
}

.divi-popup .et_pb_image_wrap{
	display:block !important;
}


.divi-popup:not([style*="display: none"]) {
  box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.5);
}

@media (max-width: 767px){

	    .divi-popup  {
        max-height: 99vh !important;
        overflow-y: auto !important;		
    }
	
}

/* Custom Accordion */

.custom-accordion .et_pb_accordion_item {
	padding:9px 0px 8px 0px;
	border-bottom:1px solid #3D7F45 !important;
}


.custom-accordion.v2 .et_pb_accordion_item{
		border-bottom:1px solid #fffffd !important;
}



.et_pb_toggle_open:before{
	  font-family: "ETmodules" !important;
  content: '\42' !important;
  font-weight: 400 !important;
	position: absolute;
	right:-1px;
	color:#3d7f45;
	font-size:17px;
}


.custom-accordion.v2 .et_pb_toggle_open:before{
	color:#fffffd !important;
}


.custom-accordion .et_pb_accordion_item {
  animation-duration: 0.2s !important;
  animation-timing-function: ease-out !important;
}


/* Back to map section */

.back-to-top {

  position: fixed !important;
  background: rgba(33, 68, 41, 0.70) !important;
  bottom: 0px;
  right: 0px;
  z-index: 100;
  padding:10px 20px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: #FFF7E8;
  transition: color 0.25s ease;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s, color 0.25s ease;
}

.back-to-top,
.back-to-top:link,
.back-to-top:visited,
.back-to-top:active {
  color: #FFF7E8 !important;
}

.back-to-top:hover,
.back-to-top:focus-visible {
  color: #77D47C !important;
}

.back-to-top__label {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: inherit;
	font-family: 'BCSansBold', Helvetica, Arial, Lucida, sans-serif;
}


.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}


@media (max-width: 767px){
	
	.back-to-top{
		gap:0 !important;
		padding:3px 20px !important;
	}
	
	.back-to-top svg{
		width:30px;
	}
	
	.back-to-top__label{
		font-size:15px !important;
	}
}


/* Prayer Audio Css */

.prayer-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  color: inherit; 
}

.prayer-link img {
  width: 24px; 
  height: auto;
  display: block;
}


.custom-blurb img{
	min-width:300px !important;
}

/* Slider Arrows */

.et-pb-slider-arrows .et-pb-arrow-prev {
  z-index: 99999 !important;
  background-color: #FFFFFD;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 51px;
  height: 51px;
}


.et-pb-slider-arrows .et-pb-arrow-next {
  z-index: 99999 !important;
  background-color: #FFFFFD;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 51px;
  height: 51px;
  transform: rotate(180deg);
}

.et-pb-slider-arrows .et-pb-arrow-next:before {
  display: none;
}


.et-pb-slider-arrows .et-pb-arrow-prev:hover,
.et-pb-slider-arrows .et-pb-arrow-next:hover {
  background-color: #64BE69 !important;
}

.et-pb-slider-arrows .et-pb-arrow-prev,
.et-pb-slider-arrows .et-pb-arrow-next {
  transition: background-color 0.15s ease;
}

.et-pb-slider-arrows .et-pb-arrow-prev:hover:before,
.et-pb-slider-arrows .et-pb-arrow-next:hover:before {
  display: none;
}


/* Slider Bullets */

.et-pb-active-control{
	background-color: rgba(211, 211, 211, 0.3) !important;
	opacity:.4 !important;
}


.et-pb-controllers a {
	background-color:transparent;
	height:15px;
	width:15px;
	border-radius:50%;
	border:1px solid white;
	opacity:1 !important;
}

/* Mobile bullets */

.et_pb_group_carousel_dots button {
	opacity:1 !important;
}

.et_pb_group_carousel_dots .et_pb_group_carousel_dot_active{
		background-color: rgba(211, 211, 211, 0.3) !important;
	opacity:1 !important;
}

.et_pb_group_carousel_dot {
	background:transparent !important;
	border:1px solid white;
	height:15px !important;
	width:15px;
}


.et_pb_group_carousel .et_pb_group_carousel_track {
  user-select: none;
}

.et_pb_group_carousel_slide_active>.et_pb_group{
	margin-left:3px !important;
}


/* Bottom Quote Arrows */

.light-bg-quotes .et_pb_group_carousel_arrow_prev, .light-bg-quotes .et_pb_group_carousel_arrow_next{
	  z-index: 99999 !important;
  background-color: #1B5128;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='61' height='61' viewBox='0 0 61 61' fill='none'%3E%3Cpath d='M30.5002 40.6667L20.3335 30.5L30.5002 20.3334M20.3335 30.5H40.6668M55.9168 30.5C55.9168 44.5373 44.5374 55.9167 30.5002 55.9167C16.4629 55.9167 5.0835 44.5373 5.0835 30.5C5.0835 16.4628 16.4629 5.08337 30.5002 5.08337C44.5374 5.08337 55.9168 16.4628 55.9168 30.5Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 51px;
  height: 51px;
  transform: rotate(0deg);
}
.light-bg-quotes .et_pb_group_carousel_arrow_next{
	transform: rotate(180deg);
}
.light-bg-quotes .et_pb_group_carousel_arrow_next:hover,
.light-bg-quotes .et_pb_group_carousel_arrow_prev:hover {
  background-color: #64BE69 !important;
}
.light-bg-quotes .et_pb_group_carousel_arrow_prev,
.light-bg-quotes .et_pb_group_carousel_arrow_next {
  transition: background-color 0.15s ease;
}


.light-bg-quotes .et_pb_group_carousel_arrow_prev::before,
.light-bg-quotes .et_pb_group_carousel_arrow_prev::after,
.light-bg-quotes .et_pb_group_carousel_arrow_next::before,
.light-bg-quotes .et_pb_group_carousel_arrow_next::after {
  display: none !important;
}


.light-bg-quotes .et_pb_group_carousel_arrow_next{
	right:20px !important;
}

.light-bg-quotes .et_pb_group_carousel_arrow_prev{
	left:20px !important;
}

.light-bg-quotes .et_pb_group_carousel_arrow .et-pb-icon{
	opacity:0;
	padding:20px !important;
	
}


@media (max-width: 979px){
	.light-bg .et_pb_group_carousel_dots .et_pb_group_carousel_dot_active{
		background-color:rgba(0,0,0,0.5) !important;
	}
}

