/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
.cky-revisit-bottom-left.cky-btn-revisit-wrapper{
	    bottom: 115px;
}
.cky-notice-btn-wrapper button,
.cky-modal .cky-prefrence-btn-wrapper button{
	border: 2px solid #2e4473;
}
.cky-notice-btn-wrapper button.cky-btn:not(.cky-btn-accept),
.cky-modal .cky-prefrence-btn-wrapper button.cky-btn:not(.cky-btn-accept){
	color: #2e4473;
	background: transparent !important;
}
.cky-notice-btn-wrapper button.cky-btn.cky-btn-accept,
.cky-modal .cky-prefrence-btn-wrapper button.cky-btn-accept,
.cky-revisit-bottom-left.cky-btn-revisit-wrapper{
	background: #2e4473 !important;
}
.cky-notice-btn-wrapper button.cky-btn-accept:hover,
.cky-modal .cky-prefrence-btn-wrapper button.cky-btn-accept:hover{
	color: white !important;
}
/* MOBILE NAV */
#mobile_menu .elementor-menu-toggle {
    font-size: 40px;
    color: #f0f0f0;
    margin-top: 20px;
}
/* #mobile_menu .elementor-menu-toggle .e-font-icon-svg {
	fill: #2E4473;
	stroke: currentColor;
	stroke-width: 50px;
} */
#mobile_menu nav {
    max-width: 350px;
    top: -10px !important;
    left: unset !important;
    right: 0 !important;
    height: 100vh;
    max-height: unset;
    margin-top: 3px !important;
    box-shadow: 4px -1px 20px 0px #666;
}
#mobile_menu nav li {
    border: 0;
}
#mobile_menu nav li a {
    padding-left: 0;
    padding-right: 0;
	margin: 0 30px;
    font-size: 16px;
    color: #666666;
}
#mobile_menu nav li .sub-menu{
	display:block;
}
.phone-menu-number {
    margin-top: 15px !important;
/*     margin-bottom: 40px !important; */
}
.phone-menu-number a {
    color: #3d4459 !important;
    font-weight: 500;
    font-size: 20px !important;
    letter-spacing: 2px;
}
#mobile_menu .sub-menu li a {
    margin-left: 60px;
}
.with-top-divider > a {
    border-top: 2px solid #f6f6f6 !important;
}
.with-divider:not(:last-child) > a {
    border-bottom: 2px solid #f6f6f6 !important;
}
#mobile_menu .elementor-menu-toggle__icon--close {
    z-index: 99999;
}
#mobile_menu .elementor-menu-toggle.elementor-active{
	font-size: 30px;
	color: #f0f0f0;
/* 	margin-top: -10px; */
}
#mobile_menu nav li a.has-submenu {
    display: flex;
    justify-content: space-between;
}
/* #mobile_menu .sub-arrow svg {
    font-size: 26px;
    fill: #666666;
    margin-right: 5px;
} */
#mobile_menu nav a.has-submenu .sub-arrow {
    display: none;
}
#mobile_menu nav a.has-submenu:after {
    content: '\f078';
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    right: -15px;
}
#mobile_menu nav a.has-submenu.highlighted:after {
    content: '\f077';
}
#mobile_menu .menu-item-has-children ul li a {
    padding-top: 17px;
    padding-bottom: 17px;
}

/* HEADER */
.elementor-heading-title b{
	font-weight: 600;
}
body.page-id-228 #top_menu nav ul,
body.page-id-579 #top_menu nav ul,
body.page-id-587 #top_menu nav ul{
	margin-bottom: 20px;
}

/* SPOTIFY FLOATING PLAYER */
.spotify {
  left: 20px;
  height: 80px;
  position: fixed;
  bottom: 20px;
  width: 250px;
  z-index: 99;
}
@media (max-width: 767px) {
	.spotify {
		display: none;
	}
}
/* READ ALL LINK */
.read-all i {
    font-size: 13px;
    margin-left: 7px;
}

/* MORTGAGE FORM */
.gform_wrapper.gravity-theme .time-checkbox{ 
	display:flex;
}
.gform_wrapper.gravity-theme .gform_body .gfield .gfield_description{
	width: 70%;
	padding-bottom: 0;
	padding-top:0;
}
.gform_wrapper.gravity-theme .gform_footer.top_label{
	padding: 0;
}
.gform_wrapper.gravity-theme .ginput_container_checkbox{
	width: 100%;
}
.gform_wrapper.gravity-theme .gfield_checkbox{
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
}
.gform_wrapper.gravity-theme form .gform_footer input{
	margin: 0;
}
#form-qca{
	margin-bottom: 10px;
}

@media (max-width: 600px){
	.gform_wrapper.gravity-theme .time-checkbox{ 
		flex-wrap: wrap;
	}
}
@media (max-width: 768px) {
  .cf7-column {
    flex: 1 1 100%; 
  }
}
@media (min-width:768px) and (max-width: 1074px) {
	.gform_wrapper.gravity-theme .time-checkbox{ 
		flex-wrap: wrap;
	}
}

/* INSTANT QUOTE FORM */
.gform_required_legend {
	display: none;
}
.gform_wrapper.gravity-theme h2{
	text-transform: uppercase;
	font-size: 24px;
	color: var(--e-global-color-secondary);
}
.gform_wrapper.gravity-theme h3{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 0;
	margin-top: 25px;
}
.gform_wrapper.gravity-theme #field_3_2 legend{
	display: none;
}
.gform_wrapper h2, .gform_wrapper h3, .gform_wrapper h4, .gform_wrapper p{
	font-family: "Montserrat", sans-serif;
}
.gform_wrapper.gravity-theme form .gf_progressbar .gf_progressbar_percentage{
	background-color: var(--e-global-color-secondary);
}
.gform_wrapper.gravity-theme form .gfield_label{
	font-weight: 400;
}
.gform_wrapper.gravity-theme form .ginput_complex label{
	line-height: 2;
}
.gform_wrapper.gravity-theme form input, .gform_wrapper.gravity-theme form textarea{
	border-color: #ccc;
}
#gform_wrapper_3.gform_wrapper .gfield_checkbox .gchoice label{
	display: inline;
}
.gform_wrapper.gravity-theme form .accounts-field select.gfield_select,
.gform_wrapper.gravity-theme form .payroll-field select.gfield_select{
	width: auto;
}

/* HEADER SCROLL MOBILE */
@media (max-width: 767px){
	body #header-nav{
		transition: background 0.3s ease-in-out;
	}
	body.scrolled #header-nav {
		background: rgba(255, 255, 255, 0.4); /* Semi-transparent background */
	}
	.gform_wrapper.gravity-theme .gfield .ginput_complex{
		row-gap: 16px;
	}
	.gform_wrapper.gravity-theme .gfield .ginput_complex span{
		margin-bottom: 0 !important;
	}
}


/* APPOINTMENT PAGE */
.appointment iframe{
	height:110vh;
}

/* FOOTER */

footer a[href^="tel:"]{
	color: #666666;
}
footer a:hover{
	color: #2E4473;
}
.bottom-footer .elementor-widget:not(:last-child){
	margin-bottom: 0 !important;
}
#purechat-container .purechat-launcher-frame.purechat-launcher-frame-mobile{
	transition: all .2s ease-in-out;
}
@media (max-width: 767px) {
  .bottom-footer .copyright span {
    display: block;
  }
	body.scrolled #purechat-container .purechat-launcher-frame.purechat-launcher-frame-bottom-right{
		bottom: 80px;
	}
}