/*
Theme Name: thirdwave
Author: Thirdwave, LLC
Author URI: http://www.thirdwavellc.com
Description: A minimal starter theme.
Version: 1.0
*/
/*Gravity forms - Start*/

.ginput_container_phone
{
	font-size: 1.25rem;
    letter-spacing: .2px;
    line-height: 29px;
    background: #f3f4f0;
    margin-bottom: 35px;
    padding: 27px 20px 14px 20px;
}

/*Gravity forms - End*/

/* Base state: hidden + shifted */
.bfb-anim-top-left,
.bfb-anim-top-right,
.bfb-anim-bottom-left,
.bfb-anim-bottom-right {
    opacity: 0;
    will-change: opacity, transform;
    transition: opacity 0.3s ease-out;
}

/* Active state: WHEN element enters viewport */
.bfb-anim-top-left.is-visible {
    animation: bfbFadeDiagonalTL 1.2s ease-out forwards;
}

.bfb-anim-top-right.is-visible {
    animation: bfbFadeDiagonalTR 1.2s ease-out forwards;
}

.bfb-anim-bottom-left.is-visible {
    animation: bfbFadeDiagonalBL 1.2s ease-out forwards;
}

.bfb-anim-bottom-right.is-visible {
    animation: bfbFadeDiagonalBR 1.2s ease-out forwards;
}

/* KEYFRAMES (Separated for accuracy) */
@keyframes bfbFadeDiagonalTL {
    from { opacity: 0; transform: translate(-60px, -60px); }
    to   { opacity: 1; transform: translate(0, 0); }
}

@keyframes bfbFadeDiagonalTR {
    from { opacity: 0; transform: translate(60px, -60px); }
    to   { opacity: 1; transform: translate(0, 0); }
}

@keyframes bfbFadeDiagonalBL {
    from { opacity: 0; transform: translate(-60px, 60px); }
    to   { opacity: 1; transform: translate(0, 0); }
}

@keyframes bfbFadeDiagonalBR {
    from { opacity: 0; transform: translate(60px, 60px); }
    to   { opacity: 1; transform: translate(0, 0); }
}

@media (min-width: 768px) {
  header [data-s3cid="24"] {
    display: none !important;
  }
}

img.custom-logo {
	width: 320px !important;
}

@media (max-width: 983px) {
  img.custom-logo {
    width: 220px !important;
    height: auto !important;
  }

  /* Overflow fix */
  .custom-logo-link,
  .custom-logo {
    max-width: 100% !important;
  }
}

.bfb-logo-holder {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.bfb-header-fdic {
  width: 300px;
  max-width: 100%;
	margin-top: -20px;
  margin-bottom: 20px;
}

.bfb-header-fdic img {
  width: 100%;
  height: auto;
  display: block;
}

/* FDIC spacing */
@media (max-width: 975px) {
  .bfb-header-fdic {
    margin-bottom: 6px !important;   /* tweak as needed */
  }
}

/* Bank logo spacing + prevent bottom clipping */
@media (max-width: 975px) {
  .bfb-logo-holder .custom-logo-link {
    display: block;
    margin-top: 0 !important;
    padding-bottom: 10px;            /* creates breathing room at bottom */
  }

  img.custom-logo {
    height: auto !important;
    display: block;
  }
}

.bfb-site-footer--fdic {
	margin-top: 40px;
}

.bfb-site-footer--fdic img {
	width: 80px;
}

.bfb-site-footer {
	padding-bottom: 50px !important;
}

.bfb-site-footer--download {
    padding-left: 100px;
    margin-bottom: 100px;
		display: flex;
    flex-direction: row;
		justify-content: flex-end;
    gap: 10px;
		grid-area: 1 / 4 / 5 / 5;
	
	img {
		border-radius: 0.4vw;
		width: 160px !important;
	}
}

.bfb-site-footer .bfb-site-footer--social-media {
        grid-area: 2 / 4 / 1 / 5;
}

.bfb-notification-banner {
	padding: 15px 20px;
	align-content: center;
	margin-top: 12px;
	background: #162A2F;
}

.bfb-notification-banner p {
	color: #FFD966!important;
	font-size: 15px;
	margin-bottom: 0;
	line-height: 1.5;
}

.bfb-notification-banner a,
.bfb-notification-banner a:visited {
	color: #FFD966 !important;
	text-decoration: underline;
}

.bfb-notification-banner a:hover,
.bfb-notification-banner a:focus {
	text-decoration: none;
}

.bfb-notification-banner a {
	font-weight: 700;
}

.bfb-wrapper {
    max-width: 100%;
}

.bfb-hero {
    width: 100%;
	  height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
		overflow: hidden;
	
.bfb-asset {
	position: absolute;
	max-width: 100%;
}

.bfb-asset.left {
	width: 300px;
	bottom: 10px;
	left: 200px;
	}
	
.bfb-asset.right {
		width: 400px;
		top: 100px;
		right:100px;
	}
}

.bfb-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.50	);
}

