/* ============================================
   TABLE OF CONTENTS
   1. WordPress Admin
   2. Header & Navigation
   3. Footer
   4. Blog & Single Post
   5. Search Page
   6. 404 Page
   7. Layout & Spacing
   8. Forms (Forminator)
   9. Internal Pages
   10. Utility & Visibility Classes
   ============================================ */

/* ============================================
   1. WORDPRESS ADMIN
   ============================================ */
#wp-admin-bar-enable-jquery-migrate-helper {
	display: none;
}


/* ============================================
   2. HEADER & NAVIGATION
   ============================================ */
#header-wrap {
		padding: 20px;
}

#header-content {
		height: 100%;
		display: flex;
		justify-content: space-around;
		align-items: center;
		gap: 20px;
}

#header-content #header-call-to-action {
		display: block;
		padding-top: unset;
		position: relative;
		left: unset;
		width: 240px;
		order: 1;
}

#header-content #main-menu-left {
		position: relative;
		left: unset;
		order: 2;
		top: unset;
		margin-top: 35px;
		width: auto;
}

#header-content #header-logo {
		order: 3;
		position: relative;
		width: auto;
		left: unset;
}

#header-content #header-logo img {
    width: unset;
    height: auto;
		-webkit-filter: none;
    filter: none;
		margin-top: 0px;
}

#header-content #main-menu-right {
		position: relative;
		left: unset;
		order: 4;
		top: unset;
		margin-top: 35px;
		width: auto;
}

#header-content #header-request-appt {
		position: relative;
		top: unset;
		right: unset;
		width: 240px;
		order: 5;
}

#hamburger-menu:before, #hamburger-menu.icon-uniF136:before {
		color: #6b2d30;
}

#hamburger-menu {
		margin-top: -2px;
}

#side-menu-top-content {
	padding: 0px 20px;
}

@media only screen and (max-width: 1300px) {
		#header-content #main-menu-left, #header-content #main-menu-right {
				margin-top: 0;
		}
		
		#header-content a {
				font-size: 15px!important;
		}
		
		#header-content {
				gap: 8px;
		}
}

@media only screen and (max-width: 1100px) {
		#header-wrap {
				padding: 20px 20px 20px 55px;
		}
}

@media only screen and (max-width: 850px) {
		#hamburger-menu {
				margin-top: 0px;
				top: 45px;
		}
		
		#header-wrap {
				padding: 20px 20px 20px 60px;
		}

		#header-content {
				justify-content: right;
				gap: 20px;
		}
		
		#header-content #header-logo {
				position: absolute;
				left: 50%;
				transform: translateX(-50%);
		}
		
		#header-content #header-call-to-action, #header-content #header-request-appt {
				width: 215px;
		}
}


@media only screen and (max-width: 767px) {
		#header-content #header-request-appt {
				width: auto;
		}
		
	#hamburger-menu {
		margin-top: 0;
		top: 40px;
	}
}


/* Moves up hero on mobile so the logo will overhang correctly */
/*@media only screen and (max-width: 850px) and (orientation: portrait) {
		.HPmobilehero {
				margin-top: -30px!important;
		}
}*/

@media only screen and (max-width: 500px) {
#page-wrapper #menu-column {
    padding-top: 140px;
}
}

/* Navigation links */
#header-content .main-menu ul.menu > li.menu-item > a {
    color: #000 !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

#header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu > li.menu-item a {
	font-size: 15px;
}

#header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu > li.menu-item {
	background-color: white;
	min-width: 250px;
	max-width: 250px;
	text-indent: unset;
	padding: 7.5px 15px;
	line-height: 1.35;
}

#header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu {
	-webkit-filter: drop-shadow(0px 0px 4px rgba(123, 133, 166, 0.3));
	filter: drop-shadow(0px 0px 4px rgba(123, 133, 166, 0.3));
}

/* Hover state for navigation links */
#header-content .main-menu ul.menu > li.menu-item:hover > a,
#header-content .main-menu ul.menu > li.menu-item > a:hover {
    color: #6b2d30 !important; 
    text-decoration: none;
}

#header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children:hover > a:after {
  color: #6b2d30;
}

