/* ---------------------------------------------------------------------------------------------- */
/* Serenity Theme Notes */
/* ---------------------------------------------------------------------------------------------- */

/* Built-in color variables. These are based on template colors. Use them like this:
 * color: var(--ser-gray-4); */

/*
    --ser-red-1: #FF5958;
    --ser-red-2: #C4504F;
    --ser-red-3: #B75F5E;
    --ser-blue: #3B68B9;
    --ser-gray-1: #989898;
    --ser-dark: #3B3426;
    --ser-gray-2: #6D6654;
    --ser-gray-3: #D9D6C3;
    --ser-gray-4: #EBE9E4;
    --ser-black: #000000;
    --ser-white: #FFFFFF;
    --ser-p: #3B3426; // paragraph
    --ser-a: #6D6654;
    --ser-h1: #FFFFFF;
    --ser-h2: #3B3426;
    --ser-h3: #3B68B9;
    --ser-h4: #3B3426;
    --ser-h5: #3B3426;
    --ser-h6: #000000;
*/

/* If you need a header third-level menu (not slide-in), add this class to that level:
 * .subsubmenu
 */

/* If you need to change the header color, when page is scrolled down, change this element:
 * #header-wrap {
 *     background-color: blue;
* }

/* If you need to make the header a solid color instead of transparent, set this:
 * #header-wrap.at-top {
 *     background-color: blue;
* }

/* These still work for the button/social icons in the top right, though the button isn't setup:
 * 
 * .hide-at-800px
 * .show-at-800px
 * 
 */

/* ------------------------------------------- */
/* MQ Single post page top image overlay START */
/* ------------------------------------------- */
#wp-admin-bar-enable-jquery-migrate-helper { 
	display: none; 
}

#email-notice {
  font-family: 'PT Sans', sans-serif;	
}

li {
  font-family: 'PT Sans', sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: var(--ser-p);
}

h4 {
  font-family: 'PT Sans', sans-serif;
  font-size: 33px;
  color: #654B4C;
}

h5 {
  font-family: 'PT Sans', sans-serif;
  font-size: 20px;
  color: #654B4C;
}

body.single #page-wrapper #site-content #post-header:before {
  top: 0px;
}
body.single #page-wrapper #site-content #post-header #post-img-text-overlay {
  margin-top: 25px;
}

@media only screen and (min-width: 1400px) {
body.single #page-wrapper #site-content #post-img-bottom-divider {
    width: 100vw;
    position: relative;
    top: -100px!important;
}
}

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

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

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

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

@media only screen and (max-width: 552px) {
  body.single #page-wrapper #site-content #post-header:before {
    height: 380px;
  }
	body.single #page-wrapper #site-content #post-header #post-img-text-overlay {
    margin-top: 20px;
	}
}

@media only screen and (max-width: 376px) {
  body.single #page-wrapper #site-content #post-header:before {
    height: 380px;
  }
	body.single #page-wrapper #site-content #post-header #post-img-text-overlay {
    margin-top: 2px;
	}
}

/* ------------------------------------------- */

/* MQ Single post page top image overlay END   */

/* ------------------------------------------- */

/* -------------------------------------- */

/* GT Cookies Notice Begin */

/* -------------------------------------- */

#branda-cookie-notice .cookie-notice-container {
  max-width: 100%;
}

/* -------------------------------------- */

/* GT Cookies Notice End */

/* -------------------------------------- */

/* -------------------------------------- */

/* KO Site Edits Start */

/* -------------------------------------- */

/* Remove padding from wrapper */
#page-wrapper #content-column #site-content {
  padding: 0px 0px 0px 0px!important;
}

/* A class to use to have an image fit a div/container */
.fit-image-to-div img {
  object-fit: cover!important;
}

/* Adjust logo size on smaller devices */
@media only screen and (max-width: 850px) {
  #header-wrap #header-content #header-logo {
    top: 5px;
  }
}
@media only screen and (max-width: 500px) {
  #header-wrap #header-content #header-logo div.business-logo figure img {
    width: 150px!important;
    height: auto;
  }

  #header-wrap #header-content #header-logo div.business-logo figure img {
    min-width: 150px!important;
    max-width: calc(100vw - 125px);
    height: auto;
  }
}