.bfb-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 20px;
}

.bfb-hero-title {
    font-size: 52px;
    font-family: GT-super;
	  text-transform: capitalize;
		line-height: 1.2;
	letter-spacing: 0;
	    margin-top: 17px;
}

.bfb-hero-cta.feature-carousel--cta.bfb-button{
  margin: 32px auto 0;   /* between H2 and bottom, centered */
}

/* Match Sign In button typography for specific menu items */
.bfb-utility-nav--holder .bfb-utility-cta > a {
  font-size: .75rem;
  line-height: 18px;
  letter-spacing: 1.2px;
  font-weight: 900;
}

/* Optional: keep them from looking like links */
.bfb-utility-nav--holder .bfb-utility-cta > a,
.bfb-utility-nav--holder .bfb-utility-cta > a:visited,
.bfb-utility-nav--holder .bfb-utility-cta > a:hover,
.bfb-utility-nav--holder .bfb-utility-cta > a:active {
  color: inherit;
  text-decoration: none;
}

.bfb-utility-nav--holder,
.bfb-utility-nav--holder a,
.bfb-utility-nav--holder button {
  font-family: brandon-grotesque, sans-serif;
}

  .bfb-hero-banner .bfb-hero-banner--header h1 {
    text-align: center!important;
  }
}

@media (max-width: 767px) {
  .home .feature-carousel--preheader p {
    color: #fff !important;
  }
}

.feature-carousel {
  position: relative;
  isolation: isolate; /* prevents blend effects leaking into children */
}

.feature-carousel:before {
  z-index: 0;                 /* behind content */
  mix-blend-mode: normal;     /* don't darken text via blending */
  pointer-events: none;
}

/* Ensure slide content is above */
.feature-carousel .slick-list,
.feature-carousel .slick-track,
.feature-carousel .slick-slide,
.feature-carousel .feature-carousel--content,
.feature-carousel h1,
.feature-carousel h2,
.feature-carousel p,
.feature-carousel a {
  position: relative;
  z-index: 2;
}

/* MID SECTION */

