/**
Theme Name: generationshomeloans
Author: DeltaV Digital
Author URI: https://www.deltavdigital.com/
Description: Custom Astra child Theme 
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: generationshomeloans
Template: astra
*/

:root {
	--form-field-border: #999999;
	--form-field-background: #e6e6e6;
	--outline-color: #1A73E8;
	--ma-post--background: #eae6e1;
	--transition-3: all .3s ease-in-out;
}

/*********************** TEMP ****************************/

.light-bg .mortgage-advisor-filter.dark-bg .advisor-name a,
.light-bg .mortgage-advisor-filter.dark-bg .advisor-card p,
.light-bg .mortgage-advisor-filter.dark-bg .advisor-card p {
    color: var(--ast-global-color-1) !important;
}

.cky-btn.cky-btn-accept {
    background: var(--ast-global-color-1) !important;
    color: var(--ast-global-color-5) !important;
    border: 2px solid var(--ast-global-color-1) !important;
	transition: var(--transition-3) !important;
}

.cky-btn.cky-btn-reject,
.cky-btn.cky-btn-customize {
    color: var(--ast-global-color-1) !important;
    border: 2px solid var(--ast-global-color-1) !important;
	transition: var(--transition-3);
}

/********************** Make Live Search works ***********/

.ast-builder-layout-element.ast-header-search {
	display: none;
}

/********************** Astra Fix ************************/

.ast-row .blog-layout-4 .post-content.ast-grid-common-col {
    position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
}

.ast-row .blog-layout-4 .entry-title,
.ast-row .blog-layout-4 .ast-excerpt-container.ast-blog-single-element {
    margin-bottom: 1em;
}

.search.search-results .ast-separate-posts.ast-article-post {
    margin-bottom: 4em;
}

.same-font-size h2,
.same-font-size h3 {
    font-family: Lato, sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
}

.same-font-size.small-mb h2,
.same-font-size.small-mb h3 {
    margin-bottom: .5em;
}

.single.single-locations.ast-separate-container #primary {
    padding: 0;
}

.so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header .sow-accordion-open-close-button {
    margin-left: 1rem;
}

.so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header .sow-accordion-open-close-button .sow-icon-ionicons[data-sow-icon]:before {
    font-size: 1.5rem;
}

@media (max-width: 1356px) {
	#ast-desktop-header .main-header-menu .menu-link, .main-header-menu>a {
		padding: 0 10px;
		font-size: 14px;
	}
	
	header #ast-desktop-header .custom-logo-link img {
		width: 100% !important;
	}
}

@media (max-width: 1200px) {
    #ast-desktop-header {
        display: none;
    }
	
	#ast-mobile-header {
		display: block;
	}
	
	#masthead .ast-mobile-header-wrap .ast-primary-header-bar {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/*********************** a11y ****************************/

.ast-custom-button-link:focus-visible {
	display: block;
}

/**************** Brand Styling **************************/

body::-webkit-scrollbar {
  width: 12px;             
}

body::-webkit-scrollbar-track {
  background: var(--ast-global-color-1);        
}

body::-webkit-scrollbar-thumb {
  background-color: var(--ast-global-color-8);  
  border-radius: 20px;      
  border: 2px solid var(--ast-global-color-1);  
  transition: var(--transition-3);
}

body::-webkit-scrollbar-thumb:hover {
  background-color: var(--ast-global-color-0);  
}

@media (min-width: 1025px) {
	.h3-small h3.sow-headline {
		font-size: 32px;
	}
}

.brand-img-wide img {
	aspect-ratio: 3/2;
	object-fit: cover;
}

.white-h3 h3 {
	color: var(--ast-global-color-4);
}

.calc-features .sow-features-list > .sow-features-feature .sow-features-feature-right-left-container {
    gap: 1rem;
}

.calc-features .sow-features-list > .sow-features-feature .sow-features-feature-title {
	margin: 0 0 .75rem;
	transition: 0.2s ease-in-out;
}

.calc-features .sow-features-list > .sow-features-feature:hover .sow-features-feature-title {
	color: var(--ast-global-color-0);
}

.calc-features .sow-features-list > .sow-features-feature .sow-features-feature-linked-column {
	z-index: 2;
}

.so-widget-sow-features-default-acbcb6b5d0a9-194 .sow-features-list .sow-features-feature .sow-features-feature-title, .so-widget-sow-features-default-acbcb6b5d0a9-194 .sow-features-list .sow-features-feature .sow-features-feature-text, .so-widget-sow-features-default-acbcb6b5d0a9-194 .sow-features-list .sow-features-feature .sow-icon-container

/**************** Custom container width *****************/

.width-480,
.sub-heading-width-480 .sow-sub-headline {
	max-width: 480px;
}

.width-576,
.sub-heading-width-576 .sow-sub-headline {
	max-width: 576px;
}

.width-780,
.sub-heading-width-780 .sow-sub-headline {
	max-width: 780px;
}

.width-992,
.sub-heading-width-992 .sow-sub-headline {
	max-width: 992px;
}

.width-1024,
.sub-heading-width-1024 .sow-sub-headline {
	max-width: 1024px;
}

/* Shared centering */
.width-480,
.width-576,
.width-780,
.width-992,
.width-1024,
.sub-heading-width-480 .sow-sub-headline,
.sub-heading-width-576 .sow-sub-headline,
.sub-heading-width-780 .sow-sub-headline,
.sub-heading-width-992 .sow-sub-headline,
.sub-heading-width-1024 .sow-sub-headline {
	margin-left: auto;
	margin-right: auto;
}

/**************** Mortgage Advisor CPT ******************/

.single-mortgage-advisor .cpt-item__thumb-img img,
.single-ghl-team .cpt-item__thumb-img img {
	width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.single-mortgage-advisor.ast-separate-container .ast-article-post, 
.single-mortgage-advisor.ast-separate-container .ast-article-single:not(.ast-related-post) {
	background-color: unset;
}

.single-mortgage-advisor {
	background-color: var(--ma-post--background);
}

.ma-socials .social-media-button-container a.sow-social-media-button {
	width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
	margin: 0 20px 0 0;
}

.ma-socials .social-media-button-container a.sow-social-media-button:last-of-type {
	margin: 0;
}

.single-mortgage-advisor.ast-separate-container #primary,
.single-office.ast-separate-container #primary {
    padding: 0;
}

@media (min-width: 1025px) {
    .single-mortgage-advisor .ast-container {
        max-width: 1080px;
    }
}

/************* MA testimonials ****************************/

.single-mortgage-advisor .testimonials-carousel .slick-track {
    display: flex;
    align-items: stretch;
}

.single-mortgage-advisor .testimonials-carousel .sow-carousel-items .sow-carousel-item {
    height: auto !important;
	display: flex !important;
    flex-direction: column;
    justify-content: center;
}

.single-mortgage-advisor .testimonials-carousel .sow-carousel-items .sow-carousel-item h4.sow-carousel-item-title {
	font-family: 'Lato', sans-serif !important; 
    font-weight: 500 !important; 
    font-size: 20px !important; 
	line-height: 1.5em;
}

/************** VM Testimonials V2 **********************/

.single-mortgage-advisor .reviews-carousel .slick-track {
    display: flex;
    align-items: stretch;
}

.reviews-carousel .sow-carousel-items .sow-carousel-item {
    height: auto !important;
	display: flex !important;
    flex-direction: column;
    justify-content: center;
	text-align: center;
}

.reviews-carousel .sow-carousel-items .sow-carousel-item .sow-carousel-content {
    font-size: 20px; 
	line-height: 1.5em;
}

.reviews-carousel .sow-carousel-items .sow-carousel-item p:last-of-type {
    font-size: 16px; 
}

/*************** Apply Popup ****************************/

.apply-tabs .sow-tabs-tab .sow-tabs-title > span[data-sow-icon] {
	color: transparent;
	transition: color .2s ease-in-out;
}

