.tsf-zip-form {}

    .tsf-zip-form .tsf-zip-form--heading {
        margin-bottom: 20px;
        font-size: 18px;
        font-weight: 700;
        line-height: 21px;
        text-align: center;
        text-transform: uppercase;
    }

    .tsf-zip-form form {}

        .tsf-zip-form form .tsf-zip-form--field {
            position: relative;
        }

            .tsf-zip-form form .tsf-zip-form--field .field-icon {
            }

            .tsf-zip-form form .tsf-zip-form--field input[type="text"] {
                margin-bottom: 10px;
                padding-left: 40px;
                width: 100%;
                font-size: 16px;
                font-weight: 400;
                line-height: 18px;
            }

        .tsf-zip-form form button[type="submit"] {
            width: 100%;
            color: #fff;
            font-size: 16px;
            font-weight: 700;
            line-height: 18px;
            text-transform: uppercase;
        }

.tsf-lead-form {
    margin: 0 auto;
    padding: 20px;
    background: #fff;
}

    .tsf-lead-form .tsf-lead-form--sandbox-notice {
        display: inline-block;
        padding: 6px 12px;
        margin: 0 0 22px;
        float: right;
        clear: both;
        font-size: 11px;
        font-weight: 600;
        background: #ffff63;
    }

    .tsf-lead-form .tsf-lead-form--sandbox-notice::after {
        content: "";
        display: table;
        clear: both;
    }

    .tsf-lead-form .tsf-lead-form--heading {
        float: none;
        clear: both;
        margin-bottom: 32px;
        font-size: 18px;
        font-weight: 700;
        line-height: 21px;
        text-align: center;
    }

    @media (min-width: 768px) {
        .tsf-lead-form .tsf-lead-form--heading {
            margin-bottom: 48px;
        }
    }

    .tsf-lead-form form {}

        .tsf-lead-form form .tsf-lead-form--step {
            display: none;
        }

        .tsf-lead-form form .tsf-lead-form--step.current {
            display: block;
        }

            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field {
                margin-bottom: 14px;
            }

            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field label {
                display: block;
                margin-bottom: 8px;
                line-height: 1;
            }

            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field input[type="text"],
            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field input[type="tel"],
            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field input[type="email"],
            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field input[type="date"],
            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field textarea {
                display: block;
                width: 100%;
            }

            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field textarea {
                resize: vertical;
                min-height: 200px;
            }

            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .tsf-select {
            }

                .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .tsf-select select {
                }

            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .tsf-radio {
            }

            .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .field-helper {
                margin-top: 8px;
                display: flex;
                justify-content: space-between;
                font-size: 12px;
                line-height: 1;
            }

                .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .field-helper .description {
                    display: inline-block;
                    margin: 0;
                    color: #6B6969;
                }

                .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .field-helper #zip_code_toggle {
                    display: inline-block;
                    margin: 0;
                    padding: 0;
                    font-size: inherit;
                    background: none;
                    border: none;
                }

                .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .field-helper #zip_code_toggle span {
                    pointer-events: none;
                    color: #000;
                }

                .tsf-lead-form form .tsf-lead-form--step .tsf-lead-form--field .field-helper #zip_code_toggle span:first-child {
                    font-weight: 600;
                }

            .tsf-lead-form form .tsf-lead-form--step #tsf-lead-form--comments {}

            .tsf-lead-form form .tsf-lead-form--step #tsf-lead-form--project-options {
                display: none;
            }

        .tsf-lead-form form button[type="submit"] {
            display: block;
            padding: 20px;
            width: 100%;
            color: #fff;
            font-size: 24px;
            font-weight: 600;
            line-height: 1;
            text-transform: uppercase;
        }

        .tsf-lead-form form button[type="submit"]:disabled {
            pointer-events: none;
            opacity: 0.3;
        }

        .tsf-lead-form form #tsf-lead-form--back-btn {
            margin-top: 14px;
            padding: 0;
            color: #000;
            font-size: 14px;
            line-height: 1;
            background: none;
            border: none;
        }

        .tsf-lead-form form #tsf-lead-form--back-btn:focus,
        .tsf-lead-form form #tsf-lead-form--back-btn:hover {
            text-decoration: underline;
        }

        .tsf-lead-form form #tsf-lead-form--back-btn::before {
            display: inline-block;
            position: relative;
            top: -1px;
            content: '';
            margin-right: 0.25em;
            width: 7px;
            height: 7px;
            border-left: #000 1px solid;
            border-bottom: #000 1px solid;
            transform: rotate(45deg);
        }

        .tsf-lead-form #tsf-lead-form--consent-copy {
            display: none;
            margin-top: 30px;
            color: #6B6969;
            font-size: 12px;
            text-align: center;
        }

        .tsf-lead-form.last-step #tsf-lead-form--consent-copy {
            display: block;
        }

        .tsf-lead-form .tsf-lead-form--progress {
            margin-top: 48px;
        }

        .tsf-lead-form .tsf-lead-form--progress p {
            margin: 0 0 10px;
            color: #6B6969;
            font-size: 14px;
            line-height: 1;
            text-align: right;
        }

        .tsf-lead-form .tsf-lead-form--progress > div {
            width: 100%;
            height: 10px;
            background: #f1f1f1;
        }

            .tsf-lead-form .tsf-lead-form--progress > div > div {
                width: 0%;
                height: 100%;
                background: #3B5B9C;
                transition: width 0.25s ease;
            }

