/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/* For testing */
body * { 
		/* outline: 1px solid red; */
}

#page-wrapper #menu-column {
		top: calc((var(--practice-top-banner-height) + 
				       var(--top-bar-wrapper-height)));
}		

#page-wrapper #content-column {
		height: calc(((var(--practice-top-banner-height) +
                   var(--top-bar-wrapper-height) +
                   var(--header-wrap-height) * 1)) + 
		               var(--content-column-height));
		
		max-height: calc(((var(--practice-top-banner-height) +
                       var(--top-bar-wrapper-height) +
                       var(--header-wrap-height) * 1)) + 
		                   var(--content-column-height));
}  		

/* Adjust main content wrapper because of fixed header elements */
#page-wrapper #content-column #main {
    top: calc(var(--practice-top-banner-height) +
              var(--top-bar-wrapper-height) +
              var(--header-wrap-height));
} 

/* Position hamburger menu relative to fixed header elements */
#menu-column #hamburger-menu {
    top: calc(var(--admin-bar-height) +
              var(--practice-top-banner-height) +
              var(--top-bar-wrapper-height) +
              (var(--header-wrap-height) / 2) - 14px);
}

@media (max-width: 767px) {
    /* Adjust hamburger on responsive screen size */
		#menu-column #hamburger-menu {
        top: calc(var(--admin-bar-height) +
                  var(--practice-top-banner-height) +
                  var(--top-bar-wrapper-height) +
                  (var(--header-wrap-height) / 2) - 28px);
    }
}

/* Position header relative to fixed top bar elements */
#content-column #header-wrap {
    top: calc(var(--admin-bar-height) +
              var(--practice-top-banner-height) +
              var(--top-bar-wrapper-height));
}

/* Position logo in horizontal center */
#header-content #header-logo {
    position: absolute;
    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    left: calc((100vw / 2) - (var(--header-logo-width) / 2));
}

/* "2%" is top and bottom margin for logo */
#header-content #header-logo,
#header-content #header-logo img {
		height: calc(var(--header-wrap-height) - 2%);
}		

/* display: grid works to keep image size proportional */
#header-content #header-logo figure > a {
    display: -ms-grid;
    display:     grid;
}

/* Logo */
#header-content #header-logo img {
    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    -webkit-filter: none;
            filter: none;
    margin-top: 0;
}

@media (max-width: 800px) {
		#header-call-to-action #call-us-button > span {
        font-size: 0;
    }

    #header-call-to-action #call-us-button > span:before {
        font-size: 16px;
        content: 'Call Today! ';
        white-space: pre;
    }

    #header-request-appt #request-appt-button > span {
        font-size: 0;
    }

    #header-request-appt #request-appt-button > span:before {
        font-size: 16px;
        content: 'Request Appt! ';
        white-space: pre;
    }
}

#header-content #header-call-to-action div.kb-buttons-wrap,
#header-content #header-request-appt div.kb-buttons-wrap {
    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
}

#page-wrapper #content-column #main {
    position: relative;
    height: -webkit-fit-content;
    height:    -moz-fit-content;
    height:         fit-content;
}

#page-wrapper #content-column #site-content {
    position: relative;
    top: 0;
    padding-top: 0;
}

#sidebar-hours > span.day-name {
    font-weight: 500;
}

/* ======================================================
   1. TOP BAR
====================================================== */
#top-bar-wrapper {
    position: fixed;
    width: 1920px;
    top: calc(var(--admin-bar-height) + var(--practice-top-banner-height));
    max-width: 100%;
    z-index: var(--zindex1);
}

.top-bar-wrap {
    background: var(--topbar-bg-color);
    color: var(--topbar-text-color);
}

.top-bar-wrap a {
    color: var(--topbar-link-color);
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
}

.top-bar-wrap a:hover {
    color: var(--topbar-link-hover-color);
}

.top-bar-wrap a:focus {
    color: var(--topbar-link-focus-color);
}

.top-bar-wrap a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false .kb-svg-icon-wrap {
    color: var(--topbar-icon-color);
}

.top-bar-wrap a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false .kb-svg-icon-wrap:hover {
    color: var(--topbar-icon-hover-color);
}

.top-bar-wrap .btn-primary {
    background-color: var(--topbar-btn-primary-bg) !important;
    color: var(--topbar-btn-primary-text) !important;
    -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;
    border-radius: var(--radius-button) !important;
}

