/* 
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 */
.mobilemenunumber .elementor-heading-title a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mobilemenunumber .elementor-heading-title a::before {
  content: "";
  display: inline-block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M9.66129 11.0866C9.51428 11.1233 9.35915 11.1088 9.22146 11.0456C7.36959 10.1367 5.87098 8.63999 4.95978 6.78926C4.8923 6.65083 4.87482 6.49331 4.91031 6.34346C4.94579 6.1936 5.03206 6.06065 5.15446 5.9672L5.46649 5.73318C5.6321 5.60897 5.76651 5.44791 5.85909 5.26276C5.95167 5.0776 5.99987 4.87343 5.99987 4.66642V2.66626C5.99987 2.31261 5.85938 1.97345 5.60931 1.72338C5.35924 1.47331 5.02008 1.33282 4.66642 1.33282H2.66626C2.31261 1.33282 1.97345 1.47331 1.72338 1.72338C1.47331 1.97345 1.33282 2.31261 1.33282 2.66626C1.33282 5.84912 2.59721 8.90161 4.84782 11.1522C7.09844 13.4028 10.1509 14.6672 13.3338 14.6672C13.6874 14.6672 14.0266 14.5267 14.2767 14.2767C14.5267 14.0266 14.6672 13.6874 14.6672 13.3338V11.3336C14.6672 10.98 14.5267 10.6408 14.2767 10.3907C14.0266 10.1407 13.6874 10.0002 13.3338 10.0002H11.3336C11.1266 10.0002 10.9224 10.0484 10.7373 10.141C10.5521 10.2335 10.3911 10.368 10.2669 10.5336L10.0302 10.8436C9.9384 10.9641 9.80829 11.0498 9.66129 11.0866Z' stroke='white' stroke-opacity='.6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}

#callus .elementor-button-text {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

#callus .elementor-button-text::before {
    content: "";
    width: 25px;
    height: 25px;
    flex: 0 0 25px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='33' viewBox='0 0 33 33' fill='none'%3E%3Cpath d='M6.66205 21.9362C9.91692 25.827 13.8351 28.8904 18.3071 31.058C20.0097 31.8649 22.2868 32.8222 24.8237 32.9863C24.9809 32.9932 25.1314 33 25.2887 33C26.9913 33 28.3589 32.4119 29.4735 31.2016C29.4803 31.1948 29.494 31.1811 29.5008 31.1674C29.8974 30.6888 30.3487 30.258 30.8206 29.7998C31.1419 29.4921 31.4702 29.1707 31.7847 28.8425C33.2412 27.3245 33.2412 25.3962 31.771 23.926L27.6614 19.8164C26.964 19.0916 26.1297 18.7087 25.2545 18.7087C24.3792 18.7087 23.5381 19.0916 22.8201 19.8096L20.3722 22.2576C20.1465 22.1276 19.914 22.0114 19.6952 21.902C19.4217 21.7652 19.1687 21.6353 18.943 21.4917C16.7138 20.0763 14.6898 18.23 12.7547 15.8572C11.7768 14.6196 11.1204 13.5802 10.6623 12.5203C11.305 11.9391 11.9068 11.3305 12.488 10.7356C12.6931 10.5236 12.9051 10.3116 13.1171 10.0997C13.8556 9.36117 14.2522 8.50642 14.2522 7.638C14.2522 6.76958 13.8624 5.91484 13.1171 5.17634L11.0794 3.13862C10.84 2.8993 10.6144 2.6668 10.3819 2.42748C9.93059 1.96249 9.45877 1.48384 8.99379 1.05305C8.28948 0.362412 7.46209 0 6.58683 0C5.71841 0 4.88418 0.362412 4.15252 1.05988L1.59512 3.61728C0.665155 4.54724 0.138632 5.67551 0.0292249 6.98156C-0.100696 8.61583 0.200174 10.3527 0.979701 12.4519C2.17634 15.7 3.98157 18.7155 6.66205 21.9362ZM1.69769 7.12516C1.77974 6.21571 2.12848 5.45669 2.78492 4.80025L5.32864 2.25653C5.72525 1.8736 6.16288 1.6753 6.58683 1.6753C7.00395 1.6753 7.4279 1.8736 7.81766 2.2702C8.27581 2.69416 8.7066 3.13862 9.17158 3.61044C9.40407 3.84977 9.6434 4.0891 9.88273 4.33527L11.9204 6.37298C12.3444 6.79693 12.5632 7.22773 12.5632 7.65168C12.5632 8.07563 12.3444 8.50642 11.9204 8.93038C11.7085 9.14235 11.4965 9.36117 11.2845 9.57315C10.6486 10.2159 10.0537 10.8245 9.39723 11.4057C9.38356 11.4194 9.37672 11.4262 9.36304 11.4399C8.79549 12.0075 8.88439 12.5477 9.02114 12.9579C9.02798 12.9784 9.03482 12.9921 9.04166 13.0126C9.56818 14.2777 10.2998 15.4811 11.4418 16.9171C13.4932 19.4472 15.654 21.4097 18.0336 22.9208C18.3276 23.1123 18.6422 23.2627 18.9362 23.4132C19.2097 23.5499 19.4627 23.6799 19.6884 23.8235C19.7157 23.8371 19.7362 23.8508 19.7636 23.8645C19.9892 23.9807 20.208 24.0354 20.4269 24.0354C20.9739 24.0354 21.3295 23.6867 21.4457 23.5705L24.0031 21.0131C24.3997 20.6165 24.8305 20.4045 25.2545 20.4045C25.7741 20.4045 26.1981 20.7259 26.4648 21.0131L30.5881 25.1295C31.4086 25.9501 31.4018 26.839 30.5676 27.7074C30.2804 28.0151 29.9795 28.3092 29.6581 28.6169C29.1795 29.0818 28.6803 29.5605 28.229 30.1007C27.4426 30.9486 26.5058 31.3452 25.2955 31.3452C25.1792 31.3452 25.0562 31.3384 24.9399 31.3315C22.6971 31.1879 20.6115 30.3127 19.0456 29.5673C14.7924 27.5091 11.0589 24.5893 7.96126 20.8831C5.4107 17.8129 3.69437 14.9546 2.55927 11.8912C1.85496 10.0108 1.58828 8.49959 1.69769 7.12516Z' fill='white'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Keep zoomed image contained */