/* Parent menu item styling when on a child page or current parent page */
#header-content .main-menu ul.menu > li.menu-item.current-menu-item > a,
#header-content .main-menu ul.menu > li.menu-item.current_page_item > a,
#header-content .main-menu ul.menu > li.menu-item.current-menu-ancestor > a,
#header-content .main-menu ul.menu > li.menu-item.current-menu-parent > a,
#header-content .main-menu ul.menu > li.menu-item.current_page_ancestor > a,
#header-content .main-menu ul.menu > li.menu-item.current_page_parent > a,
#header-content .main-menu ul.menu > li.menu-item.current-menu-item > a::after,
#header-content .main-menu ul.menu > li.menu-item.current_page_item > a::after,
#header-content .main-menu ul.menu > li.menu-item.current-menu-ancestor > a::after,
#header-content .main-menu ul.menu > li.menu-item.current-menu-parent > a::after {
    color: #6b2d30 !important;
}

/* Active sub-menu item styling */
#header-content .main-menu ul.menu li.menu-item-has-children ul.sub-menu li.menu-item.current-menu-item > a,
#header-content .main-menu ul.menu li.menu-item-has-children ul.sub-menu li.menu-item.current_page_item > a {
    color: #6b2d30 !important;
		font-weight: 500 !important;
}

/* Sub-menu (child) link default styles */
#header-content .main-menu ul.menu li.menu-item-has-children ul.sub-menu li.menu-item a {
    color: #000 !important;
    font-size: 16px;
		margin-left: 0px!important;
    display: block;
    transition: all 0.3s ease;
    text-decoration: none;
}

/* Sub-menu item hover state */
#header-content .main-menu ul.menu li.menu-item-has-children ul.sub-menu li.menu-item:hover {
    background-color: #f5f5f5 !important;
}

/* Sub-menu link hover state */
#header-content .main-menu ul.menu li.menu-item-has-children ul.sub-menu li.menu-item:hover > a,
#header-content .main-menu ul.menu li.menu-item-has-children ul.sub-menu li.menu-item a:hover {
    color: #6b2d30 !important;
    text-decoration: none;
}

/* Mobile Base Hover State Overrides */
#site-navigation > input#toggle-mobile-menu + #main-menu a:hover,
#site-navigation > input#toggle-mobile-menu + #main-menu a:not([href^=http]):hover {
    color: #6b2d30 !important;
    text-decoration: none;
}

/* Mobile Active / Current State Rules (Top-level & Parents) */
#site-navigation > input#toggle-mobile-menu + #main-menu li.current-menu-item > a,
#site-navigation > input#toggle-mobile-menu + #main-menu li.current_page_item > a,
#site-navigation > input#toggle-mobile-menu + #main-menu li.current-menu-ancestor > a,
#site-navigation > input#toggle-mobile-menu + #main-menu li.current-menu-parent > a,
#site-navigation > input#toggle-mobile-menu + #main-menu li.current_page_ancestor > a,
#site-navigation > input#toggle-mobile-menu + #main-menu li.current_page_parent > a {
    color: #6b2d30 !important;
}

/* Mobile Sub-menu Active Item Styling */
#site-navigation > input#toggle-mobile-menu + #main-menu ul.sub-menu li.current-menu-item > a,
#site-navigation > input#toggle-mobile-menu + #main-menu ul.sub-menu li.current_page_item > a {
    color: #6b2d30 !important;
}


/* ============================================
   3. FOOTER
   ============================================ */
#footer #email-notice {
  font-size: 13px;
	color: #fff!important;
}

#footer {
	background-color: #1a3057;
	padding: 50px;
	width: 100%;
}


#footer, #footer p, #footer a {
	color: #fff;
}

#footer #footer-row-1 > div {
	margin-left: unset;
	margin-right: unset;
}

#footer-row-1 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  align-items: start;
}

/* Column 1: Location & Hours */
#footer-col-1 {
  flex: 1 1 250px;
}

/* Column 2: Request Form (Wider) */
#footer-col-2 {
  flex: 1.5 1 350px;
}

/* Column 3: Image (Smaller) */
#footer-col-3 {
  flex: 0.7 1 200px;
}

#footer #footer-row-1 #footer-col-3 {
  min-width: 0px;
  width: auto;
  flex: 0.7 1 200px;
  max-width: 265px;
}

#footer #footer-row-1 {
  grid-template-columns: minmax(200px, 1fr) minmax(300px, 1.5fr) minmax(150px, 0.7fr);
  gap: 40px;
  display: flex;
  width: 100%;
  max-width: 1200px;
  flex-wrap: wrap;
  justify-content: space-between;
}