.top-bar-wrap .btn-primary:hover {
    background-color: var(--topbar-btn-primary-hover-bg) !important;
    color: var(--topbar-btn-primary-hover-text) !important;
}

/* ======================================================
   2. SIDE MENU / MOBILE MENU
====================================================== */
#site-navigation > input#toggle-mobile-menu + #main-menu a {
    color: var(--nav-side-link) !important;
}

#site-navigation > input#toggle-mobile-menu + #main-menu a:hover {
    color: var(--nav-side-link-hover) !important;
}

#site-navigation > input#toggle-mobile-menu + #main-menu a:hover,
#site-navigation > input#toggle-mobile-menu + #main-menu a:active {
    color: var(--nav-side-link-hover) !important;
}

#site-navigation > input#toggle-mobile-menu + #main-menu a:not([href^=http]):hover {
    color: var(--nav-side-link-hover) !important;
}

#site-navigation > input#toggle-mobile-menu + #main-menu li.menu-item.menu-item-has-children > ul.sub-menu a:hover {
    color: var(--nav-side-link-hover) !important;
}

#site-navigation > input#toggle-mobile-menu + #main-menu li.menu-item.current-menu-item > a,
#site-navigation > input#toggle-mobile-menu + #main-menu > li.menu-item.current-menu-ancestor > a,
#site-navigation > input#toggle-mobile-menu + #main-menu > li.menu-item.current-menu-parent > a {
    color: var(--nav-side-link-active) !important;
}

#site-navigation > input#toggle-mobile-menu + #main-menu li.menu-item.menu-item-has-children > a:after {
    color: currentColor !important;
}

#page-wrapper #menu-column > #side-menu-top-content,
#page-wrapper #menu-column > #side-menu-bottom-content {
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 500px) {
    #page-wrapper #menu-column {
        border-top: 0;
    }
}

#side-menu-top-content {
    max-width: 240px;
}

/* ======================================================
   3. TOP NAVIGATION
====================================================== */

/* Top-level menu links */
#top-menu-widget li.level0 > a {
    position: relative;
    white-space: nowrap;
    color: var(--nav-top-link);
}

/* Hover state */
#top-menu-widget li.level0 > a:hover {
    color: var(--nav-top-link-hover);
}

/* Active / current states */
#top-menu-widget li.level0.menu-item.current-menu-item > a,
#top-menu-widget li.level0.menu-item.current-menu-ancestor.has-child > a,
#top-menu-widget li.level0.menu-item.current-menu-parent.has-child > a {
    color: var(--nav-top-link-active);
}

/* Dropdown menu background */
#top-menu-widget ul.menu li.has-child ul li {
    background-color: var(--nav-dropdown-bg);
}

/* Decorative divider for top-level items */
#top-menu-widget ul.menu li.level0::before {
    border-top: 2px solid var(--nav-divider-color);
    border-bottom: 2px solid var(--nav-divider-color);
}

/* ======================================================
   4. HEADER LAYOUT & BUTTONS
====================================================== */
#header-wrap {
    background-color: var(--bg-header) !important;
    padding: 0 60px;
            box-shadow: rgba(0, 0, 0, .15) 0 4px 8px -1px;
       -moz-box-shadow: rgba(0, 0, 0, .15) 0 4px 8px -1px;
    -webkit-box-shadow: rgba(0, 0, 0, .15) 0 4px 8px -1px;
}

@media (max-width: 1200px) {
    #header-wrap {
        padding-right: 30px;
    }
}

#header-wrap #header-content {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-line-pack: center;
    align-content: center;
    gap: 30px;
}

#header-content #header-call-to-action {
    padding-left: 0;
    padding-top: 0;
    width: auto;
    margin-top: 30px;
}

#header-content #header-request-appt {
    position: relative;
    top: 0;
    right: 0;
}

#header-request-appt ul {
    margin: 0;
}

@media (max-width: 850px) {
    #header-call-to-action {
        display: block;
    }
}

@media (max-width: 500px) {
    #header-wrap {
        padding: 0 20px;
    }

    #header-content #header-request-appt {
        min-width: unset;
        top: 2px;
    }
}

/* ======================================================
        5. GLOBAL TEXT STYLES
====================================================== */
body {
    font-family: var(--font-body);
    color: var(--text-body-color);
}

p,
li:not(.wp-social-link) {
    color: var(--text-body-color);
    font-family: var(--font-body) !important;
    font-size: 18px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--heading-color);
    font-family: var(--heading-font);
}