.apply-tabs .sow-tabs-tab.sow-tabs-tab-selected .sow-tabs-title > span[data-sow-icon] {
	color: var(--ast-global-color-0);
}

.apply-tabs .so-widget-sow-tabs .sow-tabs .sow-tabs-tab-container {
    justify-content: space-evenly;
}

.apply-tabs .so-widget-sow-tabs .sow-tabs .search-submit.ast-search-submit,
.apply-tabs .so-widget-sow-tabs .sow-tabs .search-submit,
.apply-tabs .so-widget-sow-tabs .sow-tabs .ast-live-search-results .ast-search--posttype-heading  {
	display: none;
}

.apply-tabs .so-widget-sow-tabs .sow-tabs .search-form input[type="search"].search-field {
    border-right: 1px solid;
}

.apply-tabs .so-widget-sow-tabs .sow-tabs .ow-button-base .sowb-button {
	padding: 16px 16px 16px 32px;
}

.apply-tabs .so-widget-sow-tabs .sow-tabs .ow-button-base .sowb-button:hover {
	padding: 16px 32px 16px 32px;
    transform: scale(1.075);
}

.apply-tabs .ast-live-search-results {
    top: -5px !important;
    transform: translateY(-100%) !important;
}

#popmake-691.pum-container.popmake {
    height: 100%;
    max-height: calc(100vh - 40px);
    top: 20px !important;
    margin-bottom: 0;
	overflow: hidden;
}

#popmake-691 .pum-content, 
#popmake-691 .pum-theme-lightbox .pum-content {
    height: calc(100% - 40px);
    overflow-y: scroll;
	margin-right: -20px;
	padding: 0 10px 10px 0;	
}

.pum-container .pum-title {
    margin-bottom: .25em;
}

.pum-content.popmake-content {
    scrollbar-width: thin;
    scrollbar-color: #e89524 #e5e5e5;
}

/* Webkit browsers (Chrome, Safari, Edge) */
.pum-content.popmake-content::-webkit-scrollbar {
    width: 8px;
}

.pum-content.popmake-content::-webkit-scrollbar-track {
    background: #F0F5FA;
    border-radius: 4px;
}

.pum-content.popmake-content::-webkit-scrollbar-thumb {
    background: #194c4d;
    border-radius: 4px;
}

.pum-content.popmake-content::-webkit-scrollbar-thumb:hover {
    background: #0d2a38;
}

@media (max-width: 780px) {
	#popmake-691 .pum-content, 
	#popmake-691 .pum-theme-lightbox .pum-content {
		padding: 0 20px 10px 0;	
	}

	.pum-container .pum-title {
		font-size: 1.5rem;
	}
}

@media (max-width: 480px) {
	#popmake-691 .pum-content, 
	#popmake-691 .pum-theme-lightbox .pum-content {
		padding: 0 15px 10px 0;	
	}

	.pum-container .pum-title {
		font-size: 1.25rem;
	}
	
	#apply-popup .sow-headline {
		font-size: 24px;
	}
	
	#apply-popup .sow-tabs .sow-tabs-panel-container .sow-tabs-panel {
		padding: 30px 0px 10px 0px;
	}
	
	#apply-popup .sow-tabs .sow-tabs-panel-container .sow-tabs-panel .sow-headline-container p.sow-headline {
		font-size: 18px;
	}
}

/* ========= Gravity Forms — Chosen dropdown (Generation Home Loans) ==== */