/* Adjust let's talk tablet button */
.kt-btns_f0f68f-fa .kt-btn-wrap-0 {
  margin-top: -20px;
}

/* Tablet and Mobile menu adjustments */
#page-wrapper #hamburger-menu.icon-uniF136::before {
  color: #fff;
}

@media only screen and (max-width: 1050px) {
  #page-wrapper #hamburger-menu {
    display: block;
    top: 43px;
    color: #fff;
  }
}

@media only screen and (max-width: 850px) {
  #header-wrap #header-content #header-lets-talk {
    top: 32px;
  }
}

@media only screen and (max-width: 500px) {
  #header-wrap #header-content #header-lets-talk {
    top: 50px;
  }
		
  #page-wrapper #hamburger-menu {
    top: 47px;
  }
}

#page-wrapper #menu-column {
  background-color: #654B4C;
}

/* Push down content for non-transparent header (mobile & tablet views) */
@media only screen and (max-width: 1024px) {
  #page-wrapper #content-column #site-content {
    padding: 125px 0px 0px 0px !important;
  }

/* Background color for mobile & tablet header */
  #header-wrap.at-top {
    background-color: #654B4C !important;
    filter: drop-shadow(0px 0px 7px rgba(0,0,0,0.25));
    -webkit-filter: drop-shadow(0px 0px 7px rgba(0,0,0,0.25));
    -moz-filter: drop-shadow(0px 0px 7px rgba(0,0,0,0.25));
  }

#header-wrap {
min-height: 125px;
  }
}

/* Add BG color to header on scroll */
#header-wrap.scrolling {
   background-color: #654B4C !important;
}

/* Change side menu styling */
#side-menu-navigation > #main-menu > li.menu-item > a {
    font-weight: 600;
    color: #EBE9E4;
    font-family: 'PT Sans', sans-serif!important;
}

#side-menu-navigation > #main-menu li.menu-item.menu-item-has-children > ul.sub-menu a {
    margin-left: 10px;
    font-weight: 300;
    font-size: 16px;
    color: #EBE9E4;
    font-family: 'PT Sans', sans-serif!important;
}

/* Change top level menu font size */
#header-wrap #header-content div.main-menu > div > ul.menu > li.menu-item a {
  font-size: 16px!important;
  letter-spacing: .6px;
}

/* Change top level menu hover color */
#header-content div.main-menu ul.menu > li.menu-item:hover a {
  color: #fff!important;
}

#header-wrap #header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > a:after {
  color: #fff!important;
}

/* 1st level sub menu change regular and hover color */
#header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu > li.menu-item a {
  color: #666!important;
  font-size: 16px!important;
}

#header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu > li.menu-item:hover a {
  color: #000!important;
}

/* 1st level sub menu change background color and border style for regular and hover*/
#header-wrap #header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu > li.menu-item {
  background-color: white;
  border-bottom: none!important;
  padding: 6px 15px!important;
}

#header-wrap #header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu > li.menu-item:hover {
  display: block;
  background-color: white!important;
}

/* Sub menu shadow */
#header-wrap #header-content div.main-menu > div > ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu {
  filter: drop-shadow(2px 3px 5px rgba(0, 0, 0, 0.20))!important;
	padding-top: 17px!important;
}


/* Add underline hover effect to menu */
#header-wrap #header-content div.main-menu > div > ul.menu > li.menu-item > a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  bottom: -5px;
  left: 0;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: top left;
  transition: transform 0.3s ease;
}
#header-wrap #header-content div.main-menu > div > ul.menu > li.menu-item:hover > a::before {
  transform: scaleX(1);
}

/* Forminator universal submit and upload button override */
.forminator-button-submit, .forminator-button-upload {
  background-color: #981E29!important;
  color: #FFFFFF!important;
}

.forminator-button-submit:hover, .forminator-button-upload:hover {
  background-color: #654B4C!important;
  color: #FFFFFF!important;
}

/* Internal page h2 and a styling */
.page-copy h2 {
	font-family: "PT Sans", sans-serif;
  font-size: 27px;
  font-weight: 700;
	color: #654B4C;
}

.page-copy a {
	color: #981E29;
	text-decoration: inherit;
}