h1 {
    font-weight: var(--h1-weight);
}

h2 {
    font-weight: var(--h2-weight);
}

h3 {
    font-weight: var(--h3-weight);
}

h4 {
    font-weight: var(--h4-weight);
}

h5 {
    font-weight: var(--h5-weight);
}

h6 {
    font-weight: var(--h6-weight);
}

a:not(.kb-gallery-item-link) {
    color: var(--link-color);
    text-decoration: underline;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
}

a:not(.kb-gallery-item-link):hover {
    color: var(--link-hover-color);
    text-decoration: underline;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
}

a:not(.kb-gallery-item-link):focus-visible {
    color: var(--link-focus-color);
    text-decoration: underline;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* ======================================================
   6. TEXT COLOR UTILITIES
====================================================== */
.text-black,
.text-black p,
.text-black a {
    color: var(--color-black) !important;
}

.text-white,
.text-white p,
.text-white a {
    color: var(--color-white) !important;
}

.text-muted,
.text-muted p,
.text-muted a {
    color: var(--text-muted-color) !important;
}

.text-primary,
.text-primary p,
.text-primary a {
    color: var(--color-primary) !important;
}

.text-secondary,
.text-secondary p,
.text-secondary a {
    color: var(--color-secondary) !important;
}

.text-tertiary,
.text-tertiary p,
.text-tertiary a {
    color: var(--color-tertiary) !important;
}

.text-accent-1,
.text-accent-1 p,
.text-accent-1 a {
    color: var(--color-accent-1) !important;
}

.text-accent-2,
.text-accent-2 p,
.text-accent-2 a {
    color: var(--color-accent-2) !important;
}

/* ======================================================
   7. FONT FAMILY UTILITIES
====================================================== */
.font-body {
    font-family: var(--font-body) !important;
}

.font-heading {
    font-family: var(--font-heading) !important;
}

/* ======================================================
   8. FONT WEIGHT UTILITIES
====================================================== */
.font-light {
    font-weight: var(--font-weight-light) !important;
}

.font-regular {
    font-weight: var(--font-weight-regular) !important;
}

.font-medium {
    font-weight: var(--font-weight-medium) !important;
}

.font-semibold {
    font-weight: var(--font-weight-semibold) !important;
}

.font-bold {
    font-weight: var(--font-weight-bold) !important;
}

.font-extrabold {
    font-weight: var(--font-weight-extrabold) !important;
}

/* ======================================================
   9. INTERNAL PAGES & MAIN BLOG PAGE
====================================================== */
.page-hero-title-h1 {
    text-transform: uppercase;
    font-size: clamp(40px, 5vw, 50px);
    letter-spacing: .06em;
    font-weight: var(--font-weight-bold);
    line-height: 1.3;
    margin: 0;
}

.page-hero-subtext {
    font-size: clamp(18px, 2vw, 20px);
    margin: 0;
}

.page-hero h2 {
    color: var(--hero-heading-color);
    font-size: var(--hero-h2-size);
    font-weight: var(--hero-heading-weight);
}

.page-copy h2 {
    color: var(--page-heading-color);
    font-size: var(--page-h2-size);
    font-weight: var(--page-heading-weight);
}

.page-copy h3 {
    font-size: var(--page-h3-size);
    font-weight: var(--page-heading-weight);
}

.page-copy h4 {
    font-size: var(--page-h4-size);
}

.page-sidebar h2.sidebar-heading,
.page-sidebar h3.sidebar-heading {
    font-size: var(--page-h3-size);
    font-weight: var(--page-heading-weight);
}

/* Contact page headings */
h2.contact-heading,
h3.contact-heading {
    font-size: var(--page-h3-size);
    font-weight: var(--page-heading-weight);
}

.page-sidebar .sidebar-menu li {
    font-size: 16px;
}

.page-sidebar .sidebar-menu li a {
    color: var(--link-color) !important;
    text-decoration: underline;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
}

.page-sidebar .sidebar-menu li a:hover {
    color: var(--link-hover-color) !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: var(--link-focus-color) !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;
}

.page-sidebar .social-media-icons-sidebar .wp-block-social-links a {
    color: var(--link-color) !important;
}

.page-sidebar .social-media-icons-sidebar .wp-block-social-links a:hover {
    color: var(--link-hover-color) !important;
}

.page-sidebar .social-media-icons-sidebar .wp-block-social-links.aligncenter {
    -webkit-box-pack: left !important;
    -ms-flex-pack: left !important;
    justify-content: left !important;
}

.social-media-icons-contact .wp-block-social-links a {
    color: var(--link-color) !important;
}

.social-media-icons-contact .wp-block-social-links a:hover {
    color: var(--link-hover-color) !important;
}

.social-media-icons-contact .wp-block-social-links.aligncenter {
    -webkit-box-pack: left !important;
    -ms-flex-pack: left !important;
    justify-content: left !important;
}

/* Search box */
.search-box .wp-block-search__inside-wrapper {
    border-radius: var(--radius-button);
}

.search-box button.wp-block-search__button {
    background: transparent;
    border: none;
}

.search-box .wp-block-search__button svg {
    fill: var(--btn-primary-icon-only);
}

/* Blog listing cards */
.wp-block-kadence-posts .loop-entry {
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    border-radius: var(--radius-card) !important;
    -webkit-filter: drop-shadow(0px 0px 15px rgba(0, 0, 0, .10));
            filter: drop-shadow(0px 0px 15px rgba(0, 0, 0, .10));
}

.wp-block-kadence-posts .loop-entry .post-thumbnail {
    border-top-left-radius: var(--radius-card);
    border-top-right-radius: var(--radius-card);
}

.wp-block-kadence-posts .loop-entry .entry-summary p {
    font-size: 16px;
}

/* "Read More" button inside MQ blog grids (single + page) */
body.single #page-wrapper #site-content .am_ajax_post_grid_wrap .am_post_grid .am_grid_col .am_single_grid .am_cont a.am__readmore,
body.page #page-wrapper #site-content .am_ajax_post_grid_wrap .am_post_grid .am_grid_col .am_single_grid .am_cont a.am__readmore {
    display: block !important;
    color: var(--link-color) !important;
}