.attorney-card .elementor-widget-image {
    overflow: hidden;
}

/* Smooth zoom */
.attorney-card .elementor-widget-image img {
    transition: transform 0.4s ease;
    transform: scale(1);
}

/* Hover anywhere on the entire linked card */
.attorney-card:hover .elementor-widget-image img {
    transform: scale(1.06);
}

.attorney-card:hover h4 {
	color: #0065C4 !important;
}

/* Full-width Elementor slider background,
   but keep slide CONTENT inside 1140px */
.elementor-element-9b7628b .swiper-slide-inner {
    width: 100% !important;
    max-width: 1140px !important;

    left: 50% !important;
    right: auto !important;

    transform: translateX(-50%);

    box-sizing: border-box;
}
/* =========================================
   TESTIMONIAL CAROUSEL - LAYOUT ONLY
   ========================================= */


/* Main testimonial:
   Header row first
   Review copy second
*/
.testimonial .elementor-testimonial {
    display: flex !important;
    flex-direction: column !important;
	row-gap: 15px;
}


/* =========================================
   TOP ROW
   Name/location left
   5 stars right
   ========================================= */

.testimonial .elementor-testimonial__footer {
    order: 1 !important;
	align-items: center !important;

    display: grid !important;
    grid-template-columns: 1fr auto !important;

    width: 100% !important;

    margin: 0 !important;
}


/* Name + location */
.testimonial .elementor-testimonial__cite {
    grid-column: 1 !important;
    grid-row: 1 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}


/* =========================================
   STAR IMAGE
   ========================================= */

.testimonial .elementor-testimonial__image {
    grid-column: 2 !important;
    grid-row: 1 !important;

    /* Kill Elementor's avatar sizing */
    width: 220px !important;
    height: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    border-radius: 0 !important;

    position: static !important;
    float: none !important;
}


/* Show the ENTIRE 5-star image */
.testimonial .elementor-testimonial__image img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;

    object-fit: contain !important;
    object-position: center !important;

    border-radius: 0 !important;
}


/* =========================================
   REVIEW COPY
   ========================================= */

.testimonial .elementor-testimonial__content {
    order: 2 !important;

    width: 100% !important;

    text-align: left !important;
}


