.elementor-107316 .elementor-element.elementor-element-9d5c5e3 > .elementor-container{min-height:500px;}.elementor-107316 .elementor-element.elementor-element-9d5c5e3:not(.elementor-motion-effects-element-type-background), .elementor-107316 .elementor-element.elementor-element-9d5c5e3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-el_color_3 );background-image:url("https://touchsource.com/wp-content/uploads/2024/11/About-Banner-Background-scaled.webp");background-repeat:no-repeat;background-size:cover;}.elementor-107316 .elementor-element.elementor-element-9d5c5e3 > .elementor-background-overlay{background-image:url("https://touchsource.com/wp-content/uploads/2024/11/WebPageBanners2_GetQuote-B.webp");background-position:bottom right;background-repeat:no-repeat;background-size:30% auto;opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-107316 .elementor-element.elementor-element-9d5c5e3{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-bc-flex-widget .elementor-107316 .elementor-element.elementor-element-995e4bb.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-107316 .elementor-element.elementor-element-995e4bb.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-107316 .elementor-element.elementor-element-995e4bb > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:90px 30px 90px 30px;}.elementor-107316 .elementor-element.elementor-element-995e4bb{z-index:10;}.elementor-107316 .elementor-element.elementor-element-961a72a{--display:flex;}.elementor-107316 .elementor-element.elementor-element-c84a5d7 .elementor-heading-title{font-family:"Libre Franklin", sans-serif;font-size:52px;font-weight:700;line-height:65px;color:var( --e-global-color-el_color_0 );}.elementor-107316 .elementor-element.elementor-element-c84a5d7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;width:var( --container-widget-width, 662px );max-width:662px;--container-widget-width:662px;--container-widget-flex-grow:0;}.elementor-107316 .elementor-element.elementor-element-c84a5d7.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-107316 .elementor-element.elementor-element-ac9d03e{--spacer-size:40px;}.elementor-107316 .elementor-element.elementor-element-a4f0be3{--display:flex;}.elementor-107316 .elementor-element.elementor-element-56fd01e{text-align:center;padding:20px 20px 20px 20px;}.elementor-107316 .elementor-element.elementor-element-ba99d8b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-107316 .elementor-element.elementor-element-3fc36ef{text-align:start;}.elementor-107316 .elementor-element.elementor-element-7f76b54{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-107316 .elementor-element.elementor-element-4fd7d5a{text-align:center;}.elementor-107316 .elementor-element.elementor-element-60b0fd9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-107316 .elementor-element.elementor-element-9d5c5e3 > .elementor-container{min-height:1px;}.elementor-107316 .elementor-element.elementor-element-995e4bb{max-width:initial;flex:1 0 0;min-width:25px;}.elementor-107316 .elementor-element.elementor-element-995e4bb.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-107316 .elementor-element.elementor-element-c84a5d7{text-align:center;}}@media(max-width:767px){.elementor-107316 .elementor-element.elementor-element-c84a5d7{text-align:start;width:100%;max-width:100%;}.elementor-107316 .elementor-element.elementor-element-c84a5d7 .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-107316 .elementor-element.elementor-element-ac9d03e{--spacer-size:30px;}}@media(max-width:1024px) and (min-width:768px){.elementor-107316 .elementor-element.elementor-element-995e4bb{width:100%;}}/* Start custom CSS *//* Apply grid layout for checkboxes and radio buttons */
#gform_wrapper_2 .gfield_checkbox,
#gform_wrapper_2 .gfield_radio {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr);
    /* 6 items per row by default */
    gap: 20px;
}

/* Style for each item in the grid */
#gform_wrapper_2 .gfield_checkbox div,
#gform_wrapper_2 .gfield_radio div {
    list-style: none;
    text-align: center;
}


div#input_2_44 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    justify-items: center !important;
}

div#input_2_44 img {
    max-width: 100% !important;
}

/* Label styling for checkboxes and radio buttons */
#gform_wrapper_2 .gfield_checkbox input[type="checkbox"]+label,
#gform_wrapper_2 .gfield_radio input[type="radio"]+label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #fff;
    transition: border-color 0.3s, box-shadow 0.3s;
    position: relative;
    box-shadow: 2.4px 6px 8.04px 1.2px rgba(0, 0, 0, 0.11);
    min-height: 150px;
    font-size: 16px;
    border: 2px solid #DDD;
    border-radius: 5px;
    min-width: 168px;
    cursor: pointer;
    padding: 45px 26px;
    margin: 0;
    color: #000;
    text-align: center;
    font-family: 'Roboto';
    font-size: 14.4px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

/* Adding Image to the Label */
#gform_wrapper_2 .gfield_checkbox input[type="checkbox"]+label img,
#gform_wrapper_2 .gfield_radio input[type="radio"]+label img {
    max-width: 60px;
    /* Set max image width */
    display: block;
    margin: 0 auto 10px;
    /* Center the image and add space below it */
}