/* Blog listing pagination (page) */
body.page #page-wrapper #content-column #site-content .am_ajax_post_grid_wrap .am_posts_navigation a.page-numbers:not(.current) {
    color: var(--link-color);
    font-size: 18px;
}

body.page #page-wrapper #content-column #site-content .am_ajax_post_grid_wrap .am_posts_navigation span.current {
    font-size: 18px;
}

h2.entry-title a {
    font-size: 20px;
    text-decoration: none;
    -webkit-transition: color .2s ease;
         -o-transition: color .2s ease;
            transition: color .2s ease;
}

h2.entry-title a:hover {
    text-decoration: none;
}

/* ======================================================
   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/03/theme-iStock-1313021528.webp') !important;
}

body.error404 #page-wrapper #content-column #site-content #content-404 h2 {
    font-family: var(--heading-font) !important;
    font-size: 25px !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: var(--radius-button) !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: var(--btn-primary-bg) !important;
    color: var(--btn-primary-text) !important;
    font-weight: var(--font-weight-light);
}

body.error404 #page-wrapper #content-column #site-content #content-404 #return-to-homepage-wrapper #return-to-homepage:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    color: var(--btn-primary-hover-text) !important;
}

/* ======================================================
   13. FOOTER LAYOUT & TYPOGRAPHY
====================================================== */

/* Typography */
/* Footer Text & Link Color */
#footer p,
#footer {
    color: var(--footer-text-color) !important;
}

#footer p a {
    color: var(--footer-link-color) !important;
    text-decoration: underline;
}

#footer p a:hover {
    color: var(--footer-link-hover-color) !important;
}

#footer h2.footer-heading,
#footer h3.footer-heading {
    color: var(--footer-heading-color);
    font-weight: var(--footer-heading-weight);
}

.footer-heading {
    margin-top: 0 !important;
    display: block !important;
    margin-bottom: 0;
}

/* Footer Social Icons Color */
#footer .social-media-icons-footer .wp-block-social-links a,
#footer .social-media-icons-footer .wp-block-social-links a:hover {
    color: var(--footer-social-icons-color) !important;
}

/* Footer Social Icons Alignment */
#footer .social-media-icons-footer .wp-block-social-links.aligncenter {
    -webkit-box-pack: left !important;
    -ms-flex-pack: left !important;
    justify-content: left !important;
}

/* Layout */
/* Footer Background Color */
#footer {
    background-color: var(--bg-footer) !important;
    position: relative;
    top: calc(var(--practice-top-banner-height) +
              var(--top-bar-wrapper-height) +
              var(--header-wrap-height));
}