.gform_wrapper .gfield.mortgage-advisor .gfield_label {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-single {
    display: flex;
    align-items: center;
    width: 100%;
    height: 48px;
    padding: 0 44px 0 18px;
    font-size: 16px;
    color: var(--ast-global-color-7);
    background: var(--ast-global-color-4);
    border: 1px solid var(--form-field-border, #d6d9de);
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-single span {
    margin: 0;
    font-size: 15px;
    line-height: 1;
    color: var(--ast-global-color-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-default span {
    color: var(--ast-global-color-1);
}

/* Custom caret — replaces Chosen's sprite */
.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-single {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important;
    background-size: 12px 8px !important;
}

/* Hide Chosen's built-in arrow markup */
.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-single > div {
    display: none !important;
}

/* Flip caret when open */
.gform_wrapper .mortgage-advisor .chosen-container-active.chosen-with-drop .chosen-single {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 6.5L6 1.5L11 6.5' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
}

/* Active / focused */
.gform_wrapper .mortgage-advisor .chosen-container-active .chosen-single {
    border-color: var(--ast-global-color-1, #2a4a3e);
    box-shadow: 0 0 0 3px rgba(42, 74, 62, 0.08);
}

.gform_wrapper .mortgage-advisor .chosen-container-active.chosen-with-drop .chosen-single {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    background-color: var(--form-field-background, #fff);
}

/* =========================================================
   Dropdown panel
   ========================================================= */
.gform_wrapper .mortgage-advisor .chosen-container .chosen-drop {
    margin-top: 6px;
    background: #fff;
    border: 1px solid var(--form-field-border, #d6d9de);
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

/* =========================================================
   Search field inside dropdown — ONE icon only
   Kills Chosen's repeating sprite and paints a single inline SVG
   ========================================================= */
.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-search {
    position: relative;
    padding: 10px 12px;
    background: #fff;
    border-bottom: 1px solid #eef0f3;
}

.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-search input[type="text"] {
    width: 100%;
    height: 40px;
    padding: 0 14px 0 38px;
    font-size: 14px;
    color: var(--ast-global-color-1);
    background-color: #f6f7f9;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: left 12px center !important;
    background-size: 14px 14px !important;
    border: 1px solid transparent;
    border-radius: 4px;
    outline: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.gform_wrapper .mortgage-advisor .chosen-container-single .chosen-search input[type="text"]:focus {
    border-color: var(--ast-global-color-1, #2a4a3e);
    background-color: #fff;
}

/* =========================================================
   Results list
   ========================================================= */
.gform_wrapper .mortgage-advisor .chosen-container .chosen-results {
    margin: 6px 0;
    padding: 0;
    max-height: 300px;
    color: var(--ast-global-color-1);
}

.gform_wrapper .mortgage-advisor .chosen-container .chosen-results li {
    padding: 10px 18px;
    font-size: 16px;
    line-height: 1.4;
    color: var(--ast-global-color-1);
}

.gform_wrapper .mortgage-advisor .chosen-container .chosen-results li.highlighted {
    background: rgba(42, 74, 62, 0.08);
    color: var(--ast-global-color-2);
}

.gform_wrapper .mortgage-advisor .chosen-container .chosen-results li.result-selected {
    font-weight: 600;
    color: var(--ast-global-color-2);
    background: #fff;
}

.gform_wrapper .mortgage-advisor .chosen-container .chosen-results li.result-selected.highlighted {
    background: rgba(42, 74, 62, 0.08);
}

/* Hide placeholder option in results */
.gform_wrapper .mortgage-advisor .chosen-container .chosen-results li.gf_placeholder {
    display: none;
}

.gform_wrapper .mortgage-advisor .chosen-container .chosen-results li.no-results {
    padding: 12px 18px;
    font-size: 14px;
    color: var(--ast-global-color-6, #6c757d);
    background: #f6f7f9;
}

/* Emphasized match text (Chosen wraps matching chars in <em>) */
.gform_wrapper .mortgage-advisor .chosen-container .chosen-results em {
    font-style: normal;
    font-weight: 700;
    background: transparent;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 480px) {
    .gform_wrapper .mortgage-advisor .chosen-container-single .chosen-single {
        height: 44px;
        padding: 0 40px 0 16px;
    }
	
	.gform_wrapper .mortgage-advisor .chosen-container .chosen-results li {
		padding: 8px 16px;
		font-size: 14px;
	}
}

/*************** Ofice CPT ******************************/

.single-office .cpt-item__thumb-img img {
	width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/*************** FacetWP ********************************/

/***** test tepm ***********/

.main-filters .facetwp-facet-search_by_address_of_zip .facetwp-input-wrap {
    min-width: calc(100% - 263px);
}

.advanced-filters .sow-accordion {
	position: relative;
}

.advanced-filters .sow-accordion-panel-header-container {
	width: fit-content;
	position: absolute;
	top: -84px;
	right: 0;
}

.advanced-filters .so-widget-sow-accordion .sow-accordion .sow-accordion-panel {
    border-bottom: unset;
}

.advanced-filters .sow-accordion-panel-header-container .sow-accordion-panel-header {
	gap: 15px;
}

.advanced-filters .sow-accordion-panel-header-container .sow-accordion-panel-header .sow-icon-ionicons {
	filter: brightness(0) saturate(100%) invert(11%) sepia(7%) saturate(5653%) hue-rotate(157deg) brightness(102%) contrast(92%);
}

/***************************/

.facet-filters {
	display: flex;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 70px;
    align-items: flex-start;
}

.facet-filters .facetwp-facet-choose_location.facetwp-type-hierarchy .facetwp-depth {
	display: flex;
    margin-left: 0;
	gap: 12px;
}

.facetwp-facet-search.facetwp-type-search {
	position: relative;
	margin-bottom: 0;
}

.facetwp-facet-search_for_your_advisor.facetwp-type-search {
    display: flex;
    margin-bottom: 4rem;
    justify-content: center;
}

.facetwp-facet-search_for_your_advisor.facetwp-type-search .facetwp-search {
    min-width: 347px;
}

.facetwp-facet-search_for_your_advisor.facetwp-type-search .facetwp-search,
.facetwp-facet-search.facetwp-type-search .facetwp-search {
	height: 44px;
	border-radius: 0;
	background-color: var(--form-field-background);
	border: 1px solid var(--form-field-border);
}

.facetwp-facet-search_for_your_advisor.facetwp-type-search .facetwp-search:focus,
.facetwp-facet-search.facetwp-type-search .facetwp-search:focus {
	background-color: var(--ast-global-color-4);
	color: var(--ast-global-color-1);
}

.facetwp-facet-search_for_your_advisor.facetwp-type-search .facetwp-icon,
.facetwp-facet-search.facetwp-type-search .facetwp-icon {
    display: flex;
    align-items: center;
    margin-right: 10px;
	transition: opacity .2s ease-in-out;
}


.facetwp-facet-search_for_your_advisor.facetwp-type-search .facetwp-input-wrap:hover .facetwp-icon,
.facetwp-facet-search.facetwp-type-search .facetwp-input-wrap:hover .facetwp-icon {
    opacity: 1;
}

.facetwp-facet-search_for_your_advisor.facetwp-type-search .facetwp-icon:before,
.facetwp-facet-search.facetwp-type-search .facetwp-icon:before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 27px;
    background: url("/wp-content/themes/genshomeloans/assets/search-icon.svg") no-repeat center;
    background-size: contain;
}

.facetwp-facet-pager_load_more.facetwp-type-pager {
	display: flex;
    justify-content: center;
    margin-top: 50px;
}

.facetwp-load-more {
	display: inline-flex;
    align-items: center;
    background: var(--ast-global-color-8);
    color: var(--ast-global-color-1);
    height: 52px;
    padding: 2px 2px 2px 32px;
    text-decoration: none;
    line-height: 1rem;
    font-weight: 600;
    transition: all .2s ease-in-out;
}

.facetwp-load-more:hover {
	background: var(--ast-global-color-8);
    line-height: 1rem;
    padding: 2px 12px 2px 22px;
    transform: scale(1.075);
}

.facetwp-load-more:after {
    content: '';
    position: relative;
    display: block;
    height: 48px;
    width: 34px;
    left: -10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M160 115.4L180.7 96 352 256 180.7 416 160 396.7 310.5 256z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transition: all .2s ease-in-out;
}

.facetwp-load-more:hover:after {
    left: 6px;
    opacity: .5;
}

.facetwp-template .mortgage-advisor-filter:not(:first-of-type) {
	margin-top: 80px;
}

.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity {
    margin-bottom: 0;
    display: flex;
}

.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity .facetwp-location {
	height: 44px;
    border-radius: 0;
	background-color: var(--form-field-background);
	border: 1px solid var(--form-field-border);
}

.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity .facetwp-radius {
	height: 44px;
	max-width: 100px;
    border-radius: 0;
	background-color: var(--form-field-background);
	border: 1px solid var(--form-field-border);
    border-left: none;	
}

.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity .facetwp-location:focus,
.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity .facetwp-radius:focus {
	background-color: var(--ast-global-color-4);
	color: var(--ast-global-color-1);
}

.facetwp-icon.locate-me {
	transition: opacity .2s ease-in-out;
}

.facetwp-icon.locate-me:hover {
	opacity: 1;
}

.facetwp-counter {
    display: none !important;
}

.facetwp-type-radio {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    gap: 12px;
}

.facetwp-type-radio .facetwp-radio {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    background: var(--ast-global-color-1);
	font-size: 15px;
    color: var(--ast-global-color-4);
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid transparent;
}

.facetwp-type-radio .facetwp-radio:hover,
.facetwp-type-radio .facetwp-radio.checked {
    background: var(--ast-global-color-0);
    color: var(--ast-global-color-1);
}

.facetwp-type-radio .facetwp-radio span {
    pointer-events: none;
}

/* Dropdown */
.facetwp-facet.facetwp-type-dropdown {
    display: flex;
    justify-content: center;
	min-width: 372px;
    margin-bottom: 0;
}

.facetwp-facet.facetwp-type-dropdown .facetwp-dropdown {
    height: 44px;
    min-width: 240px;
    padding: 0 40px 0 16px;
    font-size: 15px;
    border-radius: 0;
    border: 1px solid var(--form-field-border);
    background-color: var(--form-field-background);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
}

.facetwp-facet.facetwp-type-dropdown .facetwp-dropdown:focus {
    background-color: var(--ast-global-color-4);
    color: var(--ast-global-color-1);
}

.facetwp-facet.facetwp-type-dropdown {
    position: relative;
}

.facetwp-facet.facetwp-type-dropdown:after {
    content: "";
    position: absolute;
    right: 16px;
	top: calc(50% - 2px);
    width: 12px;
    height: 12px;
    border-right: 1px solid var(--ast-global-color-1);
    border-bottom: 1px solid var(--ast-global-color-1);
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}

.facetwp-facet.facetwp-type-dropdown .facetwp-dropdown:hover {
    border-color: var(--ast-global-color-2);
}

/* Container layout */
.facetwp-facet-choose_location {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

/* Each state button */
.facetwp-facet-choose_location .facetwp-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    background: var(--ast-global-color-1);
    font-size: 14px;
    color: var(--ast-global-color-4);
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid transparent;
    text-decoration: none;
}

/* Hover */
.facetwp-facet-choose_location .facetwp-link:hover {
    background: var(--ast-global-color-0);
    color: var(--ast-global-color-1);
}

/* Active state */
.facetwp-facet-choose_location .facetwp-link.checked {
    background: var(--ast-global-color-0);
    color: var(--ast-global-color-1);
}

@media only screen and (max-width: 780px) {
	.facetwp-template .mortgage-advisor-filter:not(:first-of-type) {
		margin-top: 40px;
	}
	
	.facetwp-facet-search_for_your_advisor.facetwp-type-search .facetwp-search {
		min-width: 240px;
	}
}

@media only screen and (max-width: 480px) {
	.facet-filters * {
		font-size: 14px;
	}
	
	.facetwp-facet.facetwp-type-dropdown,
	.facetwp-facet.facetwp-facet-search .facetwp-input-wrap  {
		min-width: 330px;		
	}
	
	.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity .facetwp-location {
		min-width: 255px;
	}
	
	.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity .facetwp-radius {
		max-width: 75px;
		padding-left: 5px;
		padding-right: 10px;
	}
}

@media only screen and (max-width: 375px) {
	.facetwp-facet-search_by_address_of_zip.facetwp-type-proximity .facetwp-location {
		min-width: 225px;
	}
	
	.facetwp-facet.facetwp-type-dropdown,
	.facetwp-facet.facetwp-facet-search .facetwp-input-wrap {
		min-width: 300px;
	}
}

.facet-filters .facetwp-facet.facetwp-facet-reset {
	margin-bottom: 0;
}

.facetwp-reset {
    padding: 14px 30px;
	margin-left: auto;
    display: flex;
	min-width: 157px;
    justify-content: center;
}

/*************** Default Search Filed *******************/

.no-results.not-found {
    max-width: 780px;
    margin: auto;
    text-align: center;
}

.search-form {
    display: flex;
}

.search-form label {
    display: flex;
    flex: 1;
	gap: .5rem;
}

.search-form input[type="search"].search-field {
    flex: 1;
    border: 1px solid var(--form-field-border);
    border-right: none;
    padding: 10px;
	border-radius: 0;
}

.search-form input[type="submit"].search-submit {
	text-decoration: none;
	transition: all .2s ease-in-out;
}

.search-form input[type="submit"].search-submit {
    position: relative;
    width: fit-content;
    display: flex;
    align-items: center;
    height: 40px;
    font-weight: 600;
    padding: 7px 30px 9px 30px;
}

.search-form input[type="submit"].search-submit:hover {
	color: var(--ast-global-color-2);
	transform: scale(1.1);
}

.siteorigin-widget-tinymce .search-form .ast-live-search-results .ast-search--posttype-heading {
	font-weight: 700;
}

.siteorigin-widget-tinymce .search-form .ast-live-search-results a.ast-search-item  {
	position: relative;
    text-decoration: none;
	padding: 8px 20px 8px 30px;
}

.siteorigin-widget-tinymce .search-form .ast-live-search-results .ast-search-item:before {
    position: absolute;
    top: 50%;
    left: 14px;
    content: "\25CF";
    color: var(--ast-global-color-8);
    font-size: 12px;
    line-height: 0;
    transform: translateY(-50%);
}

.siteorigin-widget-tinymce .search-form .ast-live-search-results a.ast-search-item:hover {
	color: var(--ast-global-color-2);
}

.siteorigin-widget-tinymce .search-form .ast-live-search-results a.ast-search-item:hover:before {
	color: var(--ast-global-color-0);
}

.search-submit.ast-search-submit i {
	display: none;
}

.ma-live-search {
	max-width: 480px;
	position: relative;
	z-index: 10;
}   

.ma-live-search .search-field {
	height: 44px;
	border-radius: 0;
	background-color: var(--form-field-background);
	border: 1px solid var(--form-field-border);
}

.ma-live-search .search-submit {
	min-height: 44px;
}

.search.search-results article {
	padding: 0 1em 0;
}     

/*************** Light Box ******************************/

.fancybox-close, 
.fancybox-prev span, 
.fancybox-next span {
	background-image: unset;
    display: flex;
    justify-content: center;
    align-items: center;	
    background-color: var(--ast-global-color-0);
}

.fancybox-prev span:after {
    content: "\e600";
	-webkit-font-smoothing: antialiased;
    font-family: 'anything-carousel-arrows';
    color: var(--ast-global-color-1);
	margin-top: 2px;
}

.fancybox-next span:after {
    content: "\e601";
	-webkit-font-smoothing: antialiased;
    font-family: 'anything-carousel-arrows';
    color: var(--ast-global-color-1);
	margin-top: 2px;
}

.fancybox-close:after {
	content: "✕";
	-webkit-font-smoothing: antialiased;
    font-family: 'anything-carousel-arrows';
    color: var(--ast-global-color-1);
	font-weight: 700;
	margin-bottom: 2px;
}

/*************** SO Fix *********************************/

.square-img .sow-image-container .so-widget-image {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.sidebar-main article.post {
	padding: 0;
}

.sidebar-main article.post .ast-grid-common-col {
    padding-left: 0;
    padding-right: 0;
}

.post-template-default.single .site-content .content-area h2 { font-size: 30px; margin-top: 0; }
.post-template-default.single .site-content .content-area h3 { font-size: 24px; margin-top: 0; }
.post-template-default.single .site-content .content-area h4 { font-size: 19px; margin-top: 0; }
.post-template-default.single .site-content .content-area h5 { font-size: 15px; margin-top: 0; }
.post-template-default.single .site-content .content-area h6 { font-size: 13px; margin-top: 0; }

.sidebar-main article {
    margin-bottom: 50px;
}

.sidebar-main .so-blog-image {
    overflow: hidden;
}

.sidebar-main .so-blog-image img {
    width: 100%;
    height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transform: scale(1.01);
	transition: all .3s ease-in-out;
}

.sidebar-main .so-blog-image img:hover {
    transform: scale(1.1);
}

.sidebar-main .so-blog-tags {
    font-size: 15px;
    margin: 8px 0;
}

.sidebar-main .so-blog-title {
    font-size: 24px;
    margin: 0;
}

.sidebar-main .so-blog-content .so-blog-title:first-child {
    margin-top: 8px;
}

li.ast-post-filter-single {
	box-shadow: none;
    border: 2px solid var(--ast-global-color-4);
	transition: all .2s ease-in-out;
}

li.ast-post-filter-single:hover,
li.ast-post-filter-single.active {
    border-color: var(--ast-global-color-8);
}

#terms .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header,
#terms .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header:focus, 
#terms .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header:hover,
#terms .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-content .sow-accordion-panel-border {
    background-color: transparent;
	transition: color .3 ease-in-out;
}

.ast-terms-link .ast-button.ast-badge-tax {
	background-color: transparent;
	box-shadow: none;
	border-radius: 0;
    border: 2px solid var(--ast-global-color-8);
	transition: all .2s ease-in-out;
}

.ast-terms-link .ast-button.ast-badge-tax:hover {
    border: 2px solid var(--ast-global-color-1);
}

/* Only single post header */
.single-post .entry-header {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "image image"
        "tags author"
        "meta time"
        "title title";
    gap: 12px;
}

/* Assign grid areas */
.single-post.post-template-default .post-thumb {
    grid-area: image;
}

.single-post.post-template-default .ast-terms-link {
    grid-area: tags;
    margin-bottom: 0 !important;
}

.single-post.post-template-default .post-reading-time {
    grid-area: time;
    text-align: right;
    align-self: center;
	margin-bottom: 0;
}

.single-post.post-template-default .post-author {
    grid-area: author;
    text-align: right;
    align-self: center;
	margin-bottom: 0;
}

.single-post.post-template-default .post-author .post-author-label,
.post-custom-terms .post-author-label {
	color: var(--ast-global-color-3);
}

.post-author-label a {
	font-weight: 600;
}

.single-post.post-template-default .entry-meta {
    grid-area: meta;
	margin-bottom: 0;
	align-self: center;
}

.single-post.post-template-default .entry-title {
    grid-area: title;
	margin-top: 2rem;
}

@media only screen and (max-width: 480px) {
	.single-post .entry-header {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"image image"
			"tags tags"
			"author author"
			"meta time"
			"title title";
		gap: 12px;
	}
	
	.single-post.post-template-default .post-author {
		text-align: left;
	}
}

.news-button {
	font-weight: 700;
	display: inline-block;
	margin-top: 50px;
}

.ast-grid-common-col .ast-blog-single-element .entry-meta {
    margin-bottom: 10px;
}

.ast-grid-common-col .entry-title a:hover {
	color: var(--ast-global-color-0);
}

.ast-grid-common-col .ast-blog-single-element .entry-meta .posted-by.author span {
	transition: color .2s ease-in-out;
}

.ast-blog-layout-4-grid .ast-article-inner, 
.ast-blog-layout-5-grid .ast-article-inner, 
.ast-blog-layout-6-grid .ast-article-inner {
    box-shadow: none;
	border-radius: 0 !important;
	padding: 0;
}

/* Make the parent container grid */
.blog-layout-4 .post-content {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
}

.blog-layout-4 .post-content > * {
    grid-column: 1 / 3;
}

.ast-blog-featured-section.post-thumb {
	position: relative;
	aspect-ratio: 3 / 2;
}

.post-content .ast-blog-meta-container {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
    margin-bottom: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.post-content .custom-post-terms {
	grid-column: 2/3;
    justify-self: end;
	grid-row: 4/5;
}

.post-custom-terms {
    grid-column: 2 / 3 !important;
    grid-row: 4 / 5;
    text-align: end;
    margin-bottom: 6px;
    height: 100%;
}

.post-content .post-reading-time {
	font-size: 15px;
	font-weight: 600;
}

.post-custom-terms .post-author {
	margin-bottom: 0;
	font-size: 15px;
}

/*************** Header Settings ************************/

#masthead .ast-container {
    max-width: 1400px;
    padding-left: 35px;
    padding-right: 35px;
}

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
    line-height: 20px;
}

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item:not(:last-of-type) > .menu-link:after {
	content: '';
	position: absolute;
	display: block;
	height: 20px;
    width: 0;
	top: 50%;
	right: 0;
    border-right: 2px solid var(--ast-global-color-0);
	transform: translateY(-50%);
}

/*************** Default Astra Button Styling ***********/

.site button.ast-button,
.site .ast-custom-button {
    display: flex;
    align-items: center;
	height: 52px;
	padding: 0 2px 2px 32px !important;
	line-height: 1em;
	font-weight: 600;
	transition: all .2s ease-in-out;
}

.site button.ast-button:hover,
.site .ast-custom-button:hover {
	line-height: 1em;
	padding: 0 12px 2px 22px !important;
	transform: scale(1.075);
}

.site button.ast-button:after,
.site .ast-custom-button:after {
	content: '';
	position: relative;
	display: block;
	height: 48px;
    width: 34px;
    left: -10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M160 115.4L180.7 96 352 256 180.7 416 160 396.7 310.5 256z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
	background-size: cover;
	opacity: 0;
	transition: all .2s ease-in-out;
}

.site button.ast-button:hover:after,
.site .ast-custom-button:hover:after {
    left: 6px;
	opacity: .5;
}

/*************** PageBuilder Button Styling ***********/

.site a.sowb-button {
	text-decoration: none;
	transition: all .2s ease-in-out;
}

.site a.sowb-button.ow-icon-placement-right {
	position: relative;
	width: fit-content;
	display: flex;
    align-items: center;
	height: 52px;
	font-weight: 600;
	padding: 9px 14px 11px 30px;
}

.site a.sowb-button.ow-icon-placement-right:hover {
	padding: 9px 24px 11px 20px;
}

.site .so-widget-sow-button .ow-button-base {
	width: fit-content;
	transform: scale(1);
	transition: all .2s ease-in-out;
}

.site .ow-button-base.ow-button-align-center {
	margin: auto;
}

.site .ow-button-base.ow-button-align-right {
	margin-left: auto;
}

.site .so-widget-sow-button .ow-button-base:hover {
	transform: scale(1.075);
}

.so-widget-sow-button .ow-button-base a.sowb-button.ow-icon-placement-right > span [class^="sow-icon-"] {
	margin: 1px 4px -1px -4px;
    line-height: 1rem;
    height: 1rem;
    opacity: 0;
	transition: all .2s ease-in-out;
}

.so-widget-sow-button .ow-button-base a.sowb-button.ow-icon-placement-right:hover > span [class^="sow-icon-"] {
	margin: 1px -12px -1px 12px;
    opacity: .5;
}

.widget_sow-button [class*="so-widget-sow-button-wire-"] .sowb-button > span {
  color: var(--ast-global-color-1);
}

@media only screen and (max-width: 780px) {
	.centered-img-mob .so-widget-sow-image > .sow-image-container {
		justify-content: center;
	}
}

/******************* Grid Buttons **********************/

.widget_sow-button-grid .so-widget-sow-button-grid .sow-buttons-grid {
    grid-template-columns: fit-content(100%) fit-content(100%);
}

.widget_sow-button-grid .centered-btns .so-widget-sow-button-grid .sow-buttons-grid {
    justify-content: center;
}

@media only screen and (max-width: 780px) {
	.centered-btns-mob .so-widget-sow-button {
		display: flex;
		justify-content: center;
	}
	
	.widget_sow-button-grid .centered-btns-mob .so-widget-sow-button-grid .sow-buttons-grid {
		justify-content: center;
	}
	
	.widget_sow-button-grid .ow-button-base .sowb-button {
		min-width: 165px;
		justify-content: center;
	}
}

@media only screen and (max-width: 480px) {
	.widget_sow-button-grid .so-widget-sow-button-grid .sow-buttons-grid {
		grid-template-columns: repeat(1, minmax(100px, 1fr));
		justify-items: center;
	}
}

/******************** Homehero *************************/

.homehero .homehero-slide,
.brand-hero {
	min-height: calc(100vh - 120px);
	background-position: bottom center;
}

.admin-bar .homehero .homehero-slide,
.admin-bar .brand-hero  {
	min-height: calc(100vh - 152px);
	height: 100%;
}

.homehero .sow-carousel-wrapper {
	position: relative;
}

.homehero .sow-carousel-wrapper .slick-track {
    display: flex;
    align-items: stretch;
}

.homehero .sow-carousel-wrapper .slick-track .sow-carousel-item.slick-slide {
    height: auto;
}

.homehero .sow-carousel-wrapper .slick-track .sow-carousel-item.slick-slide .sow-carousel-content,
.homehero .sow-carousel-wrapper .slick-track .sow-carousel-item.slick-slide .sow-carousel-content .panel-layout,
.homehero .sow-carousel-wrapper .slick-track .sow-carousel-item.slick-slide .sow-carousel-content .panel-grid {
	height: 100%;
}

.homehero .so-widget-sow-anything-carousel .sow-carousel-container  .sow-carousel-wrapper .slick-dots {
	position: absolute;
	bottom: 20px;
	display: flex;
    justify-content: center;
    gap: 12px;
	z-index: 1;
}

.homehero .so-widget-sow-anything-carousel .sow-carousel-container  .sow-carousel-wrapper .slick-dots li button:before {
	content: "";
}

.homehero .so-widget-sow-anything-carousel .sow-carousel-container  .sow-carousel-wrapper .slick-dots li button {
	border: 1px solid transparent;
	height: 12px;
    width: 12px;
    border-radius: 50%;
    background-color: white;
	opacity: 0.55;
	transition: all .2s ease-in-out;
}

.homehero .so-widget-sow-anything-carousel .sow-carousel-container  .sow-carousel-wrapper .slick-dots li.slick-active button,
.homehero .so-widget-sow-anything-carousel .sow-carousel-container  .sow-carousel-wrapper .slick-dots li:hover button {
	opacity: 0.75;
	border: 2px solid black;
}

.homehero .homehero-slide > .panel-grid-cell,
.brand-hero > .panel-grid-cell {
	display: inline-flex;
    align-items: center;
	flex-direction: column;
    justify-content: center;
	max-width: 670px;
	margin: 0 auto;
	padding: 100px 20px 150px;
	background: linear-gradient( to bottom, rgba(13, 42, 56, 1) 0%, rgba(25, 76, 77, 0) 100% );
}

.brand-hero > .panel-grid-cell {
	padding: 50px 20px 149px
}

.brand-hero .sow-headline-container {
    text-shadow: 0 0 10px var(--ast-global-color-2);
}

.homehero .sow-carousel-container {
    position: relative;
}

.homehero .sow-carousel-container .sow-carousel-navigation {
	position: absolute;
	top: 50%;
	z-index: 10;
}

.homehero .sow-carousel-container .sow-carousel-navigation a {
	font-size: 32px;
	border-radius: 0;
    border: unset;
}

.homehero .sow-carousel-container .sow-carousel-navigation.sow-carousel-navigation-prev {
	left: 20px;
}

.homehero .sow-carousel-container .sow-carousel-navigation.sow-carousel-navigation-next {
	right: 20px;
}

.homehero .so-widget-sow-anything-carousel > .sow-carousel-container .sow-carousel-navigation a {
	font-size: 32px;
	border-radius: 0;
    border: unset;
	color: var(--ast-global-color-4);
	opacity: .5;
}

.homehero .so-widget-sow-anything-carousel > .sow-carousel-container .sow-carousel-navigation a:hover {
	opacity: 1;
}

@media only screen and (min-width: 1366px) {
	.homehero .homehero-slide > .panel-grid-cell,
	.brand-hero > .panel-grid-cell {
		max-width: 750px;
	}
}

.homehero .widget_sow-headline {
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

@media only screen and (max-width: 780px) {
	.homehero .homehero-slide > .panel-grid-cell,
	.brand-hero > .panel-grid-cell {
		padding: 50px 20px 100px !important;
	}
}

@media (max-width: 430px) {
	.homehero .homehero-slide > .panel-grid-cell,
	.brand-hero > .panel-grid-cell {
		padding: 50px 15px 100px !important;
	}
}

/******************** Brand Styling ***********************/

.brand-section {
	min-height: 100vh;
}

.guide-section {
	position: relative;
	min-height: 560px;
}

.guide-section:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 65%;
    height: 100%;
	background: #0D2A38;
	background: linear-gradient(90deg, rgb(13 42 56) 0%, rgb(13 42 56 / 50%) 65%, rgb(13 42 56 / 0%) 100%);
}

.testimonials-carousel .sow-carousel-item-title {
	text-align: center;
}

.testimonials-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-navigation a,
.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-navigation a {
    border: none;
    font-size: 32px;
	opacity: .5;
}

.testimonials-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots li button:before,
.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots li button:before {
	opacity: .5;
	transition: all .2s ease-in-out;
}

.testimonials-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-navigation a:hover,
.testimonials-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots li:hover button:before,
.testimonials-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots li.slick-active button:before,
.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-navigation a:hover,
.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots li:hover button:before,
.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots li.slick-active button:before {
	opacity: .75;
}

.testimonials-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots,
.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper .slick-dots {
    margin-top: 3rem;
}

.testimonials-carousel .so-widget-sow-anything-carousel .sow-carousel-container h4.sow-carousel-item-title,
.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container h4.sow-carousel-item-title {
    line-height: 1.5em;
}

@media only screen and (max-width: 480px) {	
	.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-navigation,
	.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-navigation {
		display: none;
	}
	
	.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper,
	.reviews-carousel .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper {
		padding: 0 1rem;
	}
}

/****************** Footer ******************************/

.site-footer .widget-title {
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 700;
	margin-bottom: 10px;
}

.site-footer .widget_nav_menu .menu .menu-item {
	margin-bottom: 10px;
}

.site-footer .widget_sow-social-media-buttons .sow-social-media-button {
	display: inline-flex;
    justify-content: center;
    align-items: center;
	width: 30px;
	height: 30px;
	padding: 0;
}

.site-footer .widget_sow-social-media-buttons .sow-social-media-button .sow-icon-fontawesome {
    font-size: 1.1em;
    padding-top: 1px;
}

.site-footer .widget_sow-features .sow-features-feature.sow-icon-container-position-right {
	align-items: center;
}

.ast-footer-copyright {
	margin-top: 14px;
}

.ast-footer-copyright a {
	color: var(--ast-global-color-4);
}

.footer-widget-area .menu > .menu-item.current-menu-item > .menu-link,
.ast-footer-copyright a:hover {
	color: var(--ast-global-color-0);
}

.siteorigin-widget-tinymce.textwidget p:last-of-type {
	margin-bottom: 0;
}

@media only screen and (max-width: 780px) {
	.site-footer .widget_sow-features .sow-features-feature.sow-icon-container-position-right {
		justify-content: center;
		margin-top: 30px;
	}
	
	#sow-button-3 .so-widget-sow-button {
		display: flex;
		justify-content: center;
		margin-top: 50px;
	}
}


/*************** List ********************/

.site-content .textwidget ul,
.site-content .checklist .sow-accordion ul {
    padding-left: 20px;
	margin-left: 0;
	list-style: none;
}

.site-content .textwidget ul li {
    margin-bottom: .5rem;
}

.site-content .tiny-list .textwidget ul {
    margin: .25rem 0;
}

.site-content .tiny-list .textwidget ul li {
    margin: 0 .25rem;
}

.site-content .textwidget ul li,
.site-content .checklist .sow-accordion ul li {    
    position: relative;
}

.site-content .textwidget ul li:before {    
	position: absolute;
    top: 8px;
    left: -20px;
    content: "\25CF";
    color: var(--ast-global-color-0);
    font-size: 12px;
    line-height: 1;
}

.site-content .textwidget ul ul li:before {    
	content: "\25CB";
}

.site-content .checklist .textwidget ul li:before,
.site-content .checklist .sow-accordion ul li:before  {
	position: absolute;
    top: 1px;
    left: -17px;
	content: "";
	display: inline-block;
	transform: rotate(45deg);
    height: 14px;
    width: 8px;
    border-bottom: 3px solid var(--ast-global-color-0);
    border-right: 3px solid var(--ast-global-color-0);
}

/******************** Page Style ****************************/

.pagehero {
	min-height: 320px;
}

.about-us > .panel-background-overlay {
	background-position: center 20% !important;
}

/******************** Accordion ********************************/

.so-widget-sow-accordion .widget-title {
	font-size: 38px;
	margin-bottom: 0;
}

.so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header .sow-accordion-title {
	display: block;
}

.so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header .sow-accordion-title:not(p) {
	font-weight: 700;
}

.so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header .sow-accordion-title span {
	display: inline-block;
    font-weight: 400;
    font-size: 1rem;
    margin-left: 10px;
    padding-top: 6px;
}

.so-widget-sow-accordion .sow-accordion .sow-accordion-panel {
    border-bottom: 1px solid var(--ast-global-color-8);
}

.sow-accordion-open-close-button .sow-icon-ionicons:before {
    color: var(--ast-global-color-8);
}

.so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-icon-container,
.so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-icon-container .sow-icon-image {
	width: 30px;
	height: 30px;
}

/******************** Contact Features *************************/

.contact-features .so-widget-sow-features .sow-features-list {
	max-width: 580px;
	margin: auto;
}

.contact-features .so-widget-sow-features .sow-features-feature .textwidget {
	display: flex;
	column-gap: 40px;
	min-height: 100px;
	padding-top: 32px;
}

.contact-features .so-widget-sow-features .sow-features-feature:not(:last-of-type) .textwidget {
	border-bottom: 1px solid var(--ast-global-color-8);
}

.contact-features .so-widget-sow-features .sow-features-feature .textwidget .sow-features-feature-title {
	width: calc(33% - 20px);
	text-align: right;
	margin: 0;
}

.contact-features .so-widget-sow-features .sow-features-feature .textwidget .sow-features-feature-text {
	width: calc(66% - 20px);
	max-width: 320px;
	text-align: left;
	padding-top: 3px;
}

.contact-features .so-widget-sow-features .sow-features-feature .textwidget .sow-features-feature-text a {
	text-decoration: none;
}

@media only screen and (max-width: 480px) {
	.contact-features .so-widget-sow-features .sow-features-feature .textwidget {
		flex-direction: column;
		row-gap: 1rem;
		padding-bottom: 32px;
	}
	
	.contact-features .so-widget-sow-features .sow-features-feature .textwidget .sow-features-feature-title,
	.contact-features .so-widget-sow-features .sow-features-feature .textwidget .sow-features-feature-text {
		width: 100%;
		max-width: unset;
		text-align: center;
		padding-top: 0;
	}	
}

/******************** Gravity Forms ****************************/

#field_2_10 {
    max-width: 330px;
    margin: auto;
}

/* Ask An Expert Form */
.gform-body.gform_body .gform_fields {
    gap: 25px;
}

.gform-body.gform_body .gform_fields .gfield_required,
.gform-body.gform_body .gform_fields #label_1_7_5 {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

.gform-theme--foundation .gform-grid-row {
    margin-inline: 0;
    gap: 13px;
}

/* .gform-theme--foundation .gform-grid-row .name_first {
    padding-left: 0;
}

.gform-theme--foundation .gform-grid-row .name_last {
    padding-right: 0;
}

@media only screen and (max-width: 640px) {
	.gform-theme--foundation .gform-grid-row .name_first,
	.gform-theme--foundation .gform-grid-row .name_last {
		padding-right: 0;
		padding-left: 0;
		padding-top: 10px;
	}
} */

.gform-body.gform_body input[type="text"],
.gform-body.gform_body input[type="email"],
.gform-body.gform_body input[type="tel"],
.gform-body.gform_body textarea,
.gform-body.gform_body select {
    width: 100%;
    background: var(--form-field-background);
    border: 1px solid var(--form-field-border);
    padding: 18px 20px;
    font-size: 16px;
    color: var(--ast-global-color-1);
    border-radius: 0;
    box-shadow: none;
}

.gform-body.gform_body textarea {
    min-height: 200px;
    resize: vertical;
}

.gform-body.gform_body input::placeholder,
.gform-body.gform_body textarea::placeholder {
    color: var(--ast-global-color-1);
    opacity: 0.9;
}

#gform_fields_1 #field_1_7 {
    max-width: 460px;
    margin: 30px auto;
    width: 100%;
}

#field_1_7 .gfield_radio {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 20px;
    margin-top: 20px;
	padding-left: 10%;
}

.gform-body.gform_body .gchoice .gfield-choice-input,
#gform_fields_1 .ginput_container_consent input {
	min-width: 20px;
	background: var(--form-field-background);
}

.gform-body.gform_body .ginput_container_consent input {
	border-radius: 0;
	min-width: 20px;
	background: var(--form-field-background);
}

.gform-theme--framework input[type=checkbox]:before {
    color: var(--ast-global-color-1) !important;
}

.gform-body.gform_body .ginput_container_consent input:checked,
.gform-body.gform_body .gchoice .gfield-choice-input:checked,
.gform-body.gform_body .ginput_container_consent input:checked {
	background-color: var(--ast-global-color-4);
}

.gform-body.gform_body .gchoice .gfield-choice-input:focus-visible,
.gform-body.gform_body .ginput_container_consent input:focus-visible {
	outline: 2px solid var(--outline-color);
	outline-offset: 3px;
}

#gform_fields_1 #field_1_7 .gchoice.gchoice_1_7_5 {
    display: flex;
    align-items: center;
	justify-content: space-between;
	margin: -8px 0 0;
}

#gform_fields_1 #field_1_7 .gchoice.gchoice_1_7_5 #input_1_7_other {
	width: calc(100% - 30px);
	background-color: transparent;
    border-color: transparent;
    padding: 18px 20px 18px 0;
	font-size: 14px;
}

#gform_fields_1 #field_1_7 #choice_1_7_5:checked ~ #input_1_7_other {
	border-color: var(--form-field-border);
	padding: 18px 10px;
}

#gform_fields_1 #field_1_7 .gfield_label {
	text-align: center;
	font-weight: 700;
}

.gform-body.gform_body input[type="text"]:focus,
.gform-body.gform_body input[type="email"]:focus,
.gform-body.gform_body input[type="tel"]:focus,
.gform-body.gform_body textarea:focus,
.gform-body.gform_body #field_1_7 #choice_1_7_5:checked ~ #input_1_7_other {
	background: var(--ast-global-color-4);
}

#gform_fields_1 #field_1_10 {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

#gform_fields_1 #field_1_10 .gfield_label {
	margin-bottom: 0;
	float: left;
}