.tsf-child-lead {
    padding: 0;
    max-width: 994px !important;
}

@media (min-width: 1080px) {
    .tsf-child-lead {
        display: flex;
        justify-content: space-between;
    }
}

    .tsf-child-lead .tsf-child-lead--heading {
        margin: 0 0 0.5em;
        font-size: 18px;
        font-weight: 600;
    }

    .tsf-child-lead .tsf-child-lead--sidebar {
        padding: 20px;
        background: #d8deeb;
    }

    @media (min-width: 1080px) {
        .tsf-child-lead .tsf-child-lead--sidebar {
            padding: 24px;
            width: 244px;
        }
    }

        .tsf-child-lead .tsf-child-lead--sidebar p:not(.tsf-child-lead--heading) {
            font-size: 14px;
        }

        .tsf-child-lead .tsf-child-lead--sidebar .tsf-child-lead--sidebar--steps {
            margin: 0 0 0 0;
            padding: 0;
            list-style: none;
            width: 212px;
        }

            .tsf-child-lead .tsf-child-lead--sidebar .tsf-child-lead--sidebar--steps li {
                display: flex;
                align-items: center;
                justify-content: flex-start;
                margin: 0 0 14px 0;
                font-size: 14px;
            }

            .tsf-child-lead .tsf-child-lead--sidebar .tsf-child-lead--sidebar--steps li:last-child {
                margin: 0;
            }

                .tsf-child-lead .tsf-child-lead--sidebar .tsf-child-lead--sidebar--steps li svg {
                    margin-right: 10px;
                    width: 30px;
                    height: 30px;
                }

                .tsf-child-lead .tsf-child-lead--sidebar .tsf-child-lead--sidebar--steps li svg ~ span {
                    width: calc(100% - 30px - 10px);
                }

    .tsf-child-lead .tsf-child-lead--content {
        padding: 32px 20px;
    }

    @media (min-width: 1080px) {
        .tsf-child-lead .tsf-child-lead--content {
            padding: 32px 64px;
            width: calc(100% - 244px);
        }
    }

        .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--heading {
            float: none;
            clear: both;
            text-align: center;
        }

        .tsf-child-lead .tsf-child-lead--content form {
            margin: 20px 0 0;
        }

            .tsf-child-lead .tsf-child-lead--content form #tsf-show-more-projects {
                display: block;
                margin: 20px auto 0;
                padding: 0;
                width: 200px;
                color: #000;
                line-height: 1;
                background: none;
            }

            .tsf-child-lead .tsf-child-lead--content form #tsf-show-more-projects::after {
                display: inline-block;
                position: relative;
                top: -3px;
                content: '';
                margin-left: 1.5em;
                width: 9px;
                height: 9px;
                border-right: #000 1px solid;
                border-bottom: #000 1px solid;
                transform: rotate(45deg);
            }

            .tsf-child-lead .tsf-child-lead--content form button[type="submit"] {
                margin-top: 25px;
                margin-left: auto;
                margin-right: auto;
                width: 100%;
                max-width: 313px;
            }

            .tsf-child-lead .tsf-child-lead--content form button[type="submit"]::after {
                display: none;
            }

        .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final {
            display: none;
            margin: 32px -20px -32px;
            padding: 32px 20px;
            background: #f1f1f1;
        }

        @media (min-width: 1080px) {
            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final {
                margin: 32px -64px -32px;
                padding: 32px;
            }
        }

            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--heading {
                text-align: center;
                text-transform: uppercase;
            }

            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items {
                margin-top: 20px;
            }

                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item {
                    position: relative;
                    margin-bottom: 20px;
                    padding: 16px;
                    width: 100%;
                    background: #fff;
                }

                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item:last-child {
                    margin-bottom: 0;
                }

                    .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div {
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                    }

                        .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--thumbnail {
                            width: 100px;
                            height: 100px;
                            background: #f1f1f1;
                        }

                            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--thumbnail a {
                                display: block;
                                width: 100%;
                                height: 100%;
                            }

                                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--thumbnail a img {
                                    width: 100%;
                                    max-width: 100%;
                                    height: 100%;
                                    max-height: 100%;
                                    object-fit: contain;
                                }

                        .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header {
                            width: calc(100% - 100px - 20px);
                        }

                            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header .suggested-item--title {
                                margin-bottom: 0.75em;
                                font-size: 14px;
                                font-weight: 600;
                            }

                                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header .suggested-item--title a {
                                    color: #000;
                                    text-decoration: none;
                                    text-transform: uppercase;
                                }

                            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header .suggested-item--desc {
                                font-size: 14px;
                            }

                            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header .suggested-item--link {
                                margin: 0;
                                font-size: 12px;
                            }

                                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header p a {
                                    text-decoration: none;
                                    text-transform: uppercase;
                                }

                                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header p a:focus,
                                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header p a:hover {
                                    text-decoration: underline;
                                }

                                .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--suggested-items .suggested-item > div .suggested-item--header .suggested-item--link a::after {
                                    display: inline-block;
                                    position: relative;
                                    top: -2px;
                                    content: '';
                                    margin-left: 0.5em;
                                    width: 5px;
                                    height: 5px;
                                    border-top: #000 1px solid;
                                    border-right: #000 1px solid;
                                    transform: rotate(45deg);
                                }

            .tsf-child-lead .tsf-child-lead--content .tsf-child-lead--final .tsf-child-lead--final--home-cta {
                margin: 20px 0 0;
                text-align: center;
            }
