@charset "UTF-8";
/* FLUID6 layout.css (layout/structure layer) */

/* Global */
body {background: var(--site-bodybg, #fff); margin: 0;}
main { background: var(--site-mainbg, #fff);}

/* When hero is missing, keep content from hiding under nav */
body.no-hero-section main {padding-top: var(--site-scroll-margin, 150px);}

/* Scroll offset for in-page anchors when sticky/fixed nav is used */
#mainmenu.sticky-top ~ main[id],
#mainmenu.sticky-top ~ section[id],
#mainmenu.sticky-top ~ [id^="top-"],
#mainmenu.sticky-top ~ [id^="section-"],
#mainmenu.sticky-top ~ [id="maincontent"],
#mainmenu.sticky-top ~ [id="hero"],
#mainmenu.sticky-top ~ [id="bottom-section"],
#mainmenu.fixed-top ~ main[id],
#mainmenu.fixed-top ~ section[id],
#mainmenu.fixed-top ~ [id^="top-"],
#mainmenu.fixed-top ~ [id^="section-"],
#mainmenu.fixed-top ~ [id="maincontent"],
#mainmenu.fixed-top ~ [id="hero"],
#mainmenu.fixed-top ~ [id="bottom-section"] {scroll-margin-top: var(--site-scroll-margin, 0px);}

body:not(.no-hero-section) #mainmenu.fixed-top[data-bs-theme="light"]:not(.navbar-scrolled) .nav-link { color: var(--site-text-color-on-primary, #fff); }

label.element-invisible,
dl.article-info {position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; white-space: nowrap; clip-path: inset(100%); clip: rect(0 0 0 0);	overflow: hidden;}

/* Site logo sizing (variable driven) + Brand area behavior */
.site-logo { width: var(--site-logo-width, 240px); height: auto; -webkit-transition: all .4s ease; transition: all .4s ease;}
.site-logo-white { filter: brightness(0) invert(100); }
.navbar-scrolled .navbar-brand .site-logo,
body.no-hero-section #mainmenu.fixed-top .site-logo,
#mainmenu.fixed-top.navbar-scrolled .site-logo {height: auto; width: var(--site-logo-scrolled-width, 180px);}

/* Utilities */
.no_results { padding-bottom: 3vw; }
.section-padding{padding: var(--site-section-padding, 5vw 0);}

.columns { column-gap: 3vw; column-width: 250px; }
.columns .flex-row,
.columns .flex-column { break-inside: avoid; }

.columns-2 { column-count: 2; }
.columns-3 { column-count: 3; }
.columns-4 { column-count: 4; }

.avoid-wrap { break-inside: avoid; }
.data-name { white-space: nowrap; }

/* Accordion */
.accordion-button,
.accordion-button:not(.collapsed) {padding: 10px 1.25rem; font-weight: 600; background-color: var(--bs-light); color: var(--bs-primary); box-shadow: none;}
.accordion-button:focus { box-shadow: none; }

/* Sizing helpers */
.mw-sm  { max-width: 540px; margin-left: auto; margin-right: auto; }
.mw-md  { max-width: 720px; margin-left: auto; margin-right: auto; }
.mw-lg  { max-width: 960px; margin-left: auto; margin-right: auto; }
.mw-xl  { max-width: 1140px; margin-left: auto; margin-right: auto; }
.mw-xxl { max-width: 1320px; margin-left: auto; margin-right: auto; }

/* a11y helpers */
.visually-hidden-focusable:not(:focus):not(:active){position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; white-space: nowrap; clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden;}

@media (prefers-reduced-motion: reduce){
	*{
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
/* /a11y helpers */

/* Section Container Helpers */
.fl-container-none { width: 100%; max-width: none; padding-left: 0 !important; padding-right: 0 !important; }
.fl-container-none .row { margin-left: 0; margin-right: 0; }
.fl-container-none > * { padding-left: var(--bs-gutter-x, .75rem); padding-right: var(--bs-gutter-x, .75rem); }

.fl-bg-full { width: 100%; position: relative; }
.fl-bg-full > .container,
.fl-bg-full > .container-md,
.fl-bg-full > .container-lg,
.fl-bg-full > .container-xl,
.fl-bg-full > .container-xxl,
.fl-bg-full > .container-fluid { position: relative; z-index: 2; }
.fl-bg-full::before { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: inherit; z-index: 1; }

.fl-section       { padding-top: 2rem; padding-bottom: 2rem; }
.fl-section-tight { padding-top: 1rem; padding-bottom: 1rem; }
.fl-section-wide  { padding-top: 4rem; padding-bottom: 4rem; }

/* Main Menu */
#fl-offcanvas.show .offcanvas-body { width: 100%; }

#mainmenu.navbar[data-bs-theme="light"]{--fl-nav-fg: var(--site-nav-light-fg, #000); --fl-nav-bg-rgb: var(--site-nav-light-bg-rgb, var(--site-nav-bg-rgb, 248,249,250));}
#mainmenu.navbar[data-bs-theme="dark"]{--fl-nav-fg: var(--site-nav-dark-fg, #fff); --fl-nav-bg-rgb: var(--site-nav-dark-bg-rgb, var(--site-nav-bg-rgb, 248,249,250));}

/* Apply to Bootstrap navbar variables */
#mainmenu.navbar{color: var(--fl-nav-fg); --bs-navbar-color: var(--fl-nav-fg); --bs-navbar-hover-color: var(--fl-nav-fg); --bs-navbar-active-color: var(--fl-nav-fg); --bs-navbar-toggler-border-color: var(--fl-nav-fg); background-color: rgb(var(--fl-nav-bg-rgb, var(--site-nav-bg-rgb, 248,249,250)));}

/* Dropdown menu link colors match nav fg */
#mainmenu.navbar .dropdown-menu{--bs-dropdown-link-color: var(--fl-nav-fg); --bs-dropdown-link-hover-color: var(--fl-nav-fg);}

#mainmenu.position-sticky.sticky-top { z-index: 1020; }

#mainmenu.fixed-top{z-index: 1030; transition: background-color .3s ease, backdrop-filter .3s ease; backdrop-filter: blur(var(--site-nav-blur, 3px)); background-color: rgba(var(--fl-nav-bg-rgb, var(--site-nav-bg-rgb, 248,249,250)), var(--site-nav-fixed-alpha-top, 0));}

/* When there is no hero or page is scrolled, make the nav opaque */
body.no-hero-section #mainmenu.fixed-top,
#mainmenu.fixed-top.navbar-scrolled{background-color: rgba(var(--fl-nav-bg-rgb, var(--site-nav-bg-rgb, 248,249,250)), var(--site-nav-fixed-alpha-scrolled, 0.92)); height:var(--site-nav-scrolled-height, 95px);}

/* Submenus */
.dropdown-submenu { position: relative; }
.dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin-left: .1rem; margin-right: .1rem; }
.dropdown-menu > .dropdown-submenu > a.dropdown-toggle:after { float: right; transform: rotate(-90deg); }

/***** Always Open Nested Menu *****/
.menu-tree,
.menu-tree ul { list-style: none; margin: 0; padding: 0; }
.menu-tree > li { padding: .25rem 0; }
.menu-tree .menu-children { margin-top: .25rem; padding-left: 1rem; }

.menu-link { text-decoration: none; display: inline-block; }
.menu-link.active { font-weight: 700; }
.menu-link.current-parent { text-decoration: underline; }

.menu-tree .level-2 > .menu-link { padding-left: .25rem; }
.menu-tree .level-3 > .menu-link { padding-left: .5rem; }
/***** /Always Open Nested Menu *****/

/* ========== FL Litems / Hero ========== */
#hero::after {display: none;}
#hero .splide__slide {position: relative;}
#hero .splide__slide::after,
#hero .carousel-item::after {content: ""; position: absolute; inset: 0; background: rgba(var(--site-overlay-rgb), var(--site-overlay-alpha)); z-index: 0; pointer-events: none;}
#hero .carousel-caption {z-index: 3; width: 100%; max-width: 100%;}
#hero .carousel-caption p {line-height: normal; margin-bottom: .3rem;}
#hero .carousel-caption .btn {margin-top: .5rem;}
/* Parallax Background Images */
.bg-image-parallax .mod-custom { background-attachment: fixed; background-size: cover; background-position: center center; position: relative; }
.bg-image-parallax .mod-custom::before { content: ""; position: absolute; inset: 0; background: rgba(var(--site-overlay-rgb), var(--site-overlay-alpha-light)); z-index: 0; pointer-events: none; }
.bg-image-parallax .mod-custom > * { position: relative; z-index: 2; }
/* /Parallax Background Images */
/* ========== /FL Litems / Hero ========== */

/* ========== Content / Footer ========== */
#breadcrumb-wrapper { font-size: 11px; }
#wrapper-footer{background: var(--site-footerbg); color: var(--site-text-color-on-footerbg, #fff);}

#wrapper-footer a,
#wrapper-footer h2,
#wrapper-footer h3,
#wrapper-footer h4 { color: var(--site-text-color-on-footerbg, #fff); }

/* ========== Iframe Helpers ========== */
.iframe-wrapper { padding: 0; line-height: 0; }
.iframe-wrapper iframe { width: 100%; }

.video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; }
.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.centered-over-image { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

/* Forms */
.no-label .rsform-type-textbox .form-label,
.no-label .rsform-type-selectlist .form-label,
.no-label .rsform-type-textarea .form-label{position: absolute; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; width: 1px!important; height: 1px!important; margin: -1px!important;	padding: 0!important; overflow: hidden!important;}

/* Back to Top */
#back-top{position: fixed; right: 12px; bottom: 90px; font-size: 3em; color: var(--bs-primary); opacity: 0; pointer-events: none; transition: opacity .2s ease; animation: toTop linear forwards; animation-timeline: view(); animation-range-start: 90vh; animation-range-end: 130vh;}

#back-top:hover { color: var(--site-muted-text, #999); }

/* Site by Fine Line Websites (keep hardcoded branding) */
#sitebyfineline { display: inline-block; padding: 2px 10px; background: rgba(0, 0, 0, .8); }
#sitebyfineline a { color: #FFF; border: none; text-decoration: none; }
#sitebyfineline a .flFine { color: #3FBCED; }
#sitebyfineline a .flLine { color: #8DC63F; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 992px) {
	#hero-message .carousel-caption { width: fit-content; }
}

@media (max-width: 991.98px) {
	#hero .carousel-item { flex-direction: column; }
	#hero .carousel-caption{background: var(--bs-secondary); width: 100%; max-width: 100%; position: relative; transform: revert !important; left: auto;}

	/* On mobile, treat fixed-top like static to avoid covering content */
	#mainmenu.fixed-top { position: static !important; background-color: rgb(var(--fl-nav-bg-rgb, var(--site-nav-bg-rgb, 248,249,250))); }

	#mainmenu .site-logo { width: var(--site-logo-width-mobile, 180px); }
}