#field_1_10 .ginput_container_checkbox #input_1_10 {
    display: flex;
    flex-direction: row;
    gap: 25px;
}

#field_1_10 .ginput_container_checkbox #input_1_10 input {
    border-radius: 0;
}

.gform-body.gform_body .ginput_container.ginput_container_consent ~ .gfield_description {
	text-align: center;
}

.gfield_radio input[type="radio"] {
    appearance: none;
    width: 22px;
    height: 22px;
    border: 2px solid var(--form-field-border) !important;
    border-radius: 50%;
    position: relative;
    margin-right: 10px;
    cursor: pointer;
}

.gfield_radio input[type="radio"]:focus:after,
.gfield_radio input[type="radio"]:checked::after {
    content: "";
    width: 10px;
    height: 10px;
    background: var(--ast-global-color-1);
    border-radius: 50%;
    position: absolute;
    top: 4px;
    left: 4px;
}

.gfield_checkbox {
    display: flex;
    gap: 40px;
    margin-top: 20px;
}

.gfield_checkbox input[type="checkbox"] {
    appearance: none;
    width: 22px;
    height: 22px;
    border: 2px solid var(--form-field-border);
    position: relative;
    cursor: pointer;
}

.gfield_checkbox label,
.gfield_consent_label {
    font-size: 18px;
    color: var(--ast-global-color-2);
}

