/*
yellow - FEC046
bright yellow - fafa06
dark grey - 5b5c57
grey - c7c9ca

orange - ff7000
blue - 151a61
*/

body { padding: 0; color: #212529; font-size: 1.2em; font-family: "Open Sans", sans-serif; background: #FFF; }
a, a:link, a:focus, a:active, a:visited { color: #151a61; text-decoration: underline; }
a:hover  { color: #E64548; }
h1 { color: #212529; margin-top: 0; padding-bottom: 10px; font-size: 2em; font-weight: bold; }
h2  { color: #151a61; font-size: 1.4em; padding-top: 10px; padding-bottom: 5px; }
h3  { font-size: 1.1em; font-weight: bold; }
strong { color: #000; } 
.table { --bs-table-color: #212529; margin-bottom: 25px; }
.table thead>tr>th, .table tbody>tr>th, .table tfoot>tr>th, .table thead>tr>td, .table tbody>tr>td, .table tfoot>tr>td  { background-color: #000; border-top: 1px solid #757575; }
.table-striped > tbody > tr:nth-child(2n+1) > td, .table-striped > tbody > tr:nth-child(2n+1) > th { background-color: #000; border-top: 1px solid #757575; }
.table-bordered td, .table-bordered th { border: 1px solid #FFF; }
img { max-width: 100%; display: block; } 
.row { margin: 0; }

@media all and (min-width: 0px) and (max-width: 768px) 
{
	body { font-size: 18px !important; }
	h1 { font-size: 1.5em !important; text-align: center !important; }
	h2 { font-size: 1.2em !important; }
	h3 { font-size: 1em !important; }
	#container_header_full { background-color: #fff !important; height: auto !important; }
	.container_slideshow_full { background-color: #151a61 !important; }
	.container_home { background-color: #fff !important; }
	.container_content_full { background-color: #fff !important; }
	.container_banner_photo_full {  background-color: #151a61 !important; }
	#logo { margin: 20px 0 0 0 !important; width: 200px !important; }
	#quick_mobile { margin: 30px auto !important  }
	.navbar { margin-top: 20px !important; }
	.navbar-nav .dropdown-menu { width: 100% !important; }
	.navbar-nav .dropdown-menu > li a { text-align: center !important; }
	.navbar-nav .nav-item:last-child .nav-link { width: 100% !important; }
	.nav-item { border-bottom: 1px solid #151a61; }
	.navbar-nav > li > a {  margin-top: 0 !important; }
	#nav-link-first { border-radius: 0 !important; }
	#nav-link-last { border-radius: 0 !important; }
	.navbar-nav > li:last-child > a, .navbar-nav > li:last-child > a:link, .navbar-nav > li:last-child > a:focus, .navbar-nav > li:last-child > a:active, .navbar-nav > li:last-child > a:visited { border-radius: 0 !important; }
	#home_slideshow { height: 100%; }
	#home_slideshow .carousel-inner { height: 100% !important; }
	#home_slideshow .carousel-item { height: 100% !important; }
	#home_slideshow img { height: 100% !important; }
	.carousel-item:after { background: none !important; } 
	.carousel-caption { display: none !important; }
	#quote_card { display: none !important; } 
	#home_slideshow .carousel-caption { padding-right: 0; }	
	.container_intro_banner_full .container { padding: 1em 2em !important; }
	.mobile_cta { display: block !important; width: 165px; margin: 0 auto 20px auto; padding: 0 !important;  }
	#main_content { padding-top: 20px !important; }
	#main_content { padding-top: 20px !important; }
	.service { min-height: 400px !important; margin-bottom: 40px !important; }
	.bank { min-height: 60px !important; }
	.wab-menu { display: none !important; }
	.btn-wab-quote { margin-left: 15px !important; }
	#footer_links { font-size: 0.8em !important; }
	#footer_links ul li { padding: 14px 0 !important; }
	#footer_links li { margin-bottom: 0 !important; }
	.footer_title h3 { margin-top: 20px; }
	.menu-col { display: none !important; }
	.services-col-1 { display: none !important; }
	.services-col-2 { display: none !important; }
	.mobile_cta_footer{ display: block !important; }	
 
}

  /* Let the header row be positioning context */
  #container_header_full #header {
	position: relative;
	height: 80px;
  }

  /* Move the toggler to the absolute far right of the screen */
  #main-navbar .navbar-toggler {
	position: absolute;
	top: -35px;
	right: 12px;     /* space from edge */
	transform: translateY(-50%);
	margin: 0;
	z-index: 10;
  }

  /* Hide the empty brand placeholder in the navbar */
  #main-navbar .navbar-brand {
	display: none !important;
  }

  /* Make sure the logo stays left aligned */
  #logo {
	position: relative;
	z-index: 11;   /* so it sits above collapsed content */
  }
  
  #main-navbar .navbar-collapse {
	position: absolute;
	top: 100%;             /* just below the header row */
	left: 0;
	right: 0;
	background: #fff;      /* solid background so text is readable */
	z-index: 9999;
  }
  
/* Transition effect for smooth hide/show */
#container_header_full {
  transition: transform 0.3s ease-in-out;
}
#container_header_full.hide {
  transform: translateY(-100%);
}


#logo { width: 230px; margin: 15px 0 20px 0; }
#container_header_full { background-color: #FFF; }
.navbar { margin-top: 20px; padding: 0; margin-bottom: 15px; }
.navbar-nav > li > a {padding: 10px 15px 10px 15px; text-align: center; text-decoration: none; border-radius: 0; font-size: 0.9em; color: #000; letter-spacing: 1px; }
.navbar-nav > li > a:hover, .navbar-nav > li > a:focus, .navbar-nav  .open > a, 
.navbar-nav  .open > a:hover, .navbar-nav  .open > a:focus { text-decoration: none; color: #151a61; }
.navbar-nav > li > a.active, .navbar-nav > li > a:active { text-decoration: none; color: #151a61 !important; }
.navbar-nav .nav-item:last-child .nav-link { background: #151a61; color: #FFF; width: 180px; padding: 10px 20px; border-radius: 10px 0; }
.navbar-nav .nav-item:last-child .nav-link:hover { background: #ff7000; color: #FFF; text-decoration: none; }
.navbar-nav .nav-item:last-child .nav-link.active { background: #151a61; color: #FFF !important; text-decoration: none; }
.navbar-nav .nav-item:last-child .nav-link i { padding-right: 10px; }
.nav-link-top { background-color: rgba(255, 255, 255, 0.7); }
#nav-link-first { border-radius: 10px 0 0 10%; } 
#nav-link-last { border-radius: 0 10% 10% 0; } 
.nav .caret { border-top-color: #000; border-bottom-color: #000; }
.navbar-nav .dropdown-menu { background: #151a61; font-size: 0.8em; padding: 0; margin: 0; width: 250px; }
.navbar-nav .dropdown-menu > li { padding: 0; margin: 0; }
.navbar-nav .dropdown-menu > li a { color: #FFF; padding: 10px 20px !important; width: 100%; display: block; border-bottom: 1px solid #FFF; font-size: 1em; text-decoration: none; text-align: left; }
.navbar-nav .dropdown-menu > li a.active, .navbar-nav .dropdown-menu > li a:hover, .navbar-nav .dropdown-menu > li a:active, .navbar-nav .dropdown-menu > li a:focus { color: #FFF; background: #ff7000; }
.navbar-nav .dropdown-menu .nav-item:last-child .nav-link, .navbar-nav .dropdown-menu li:last-child a { width: auto !important; padding: 10px 20px !important; border-radius: 0 !important; }
@media (min-width: 769px) {

	.dropdown:hover .dropdown-menu { display: block; margin-top: 0; } /* click on mobile, hove desktop */
}
.navbar-toggler { margin-bottom: 10px; }
.navbar-toggler-icon { color: #000; }
.navbar-toggler:focus { box-shadow: 0 0 0 0; }

.container_slideshow_full { position: relative; }

.carousel-caption { top: 8%; left: 10%; text-align: left; padding-right: 300px; }
.carousel-caption h5 { font-family: "Lato", serif; font-size: 2.5em; font-weight: 100; font-weight: bold; color: #F6F2ED; }
.carousel-caption p { font-size: 0.9em; color: #000; }
.btn-slideshow, .btn-slideshow:link, .btn-slideshow:focus, .btn-slideshow:active, .btn-slideshow:visited, .btn-slideshow[disabled] { padding: 10px 30px; background-color: transparent; background-repeat: no-repeat; cursor: pointer; overflow: hidden; outline: none; color: #FFF; border: 1px solid #FFF; text-decoration: none; }
.btn-slideshow:hover  { background: #151a61; color: #FFF; }

.container_slideshow_full { position: relative; } 
#home_slideshow { position: relative; z-index: 1; } 
#home_slideshow .carousel-item img { display: block; } 
#quote_card { position: absolute; top: 30px; right: 3vw; width: 420px; border: 0; border-radius: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.25); overflow: hidden; z-index: 2; } 
.card-header { color: #FFF; }
.card-header strong { color: #ff7000; }
.quote-head { background: #151515; color: #fff; padding: 10px 22px; font-size: 1.1em; } 
.quote-sub { font-size: 0.9em; opacity: 0.85; } 
#quote_card .card-body { padding: 0 20px 10px 20px; background: #fff; } 
#quote_card .form-label { font-weight: 600; font-size: 0.9em; } 
#quote_card .form-control::placeholder { color: #adb5bd; } 
.form-input-container:has(#recaptcha_response) { display: none !important; }
#quote_card_button { margin-top: 10px; margin-bottom: 5px; }
label[for="recaptcha_help"] { display: none !important; }



.container_slideshow_full { position: relative;  }
.container_home { background: #FFF; color: #212529; padding-top: 40px; }
.container_content_home_full { margin-bottom: 40px; }
#main_content_home { padding: 40px 10px 20px 10px; }
.mobile_cta { display: none; }
.container_content_full .container { background: #FFF; color: #000; }
#main_content { padding: 40px 10px 40px 10px; }
#main_content li { margin: 1em 0; }
#plain_page_photos { margin-top: 65px;  }
#plain_page_photos img { margin-bottom: 10px; }
#plain_page_photos p { font-size: 0.8em; }
.plain_page_photos_name { font-size: 0.9em; margin-bottom: 10px;  }
.form-label { margin-top: 10px; }

/* services */
.container_services_full { background: #151a61; padding-top: 40px; padding-bottom: 100px; margin-top: 40px; margin-bottom: 0; }
#services_intro h1 { text-align: center; margin: 0 0 30px 0; color: #FFF; }
.service_cell_container { display: flex; }
.service_cell { background: #FFF; box-shadow: 0 1px 8px rgba(0,0,0,0.1); display: flex; flex-direction: column; height: 100%; transition: transform .25s ease, box-shadow .25s ease; }
.service_cell_photo { aspect-ratio: 16/9; overflow: hidden; }
.service_cell_photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.service_cell_name { background: #f8f9fa; text-align: center; padding: 0 10px 10px 10px; transition: background-color .25s ease, color .25s ease; }
.service_cell_name h2 { color: #000; font-size: 1.3rem; margin: 0; transition: color .25s ease; }
.service_cell:hover { transform: scale(1.06); box-shadow: 0 16px 32px rgba(0,0,0,0.25); z-index: 5; }
.service_cell:hover .service_cell_name { background: #ff7000; }
.service_cell:hover .service_cell_name h2 { color: #fff; }
.services_photos { margin-top: 65px; }
.services_photos_name { font-size: 0.8em; margin-top: 2px; margin-bottom: 20px; }

/* lending partners */
.bank { margin-top: 20px; margin-left: 15px; margin-right: 15px; min-height: 230px; }

/* benefits */
.container_benefits_full { background: #eeeeee; padding-top: 40px; padding-bottom: 60px; margin-top: 0; } 
#benefits_intro h1 { text-align: center; margin: 0 0 30px 0; color: #151a61; font-size: 1.8rem; } 
.benefit_cell_container { display: flex; } 
.benefit_cell { background: #fff; border: 1px solid rgba(21,26,97,.12); border-radius: 0; padding: 18px 14px; text-align: center; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 10px; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; } 
.benefit_icon { width: 80px; height: 80px; display: grid; place-items: center; border: 2px solid #151a61; border-radius: 50%; background: #eeeeee; margin: 4px auto 6px; overflow: hidden; } 
.benefit_icon img { max-width: 56px; max-height: 56px; width: auto; height: auto; display: block; } 
.benefit_name h3 { font-size: 1rem; color: #1b1f3b; margin: 0; line-height: 1.25; transition: color .22s ease; } 
/*
	.benefit_cell:hover { transform: translateY(-6px) scale(1.03); box-shadow: 0 14px 28px rgba(0,0,0,.16); border-color: rgba(225,28,31,.35); } 
	.benefit_cell:hover .benefit_icon { border-color: #ff7000; background: #eeeeee; } 
	.benefit_cell:hover .benefit_name h3 { color: #ff7000; }
*/

/* home background */
.home_background_photo {
  height: 600px;                    
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;                     
  align-items: center;               
  justify-content: center;           
}

.home_background_photo_text {
  background-color: rgba(21, 26, 97, 0.85); 
  padding: 3rem;                           
  max-width: 600px;                        
  text-align: center;                     
  border-radius: 0.5rem;                  
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.3); 
  color: #fff;                        
}

.home_background_photo_text h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #fff;    
}

#home_background_photo_cta .btn {
  background-color: #ff7000;   
  border-color: #ff7000;
  font-weight: 600;
  padding: 0.75rem 1.5rem;
}




/* expertise */
.container_expertise_full { background: #f9f5f2; padding-top: 60px; padding-bottom: 80px; margin-top: 0; } 
#expertise a { text-decoration: none; }
#expertise_intro h1 { text-align: center; margin: 0 0 40px 0; color: #151a61; font-size: 2.2rem; font-weight: 700; } 
.expertise_cell_container { display: flex; } 
.expertise_cell { background: transparent; border: 0; text-align: center; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 12px; transition: transform .22s ease; } 
.expertise_icon { width: 90px; height: 90px; display: grid; place-items: center; margin: 0 auto 8px; } 
.expertise_icon img { max-width: 70px; max-height: 70px; width: auto; height: auto; display: block; } 
.expertise_amount h3 { font-size: 2.2rem; font-weight: 700; color: #ff7000; margin: 0; line-height: 1.2; } 
.expertise_name p { font-size: 1.1rem; color: #1b1f3b; margin: 0; } 
.expertise_cell:hover { transform: translateY(-6px) scale(1.05); }


.grecaptcha-badge { visibility: hidden; }
.form-input-container:has(> #date_time_submitted[type="hidden"]) { display: none; }
#recaptcha_help { font-size: 0.75em; }
label.error { font-weight: bold; color: #FF0000; padding: 2px 8px; margin-top: 2px; }
.btn-primary, .btn-primary:link, .btn-primary:focus, .btn-primary:active, .btn-primary:visited, .btn-primary[disabled] { margin-top: 10px; padding: 10px 25px 10px 25px; background: #151a61; color: #FFF; font-weight: bold; font-size: 1em; border: none; border-radius: 10% 0 10% 0; text-decoration: none; }
.btn-primary:hover { background: #ff7000; color: #FFF; }


.mobile_cta_footer { width: 200px; float: right; display: none; }
.btn_mobile_cta_footer:link, .btn_mobile_cta_footer:focus, .btn_mobile_cta_footer:active, .btn_mobile_cta_footer:visited, .btn_mobile_cta_footer[disabled] { padding: 10px 25px 10px 25px; background: #ff7000; color: #FFF; font-weight: bold; font-size: 1em; border: none; border-radius: 10% 0 10% 0; text-decoration: none; }
.btn_mobile_cta_footer:hover { background: #c7c9ca; color: #FFF; }	

/* --- We Are Brokers footer --- */
.wab-footer {
  --wab-navy: #151a61;          /* dark blue background */
  --wab-white: #ffffff;
  --wab-orange: #ff7000;        /* CTA button */
  --wab-orange-hover: #e86e12;

  background: var(--wab-navy);
  color: var(--wab-white);
  text-align: center;
}
.wab-footer .container { background: #151a61; }

/* Logo sizing to match the look */
.wab-footer-logo {
  max-height: 48px;            
  height: auto;
}

/* All footer links: white with underline */
.wab-footer a,
.wab-footer a:link,
.wab-footer a:visited,
.wab-footer a:active,
.wab-footer a:focus {
  color: var(--wab-white) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--wab-white) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* Hover state: orange text + orange underline */
.wab-footer a:hover,
.wab-footer a:focus:hover {
  color: var(--wab-orange) !important;
  text-decoration-color: var(--wab-orange) !important;
}

.wab-footer .link-underline {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Light separators between contact items on desktop */
.wab-sep {
  opacity: 0.6;
  color: var(--wab-white);
}

/* CTA button (orange) */
.wab-footer a.btn-wab-quote,
.wab-footer a.btn-wab-quote:link,
.wab-footer a.btn-wab-quote:visited,
.wab-footer a.btn-wab-quote:active,
.wab-footer a.btn-wab-quote:focus,
.wab-footer a.btn-wab-quote:hover {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.btn-wab-quote {
  background: var(--wab-orange);
  color: #111;
  border: none;
  font-weight: 700;
  padding: 0.5rem 1rem;
  border-radius: 10% 0 10% 0;
  margin-top: 12px;
}
.btn-wab-quote:hover,
.btn-wab-quote:focus {
  background: var(--wab-white);
  color: #000;
}


/* Icons a touch lighter so text stands out */
.wab-footer i {
  color: #FFF !important; 
}

/* Facebook icon spacing on small screens */
.wab-social {
  line-height: 1;
  margin-top: 14px;
}

/* Facebook icon hover: white → orange */
.wab-footer a.wab-social i {
  color: var(--wab-white);
  transition: color 0.2s ease;
}

.wab-footer a.wab-social:hover i,
.wab-footer a.wab-social:focus i {
  color: var(--wab-orange) !important;
  text-decoration: none !important; /* prevent underline on hover */
}


/* Spacing tune for contact row on small screens */
.wab-contact span {
  margin-bottom: 0.25rem;
}

/* Optional: reduce underline thickness on menu links */
.wab-menu a {
  text-decoration-thickness: 1px;
}

/* Small screens: stack neatly (Bootstrap handles most of this) */
@media (max-width: 575.98px) {
  .wab-footer-logo { max-height: 42px; }
}

.container_footer_credits_full { margin: 0 auto; width: 100%; padding: 20px 0; background: #000; color: #FFF; }
.container_footer_credits_full .container { background: #000; }
#footer { text-align: center; font-size: 0.6em; color: #FFF;  }
#footer a, #footer a:link, #footer a:focus, #footer a:active, #footer a:visited { color: #FFF; font-weight: normal; }
#footer a:hover  { color: #ff7000; }
#copyright { padding-left: 0; }
#credits { text-align: right; padding-right: 0; }