/* Fix responsive issue for header buttons/icons */
@media (min-width: 1025px) {
  body.single .uag-hide-desktop.uagb-google-map__wrap,
  body .uag-hide-desktop {
    display: none!important;
  }
}
@media only screen and (max-width: 850px) {
  body.single #header-wrap #header-content #header-lets-talk a.show-at-800px {
    display: none!important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.single .uag-hide-tab.uagb-google-map__wrap,
  body .uag-hide-tab {
    display: none!important;
  }
}
@media (max-width: 767px) {
  body.single .uag-hide-mob.uagb-google-map__wrap,
  body .uag-hide-mob {
    display: none!important;
  }
body.single #header-wrap #header-content #header-lets-talk a.show-at-800px {
    display: inline-block !important;
    top: 3px;
  }
}
@media only screen and (max-width: 500px) {
  body.single #header-wrap #header-content #header-lets-talk {
    top: 42px;
  }
}

/* Style WP Block blog images to be same height and have a zoom hover effect */
.uagb-post-grid .uagb-post__image img {
  display: block;
  width: 100%!important;
  height: 250px!important;
  object-fit: cover;
	-webkit-transition: -webkit-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
}
.uagb-post-grid .uagb-post__image:hover img {
  -webkit-transform: scale(1.08);
  transform: scale(1.08);
}
.uagb-post__inner-wrap > .uagb-post__image:first-child {
    overflow: hidden!important;
}

/* Class for auto image height  */
.image-responsive img {
    max-width: 100%;
		height: auto!important;
}

/* Blog styling */
body.search #header-wrap.at-top {
  background-color: #654B4C;
}

body.search #page-wrapper #content-column #site-content div#link-to-blog-page a {
  color: #981E29;
}

body.search #page-wrapper #content-column #site-content div#search-grid-wrap {
  max-width: 100%;
}

body.search #page-wrapper #content-column #site-content h1#search-title {
  text-align: center;
  color: #654B4C;
}

body.search #page-wrapper #content-column #site-content div#search-grid-wrap div#search-grid div.search-item div.search-item-content h3 {
  color: #654B4C;
}

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-size: 16px;
  font-family: 'PT Sans', sans-serif;
}

body.search #page-wrapper #content-column #site-content div#search-pagination {
  font-family: 'PT Sans', sans-serif;
  font-size: 25px;
}

body.search #page-wrapper #content-column #site-content div#search-pagination a.page-numbers:not(.current) {
  color: #981E29;
}

/* Blog hero title and date */
body.single #page-wrapper #content-column #site-content #post-header #post-img-text-overlay #post-title {
    color: white;
    font-size: 38px;
    font-weight: 700;
    margin-bottom: 10px;
		font-family: 'PT Sans', sans-serif!important;
}

body.single #page-wrapper #content-column #site-content #post-header #post-img-text-overlay #post-date {
    color: white;
    font-size: 18px;
    margin-top: 10px;
		font-family: 'PT Sans', sans-serif!important;
}

/* Blog content */
body.single #page-wrapper #content-column #site-content #post-content {
    max-width: 1200px;
		font-family: 'PT Sans', sans-serif!important;
    margin-left: auto;
    margin-right: auto;
    padding-right: 10px;
		font-size: 18px;
    line-height: 1.5;
		padding: 20px!important;
    color: var(--ser-dark);
}

/* Post header height adjustments */
body.single #page-wrapper #site-content #post-header {
    height: 560px;
    max-height: 560px;
    background-position: 50% 50%;
}

@media only screen and (max-width: 1268px) {
    body.single #page-wrapper #site-content #post-header {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        height: 400px;
    }
}

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

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

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

@media only screen and (max-width: 376px) {
    body.single #page-wrapper #site-content #post-header {
        height: 325px;
        padding: 10px;
    }
}

/* Blog navigation */
body.single #page-wrapper #content-column #site-content nav.post-navigation {
    padding: 34px 40px!important;
    max-width: 100%!important;
    background-image: url(/wp-content/uploads/2025/08/divider-above-fun-facts-gallery-blogs.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

body.single #page-wrapper #content-column #site-content nav.post-navigation div.nav-links a {
    font-size: 18px;
    text-decoration: underline;
    color: #981E29;
		font-family: 'PT Sans', sans-serif!important;
}

body.single #page-wrapper #content-column #site-content .nav-previous {
		margin-top: 30px!important;
}