.gform-footer.gform_footer input[type=submit] {
    background: var(--ast-global-color-1) !important;
    color: #fff !important;
    padding: 18px 40px !important;
    font-size: 16px !important;
    border: none !important;
    cursor: pointer !important;
    display: block !important;
    margin: 40px auto 0 !important;
	border-radius: 0 !important;
	font-weight: 600 !important;
    transition: 0.3s ease;
}

.gform-footer.gform_footer input[type=submit]:hover {
    background: var(--ast-global-color-2) !important;
}

.gfield--type-consent.gfield--has-description {
    display: flex;
    gap: 20px;
    align-items: center;
	justify-content: center;
	margin-top: 20px;
}

.no-flex-term .gfield_description.gfield_consent_description {
	white-space: nowrap;
    min-width: 100px;
}

.gfield--type-consent.gfield--has-description .ginput_container.ginput_container_consent {
    display: flex;
    justify-content: center;    
}

.gfield--type-consent.gfield--has-description .gfield_description.gfield_consent_description {
    border: unset !important;
    padding: 0;
    margin-top: 0 !important;
}

@media (max-width: 480px) {

    .gform-grid-row {
        grid-template-columns: 1fr;
    }

    #field_1_7 .gfield_radio {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .gfield_checkbox {
        flex-direction: column;
        gap: 14px;
    }	
	
	#field_1_10 .ginput_container_checkbox #input_1_10 {
		flex-direction: column;
	}
	
	#field_1_7 .gfield_radio {
		padding-left: 0;
	}
	
	.gform-theme--foundation .gform-grid-row {
		row-gap: 25px !important;
	}
	
	.gfield--type-consent.gfield--has-description.no-flex-term {
		flex-direction: column;
	}
	
	#gform_fields_1 #field_1_10 {
		flex-direction: column;
		align-content: center;
	}
}