#footer h3.footer-heading {
		line-height: 18px;
}

#footer-col-3 > h3.footer-heading {
    margin-bottom: 10px;
}

#footer #footer-row-1 {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    margin-bottom: 40px;
}

#footer #footer-row-1 #footer-col-1 div.our-address {
		margin-bottom: 20px;
}

#footer #footer-row-1 #footer-col-1 span.no-doctor-note {
		display: block;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.25;
    margin-bottom: 20px;
}

#footer #footer-row-1 #footer-col-1 p.opening-hours {
		margin-bottom: 10px;
}

@media (max-width: 1200px) {
	#footer #footer-row-1 {
			gap: 40px;
	}
}	


#footer #footer-row-1 > div {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#footer #footer-row-1 #footer-col-3 {
    margin-top: 0 !important;
    min-width: unset !important;
    width: auto;
}

/* Responsive */
@media only screen and (max-width: 850px) {
    #footer #footer-row-1 {
        gap: 20px;
    }
}

@media only screen and (max-width: 767px) {
    #footer #footer-row-1 #footer-col-1,
    #footer #footer-row-1 #footer-col-2,
    #footer #footer-row-1 #footer-col-3 {
        width: 100%;
    }

    #footer {
        padding: 20px 20px 50px 20px;
    }
}

@media only screen and (max-width: 670px) {
    #footer #footer-row-1 {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

/* ======================================================
   14. FORMINATOR TYPOGRAPHY
====================================================== */
.forminator-label {
    font-size: 18px !important;
    font-weight: var(--font-weight-regular) !important;
    font-family: var(--font-body) !important;
}

.forminator-ui input,
.forminator-ui select {
    font-family: var(--font-body) !important;
}

h2.forminator-title {
    color: var(--page-heading-color) !important;
    font-size: var(--page-h2-size) !important;
    font-weight: var(--page-heading-weight) !important;
}

.forminator-ui .forminator-description,
.forminator-ui .forminator-consent__label p,
.forminator-ui .forminator-file-upload > span {
    font-size: 16px !important;
}

.forminator-ui .forminator-consent__label p {
    margin-top: 0 !important;
}

/* ======================================================
   15. GLOBAL BUTTON SYSTEM
   Universally reusable across all themes
====================================================== */
/* 15.1 Base Button Styles */
.btn,
a.kt-button.btn,
.wp-block-button__link.btn {
    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: var(--radius-button) !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;
}

/* Resize header buttons only 1200px and below */
@media only screen and (max-width: 1200px) {
    #header-wrap .btn,
    #header-wrap a.kt-button.btn,
    #header-wrap .wp-block-button__link.btn {
        font-size: 16px;
    }
}