#footer #footer-row-1 > div {
	min-width: 0px !important;
	flex: 1 1 250px;
	max-width: none;
	width: unset !important;
	margin-bottom: unset !important;
}

#footer #footer-row-1 #footer-col-2 {
  flex: 1.5 1 350px;
  min-width: 0px;
  width: auto;
  max-width: none;
}

#footer #footer-row-1 #footer-col-3 {
	margin-top: unset;
}

/* #footer #footer-row-1 {
	display: grid;
	justify-content: space-around;
	padding-left: 0;
	padding-right: 0;
	grid-template-columns: minmax(200px, 1fr) minmax(400px, 1.5fr) minmax(200px, 1fr);
  gap: 40px;
  width: 100%;
  max-width: 1200px;
  margin: 0px auto;
	margin-bottom: 40px;
	align-items: start;
}

#footer #footer-row-1 #footer-col-2 {
  width: auto;
}

@media only screen and (max-width: 950px) {
	#footer #footer-row-1 #footer-col-2 {
		width: 100%;
	}
} */

@media only screen and (max-width: 850px) {
		#footer {
			padding: 40px;
		}
		
	#footer #footer-row-1 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 767px) {
	#footer #footer-row-1 {
		grid-template-columns: 1fr;
	}
}

/* 6/24/22 MQ This stuff is moved from core theme */
#footer #footer-row-1 #footer-col-1 #footer-location,
#footer #footer-row-1 #footer-col-1 #footer-hours {
  margin-bottom: 24px;
}

#footer #footer-row-1 #footer-col-1 p {
  margin-top: 10px;
}

#footer #footer-row-1 #footer-col-2 form.forminator-custom-form {
  margin-top: 15px;
}

@media only screen and (max-width: 670px) {
#footer #footer-row-1 {
    justify-content: flex-start;
}
}

div.social-media-icons-footer ul.wp-block-social-links li a svg {
  width: 30px;
  height: 30px;
}

/* ============================================
   4. BLOG & SINGLE POST
   ============================================ */
body.single #page-wrapper #content-column #site-content {
	overflow-x: hidden;
	padding: 0px 10px 0px 10px!important;
}

@media only screen and (max-width: 1268px) {
	body.single #page-wrapper #site-content {
		padding-top: 0px !important;
	}
}

@media only screen and (max-width: 850px) {
	body.single #page-wrapper #site-content {
		padding-top: 0px !important;
	}
}

body.single #page-wrapper #site-content #post-content {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	padding-right: 20px;
	padding-left: 20px;
}

body.single #page-wrapper #site-content nav.post-navigation {
	padding: 15px 20px;
	max-width: 1140px;
}

body.single #page-wrapper #site-content div.am_ajax_post_grid_wrap {
	max-width: 1100px;
}

/* Post navigation (prev/next) */
body.single #page-wrapper #content-column #site-content nav.post-navigation div.nav-links a {
    font-size: 18px;
    text-decoration: underline;
    color: #6b2d30!important;
    transition: color 0.3s ease;
}
body.single #page-wrapper #content-column #site-content nav.post-navigation div.nav-links a:hover {
    color: #1a3057!important;
}

/* Pagination page-numbers (#post-gallery) */
body.single #page-wrapper #content-column #site-content #post-gallery div.nav-links span.current:not(.current),
body.single #page-wrapper #content-column #site-content #post-gallery div.nav-links a.page-numbers:not(.current),
body.single #page-wrapper #content-column #site-content #post-gallery div.am_posts_navigation span.current:not(.current),
body.single #page-wrapper #content-column #site-content #post-gallery div.am_posts_navigation a.page-numbers:not(.current),
body.single #page-wrapper #content-column #site-content #post-gallery div.am_posts_navigation span.current {
    color: #6b2d30!important;
    transition: color 0.3s ease;
}
body.single #page-wrapper #content-column #site-content #post-gallery div.nav-links a.page-numbers:not(.current):hover,
body.single #page-wrapper #content-column #site-content #post-gallery div.am_posts_navigation a.page-numbers:not(.current):hover {
    color: #1a3057!important;
}

