@charset "UTF-8";
/* CSS Document */
/* Global */
body {background: var(--bs-primary);	margin: 0 auto;}
[id] { scroll-margin-top: 80px; }
#wrapper-content {background: #fff; padding: 2vw 0; border-bottom:1px solid #eee;}
.muted, label.element-invisible, dl.article-info {display: none;}
.ismobile {display: none !important;}
.fs-xsmall {font-size: 11px; line-height: 1.2em;}
#back-top { font-size: 3em; color: #aaa; transition: opacity .2s ease; opacity: 0; pointer-events: none; }
#back-top:hover {color: #999;}
.site-logo-white {filter: brightness(0) invert(100);}
.navbar-brand {position: absolute; top:0; left: 0;}
.navbar-brand img {-webkit-transition: all .4s ease; transition: all .4s ease;}
.navbar-scrolled .navbar-brand img {height: 100px; width:121px; }
.no_results {padding-bottom: 3vw;}
.columns {column-gap: 3vw; column-width:195px;}
.columns .flex-row, .columns .flex-column {break-inside: avoid;}
.columns-2 {column-count: 2; }
.avoid-wrap {break-inside: avoid;}
#InteriorContent .columns-2 .columns-2 {column-width:130px;}
.columns-3 {column-count: 3;}
.data-name {white-space: nowrap;}
.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;}
/* 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}
    :root { color-scheme: light dark; }
    @media (prefers-reduced-motion: reduce){
		*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
	}
/* /a11y helpers */
/* /Global */
/******** Header ********/
#wrapper-header {}
#header-top {}
#header {}
#header-bottom {}
.header-contact {}
.header-contact a {color:var(--bs-primary); }
.header-contact a:hover {color:#095ff0; }
.header-contact i {font-size: 28px; background:var(--bs-primary); border-radius: 50px; padding: 10px; width: 48px; height: 48px; text-align: center; color: #FFF; display: inline-block;}
.header-contact a:hover i {background: #095ff0;}
/******** /Header ********/
/*** ADA SkipMenu ***/
#skiptocontent a {position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; z-index: 1060;}
#skiptocontent a:focus { position: static; width: auto; height: auto;}
/*** ADA SkipMenu ***/
.site-logo {max-width: 200px;}
/******** Main Menu ********/
#offcanvasNavbar.show .offcanvas-body {width: 100%;}
#mainmenu {}
#mainmenu .navbar-nav {text-transform: uppercase;}
#mainmenu .dropdown-menu {padding: 0;}
/***** nested dropdown helpers *****/
.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);}
/***** /nested dropdown helpers *****/
/******** /Main Menu ********/
/*** Hero ***/
#hero {position: relative; background: #FFF;}
#hero .carousel-item:before {content: ""; display: block; position: absolute; top: 0; left: 0; bottom:0; right: 0;  width: 100%; height: 100%;}
#hero .carousel-caption {max-width: 100%;}
#hero .carousel-caption p {margin-bottom:.5rem;}
#hero img { height: auto; width: 100%;}
#hero-message {position: absolute; z-index: 3; left: 0; right: 0; top: 0; bottom: 0;}
#hero-message .quicksearch {max-width: 575px; margin: 0 auto; border-radius: 50px;}
#hero-message .quicksearch #autoSearch {border: none; line-height: 48px; padding-left:26px; border-radius: 50px 0 0 50px;}
#hero-message .quicksearch #search-pane {border-radius: 50px; background:#FFF;}
#hero-message #search-button {border-radius: 50%; width: 52px; height: 52px; margin: 5px;}
#hero-message .carousel-caption.top-left,#hero-message .carousel-caption.middle-left, #hero-message .carousel-caption.bottom-left {left: 0;}
#hero-message .carousel-caption.top-right,#hero-message .carousel-caption.middle-right, #hero-message .carousel-caption.bottom-right {right: 0;}
#hero-message, .service-badge {position: absolute; top:10px; right:10px; z-index: 2; width: max(17vw, 175px); left: auto;}
#hero.service-banner .carousel {padding: 0;}
/******** /Hero ********/
/********* FL Litems *********/
/*** Team Members ***/
.team-member .team-member-name {font-size: 3em; line-height: 1em; font-weight: 400;}
.team-member-bio {overflow: hidden;  display: -webkit-box;  -webkit-line-clamp: 3;  -webkit-box-orient: vertical;}
.team-member-contact {font-size: 1.5rem; line-height: 1.65em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.team-member-contact i {width: 24px; text-align: center;}
/*** /Team Members ***/
/********* /FL Litems *********/
/******** Content ********/
#wrapper-footer {background:var(--bs-primary); color:#FFF; border-top:4px solid #FFF; }
#wrapper-footer a, #wrapper-footer h2, #wrapper-footer h3, #wrapper-footer h4 {color: #FFF;}
#breadcrumb-wrapper {font-size: 11px;}
.iframe-wrapper {padding: 0; line-height: 0;}
.iframe-wrapper iframe {width: 100%; ;}
.video-wrapper {position: relative;  padding-bottom: 56.25%; /* 16:9 */  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 {display: none;}
/*** /Forms ***/
/******** /Content ********/
/*** Back to Top ***/
#back-top {font-size: 3em; color: var(--bs-primary); transition: all 1s; }
#back-top:hover {color: #999;}
#back-top {position: fixed; right: 12px;  bottom:90px; opacity:0; animation: toTop linear forwards; animation-timeline: view(); animation-range-start: 90vh; animation-range-end: 130vh;}
/**** Site by Fine Line Websites ****/
#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;}
/**** /Site by Fine Line Websites ****/
@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;}
}
