/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/

/* --- GLOBAL STYLES --- */


.comments-area a, .page-content a {
    text-decoration: none;
}

.gform_required_legend {
    display: none;
}

ul {
    margin-block-end: 1.4rem;
}

h2.elementor-heading-title {
    text-wrap: pretty;
}

@media only screen and (min-width: 1025px) {
    .elementor-nav-menu .sub-arrow {
        display: none;
    }
}

.text-balance {
    text-wrap: balance;
}

.text-pretty {
    text-wrap: pretty;
}


/* --- CC PAGE --- */

.blurred-border {
    position: relative;
}

.blurred-border::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 100%;
    top: 0;
    right: 0;
    backdrop-filter: blur(4px);
    background-color: color-mix(in srgb, var( --e-global-color-primary ) 80%, #ffffff87);
}

@media only screen and (max-width: 768px) {
    .blurred-border::after {
        width: 100%;
        height: 20px;
        bottom: 0;
        top: initial;
        right: 0;
    }
}

.hero-subheading {
    font-size: clamp(1.7rem, 5vw, 41px);
    font-weight: 500;
    padding-top: 6px;
    font-style: italic;
}

.hero-subheading::before {
    content: "";
    display: block;
    width: 100px;
    height: 3px;
    margin-top: 25px;
    margin-bottom: 6px;
    background: var( --e-global-color-accent );
}

@media only screen and (max-width: 600px) {
    .hero-subheading::before {
        width: 30%;
        margin: 25px auto 6px;
    }
}

.service-block-row .e-con {
    transition: 0.2s;
}

.service-block-row .e-con:hover {
    transform: translateY(-8px);
    transition: 0.2s;
}

.service-block-row .e-con:hover div.elementor-widget-heading:last-of-type {
    background: var(--e-global-color-primary);
}

.service-block-row .e-con:hover div.elementor-heading-title {
    color: white;
}

.elementor-shape .elementor-shape-fill {
    -webkit-transform: none;
    transform: none;
}

.light-accordion :is(.elementor-tab-title, .elementor-tab-content) {
    margin: 14px 0 !important;
    border-radius: 7px;
    border: 1px solid var( --e-global-color-text ) !important;
}

.service-block .fa-arrow-right {
    transition: 0.2s;
    position: relative;
    top: -1px;
    font-size: .8rem;
}

.service-block:hover .fa-arrow-right,
.elementor-button:hover .elementor-button-icon {
    transform: translateX(3px);
}

.phone-btn .elementor-button:hover .elementor-button-icon {
    transform: translateX(0) rotate(15deg);
}

.elementor-button-link .elementor-button-icon {
    transition: 0.2s;
}

.service-block p {
    text-wrap: pretty;
}

.cc-subtitle {
    font-size: 0.6em;
    font-style: italic;
    margin-top: 5px;
}

.elementor-widget-text-editor ul {
    margin-top: 17px;
}

/* --- SIDEBAR --- */

.sidebar-form fieldset#field_3_5 {
    text-align: left;
}

.sidebar-form  .gfield_label_before_complex {
    text-align: left;
}

input[type=submit] {
    border: none;
    padding: 8px 30px;
    color: #fff;
    font-size: 1rem;
    border-radius: 5px;
    margin: 0 auto;
    display: block;
    cursor: pointer;
    font-weight: 500;
    letter-spacing: .5px;
    width: 100%;
}

.sidebar-form .gform_footer.top_label {
    padding: 0;
}

.sidebar a.cr-phone {
	margin: auto;
}

textarea#input_3_4 {
    border-radius:  5px;
}

.elementor-kit-8 input[type="submit"] {
    background: var( --e-global-color-primary);
    font-size: 1.2rem;
    padding: 11px;
}

.elementor-kit-8 input[type="submit"]:hover {
    background: var(--e-global-color-accent);
    filter: saturate(1.5);
}

.gform_wrapper.gravity-theme .ginput_container :is(input, textarea) {
    font-size: 1rem !important;
    font-weight: 600;
    background-color: #a3a3a321;
    border: 1px solid var( --e-global-color-text );
    padding: 15px !important;
    border-radius: 7px;
    outline-color: var( --e-global-color-secondary );
}

.gform_wrapper.gravity-theme .ginput_container :is(input, textarea)::placeholder {
    color: var( --e-global-color-primary);
    font-weight: 400;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
    float: none;
    display: flex;
}