/* MQ Display "Read More" for blog post excerpts on the bottom of individual blog posts */
body.single #page-wrapper #site-content div.am_ajax_post_grid_wrap div.am_post_grid div.am_grid_col div.am_single_grid div.am_cont a.am__readmore,
body.page #page-wrapper #site-content div.am_ajax_post_grid_wrap div.am_post_grid div.am_grid_col div.am_single_grid div.am_cont a.am__readmore {
    display: block!important;
    color: #6b2d30!important;
    transition: color 0.3s ease;
}
body.single #page-wrapper #site-content div.am_ajax_post_grid_wrap div.am_post_grid div.am_grid_col div.am_single_grid div.am_cont a.am__readmore:hover,
body.page #page-wrapper #site-content div.am_ajax_post_grid_wrap div.am_post_grid div.am_grid_col div.am_single_grid div.am_cont a.am__readmore:hover {
    color: #1a3057!important;
}

/* Posts-navigation page-numbers */
body.page #page-wrapper #content-column #site-content div.am_ajax_post_grid_wrap div.am_posts_navigation a.page-numbers:not(.current),
body.single #page-wrapper #content-column #site-content #post-gallery div.am_posts_navigation a.page-numbers:not(.current) {
    color: #6b2d30;
    font-size: 18px;
    transition: color 0.3s ease;
}
body.page #page-wrapper #content-column #site-content div.am_ajax_post_grid_wrap div.am_posts_navigation a.page-numbers:not(.current):hover,
body.single #page-wrapper #content-column #site-content #post-gallery div.am_posts_navigation a.page-numbers:not(.current):hover {
    color: #1a3057!important;
}

body.page #page-wrapper #content-column #site-content div.am_ajax_post_grid_wrap div.am_posts_navigation span.current, body.single #page-wrapper #content-column #site-content #post-gallery div.am_posts_navigation span.current {
  font-size: 18px;
}

body.single #page-wrapper #site-content #post-header {
    background-position: center center;
}

body.single #page-wrapper #site-content #post-header {
  -ms-flex-preferred-size: 575px;
  flex-basis: 575px;
  padding-left: 30px;
  padding-right: 30px;
  margin-bottom: 30px;
  height: 575px;
  max-height: 575px;
}
@media only screen and (max-width: 1268px) {
  body.single #page-wrapper #site-content #post-header {
    height: 500px;
  }
}
@media only screen and (max-width: 1023px) {
  body.single #page-wrapper #site-content #post-header {
    height: 400px;
		max-height: 400px;
		-ms-flex-preferred-size: 400px;
    flex-basis: 400px;
  }
}

body.single #page-wrapper #site-content #post-header:before {
  left: 10px;
  right: 10px;
  top: 165px;
  height: 575px;
}

@media only screen and (max-width: 1268px) {
  body.single #page-wrapper #site-content #post-header:before {
    height: 500px;
  }
}

@media only screen and (max-width: 1023px) {
  body.single #page-wrapper #site-content #post-header:before {
    left: 10px;
    right: 10px;
    height: 400px;
  }
}

@media only screen and (max-width: 850px) {
  body.single #page-wrapper #site-content #post-header:before {
    height: 400px;
    top: 130px;
  }
}

@media only screen and (max-width: 800px) {
  body.single #page-wrapper #site-content #post-header:before {
    top: 130px;
  }
}

@media only screen and (max-width: 500px) {
  body.single #page-wrapper #site-content #post-header:before {
    top: 110px;
  }
}

h4.am__title {
margin-top: 0px;
margin-bottom: 10px;
}

/* Hide the date display for individual blog posts  – J.O. 07/22/2025 */
body.single #page-wrapper #site-content #post-header #post-img-text-overlay #post-date {
    display: none !important;
}


/* ============================================
   5. SEARCH PAGE
   ============================================ */
body.search-results #page-wrapper #site-content #search-grid div.search-item a {
	text-decoration: none;
}

body.search-results #page-wrapper #site-content #search-grid div.search-item div.search-item-title h3 {
	line-height: 1.3!important;
	min-height: unset!important;
	max-height: unset!important;
}

body.search-results #page-wrapper #site-content #search-grid div.search-item div.search-item-thumb img {
	border-top-left-radius: 15px!important;
	border-top-right-radius: 15px!important;
}