/* Checkbox and Radio Button Styling for Selected State */
#gform_wrapper_2 .gfield_checkbox input[type="checkbox"]:checked+label,
#gform_wrapper_2 .gfield_radio input[type="radio"]:checked+label {
    border-color: #00AEEF;
    /* Updated border color on select */
    box-shadow: 0 4px 8px rgba(0, 174, 239, 0.4);
    /* Slight shadow when selected */
}

/* Hide the Default Checkbox and Radio Button */
#gform_wrapper_2 .gfield_checkbox input[type="checkbox"],
#gform_wrapper_2 .gfield_radio input[type="radio"] {
    display: none;
}


/* Hover effect */
#gform_wrapper_2 .gfield_checkbox input[type="checkbox"]+label:hover,
#gform_wrapper_2 .gfield_radio input[type="radio"]+label:hover {
    border-color: #00AEEF;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

/* Tablet View - 4 items per row */
@media only screen and (max-width: 768px) {

    #gform_wrapper_2 .gfield_checkbox ul,
    #gform_wrapper_2 .gfield_radio ul {
        grid-template-columns: repeat(4, 1fr);
        /* 4 items per row */
    }
}

/* Mobile View - 2 items per row */
@media only screen and (max-width: 576px) {

    #gform_wrapper_2 .gfield_checkbox ul,
    #gform_wrapper_2 .gfield_radio ul {
        grid-template-columns: repeat(2, 1fr);
        /* 2 items per row */
    }
}

h2.step-question {
    color: #00ADEE;
    text-align: center;
    font-family: Roboto;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
}

p.step-description {
    color: #000;
    text-align: center;
    font-family: Roboto;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 0;
}

p.step-text {
    color: #000;
    text-align: center;
    font-family: Roboto;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 2rem 0;
}


p.gf_progressbar_title {
    visibility: hidden;
    display: none;
}

/* Progress Bar Styling */

.gform_page_footer .button:hover {
    background-color: #00ADEE !important;
    /* Darker on hover */
}

/* Previous Button Specific Style */
.gform_page_footer .gform_previous_button {
    background-color: #ffffff !important;
    color: #00ADEE !important;
    border: 1px solid #00ADEE !important;
}

.gform_page_footer .gform_previous_button:hover {
    background-color: #e0e0e0 !important;
}

/* Align Buttons */

.gform_page_footer {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 4.25rem !important;
}


.gf_progressbar_wrapper {
    border-radius: 50px;
    margin-bottom: 20px;
    color: #000;
    text-align: center;
    font-family: Roboto;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-top: 4rem;
}

.gf_progressbar {
    height: 35px !important;
    transition: width 0.5s ease !important;
    border-radius: 100px !important;
    border: 3px solid rgba(0, 173, 238, 0.47) !important;
    background: #FFF !important;
}

div#field_2_47 h2 {
    margin-top: -1rem;
}

ul.step-description-list li {
    list-style: disc !important;
    padding: 0.25rem 0;
    font-size: 16px;
    font-family: 'Libre Franklin';
}


div#field_2_11 {
    background: #ccc;
    padding: 1rem 2.25rem;
}

.options-content {
    padding: .75rem 27px .75rem 0px;
}

.gf_progressbar_percentage.percentbar_blue {
    border-radius: 100px !important;
    border: none !important;
    background-color: #00adee !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
}

div#gform_2_validation_container {
    display: none;
    visibility: hidden;
}

div.gfield_validation_message {
    padding: 1.5rem 0;
    font-size: 16px !important;
}

.gform_page_footer.before {
    justify-content: center !important;
    margin-top: 84px;
}

.gform_page_footer .button {
    padding: 10px 20px !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    display: flex !important;
    width: 330px !important;
    height: 62px !important;
    flex-direction: column;
    justify-content: center !important;
    flex-shrink: 0;
}

.gform_page_footer .gform_previous_button {
    background-color: #ffffff !important;
    color: #00ADEE !important;
    border: 1px solid #00ADEE !important;
    text-align: center !important;
    font-family: Roboto !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
    letter-spacing: 1.8px !important;
}

.gform_page_footer .gform_previous_button:hover {
    background-color: #00ADEE !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
}

.gform_page_footer .gform_next_button,
input#gform_submit_button_2 {
    background-color: #00ADEE !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    text-align: center !important;
    font-family: Roboto !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
    letter-spacing: 1.8px !important;
}


.gform_page_footer .gform_next_button:hover,
input#gform_submit_button_2:hover {
    background-color: #ffffff !important;
    color: #00ADEE !important;
    border: 1px solid #00ADEE !important;
}

/* Field Specific */
div#input_2_13 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px;
    justify-items: center !important;
}

label#label_2_13_0 img {
    max-width: 100% !important;
}