.gchoice {
    display: flex;
}

/* --- CHILD PAGE --- */

.title-bar {
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='48' viewBox='0 0 60 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='Page-1' fill='none' fill-rule='evenodd'%3E%3Cg id='fancy-rectangles' fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M6 12h6v12H6V12zm12 0h6v12h-6V12zm6-12h6v12h-6V0zM12 0h6v12h-6V0zm0 24h6v12h-6V24zM0 0h6v12H0V0zm6 36h6v12H6V36zm12 0h6v12h-6V36zm12-12h6v12h-6V24zM42 0h6v12h-6V0zm-6 12h6v12h-6V12zm12 0h6v12h-6V12zM36 36h6v12h-6V36zm12 0h6v12h-6V36zm-6-12h6v12h-6V24zm12 0h6v12h-6V24z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.title-bar h1 {
    text-wrap: pretty;
}

h3.geo {
    font-size: clamp(0.9rem, 3vw, 1rem);
    font-family: var(--e-global-typography-accent-font-family), sans-serif;
    color: #7c725d;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-wrap: balance;
}

h3.geo svg {
    fill: #7c725d96;
    position: relative;
    top: 1px;
    margin-right: 2px;
}

.title-bar h3.geo {
    text-align: left;
    font-weight: 600;
    color: #DBDCDE;
    margin-bottom: 0;
}

.title-bar h3.geo svg {
    fill: #ffffff70;
}

.page-template-default .modal-img > .elementor-widget-container {
    margin: 0 !important;
}

.page-template-default .modal-img img {
    width: 240px !important;
    max-width: 240px !important;
    height: 240px !important;
}

.page-template-default .modal-block {
    margin-top: 20px !important;
    margin-bottom: 30px !important;
    border-radius: 3px 3px 7px 7px !important;
}

.page-template-default .modal-block > .e-con-inner {
    padding: 30px 0 !important;
}

.page-template-default .modal-block .elementor-heading-title:first-of-type {
    font-size: clamp(2rem, 5vw, var(--e-global-typography-secondary-font-size)) !important;
}

a.parent-post {
    font-weight: 600;
    font-size: 1.1rem;
}

a.parent-post:before {
    content: "‹ ";
}

figure.alignright.wp-block-post-featured-image {
    max-width: 350px;
}

.elementor-widget-theme-post-content :is(h2, h3, h4, h5, h6) {
    font-size: 1.6rem;
    font-weight: 600;
}

.elementor-widget-theme-post-content h3 {
    font-size: 1.4rem;
}

.elementor-widget-theme-post-content :is(h4, h5, h6) {
    font-size: 1.2rem;
}

.elementor-widget-theme-post-content a:hover {
    text-decoration: underline;
}

/* --- CONTACT PAGE --- */


/* --- MODAL BLOCK --- */

button#myModal-launch {
    background-color: var( --e-global-color-accent );
    padding: 10px 30px;
    font-weight: 600;
    border: none;
    transition: 0.2s;
		color: #fff;
}

button#myModal-launch:hover {
    filter: contrast(1.1);
}

.modal {
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

.modal.fade:not(.show) {
    opacity: 1 !important;
}

.modal-backdrop.in {
    opacity: .5 !important;
}

.modal-header button.close {
	color: #000;
}

.modal-header button.close:hover {
	color: grey!important;
}

/* --- REVIEW PAGE --- */

.wp-block-button__link.has-white-color {
    color: white;
}

/* --- MODAL WINDOW --- */

.modal-popup .gform_wrapper.gravity-theme .ginput_container :is(input, textarea) {
    background: white;
}

.modal-popup .dialog-message.dialog-lightbox-message {
    overflow-x: hidden;
}

.modal-popup fieldset.consent-checkbox-field {
    color: #ffffffcc;
    margin: 10px 0;
    display: block;
}

.gform_wrapper.gravity-theme legend.gfield_label {
    font-size: 0.8rem;
    margin-bottom: 3px;
}

.gform_wrapper.gravity-theme div.gfield_checkbox label {
    line-height: 1.5;
    font-size: 0.8rem;
    margin-left: 5px;
}

.modal-popup input[type="submit"] {
    background-color: var( --e-global-color-accent );
}

/* --- Pop-UP WINDOW --- */


ul#gform_fields_1 input {
    font-weight: 600 !important;
    color:#7a7a7a !important;
    border-radius: 6px !important;
    background: #f8f9fa;
}