body.search-results #page-wrapper #site-content #search-grid div.search-item {
	-webkit-box-shadow: 0px 0px 14px 0px rgba(123, 133, 166, 0.3) !important;
	box-shadow: 0px 0px 14px 0px rgba(123, 133, 166, 0.3) !important;
	border-radius: 15px!important;
}

/* Search — "link to blog page" */
body.search #page-wrapper #content-column #site-content div#link-to-blog-page a {
    color: #6b2d30;
    transition: color 0.3s ease;
}

body.search #page-wrapper #content-column #site-content div#link-to-blog-page a:hover {
    color: #1a3057!important;
}

/* Search — pagination page-numbers */
body.search #page-wrapper #content-column #site-content div#search-pagination a.page-numbers:not(.current) {
    color: #6b2d30;
    font-size: 18px;
    transition: color 0.3s ease;
}
body.search #page-wrapper #content-column #site-content div#search-pagination a.page-numbers:not(.current):hover {
    color: #1a3057!important;
}
body.search #page-wrapper #content-column #site-content div#search-pagination span.current {
  font-size: 18px;
}
body.search #page-wrapper #content-column #site-content div#search-grid-wrap div#search-grid div.search-item div.search-item-content div.search-item-excerpt {
	font-family: 'Poppins';
	color: #000;
	font-size: 16px;
	line-height: 1.4;
	min-height: unset;
	max-height: unset;
}

body.search-no-results #page-wrapper #content-column #site-content {
	padding: 210px 0px 0px 0px!important;
	max-width: 100%!important;
}

body.search-results #page-wrapper #content-column #site-content #search-box-wrapper, body.search-no-results #page-wrapper #content-column #site-content #search-box-wrapper {
	margin-bottom: 20px;
	max-width: 960px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
}

/* ============================================
   6. 404 PAGE
   ============================================ */
/* ======================================================
   12. 404 PAGE
====================================================== */
/* 1) Uncomment this when needed for alternative title */
/* body.error404 #page-wrapper #content-column #site-content #hero #page-title {
        visibility: hidden;
        font-size: 0;
} */

/* 2) Uncomment this when needed for alternative title */
/* body.error404 #page-wrapper #content-column #site-content #hero #page-title:before {
        content: "NEW TITLE HERE";
        font-size: 32px;
} */

/* Change hero background image here */
body.error404 #page-wrapper #content-column #site-content #hero:before {
    background-image: url('/wp-content/uploads/2026/07/404-iStock-2160576539.webp') !important;
		background-position: 50% 10%;
}

body.error404 #page-wrapper #content-column #site-content #content-404 h2 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 27px !important;
    font-weight: 600 !important;
    padding-top: 0 !important;
}

/* Change button styling here */
body.error404 #page-wrapper #content-column #site-content #content-404 #return-to-homepage-wrapper #return-to-homepage {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: .6em .85em;
    font-weight: 400;
    font-size: 18px;
    border: none;
    border-radius: 10px !important;
    cursor: pointer;
    text-decoration: none;
    -webkit-transition: background-color .2s ease, color .2s ease, border-color .2s ease;
         -o-transition: background-color .2s ease, color .2s ease, border-color .2s ease;
            transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    background-color: #7b85a6 !important;
    color: #000 !important;
    font-weight: 400;
}

body.error404 #page-wrapper #content-column #site-content #content-404 #return-to-homepage-wrapper #return-to-homepage:hover {
    background-color: #9b8d80!important;
    color: #000 !important;
}

body.error404 #page-wrapper #content-column #site-content {
	max-width: 1100px !important;
	margin-top: 0px !important;
		min-height: 1000px !important;
	overflow: hidden!important;
}

body.error404 #page-wrapper #content-column #main #site-content { 
  display: flex!important;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 40px;
  padding: 40px 20px;
  height: auto;
  min-height: 60vh;
}

body.error404 #page-wrapper #content-column #site-content #content-404 {
  position: relative;
  display: block;
  max-width: 500px;
  width: 100%;
  text-align: left;
  margin-top: 415px;
	margin-bottom: 0px;
	float: left;
	top: unset;
	left: unset;
	right: unset;
}

body.error404 #page-wrapper #content-column #site-content #img-404 { 
  position: relative;
  display: block;
  max-width: 500px;
  width: 100%;
  height: auto;
  margin-top: 415px;
	margin-bottom: 0px;
	float: right;
	top: unset;
	left: unset;
	right: unset;
}