/* Make sure actual review text stays left aligned */
.testimonial .elementor-testimonial__text {
    text-align: left !important;
}

@media (max-width: 767px) {
	.swiper-slide-inner {
		text-align: center !important;
	}

    /* Stack the testimonial header on mobile */
    .testimonial .elementor-testimonial__footer {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    /* Stars first */
    .testimonial .elementor-testimonial__image {
        order: 1 !important;

        width: 200px !important;
        height: auto !important;

        margin: 0 auto 15px auto !important;
    }

    .testimonial .elementor-testimonial__image img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* Name + location second */
    .testimonial .elementor-testimonial__cite {
        order: 2 !important;

        align-items: center !important;
        text-align: center !important;

        margin: 0 !important;
    }

    /* Review copy below */
    .testimonial .elementor-testimonial__content {
        order: 2 !important;
        width: 100% !important;
    }

    .testimonial .elementor-testimonial__text {
        text-align: left !important;
    }
}


/* =========================================
   GRAVITY FORM 1 - CONSULTATION FORM
   ========================================= */


/* =========================================
   TITLE
   ========================================= */

#gform_wrapper_1 .gform_heading {
    text-align: center;
    margin-bottom: 25px;
}



/* =========================================
   FORM LAYOUT

   Left:
   First / Last
   Phone
   Email

   Right:
   Message
   ========================================= */

#gform_wrapper_1 #gform_fields_1 {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    /*
     Explicit rows prevent the textarea
     from stretching the entire grid.
    */
    grid-template-rows:
        54px
        54px
        54px;

    column-gap: 40px;
    row-gap: 14px;
}


/* Name */
#gform_wrapper_1 #field_1_1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}


/* Phone */
#gform_wrapper_1 #field_1_3 {
    grid-column: 1 !important;
    grid-row: 2 !important;
}


/* Email */
#gform_wrapper_1 #field_1_4 {
    grid-column: 1 !important;
    grid-row: 3 !important;
}


/* Message / Body */
#gform_wrapper_1 #field_1_5 {
    grid-column: 2 !important;
    grid-row: 1 / 4 !important;

    display: flex;
    flex-direction: column;

    height: 100%;
    min-height: 0 !important;
}


/* Make textarea container fill right column */
#gform_wrapper_1 #field_1_5 .ginput_container_textarea {
    flex: 1;
    display: flex;

    height: 100%;
    min-height: 0;
}


/* Make textarea fill entire right column */
#gform_wrapper_1 #input_1_5 {
    width: 100%;
    height: 100% !important;

    min-height: 0 !important;

    resize: none;
}


/* =========================================
   FIELD APPEARANCE
   ========================================= */

#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 textarea {
    width: 100%;

    border: 1px solid #dedede;
    border-radius: 17px;

    background: #fff;

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.025);

    font-size: 18px;
    color: #333;

    padding-left: 22px;
    padding-right: 22px;

    box-sizing: border-box;
}


/* Regular field height */
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"] {
    height: 54px;
}


/* Textarea padding */
#gform_wrapper_1 textarea {
    padding-top: 20px;
    padding-bottom: 20px;
}


/* Placeholder */
#gform_wrapper_1 input::placeholder,
#gform_wrapper_1 textarea::placeholder {
    color: #b4b4b4;
    opacity: 1;
}


/* First + Last Name spacing */
#gform_wrapper_1 #field_1_1 .ginput_complex {
    gap: 5px;
}


/* Make name inputs fill row */
#gform_wrapper_1 #field_1_1 .ginput_complex,
#gform_wrapper_1 #field_1_1 .ginput_complex span {
    height: 100%;
}


/* =========================================
   SUBMIT BUTTON
   ========================================= */

#gform_wrapper_1 .gform_footer {
    display: flex;
    justify-content: center;

    margin-top: 25px;
    padding: 0;
}

#gform_wrapper_1 #gform_submit_button_1 {
    width: 390px;
    max-width: 100%;

    min-height: 50px;

    border: 0;
    border-radius: 999px;

    background: #0873ce;
    color: #fff;

    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