.gform_confirmation_wrapper #gform_confirmation_message_1 .panel-row-style-for-624-0 {
	justify-content: center;
	margin-top: 50px;
}

.gform_confirmation_wrapper #gform_confirmation_message_1 .panel-row-style-for-624-0 .panel-grid-cell {
    background-color: #ffffff1c;
    padding: 30px 20px;
    width: 100%;
    max-width: 360px;
    text-align: center;
}

.gform_confirmation_wrapper #gform_confirmation_message_2,
.gform_confirmation_wrapper #gform_confirmation_message_7 {
    background-color: rgba(200,192,180,0.2);
    padding: 50px 20px 21px;
    max-width: 520px;
    margin: auto;
    width: 100%;
}

.gform_confirmation_wrapper #gform_confirmation_message_1 .decoration {
	border-top: 2px solid var(--ast-global-color-0);
}

.gform_confirmation_wrapper #gform_confirmation_message_1 a.sowb-button.ow-icon-placement-right {
    background-color: var(--ast-global-color-0);
}

.gform_confirmation_wrapper #gform_confirmation_message_1 a.sowb-button.ow-icon-placement-right:hover {
    color: var(--ast-global-color-1);
}

/********************** Remove hover from buttons ***********/

/********************** Apply hover-state styles on touch devices ***********/
@media (hover: none) {

	/* --- Buttons: shifted padding + slight scale --- */
	.site button.ast-button,
	.site .ast-custom-button,
	body .site .ma-apply-button,
	body .mortgage-advisor-filter .advisor-connect,
	body .office-locations-grid .location-connect {
		line-height: 1em;
		padding: 1px 12px 1px 22px;
		transform: scale(1.075);
	}

	/* Buttons that need !important to override base styles */
	.site button.ast-button,
	.site .ast-custom-button,
	body .site .ma-apply-button,
	body .mortgage-advisor-filter .advisor-connect {
		padding: 0 12px 2px 22px !important;
	}

	/* ma-apply-button needs its own color override */
	body .site .ma-apply-button {
		color: var(--ast-global-color-1);
	}

	/* --- Arrow icons (::after): nudged right, half-opacity --- */
	.site button.ast-button:after,
	.site .ast-custom-button:after,
	body .site .ma-apply-button:after,
	body .mortgage-advisor-filter .advisor-connect:after,
	body .office-locations-grid .location-connect:after {
		left: 6px;
		opacity: .5;
	}

	/* Arrows that use height instead of font-size */
	.site button.ast-button:after,
	.site .ast-custom-button:after,
	body .site .ma-apply-button:after,
	body .office-locations-grid .location-connect:after {
		height: 2.5rem;
	}

	/* Arrows that use font-size instead of height */
	body .mortgage-advisor-filter .advisor-connect:after {
		font-size: 2.5rem;
	}

	/* --- SiteOrigin button widget (different markup pattern) --- */
	.site a.sowb-button.ow-icon-placement-right {
		padding: 9px 24px 11px 20px;
	}

	.so-widget-sow-button .ow-button-base a.sowb-button.ow-icon-placement-right > span [class^="sow-icon-"] {
		margin: 1px -12px -1px 12px;
		font-size: 2.5rem;
		opacity: .5;
	}
	
	.apply-tabs .so-widget-sow-tabs .sow-tabs .ow-button-base .sowb-button {
		padding: 16px 32px 16px 32px;
		transform: scale(1.075);
	}
}