h4.blue-label-gf {
    color: #33A5F2;
    text-align: center;
    font-family: Roboto;
    font-size: 14.4px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
    text-transform: uppercase;
    margin-top: 1.25rem;
    padding: 0;
    margin-bottom: 2px;
}

p.label-body-gf {
    color: #000;
    font-family: Roboto;
    font-size: 14.4px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px;
}

label#label_2_13_0 {
    padding: 54px 116px !important;
}

label#label_2_13_1 {
    padding: 54px 116px !important;
}

div#field_2_16 {
    color: #000;
    text-align: center;
    font-family: Roboto;
    font-size: 14.4px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-top: 4rem;
    margin-left: 200px;
}

input#input_2_18 {
    display: flex;
    width: 102px;
    height: 46px;
    padding: 0px 26.4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 41px;
    flex-shrink: 0;
    border: 2px solid #00ADEE;
    background: #FFFFFF;
    margin-top: 3rem;
}


#gform_wrapper_2 #input_2_18,
#gform_wrapper_2 #input_2_17 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px;
}

#gform_wrapper_2 .gfield_checkbox#input_2_17 input[type="checkbox"]+label {
    min-height: 74px !important;
    min-width: 205px !important;
    padding: 45px 26px !important;
}

#gform_wrapper_2 div#input_2_12 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px;
}



#gform_wrapper_2 .gfield_checkbox#input_2_12 input[type="checkbox"]+label {
    min-height: 74px !important;
    min-width: 333px !important;
    padding: 45px 26px !important;
}


label.gfield_label.gform-field-label {
    color: #212121;
    font-family: 'Inter' !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 25px !important;
}


input[type=text],
input[type=tel],
input[type=url],
input[type=email],
input[type=number],
input[type=date],
input[type=range],
input[type=password],
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    outline: 0;
    border-radius: 4px !important;
    border: 1px solid #E0E0E0 !important;
    background: #FFF !important;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.10) !important;
    display: flex !important;
    height: 48px !important;
    padding: 12px 16px !important;
    align-items: flex-start !important;
    gap: 10px !important;
    flex: 1 0 0 !important;
    text-align: left;
}

div#field_2_19 {
    color: #000;
    text-align: center;
    font-family: 'Roboto';
    font-size: 14.4px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

div#field_2_32 {
    margin-bottom: -50px;
}

/* Mobile Responsive CSS */

/* Desktop (Portrait and Landscape) */
@media screen and (min-width: 1025px) and (max-width: 1199px) {

    #gform_wrapper_2 .gfield_checkbox,
    #gform_wrapper_2 .gfield_radio {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr);
        gap: 20px;
    }

    #gform_wrapper_2 div#input_2_12 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }

}


/* Tablet (Portrait and Landscape) */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    #gform_wrapper_2 .gfield_checkbox,
    #gform_wrapper_2 .gfield_radio {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    #gform_wrapper_2 .gfield_checkbox input[type="checkbox"]+label,
    #gform_wrapper_2 .gfield_radio input[type="radio"]+label {
        min-width: 206px;
    }

    label#label_2_13_0 {
        padding: 57px 57px !important;
    }

    label#label_2_13_1 {
        padding: 58px 57px !important;
    }

    #gform_wrapper_2 div#input_2_12 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }

    #gform_wrapper_2 #input_2_18,
    #gform_wrapper_2 #input_2_17 {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px;
    }

}

/* Mobile (Portrait) */
@media screen and (max-width: 767px) {

    #gform_wrapper_2 .gfield_checkbox,
    #gform_wrapper_2 .gfield_radio {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    #gform_wrapper_2 .gfield_checkbox input[type="checkbox"]+label,
    #gform_wrapper_2 .gfield_radio input[type="radio"]+label {
        min-width: 168px;
    }

    label#label_2_13_0 {
        padding: 57px 57px !important;
    }

    label#label_2_13_1 {
        padding: 58px 57px !important;
    }

    #gform_wrapper_2 div#input_2_12 {
        display: grid !important;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 20px;
    }

    #gform_wrapper_2 #input_2_18,
    #gform_wrapper_2 #input_2_17 {
        display: grid !important;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 20px;
    }

    div#input_2_13 {
        display: grid !important;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 20px;
    }

    div#field_2_16 {
        color: #000;
        text-align: center;
        font-family: Roboto;
        font-size: 14.4px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        margin-top: 0;
        margin-left: 0;
    }

    input#input_2_18 {
        text-align: center !important;
        width: 100%;
        margin: 0 auto;
    }

    #gform_wrapper_2 .gfield_checkbox#input_2_17 input[type="checkbox"]+label {
        min-height: 74px !important;
        min-width: 311px !important;
        padding: 45px 26px !important;
    }
}

textarea#input_2_38 {
    text-align: left;
    padding: 1rem !important;
    margin-top: 1.325rem;
}

select#input_2_40 {
    text-align: left;
}

form#gform_2 {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 40px;
}/* End custom CSS */