/* Make all buttons full width on mobile (except for the header) to be mobile friendly */
@media only screen and (max-width: 767px) {
    .btn:not(#header-wrap),
    a.kt-button.btn:not(#header-wrap),
    .wp-block-button__link.btn:not(#header-wrap) {
        width: 100% !important;
    }
}

/* ======================================================
   15.2 PRIMARY BUTTON
====================================================== */
/* Primary button */
.btn.btn--primary,
a.kt-button.btn--primary,
.wp-block-button__link.btn--primary {
    background-color: var(--btn-primary-bg) !important;
    color: var(--btn-primary-text) !important;
    font-weight: var(--font-weight-light);
}

/* Default color for Forminator form buttons */
.forminator-repeater-add,
.forminator-repeater-remove,
.forminator-button-next,
.forminator-button-back,
.forminator-button-upload,
.forminator-button-submit {
    background-color: var(--btn-primary-bg) !important;
    border-radius: var(--radius-button) !important;
    color: var(--btn-primary-hover-text) !important;
    font-weight: var(--font-weight-light) !important;
    font-size: 18px !important;
    border: none !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;
}

/* Hover/Focus */
.btn.btn--primary:hover,
a.kt-button.btn--primary:hover,
a.kt-button.btn--primary:focus-visible,
.wp-block-button__link.btn--primary:hover,
.wp-block-button__link.btn--primary:focus-visible,
.btn.btn--primary:focus-visible {
    background-color: var(--btn-primary-hover-bg) !important;
    color: var(--btn-primary-hover-text) !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: var(--btn-primary-hover-bg) !important;
    color: var(--btn-primary-hover-text) !important;
}

#email-notice {
    color: var(--link-color) !important;
}

/* ======================================================
   15.3 ICON-ONLY — PRIMARY
====================================================== */
a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false .kb-svg-icon-wrap {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: var(--btn-primary-icon-only) !important;
    fill: var(--btn-primary-icon-only) !important;
    font-size: var(--btn-icon-size) !important;
}

a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-true .kb-svg-icon-wrap {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: var(--btn-primary-icon) !important;
    fill: var(--btn-primary-icon) !important;
    font-size: var(--btn-icon-size) !important;
}

a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false:hover .kb-svg-icon-wrap,
a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-false:focus-visible .kb-svg-icon-wrap {
    color: var(--btn-primary-icon-only-hover) !important;
    fill: var(--btn-primary-icon-only-hover) !important;
    -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;
}

a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-true:hover .kb-svg-icon-wrap,
a.kt-button.btn--primary.kt-btn-has-svg-true.kt-btn-has-text-true:focus-visible .kb-svg-icon-wrap {
    color: var(--btn-primary-icon-hover) !important;
    fill: var(--btn-primary-icon-hover) !important;
    -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;
}

.wp-block-social-links a,
[class*=forminator-icon-],
.kt-info-svg-icon,
.kb-svg-icon-wrap {
    color: var(--btn-primary-icon-only) !important;
    fill: var(--btn-primary-icon-only) !important;
    -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;
}

.wp-block-social-links a:hover,
[class*=forminator-icon-]:hover,
[class*=forminator-icon-]:active,
.kt-info-svg-icon:hover,
.kb-svg-icon-wrap:hover {
    color: var(--btn-primary-icon-only-hover) !important;
    fill: var(--btn-primary-icon-only-hover) !important;
    -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;
}

/* ======================================================
   15.4 SECONDARY BUTTON
====================================================== */
.btn.btn--secondary,
a.kt-button.btn--secondary,
.wp-block-button__link.btn--secondary {
    background-color: #fff !important;
    color: var(--btn-secondary-text) !important;
    border: 1px solid var(--btn-secondary-bg) !important;
    font-weight: var(--font-weight-light);
}

/* Hover/Focus */
.btn.btn--secondary:hover,
a.kt-button.btn--secondary:hover,
a.kt-button.btn--secondary:focus-visible,
.wp-block-button__link.btn--secondary:hover,
.wp-block-button__link.btn--secondary:focus-visible,
.btn.btn--secondary:focus-visible {
    background-color: var(--btn-secondary-hover-bg) !important;
    color: var(--btn-secondary-hover-text) !important;
    border: 1px solid  var(--btn-secondary-hover-bg) !important;
}

/* ======================================================
   15.5 ICON-ONLY — SECONDARY
====================================================== */
a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false .kb-svg-icon-wrap {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: var(--btn-secondary-icon-only) !important;
    fill: var(--btn-secondary-icon-only) !important;
    font-size: var(--btn-icon-size) !important;
    -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;
}

a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-true .kb-svg-icon-wrap {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: var(--btn-secondary-icon) !important;
    fill: var(--btn-secondary-icon) !important;
    font-size: var(--btn-icon-size) !important;
    -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;
}

a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:hover .kb-svg-icon-wrap,
a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:focus-visible .kb-svg-icon-wrap {
    color: var(--btn-secondary-icon-only-hover) !important;
    fill: var(--btn-secondary-icon-only-hover) !important;
}

a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:hover,
a.kt-button.btn--secondary.kt-btn-has-svg-true.kt-btn-has-text-false:focus-visible {
    color: var(--btn-secondary-icon-hover) !important;
    fill: var(--btn-secondary-icon-hover) !important;
}

/* ======================================================
   16. KEYBOARD ACCESSIBILITY
====================================================== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.btn:focus-visible,
.wp-block-button__link.btn:focus-visible,
.kt-button.btn:focus-visible {
    outline: 2px solid #bd13b8;
    outline-offset: 2px;
}

/* ======================================================
   17. GLOBAL ACCORDION SYSTEM
   Universally reusable across all themes
====================================================== */
/* ======================================================
   17.1 PRIMARY ACCORDION
====================================================== */
.accordion--primary .kt-blocks-accordion-header {
    background-color: var(--accordion-primary-bg) !important;
    color: var(--accordion-primary-text) !important;
    font-weight: var(--font-weight-regular);
    font-family: var(--font-body) !important;
    border-radius: var(--radius-button) !important;
    padding: 15px 24px !important;
}

.accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before,
.accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after {
    color: var(--accordion-primary-text) !important;
    background-color: var(--accordion-primary-icon) !important;
}

.accordion--primary .kt-blocks-accordion-header:hover,
.accordion--primary .kt-blocks-accordion-header:focus-visible,
.accordion--primary .kt-blocks-accordion-header.kt-accordion-panel-active {
    background-color: var(--accordion-primary-hover-bg) !important;
    color: var(--accordion-primary-hover-text) !important;
}

.accordion--primary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before,
.accordion--primary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after,
.accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before,
.accordion--primary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after {
    color: var(--accordion-primary-hover-text) !important;
    background-color: var(--accordion-primary-icon-hover) !important;
}

/* ======================================================
   17.2 SECONDARY ACCORDION
====================================================== */
.accordion--secondary .kt-blocks-accordion-header {
    background-color: var(--accordion-secondary-bg) !important;
    color: var(--accordion-secondary-text) !important;
    font-weight: var(--font-weight-regular);
    font-family: var(--font-body) !important;
    border-radius: var(--radius-button) !important;
    padding: 15px 24px !important;
}

.accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before,
.accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after {
    color: var(--accordion-secondary-text) !important;
    background-color: var(--accordion-secondary-icon) !important;
}

.accordion--secondary .kt-blocks-accordion-header:hover,
.accordion--secondary .kt-blocks-accordion-header:focus-visible,
.accordion--secondary .kt-blocks-accordion-header.kt-accordion-panel-active {
    background-color: var(--accordion-secondary-hover-bg) !important;
    color: var(--accordion-secondary-hover-text) !important;
}

.accordion--secondary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before,
.accordion--secondary .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after,
.accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before,
.accordion--secondary .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after {
    color: var(--accordion-secondary-hover-text) !important;
    background-color: var(--accordion-secondary-icon-hover) !important;
}

/* Inner Accordion Overrides */
.kt-accordion-panel-inner {
    border: 0 solid transparent !important;
    padding: 0 !important;
}

/* ======================================================
   18. IMAGE GALLERY
====================================================== */
.gallery-zoom
.kb-gallery-ul
.kadence-blocks-gallery-item
.kadence-blocks-gallery-item-inner
.kb-gallery-image-contain.kadence-blocks-gallery-intrinsic {
    border-radius: var(--radius-image) !important;
    overflow: hidden !important;
}

/* Image only handles transform */
.gallery-zoom
.kb-gallery-ul
.kadence-blocks-gallery-item
.kadence-blocks-gallery-item-inner img {
    -webkit-transition: -webkit-transform .2s ease-in-out;
            transition: -webkit-transform .2s ease-in-out;
         -o-transition:         transform .2s ease-in-out;
            transition:         transform .2s ease-in-out;
            transition:         transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
}

/* Hover scale */
.gallery-zoom
.kb-gallery-ul
.kadence-blocks-gallery-item
.kadence-blocks-gallery-item-inner:hover img {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
}

/* Sidebar */
.sidebar-slideshow img {
    border-radius: var(--radius-image);
}

/* ======================================================
   19. BACKGROUND UTILITY CLASSES
   Add these to rows, containers, or columns as needed
====================================================== */

/* 19.1 Background colors */
.bg-white {
    background-color: var(--surface-white) !important;
}

.bg-light {
    background-color: var(--surface-light) !important;
}

.bg-black {
    background-color: var(--surface-black) !important;
}

.bg-primary {
    background-color: var(--surface-primary) !important;
}

.bg-secondary {
    background-color: var(--surface-secondary) !important;
}

.bg-tertiary {
    background-color: var(--surface-tertiary) !important;
}

.bg-accent-1 {
    background-color: var(--surface-accent-1) !important;
}

.bg-accent-2 {
    background-color: var(--surface-accent-2) !important;
}

/* 19.2 Simple Fade Gradients */
/* Tertiary to white */
.bg-fade-top-tertiary {
    background-image: -o-linear-gradient(top, var(--color-tertiary), #fff) !important;
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--color-tertiary)), to(#fff)) !important;
    background-image:    linear-gradient(180deg, var(--color-tertiary), #fff) !important;
}

.bg-fade-bottom-tertiary {
    background-image: -o-linear-gradient(bottom, var(--color-tertiary), #fff) !important;
    background-image: -webkit-gradient(linear, left bottom, left top, from(var(--color-tertiary)), to(#fff)) !important;
    background-image:    linear-gradient(0deg, var(--color-tertiary), #fff) !important;
}

/* Accent 1 to white */
.bg-fade-top-accent-1 {
    background-image: -o-linear-gradient(top, var(--color-accent-1), #fff) !important;
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--color-accent-1)), to(#fff)) !important;
    background-image:    linear-gradient(180deg, var(--color-accent-1), #fff) !important;
}

.bg-fade-bottom-accent-1 {
    background-image: -o-linear-gradient(bottom, var(--color-accent-1), #fff) !important;
    background-image: -webkit-gradient(linear, left bottom, left top, from(var(--color-accent-1)), to(#fff)) !important;
    background-image:    linear-gradient(0deg, var(--color-accent-1), #fff) !important;
}

/* Accent 2 to white */
.bg-fade-top-accent-2 {
    background-image: -o-linear-gradient(top, var(--color-accent-2), #fff) !important;
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--color-accent-2)), to(#fff)) !important;
    background-image:    linear-gradient(180deg, var(--color-accent-2), #fff) !important;
}

.bg-fade-bottom-accent-2 {
    background-image: -o-linear-gradient(bottom, var(--color-accent-2), #fff) !important;
    background-image: -webkit-gradient(linear, left bottom, left top, from(var(--color-accent-2)), to(#fff)) !important;
    background-image:    linear-gradient(0deg, var(--color-accent-2), #fff) !important;
}

/* Light to white */
.bg-fade-top-surface-light {
    background-image: -o-linear-gradient(top, var(--surface-light), #fff) !important;
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--surface-light)), to(#fff)) !important;
    background-image:    linear-gradient(180deg, var(--surface-light), #fff) !important;
}

/* ======================================================
   20. BORDER RADIUS UTILITIES
   Use to override block defaults
====================================================== */
.radius-none {
    border-radius: 0 !important;
}

.radius-button {
    border-radius: var(--radius-button) !important;
}

.radius-card {
    border-radius: var(--radius-card) !important;
}

.radius-image,
.radius-image img {
    border-radius: var(--radius-image) !important;
}

/* ======================================================
   21. SHADOW UTILITIES
   Use to override block defaults
====================================================== */
.shadow-soft {
    -webkit-filter: var(--shadow-soft) !important;
            filter: var(--shadow-soft) !important;
}

.shadow-medium {
    -webkit-filter: var(--shadow-medium) !important;
            filter: var(--shadow-medium) !important;
}

.shadow-strong {
    -webkit-filter: var(--shadow-strong) !important;
            filter: var(--shadow-strong) !important;
}

/* ======================================================
   22. BORDER UTILITIES
   Use to override block defaults
====================================================== */
.border-primary {
    border: 2px solid var(--surface-primary) !important;
}

.border-dashed-primary {
    border: 2px dashed var(--surface-primary) !important;
}

.border-secondary {
    border: 2px solid var(--surface-secondary) !important;
}

.border-dashed-secondary {
    border: 2px dashed var(--surface-secondary) !important;
}

.border-tertiary {
    border: 2px solid var(--surface-tertiary) !important;
}

.border-dashed-tertiary {
    border: 2px dashed var(--surface-tertiary) !important;
}

.border-accent-1 {
    border: 2px solid var(--surface-accent-1) !important;
}

.border-dashed-accent-1 {
    border: 2px dashed var(--surface-accent-1) !important;
}

.border-accent-2 {
    border: 2px solid var(--surface-accent-2) !important;
}

.border-dashed-accent-2 {
    border: 2px dashed var(--surface-accent-2) !important;
}

/* ======================================================
   23. UTILITY OVERRIDES & HELPERS
====================================================== */
@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;
    }
}

#wp-admin-bar-enable-jquery-migrate-helper {
    display: none;
}

#header-wrap {
		visibility: visible;
}

/* ------------------------------------------------ */
/* Fade-In part 1... add this code first      BEGIN */
/* *** Put in SiteOrigin CSS at very end ***        */
/* ------------------------------------------------ */
body #page-wrapper #menu-column,
body #page-wrapper #content-column,
body #page-wrapper #content-column #header-wrap {
    opacity: 1;
    -webkit-animation-name: fadeInOpacity;
            animation-name: fadeInOpacity;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
}

@-webkit-keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
/* ----------------------------------------------- */
/* Fade-In part 1... add this code first      END  */
/* ----------------------------------------------- */