@media (max-width: 1080px) {
body.error404 #page-wrapper #content-column #site-content #content-404 {
	margin-top: 415px;
}
body.error404 #page-wrapper #content-column #site-content #img-404 {
	margin-top: 0px;
}
}

@media (max-width: 850px) {
body.error404 #page-wrapper #content-column #site-content #content-404 {
	margin-top: 35%;
}
}


/* ============================================
   7. LAYOUT & SPACING
   ============================================ */
/* Shadow for footer slider */
.footerslide-shadow {
	filter: drop-shadow(2px 3px 5px gray);
}

/* Remove bottom line on mobile side menu */
@media only screen and (max-width: 500px) {
#page-wrapper #menu-column #bottom-line {
    border-top: 0px;
}
}

.gb-container-82bb196e > .gb-inside-container {
    padding: 0px!important;
}

.gb-container-7d7c2909 > .gb-inside-container {
    padding: 0px!important;
}

.gb-container-7610ca78 > .gb-inside-container {
    padding: 0px!important;
}


/* ============================================
   8. FORMS (FORMINATOR)
   ============================================ */
.forminator-title {
	color: #6b2d30 !important;
	font-size: 27px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
}

.forminator-multi-upload-message p a, .forminator-multi-upload-message p a:hover, .forminator-multi-upload-message p a:focus {
	color: #6b2d30!important;
}

.forminator-checkbox__label p {
	font-size: 18px !important;
	font-weight: 400 !important;
}

.forminator-file-upload > span {
	color: #545454 !important;
	font-size: 16px !important;
}

.forminator-repeater-add, .forminator-repeater-remove, .forminator-button-next, .forminator-button-back, .forminator-button-upload, .forminator-button-submit {
	background-color: #1a3057 !important;
	color: #fff !important;
	border: none!important;
	border-radius: 10px!important;
	font-size: 18px !important;
	font-weight: normal !important;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
	opacity: 1!important;
}

.forminator-repeater-add:hover, .forminator-repeater-remove:hover, .forminator-button-next:hover, .forminator-button-back:hover, .forminator-button-upload:hover, .forminator-button-submit:hover {
		background-color: #274a89 !important;
		color: #fff !important;
}

#footer .forminator-button-submit {
	background-color: #ffffff !important;
	color: #1a3057 !important;
	border: none!important;
	border-radius: 10px!important;
	font-size: 18px !important;
	font-weight: normal !important;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

#footer .forminator-button-submit:hover {
		background-color: #ffffff !important;
		color: #274a89 !important;
}

#footer form.forminator-custom-form > div.forminator-row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
}
#footer form.forminator-custom-form > div.forminator-row > div.forminator-col {
  margin: 0 !important;
  margin-top: 20px !important;
  padding: 0 5px !important;
  -webkit-box-flex: 1 !important;
      -ms-flex-positive: 1 !important;
          flex-grow: 1 !important;
}

#footer form.forminator-custom-form > div.forminator-row > div.forminator-col div.forminator-field label.forminator-label {
  font-weight: 400;
  color: #fff;
  font-size: 15px !important;
}

#footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-name {
  min-width: 255px !important;
}

@media only screen and (max-width: 783px) {
  #footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-name {
    min-width: 260px !important;
  }
}

#footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-email {
  min-width: 255px !important;
}

@media only screen and (max-width: 783px) {
  #footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-email {
    min-width: 260px !important;
  }
}

#footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-phone {
  min-width: 230px !important;
}

@media only screen and (max-width: 835px) {
  #footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-phone {
    min-width: calc(100% - 155px) !important;
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
}

#footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-date {
  min-width: 155px !important;
  max-width: 155px !important;
}

#footer form.forminator-custom-form > div.forminator-row > div.forminator-col.req-appt-footer-time {
  min-width: 136px !important;
  max-width: 136px !important;
}

#footer form.forminator-custom-form > div.forminator-row span.select2 {
  border: 1px solid rgba(255, 255, 255, 0.16)!important;
  border-radius: 4px!important;
}

#footer form.forminator-custom-form > div.forminator-row span.select2 span.select2-selection {
  background: rgba(255, 255, 255, 0.07)!important;
  border: none !important;
  height: 43px;
}