#gform_wrapper_1 #gform_submit_button_1:hover {
    background: #8B8B8B;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    #gform_wrapper_1 #gform_fields_1 {
        grid-template-columns: 1fr;

        /*
         Return to natural-height rows
         once stacked on mobile.
        */
        grid-template-rows: auto;

        gap: 18px;
    }

    #gform_wrapper_1 #field_1_1,
    #gform_wrapper_1 #field_1_3,
    #gform_wrapper_1 #field_1_4,
    #gform_wrapper_1 #field_1_5 {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    #gform_wrapper_1 #field_1_5 {
        height: auto;
    }

    #gform_wrapper_1 #field_1_5 .ginput_container_textarea {
        height: auto;
    }

    #gform_wrapper_1 #input_1_5 {
        height: 150px !important;
        min-height: 150px !important;

        resize: vertical;
    }

    #gform_wrapper_1 .gform_title {
        font-size: 30px;
    }

    #gform_wrapper_1 #field_1_1 .ginput_complex {
        gap: 14px;
    }

    #gform_wrapper_1 #field_1_1 .ginput_complex,
    #gform_wrapper_1 #field_1_1 .ginput_complex span {
        height: auto;
    }
}

/* =========================================================
   PRACTICE AREA FORM ONLY
   Same Gravity Form #1, alternate vertical layout
   ========================================================= */


/* ---------- FORM WIDTH ---------- */

.practiceareaform #gform_wrapper_1,
.practiceareaform #gform_wrapper_1 form,
.practiceareaform #gform_wrapper_1 .gform-body,
.practiceareaform #gform_wrapper_1 #gform_fields_1 {
    width: 100% !important;
    max-width: 100% !important;
}

.practiceareaform {
	box-shadow: 0 4px 27.5px 0 rgba(8, 79, 146, 0.20);
}


/* ---------- MAIN VERTICAL LAYOUT ---------- */

.practiceareaform #gform_wrapper_1 #gform_fields_1 {
    display: flex !important;
    flex-direction: column !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Every Gravity Forms field gets identical width/alignment */

.practiceareaform #gform_wrapper_1 #gform_fields_1 > .gfield {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    box-sizing: border-box !important;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    float: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    transform: none !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* =========================================================
   NAME FIELD
   ========================================================= */

.practiceareaform #gform_wrapper_1 #field_1_1 {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}


.practiceareaform #gform_wrapper_1 #input_1_1 {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    overflow: visible !important;
}


/* First + Last wrappers */

.practiceareaform #gform_wrapper_1 #input_1_1_3_container,
.practiceareaform #gform_wrapper_1 #input_1_1_6_container {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 auto !important;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    transform: none !important;

    box-sizing: border-box !important;
}


/* =========================================================
   PHONE / EMAIL / BODY FIELD WRAPPERS
   Remove old offset/margins
   ========================================================= */

.practiceareaform #gform_wrapper_1 #field_1_3,
.practiceareaform #gform_wrapper_1 #field_1_4,
.practiceareaform #gform_wrapper_1 #field_1_5 {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    box-sizing: border-box !important;
}


/* Remove any Gravity Forms container offsets */

.practiceareaform #gform_wrapper_1 .ginput_container,
.practiceareaform #gform_wrapper_1 .ginput_container_phone,
.practiceareaform #gform_wrapper_1 .ginput_container_email,
.practiceareaform #gform_wrapper_1 .ginput_container_textarea {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   INPUTS
   All same width + same height
   ========================================================= */

.practiceareaform #gform_wrapper_1 #input_1_1_3,
.practiceareaform #gform_wrapper_1 #input_1_1_6,
.practiceareaform #gform_wrapper_1 #input_1_3,
.practiceareaform #gform_wrapper_1 #input_1_4 {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    box-sizing: border-box !important;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    transform: none !important;
}


/* =========================================================
   TEXTAREA
   Same width, but shorter than normal inputs
   ========================================================= */

.practiceareaform #gform_wrapper_1 #input_1_5 {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 120px !important;
    min-height: 120px !important;
    max-height: 120px !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    resize: none !important;
}


/* =========================================================
   SUBMIT
   ========================================================= */

.practiceareaform #gform_wrapper_1 .gform-footer {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    float: none !important;

    transform: none !important;

    box-sizing: border-box !important;
}


.practiceareaform #gform_wrapper_1 #gform_submit_button_1 {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}

.practiceareaform #gform_wrapper_1 #input_1_1 {
    gap: 0 !important;
}

.practiceareaform #gform_wrapper_1 #input_1_1_3_container {
    margin-bottom: 14px !important;
}

