@charset "UTF-8";
/* CSS Document */

/* References:
Witricity blue: #005abb;
*/

/* fix Bootstrap's sometimes weird side scroll thing */
body {
    overflow-x: hidden;
}

/* ================== */
/* Navigation Related */
/* ================== */

.navbar .nav-link {
  color: #ffffff !important; /* forces pure white */
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: #ffffff; /* keep white on hover */
}

/* Navbar shadow gradient */
.navbar {
    position: relative; /* ensure pseudo-element positions relative to navbar */
}

/* Create a gradient shadow at the bottom */
.navbar::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -15px;         /* start the gradient just below navbar */
    height: 15px;          /* fade distance */
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.7), /* 70% opacity black */
        rgba(0, 0, 0, 0)    /* fade to transparent */
    );
    pointer-events: none;   /* allow clicks through the gradient */
}

/* ============ */
/* Font Related */
/* ============ */

.font-inter-light {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

.font-inter-regular {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.font-inter-semibold {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.font-inter-bold {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.font-headline {
	font-size: 4.29rem; /* was 2.65rem */
}

.font-subhead {
	font-size: 2.65rem; /* was 1.64rem */
}

.font-in-between {
	font-size: 2rem;
}

.font-body {
	font-size: 1.25rem;
}

.font-nav {
	font-size: 1.25rem;
}

.font-footer {
	font-size: .85rem;
}

.font-legal {
	font-size: .75rem;
}

.loose-leading {
	line-height: 1.8rem;
}

/* Glow overlay for hero text */
.text-glow {
    text-shadow: 0 0 20px rgba(0,0,0,0.65),
                 0 0 40px rgba(0,0,0,0.5),
                 0 0 60px rgba(0,0,0,0.3);
}

/* =============== */
/* Carousel Styles */
/* =============== */

/* Push the image carousel and / or hero image down the page so the header and nav don't block it */
.carousel-hero-image-top-margin {
	margin-top: 151px;
}

/* Move carousel arrows closer to the edges for all carousels */
.carousel-control-prev,
.carousel-control-next {
    width: 5%;          /* optional: adjust clickable area */
}

/* Prev arrow flush to left edge */
.carousel-control-prev {
    left: 0;
}

/* Next arrow flush to right edge */
.carousel-control-next {
    right: 0;
}

/* Optional: make the arrow icon fill the button area */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-size: 100%, 100%;
}

.carousel::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -15px;         /* start the gradient just below carousel */
    height: 15px;          /* fade distance */
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.7), /* 70% opacity black */
        rgba(0, 0, 0, 0)    /* fade to transparent */
    );
    pointer-events: none;   /* allow clicks through the gradient */
}

/* Force autodetected phone numbers to stay white */
	a[href^="tel"],
	a[href^="tel"]:visited,
	a[href^="tel"]:hover,
	a[href^="tel"]:active {
	  color: #fff !important; 
	  text-decoration: none !important;
  -webkit-text-fill-color: #fff !important; /* iOS Safari override */
}

/* set default colors */
.blue {
	color: #005abb;
}

.gray {
	color: #6d6e71;
}

.white {
	color: #ffffff;
}

.black {
	color: #000000;
}

/* set the dots on the right side of the header */
.bg-accent {
  background-image: url('../images/bg-header-dots.jpg');
  background-repeat: no-repeat;
  background-position: right bottom;  /* bottom right corner */
  background-size: auto;
  height: 100%;                      /* stretch with parent row */
}

.sepline {
	border-top: 1px solid #ccc;
	margin-top: 60px;
	padding-bottom: 40px;
}

.soft-close-shadow {
	box-shadow: -4px 5px 10px 1px #7a7a7a;
}

.link-grow {
  transition: transform 0.2s ease; /* smooth animation */
  display: inline-block; /* ensures transform works nicely */
}

.link-grow:hover {
  transform: scale(1.05); /* 5% larger on hover */
}

.btn-custom-blue {
  background-color: #005abb; /* your custom blue */
  color: white;              /* text color */
  border: none;              /* optional: remove border */
}

.btn-custom-blue:hover {
  background-color: #093e76; /* slightly darker on hover */
}

.table-lightblue > tbody > tr:nth-of-type(odd) {
    background-color: #b7d8fa; /* light blue */
}

/* =============== */
/* parallax Styles */
/* =============== */

.parallax-container-field {
    position: relative;
    background-color:#005abb;
    /* background-attachment: fixed; */
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}

.foreground-layer-field {
    position: relative; /* instead of absolute */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem 0; /* add some padding if you want space */
    z-index: 2;
}


/* ============= */
/* Media Queries */
/* ============= */

@media (max-width: 990px) {
	
/* Push the image carousel and / or hero image down the page so the header and nav don't block it */
.carousel-hero-image-top-margin {
        margin-top: 154px;
    }
}

/* Mobile ONLY formatting */
@media (max-width: 576px) {
	
.content-top-and-side-padding {
        margin-top: 20px;
		padding-left: 30px;
		padding-right: 30px;
    }
	
.font-headline {
	font-size: 2.0rem !important;
}

.font-subhead {
	font-size: 1.54rem !important;
}
	
.sepline {
	border-top: 1px solid #ccc;
	margin-top: 20px;
	padding-bottom: 15px;
}
/* Glow overlay for hero text */
.text-glow {
    text-shadow: 0 0 5px rgba(0,0,0,0.85),
                 0 0 10px rgba(0,0,0,0.6),
                 0 0 20px rgba(0,0,0,0.4);
	}
}