#footer form.forminator-custom-form > div.forminator-row span.select2 span.select2-selection span.select2-selection__arrow {
  border-left: 1px solid rgba(255, 255, 255, 0.3)!important;
}

#footer form.forminator-custom-form > div.forminator-row span.select2 span.select2-selection span.select2-selection__rendered {
  padding-left: 10px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.3)!important;
  letter-spacing: -0.5px;
}

#footer form.forminator-custom-form > div.forminator-row input {
  border: 1px solid rgba(255, 255, 255, 0.16)!important;
  background: rgba(255, 255, 255, 0.07)!important;
	 border-radius: 4px!important;
}

#footer form.forminator-custom-form > div.forminator-row button.req-appt-footer-submit-btn {
  display: block !important;
  margin-left: auto !important;
  margin-top: 20px !important;
  padding-left: 60px !important;
  padding-right: 60px !important;
}

li.select2-results__option {
  padding: 0 24px 0 5px !important;
  text-align: left;
  font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", "Lucida Sans", Arial, sans-serif;
}

.forminator-file-upload {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 15px !important;
}

.forminator-file-upload > button {
  width: auto !important;
  flex: 0 0 auto !important;
}

.forminator-file-upload > span {
  flex: 1 1 auto !important;
  min-width: 150px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}


/* ============================================
   9. INTERNAL PAGES
   ============================================ */
body.single #page-wrapper #site-content #post-content h2, .page-copy h2 {
    font-size: 27px;
    color: #6b2d30;
}

body.single #page-wrapper #site-content #post-content a, .page-copy a, a {
    color: #6b2d30;
    text-decoration: underline;
		transition: color 0.3s ease;
}

body.single #page-wrapper #site-content #post-content a:hover, .page-copy a:hover, a:hover {
    color: #1a3057;
}

body.single h1 strong,
body.single h2 strong,
body.single h3 strong,
body.single h4 strong,
body.single h5 strong,
body.single h6 strong,
body.single h1 b,
body.single h2 b,
body.single h3 b,
body.single h4 b,
body.single h5 b,
body.single h6 b {
  font-weight: inherit;
}

h3 {
    font-size: 20px;
    font-weight: 700;
    color: #1a3057;
}

.page-copy ul {
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
.HPmobilehero::before {
		background-attachment: scroll !important;
		}
}

.page-sidebar .sidebar-menu li {
    font-size: 16px;
}

.page-sidebar .sidebar-menu li a {
    color: #6b2d30 !important;
    text-decoration: underline!important;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
}

.page-sidebar .sidebar-menu li a:hover {
    color: #1a3057 !important;
    text-decoration: underline;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
}

.page-sidebar .sidebar-menu li a:focus-visible {
    color: #1a3057 !important;
    text-decoration: underline;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
    outline: 2px solid currentColor;
    outline-offset: 2px;


/* ============================================
   10. UTILITY & VISIBILITY CLASSES
   ============================================ */
html {
  scroll-behavior: smooth;
}

/* Desktop and Tablet -- but not mobile */
.not-mobile {
		display: block;
		/* visibility: visible; */ /* Use this instead if you need to element to still occupy the space */
}

@media only screen and (max-width: 500px) {
		.not-mobile {
				display: none;
				/* visibility: hidden; */ /* Use this instead if you need to element to still occupy the space */
		}
}

/* Desktop and Tablet -- but not mobile */
.not-mobile {
display: block!important;
/* visibility: visible; / / Use this instead if you need to element to still occupy the space */
}

@media only screen and (max-width: 740px) {
.not-mobile {
display: none!important;
/* visibility: hidden; / / Use this instead if you need to element to still occupy the space */
}
}

/* Hide something on desktop */
@media only screen and (min-width: 851px) {
  .hide-on-desktop {
    display: none!important;
  }
}

/* Hide something on tablet and desktop */
@media only screen and (min-width: 741px) {
  .hide-on-tablet-desktop {
    display: none!important;
  }
}

/* Hide something on mobile (works for mobile landscape too) */
@media only screen and (max-width: 740px) {
.hide-on-mobile {
		display: none!important;
}
}

@media (min-width: 1025px) {
body .uag-hide-desktop {
    display: none !important;
}
}

@media (min-width: 768px) and (max-width: 1024px) {
body .uag-hide-tab {
    display: none !important;
}
}

@media (max-width: 767px) {
body .uag-hide-mob {
    display: none !important;
}
}