/* Online Banking Enrollment (page-id-53): add mobile side padding to form */
@media (max-width: 999px) {
  body.page-id-53 .bfb-application-form,
  body.page-id-53 .bfb-application-form form,
  body.page-id-53 .gform_wrapper {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
}

/* Manual override: normalize oversized testimonial quote text */
.bfb-testimonial-quote {
  font-size: 1.125rem !important;
  line-height: 1.5 !important;
}

/* Increase spacing below H2s in Gutenberg post content only */
.single-post .wp-block-heading {
  margin-top: 20px;
  margin-bottom: 20px;
}

.bfb-application-form > h3,
.bfb-card-icon-wide.bfb-application-form > h3 {
  text-align: center !important;
  width: 100%;
  max-width: 900px;
  margin: 0 auto 42px;
}

/* Thank You page (ID 4978): remove excess spacing from empty H2 */
.page-id-4978 h2.wp-block-heading {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* Restore bullets/numbering in MAIN CONTENT only (won't touch header/footer) */
main ul,
main ol {
  padding-left: 1.25em;
  margin-left: 0;
  list-style-position: outside;
}

main ul { list-style-type: disc; }
main ol { list-style-type: decimal; }

/* Critical: ensure list items are actually list-items so markers can render */
main li {
  display: list-item;
}

/* Optional: nested list styling */
main ul ul { list-style-type: circle; }
main ul ul ul { list-style-type: square; }

.bfb-card-4-column-container > h2.alternate-heading {
    padding-top: 0 !important;
  }
}

.wp-block-post-content li,
.entry-content li,
article li {
  list-style: inherit;
}

/* Reduce hero title size on mobile only */
@media screen and (max-width: 767px) {
  .bfb-hero-title {
    font-size: 32px;
  }
}

/* Normalize blog/card title line spacing sitewide */
.bfb-card-title a {
  line-height: 1.25;
  display: inline-block; /* helps consistent wrapping behavior */
}

.bfb-mid-section {
    position: relative;
    padding: 100px;
}

.bfb-mid-inner {
    width: 100%;
    margin: auto;
    padding: 0 20px;
    display: flex;
    gap: 60px;
    align-items: center;
}

.bfb-mid-content {
    display: flex;
		flex-direction: column;
	  width: 50%;
		gap: 20px;
}

.bfb-mid-subtitle {
	  font-weight: 600;
    text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: 3.2px;
}

.bfb-mid-title {
		font-size: 2.375rem;
		line-height: 1;
		font-family: GT-super;
	  text-transform: capitalize;
	letter-spacing: 0;
	width: 320px;
}

/* RIGHT SIDE GRAPHICS WRAPPER */
.bfb-mid-graphics {
    position: relative;
    width: 50%;
    height: auto;
	
	.bfb-mid-main-image {
		height: 500px;
		width: 100%;
		object-fit: cover;
	}
	
	.bfb-asset {
    position: absolute;
}
	
	
.bfb-asset.left {
	width: 300px;
	bottom: -100px;
	left: -100px;
	}
	
.bfb-asset.right {
		width: 200px;
		top: -60px;
		right: -60px;
	}
}


/* POST CARDS */

.bfb-archive-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 50px;
    padding: 100px 100px 40px;
}

.bfb-archive-card {
		position: relative;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    padding-bottom: 20px;
	
	.bfb-asset {
		position: absolute;
		width: 100px;
		right: 20px;
		top: 220px;
	}
}

.bfb-card-img-wrap img {
    width: 100%;
    height: 300px;
		object-fit: cover;
    display: block;
}

.bfb-card-title {
    font-size: 22px;
    font-weight: 600;
    margin: 20px;
}

.bfb-card-title a {
    text-decoration: none;
    color: #222;
}

.bfb-card-excerpt {
    margin: 0 20px 20px;
    color: #555;
}

.bfb-transparent-btn {
    display: inline-block;
    margin: 0 20px;
    padding: 14px 46px;
    background: transparent;
    color: #212121;
    text-decoration: none;
    border-radius: 0px;
		border: 1px solid #212121;
		font-weight: 700;
		text-transform: uppercase;
		line-height: 1.2;
		font-size: 12px;
		transition: ease 0.5s;
}

.bfb-transparent-btn:hover {
    background: #5abad0;
		color: white;
}

.bfb-archive-pagination {
    margin-bottom: 100px;
    text-align: center;
		display: flex;
		flex-direction: row;
    justify-content: center;
    align-items: center;
		gap: 10px;
	
	.page-numbers {
		color: black;
		font-size: 12px;
		text-decoration: none;
		opacity: 0.5;
	}
	.page-numbers.current {
		font-size: 24px;
		text-decoration: none;
		opacity: 1;
	}
	.next.page-numbers, .prev.page-numbers {
		border: 1px solid;
		text-transform: uppercase;
		padding: 12px 24px;
		line-height: 1.2;
		margin: 0 20px;
		opacity: 1;
	}
}

.bfb-hero-subtitle {
		font-weight: 600;
    text-transform: uppercase;
    font-size: 1.375rem;
    letter-spacing: 4.4px;
		color: white;
}

.bfb-single-content-section {
    padding: 80px 0;
		overflow: hidden !important;
		position: relative;

	.bfb-asset {
    position: absolute;
}
	
	
.bfb-asset.bottom-right {
	width: 250px;
	bottom: 100px;
	right: -40px;
	}
	
.bfb-asset.bottom-left {
	width: 250px;
	bottom: 300px;
	left: 40px;
}
	
.bfb-asset.top-left {
		width: 200px;
		top: 100px;
		left: -40px;
	}
	
.bfb-asset.top-right {
		width: 150px;
		top: 250px;
		right: 100px;
	}

.bfb-asset.top-left-outline {
		width: 200px;
		top: 140px;
		left: 0px;
	}
}

.bfb-single-inner {
    max-width: 900px;
    margin: auto;
    padding: 0 20px;
}

.bfb-content-formatted {
    text-align: justify;
    font-size: 1.25rem;
    line-height: 1.7;
		z-index:99;
}

.bfb-divider {
    height: 1px;
    background: #ddd;
    margin: 60px auto;
    max-width: 1200px;
}

.bfb-related-title {
    text-align: center;
    margin-bottom: 40px;
		font-size: 38px;
		line-height: 1;
		font-family: GT-super;
	  text-transform: capitalize;
}

.bfb-related-section .bfb-related-inner .bfb-archive-grid{
	padding-top: 0; 
	padding-bottom: 120px;
}

/* Tablet – 768px and below */
@media (max-width: 1024px) {
    .bfb-archive-grid {
        grid-template-columns: 1fr 1fr;
        padding: 80px 40px 40px;
    }
}

/* Mobile – 600px and below */
@media (max-width: 600px) {
    .bfb-archive-grid {
        grid-template-columns: 1fr;
        padding: 60px 40px 40px;
    }
	
	.bfb-archive-card {
    .bfb-asset {
        top: 200px;
    }
}

img.custom-logo {
    width: 200px !important;
}

.bfb-mid-section {
	padding: 60px 20px;
}
	
	.bfb-mid-inner {
    flex-direction: column-reverse;
}

.bfb-mid-content, .bfb-mid-graphics {
    width: 100%;
}

.bfb-mid-graphics {
    .bfb-mid-main-image {
        height: 400px;
    }
    .bfb-asset.left {
        width: 200px;
        bottom: -40px;
    }
}
	
.bfb-single-inner {
    max-width: 100%;
    padding: 0 40px;
}

.bfb-single-content-section {
    .bfb-asset.top-left {
        width: 80px;
        top: 20px;
        left: -40px;
    }
	.bfb-asset.top-right {
        width: 150px;
        top: 400px;
        right: -40px;
    }
	    .bfb-asset.bottom-left {
        width: 200px;
        left: -40px;
    }
	    .bfb-asset.bottom-right {
        width: 150px;
        bottom: 0px;
    }
}
	
	.bfb-site-footer .bfb-site-footer--logo-wrap {
    margin-top: 40px;
}
	
	.bfb-site-footer .bfb-site-footer--social-media {
    grid-area: 2 / 1 / 6 / 5;
}

.bfb-site-footer--download {
    padding-right: 100px;
		padding-left: 0;
    grid-area: 6 / 1 / 6 / 3;
    justify-content: flex-start;
}
	
	.bfb-site-footer--fdic {
    grid-area: 9 / 1 / 7 / 1;
}
}

.bfb-card-4-column-container {
	padding: 112px 0 40px 0 !important;
}

.entry-content .bfb-card-4-column-bg {
	margin-top: 200px;
}

.feature-carousel--header h1.white {
	    font-size: 4rem;
    text-indent: 0!important;
    background-image: none!important;
    width: auto!important;
    color: #ffffff!important;
    margin: 0 auto 26px!important;
}

@media only screen and (max-width:600px) {
	.slick-slide {
    height: auto!important;
}


.feature-carousel--header h1.white {
	    font-size: 2rem;
}
}

p,
ul,
ol {
  font-size: 1.125rem;
  letter-spacing: .36px;
  line-height: 25px;
  margin-bottom: 30px;
}

li {
  font-size: 1.125rem;
  letter-spacing: .36px;
  line-height: 25px;
  margin-bottom: 10px;
}

/* CONTACT US – Bottom Right (Location + Business Hours) */

.zipper-right__contact-bottom-right{
  font-size: 18px;
  line-height: 1.4;
}

.zipper-right__contact-bottom-right *{
  font-size: inherit;
  line-height: inherit;
}

.zipper-right__contact-bottom-right__dl-bh dt,
.zipper-right__contact-bottom-right__dl-bh dd{
  margin: 0 !important;
  padding: 0 !important;
}

.zipper-right__contact-bottom-right__dl-bh > dd > dl > dt{
  margin-top: 6px !important;
  margin-bottom: 4px !important;
  font-weight: 600;
}

.zipper-right__contact-bottom-right__dl-bh dd dl dl{
  display: grid !important;
  grid-template-columns: max-content 1fr !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  line-height: 1.4 !important;
}

.zipper-right__contact-bottom-right__dl-bh dd dl dl > dt,
.zipper-right__contact-bottom-right__dl-bh dd dl dl > dd{
  display: block !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}

.zipper-right__contact-bottom-right__dl-bh dd dl dl > dt{
  white-space: nowrap !important;
}

.zipper-right__contact-bottom-right__dl-bh .bfb-weekend{
  margin-top: 10px !important;
}

/* EVENTS – centered with responsive vertical spacing */
.fnbb-events-loop{
  max-width: 750px;
  margin: 0 auto;
  padding: 150px 0;       /* desktop: top/bottom */
}

@media (max-width: 600px){
  .fnbb-events-loop{
    padding: 80px 20px;   /* mobile: reduced vertical + side padding */
  }
}

/* Remove default list styling and create clean vertical separation */
.fnbb-events-loop .wp-block-post-template{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr; 
  row-gap: 32px; /* separation without a divider */
}

/* Each item: subtle "card" separation via padding only */
.fnbb-events-loop .wp-block-post{
  margin: 0;
  padding: 0;
}

/* Space between featured image and post content */
.fnbb-events-loop .wp-block-post-featured-image{
  margin-bottom: 10px;
}

/* Title: let theme H2 styles apply; just control spacing */
.fnbb-events-loop .wp-block-post-title{
  margin: 14px 0 10px;
}

.fnbb-events-loop .wp-block-post-featured-image a,
.fnbb-events-loop .wp-block-post-featured-image img{
  display: block;
  width: 100%;
}

/* Full content: normalize paragraph spacing so it doesn’t feel “unstyled” */
.fnbb-events-loop .wp-block-post-content{
  margin: 0;
}

.fnbb-events-loop .wp-block-post-content > *:first-child{
  margin-top: 0;
}

.fnbb-events-loop .wp-block-post-content > *:last-child{
  margin-bottom: 0;
}

.app-store-badges {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.app-store-badges img {
  display: block;
}

.bfb-hero-banner {
  position: relative;
}

.bfb-hero-banner::before {
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.55) 0%,
    rgba(0,0,0,0.45) 40%,
    rgba(0,0,0,0.25) 80%,
    rgba(0,0,0,0) 95%
  ) !important;
}

.privacy-policy-logo {
  display: block !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  float: none !important;
}

.ffb_footer_menu_wrapper .ffb_floating_menu_item a {
	text-decoration: none!important;
}