/*************************** Tabs ***************************/

.tabs-4 .so-widget-sow-tabs .sow-tabs .sow-tabs-tab-container .sow-tabs-tab {
	width: calc((100% - 3px) / 4);
	display: flex !important;
    justify-content: center;
}

.tabs-4 .so-widget-sow-tabs .sow-tabs .sow-tabs-tab-container .sow-tabs-tab:last-of-type {
	margin-right: 0;
}

@media (max-width: 780px) {
	.tabs-4 .so-widget-sow-tabs .sow-tabs .sow-tabs-tab-container .sow-tabs-tab {
		width: calc((100% - 1px) / 2);
	}
	
	.tabs-4 .so-widget-sow-tabs .sow-tabs .sow-tabs-tab-container .sow-tabs-tab:nth-of-type(2n) {
		margin-right: 0;
	}
	
	.tabs-4 .so-widget-sow-tabs .sow-tabs .sow-tabs-panel-container .sow-tabs-panel {
		padding: 30px 30px 40px;
	}
}

@media (max-width: 480px) {
	.tabs-4 .so-widget-sow-tabs .sow-tabs .sow-tabs-tab-container .sow-tabs-tab {
		width: 100%;
		margin: 0 0 1px 0;
	}
	
	.tabs-4 .so-widget-sow-tabs .sow-tabs .sow-tabs-panel-container .sow-tabs-panel {
		padding: 20px 20px 30px;
	}
}