body.single #page-wrapper #content-column #site-content .nav-next {
		margin-top: 30px!important;
}

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) {
    color: #981E29;
		font-family: 'PT Sans', sans-serif!important;
}

/* Blog posts grid */
body.single #page-wrapper #content-column #site-content #post-gallery {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
		padding-bottom: 40px;
}

body.single #page-wrapper #content-column #site-content #posts-grid {
	background: #f7f5f1;
}

.am_single_grid {
    background: #fff!important;
		box-shadow: 0 0 18px 0 rgb(0 0 0 / 7%) !important
}

.am__title {
  font-size: 20px !important;
  color: #654B4C;
  font-family: 'PT Sans', sans-serif;
  margin-top: 0px;
  margin-bottom: 10px;
}

.am__excerpt {
		padding-bottom: 20px;
    font-weight: 400;
    font-size: 16px;
    color: var(--ser-gray-2);
		font-family: 'PT Sans', sans-serif!important;
}

body.single #page-wrapper #site-content #post-gallery div.am_posts_navigation {
  display: none;
}

body.single #page-wrapper #site-content #post-gallery div.am_post_grid div.am_grid_col div.am_single_grid div.am_cont a.am__readmore {
  display: block;
  font-family: 'PT Sans', sans-serif;
  font-size: 16px;
  color: #981E29;
}

/* Style footer */
#footer #footer-copyright {
  background: var(--ser-gray-4);
  margin-top: -5px;
}

#footer #footer-copyright a {
  color: #981E29; /*var(--ser-red-1);*/
}

#footer #footer-row-1 #footer-info-box-widget {
    padding: 20px 0;
    min-width: 282px;
		background: #654B4C;
}

#footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: calc(100% - 50px);
    margin-left: auto;
    margin-right: auto;
}

#footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap > div.gb-inside-container {
    padding: 0;
}

#footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap > div.gb-inside-container figure {
    text-align: center;
    margin-bottom: 20px;
}

#footer #footer-row-1 #footer-info-box-widget .footer-info-box-text a {
  color: #fff;
}

#footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap > div.gb-inside-container figure img {
    width: 175px;
}

#footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap > div.gb-inside-container p {
    font-size: 16px !important;
}

#footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap > div.gb-inside-container p.footer-info-box-text:nth-of-type(1) {
    margin-bottom: 5px;
}

#footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap > div.gb-inside-container p:nth-of-type(2) {
    margin-top: 0;
    margin-bottom: -3px;
}

@media only screen and (max-width: 500px) {
    #footer #footer-row-1 #footer-info-box-widget {
        width: 100%;
        height: auto;
    }

    #footer #footer-row-1 #footer-info-box-widget #footer-info-block-wrap > div.gb-inside-container p {
        font-size: 17px !important;
    }
}

#footer #footer-copyright {
    background: var(--ser-gray-4);
    margin-top: -5px;
}

#footer #footer-copyright a {
    color: #b03b3b;
}

/* -------------------------------------- */

/* KO Site Edits End */

/* -------------------------------------- */


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

/*Header Call Buttons on tablet and mobile*/
@media (max-width: 1050px) {
#header-wrap #header-content {
    display: flex;
    flex-direction: row-reverse;
}
}

/* Adjust blog image size - homepage, main blog page */
.gb-image-3ed6a645 {
    width: -webkit-fill-available !important;
}

/* ----- Adjustments for Web Accessibility/ADA Compliance - KO 8/20/2025 ------ START */
/* Improves text color contrast on the TrustIndex Google & Yelp Reviews widget for ADA compliance */
.ti-widget.ti-goog .ti-widget-container .ti-date, .ti-widget.ti-yelp .ti-widget-container .ti-date {
  color: #666!important;
}
.ti-widget.ti-goog .ti-read-more span, .ti-widget.ti-yelp .ti-read-more span {
  opacity: 1!important;
}

/* Prevents desktop screen readers from reading both mobile and desktop menus redundantly */
@media only screen and (min-width: 1181px) {
		#page-wrapper #menu-column {
				display: none!important;
		}
}

/* Ensures visible outlines appear when navigating via keyboard or assistive tech */
:focus-visible {
  outline: 3px solid #981E29;
  outline-offset: 2px;
}
/* ----- Adjustments for Web Accessibility/ADA Compliance - KO 8/20/2025 ------ END */