input#input_10_1, input#input_10_2, input#input_10_5, input#input_10_7, input#gform_submit_button_10 {
    font-weight: 600;
}

/* --- GEOBLOCK --- */

.geo-block-inner {
    background: #F3EEE4;
	padding: 80px 20px 40px;
}
 
h3.gb-cities-col {
    line-height: 1.8;
    font-family: var( --e-global-typography-secondary-font-family ), sans-serif;
    text-transform:  none;
    font-weight: 500;
    font-size: 1rem;
}

.gb-buttons a {
    background: var( --e-global-color-primary );
	color: white;
    border-radius: 8px;
    padding: 12px;
    letter-spacing: 0;
    text-transform: none;
}

.gb-title h2 {
    font-size: 1.3rem;
    line-height: 1.4;
    text-wrap: balance;
}

.geo-subhead {
    color: var(--e-global-color-primary);
    font-weight: 500;
    line-height: 1.2;
    padding: 5px 0;
}

/* --- FOOTER --- */

span.fn.org {
    color: #ffffff61;
    font-weight: 600;
}

a.cr-phone {
    background: var(--e-global-color-accent);
    color: white;
    padding: 7px 20px;
    display: block;
    width: fit-content;
    border-radius: 3px;
    font-weight: 600;
    font-size: 1rem;
    transition: 0.2s;
}

.subfooter a {
	color: #FFFFFF80;
}

.subfooter a:hover {
	color: white;
}

#wprev-badge-1 {
    margin: 0;
    border: 0;
    padding: 0;
}

.wppro_badge1_DIV_2, #wprev-badge-1 .wppro_badge1_DIV_12 {
font-family: var( --e-global-typography-text-font-family ), sans-serif !important;
}

a.wppro_badge1_A_14 {
    font-size: inherit;
}

.wppro_badge1_DIV_stars span.svgicons {
    width: 18px;
    height: 18px;
}

.wppro_badge1_DIV_stars.b3s6 {
    margin-top: 0;
}

.wprevpro_badge a {
    color: inherit;
    font-weight: 500;
}

.wprevpro_badge a:hover {
    text-decoration: underline;
}

.wprevpro_badge > div > span {
    font-weight: 600;
}

/* --- 404 PAGE --- */


/* ############################################################## */
/* Global CSS styles to fix form validation from breaking layouts */
/* ############################################################## */

/* Hides error messages from view - screen readers can still see */
.gfield_validation_message, .validation_message {
     border: 0;
     clip: rect(0 0 0 0);
     height: auto;
     margin: 0;
     overflow: hidden;
     padding: 0;
     position: absolute;
     width: 1px;
     white-space: nowrap;
}
/* Error summary section */
.gform_wrapper.gravity-theme .gform_validation_errors {
    background:#c02b0a !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors h2 {
   color:#fff !important;
    font-size:.8rem !important;
}
/* red border around inputs with issues */
.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    border: 1px solid #c02b0a !important;
}
/* ######## */
/* Legacy form code */
/* ######## */

.gform_legacy_markup_wrapper .gform_validation_errors {
    padding:5px !important;
    background:#c02b0a !important;
}

.gform_legacy_markup_wrapper .gform_validation_errors h2 {
   color:#fff !important;
    font-size:.8rem !important;
}

.gform_legacy_markup_wrapper .gfield_error [aria-invalid=true] {
    border: 1px solid #c02b0a !important;
}
.gfield_contains_required {background: none !important;border: none !important;margin-top: 0px !important;padding: 0 !important;}

.gform_legacy_markup_wrapper .gform_validation_errors>h2:before {
    vertical-align:middle !important;
}

.gform_legacy_markup_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
        max-width: 100% !important;
}
.gform_legacy_markup_wrapper ul li.gfield  {
   padding-top:0px !important;
   margin-top:0px !important;
}

/* ############################################################## */

/* --- RESPONSIVE --- */

@media only screen and (max-width: 760px) {
	figure.alignright.wp-block-post-featured-image {
    margin: 0 auto 20px;
    float: none;
 }
}
/**GPS SEO Pages**/
h1.hero-heading {
    color: white;
}
/****/