/******************** Custom Animation **********************/

.fadein,
.fadeinRight,
.fadeinLeft,
.fadeinCells .panel-grid-cell,
.fadeinImg img,
.homehero .sow-carousel-item .sow-headline,
.homehero .sow-carousel-item .sow-sub-headline,
.homehero .sow-carousel-item .widget_sow-button {
	opacity: 0;
	-webkit-transition: opacity 1s, transform 1s, filter 1s;
	transition: opacity 1s, transform 1s, filter 1s;
	-webkit-transition-timing-function: cubic-bezier(.65,0,.076,1);
	transition-timing-function: cubic-bezier(.65,0,.076,1);
}

/* Blured Img Animation */

.fadeinImg img {
	filter: blur(3px);
	transform: translate(0, 10px) scale(1.02);
}

.fadeinImg img.visible {
	opacity: 1;
	filter: blur(0);
	transform: translate(0, 0);
}

/* General Animation */

.fadein,
.fadeinCells .panel-grid-cell,
.homehero .sow-carousel-item .sow-headline,
.homehero .sow-carousel-item .sow-sub-headline,
.homehero .sow-carousel-item .widget_sow-button {
	transform: translate(0, 10px);
}

.fadeinRight {
	transform: translate(-10px, 0);
}

.fadeinLeft {
	transform: translate(10px, 0);
}

.fadein.visible,
.fadeinRight.visible,
.fadeinLeft.visible,
.fadeinCells .panel-grid-cell.visible,
.homehero .sow-carousel-item.slick-active .sow-headline,
.homehero .sow-carousel-item.slick-active .sow-sub-headline,
.homehero .sow-carousel-item.slick-active .widget_sow-button {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

.delay-1,
.fadeinCells .panel-grid-cell:nth-of-type(2),
.homehero .sow-carousel-item .sow-sub-headline {
	transition-delay: .1s;
} 

.delay-2,
.fadeinCells .panel-grid-cell:nth-of-type(3),
.homehero .sow-carousel-item .widget_sow-button {
	transition-delay: .2s;
} 

.delay-3,
.fadeinCells .panel-grid-cell:nth-of-type(4) {
	transition-delay: .3s;
} 

.delay-4,
.fadeinCells .panel-grid-cell:nth-of-type(5) {
	transition-delay: .4s;
} 

.delay-5,
.fadeinCells .panel-grid-cell:nth-of-type(6) {
	transition-delay: .5s;
} 

.delay-6,
.fadeinCells .panel-grid-cell:nth-of-type(7) {
	transition-delay: .6s;
} 

.delay-7,
.fadeinCells .panel-grid-cell:nth-of-type(8) {
	transition-delay: .7s;
} 

.delay-8,
.fadeinCells .panel-grid-cell:nth-of-type(9) {
	transition-delay: .8s;
} 

.fadeinCells.panel-row-style {
	overflow: visible !important; 
}

@media only screen and (max-width: 780px) {
	.fadein,
	.fadeinRight,
	.fadeinLeft,
	.fadeinCells .panel-grid-cell {
		-webkit-transition: opacity .75s, transform 1.25s;
		transition: opacity .75s, transform 1.25s;
		transition-delay: 0s !important;
	}
	
    .fadeinLeft, 
	.fadeinRight {
	  transform: translate(0, 10px);
	}
	
	.so-widget-sow-accordion .widget-title {
		font-size: 32px;
	}
}

@media only screen and (max-width: 480px) {	
	.so-widget-sow-accordion .widget-title {
		font-size: 36px;
	}
}
