/*
blue - 052045
green  - 45E575
grey - 808DA0
light grey - 1A2025
black - 0F1315

yellow - FEC046
bright yellow - fafa06
dark grey - 5b5c57
grey - c7c9ca
*/

body { padding: 0; color: #0F1315; font-size: 1.2em; font-family: "Open Sans", sans-serif; background: #FFF; }
a, a:link, a:focus, a:active, a:visited { color: #052045; text-decoration: underline; }
a:hover  { color: #E64548; }
h1 { color: #0F1315; margin-top: 0; padding-bottom: 10px; font-size: 2.6em; font-weight: bold; text-transform: uppercase; }
h2  { color: #45E575; 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: #0F1315; 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: #052045 !important; }
	.container_home { background-color: #fff !important; }
	.container_content_full { background-color: #fff !important; }
	.container_banner_photo_full {  background-color: #052045 !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 #052045; }
	.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: #052045;      /* 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: #052045 !important; }
.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: #FFF; 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: #45E575; }
.navbar-nav > li > a.active, .navbar-nav > li > a:active { text-decoration: none; color: #45E575 !important; }
.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: #FFF; border-bottom-color: #FFF; }
.navbar-nav .dropdown-menu { background: #808DA0; 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: #0F1315; 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: #0F1315; background: #45E575; }
.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: #FFF; }
.navbar-toggler:focus { box-shadow: 0 0 0 0; }

.container_slideshow_full { position: relative; }

.carousel-caption { bottom: 8%; left: 10%; text-align: left; }
.carousel-caption h5 { font-family: "Lato", serif; font-size: 2.2em; font-weight: bold; color: #FFF; text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6); }
.carousel-caption p { font-size: 1.4em; color: #FFF; text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5); }
.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: #052045; color: #FFF; }

.container_slideshow_full { position: relative; } 
#home_slideshow { position: relative; z-index: 1; } 
#home_slideshow .carousel-item img { display: block; } 

.container_slideshow_full { position: relative;  }
.container_home { background: #FFF; color: #0F1315; 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; }

/* image map */
.map-wrap { max-width:1304px; margin:0 auto; position:relative; }
.img-responsive { width:100%; height:auto; display:block; border-radius:6px; }
area { outline:none; }

/* lots */
.container_lots_full { background: #FFF; padding-top: 40px; padding-bottom: 100px; margin-top: 40px; margin-bottom: 0; }
#lots_intro h1 { text-align: center; margin: 0 0 30px 0; color: #0F1315; }
#lots_intro p { text-align: center; color: #0F1315; }

/* benefits */
.container_benefits_full { background-color:#052045; color:#FFF; padding:80px 0; text-align:left; }
#benefits_intro h1 { text-align:center; font-size:2.5em; font-weight:700; margin-bottom:60px; color:#FFF; }
.benefits_grid { display:grid; grid-template-columns:repeat(3,1fr); gap:60px 80px; align-items:start; }
.benefit_item { display:flex; align-items:flex-start; gap:20px; }
.benefit_icon { flex:0 0 100px; width:100px; height:100px; display:flex; align-items:center; justify-content:center; }
.benefit_icon img { width:100px; height:100px; object-fit:contain; }
.benefit_text { flex:1; }
.benefit_text h3 { font-size:1.4em; font-weight:700; margin-bottom:10px; color:#FFF; }
.benefit_text p { font-size:1em; line-height:1.6; color:#E8EAFF; margin:0; }
@media (max-width:992px) { .benefits_grid { grid-template-columns:repeat(2,1fr); gap:40px 60px; } }
@media (max-width:576px) { .benefits_grid { grid-template-columns:1fr; gap:30px; } .benefit_icon, .benefit_icon img { width:40px; height:40px; } }

/* lots */
.lots_description h1, .lots_description h2 { text-align: center; }
.lots_size { font-weight: bold; margin: 10px 0; }
.lots_hero_photo { margin-top: 20px; margin-bottom: 30px; }
.lots_photos img { margin-bottom: 25px; }

.home_background_photo { position:relative; height:600px; background-attachment:fixed; background-position:center; background-repeat:no-repeat; background-size:cover; display:flex; align-items:center; justify-content:flex-start; color:#fff; }
.home_background_overlay { position:absolute; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.35); }
.home_background_content { position:relative; z-index:2; max-width:800px; margin-left:8%; margin-top: 12%; }
.home_background_content h1 { font-size:3rem; font-weight:800; margin-bottom:1.5rem; letter-spacing:1px; color:#fff; }
.home_background_content p { font-size:1.2rem; line-height:1.6; margin-bottom:1.5rem; color:#f2f2f2; }
#home_background_photo_cta .btn { background-color:#45E575; border-color:#45E575; color:#052045; font-weight:600; padding:0.75rem 1.5rem; transition:all 0.3s ease; text-decoration: none; }
#home_background_photo_cta .btn:hover { background-color:#808DA0; border-color:#808DA0; color:#fff; }
@media (max-width:768px) { .home_background_content { margin-left:5%; max-width:90%; } .home_background_content h1 { font-size:2.2rem; } .home_background_content p { font-size:1rem; } }

#raine-and-horne-logo img { width: 300px; }

.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: #45E575; color: #1A2025; font-weight: bold; font-size: 1em; border: none; border-radius: 10px; text-decoration: none; }
.btn-primary:hover { background: #808DA0; color: #FFF; }


.container_footer_full { margin: 0 auto; width: 100%; padding: 10px 0; background: #052045; text-align: center; }
.container_footer_full .container { background: #052045; }
#footer_links { padding: 40px 0 10px 0; text-align: center; color: #0e0e0e; font-size: 0.9em; }
#footer_links img { width: 400px; margin: 0 auto; }
#footer_links i { margin-right: 7px; }
#footer_contact { margin: 20px 20px 10px 20px; }
#footer_contact a, #footer_contact a:link, #footer_contact a:focus, #footer_contact a:active, #footer_contact a:visited { color: #0e0e0e; }
#footer_contact a:hover { color: #5b5c57; }
#footer_phone { font-size: 1.6em; margin-top: 40px; }
#footer_email { padding: 20px 0 10px 0; }
#footer_map{ margin-top: 15px; }
#footer_social_media { padding-top: 30px; }
#footer { color: #FFF; padding: 5px 0; }
#footer a, #footer a:link, #footer a:focus, #footer a:active, #footer a:visited { color: #FFF; text-decoration: none; font-weight: normal; }
#footer a:hover  { color: #052045; text-decoration: underline; }
.container_footer_credits_full { background: #0e0e0e; margin: 0 auto; width: 100%; padding: 10px 0; font-size: 0.7em; }
.container_footer_credits_full .container { background: #0e0e0e; }
#copyright { padding-left: 0; }
#social_media { text-align: center; }
#credits { text-align: right; padding-right: 0; }

