#text-us-button-widget {
    position: fixed;
    right: 20px;
    bottom: 20px;
    box-sizing: border-box;
}

#text-us-button-widget * {
    box-sizing: border-box;
}

#text-us-button-widget #text-us-button-wrapper {
    position: absolute;
    right: 0;
    bottom: 0;
}

#text-us-button-widget #text-us-button-wrapper #text-us-button,
#text-us-button-widget #text-us-button-wrapper #text-us-button:visited,
#text-us-button-widget #text-us-button-wrapper #text-us-button:hover,
#text-us-button-widget #text-us-button-wrapper #text-us-button:active {
    display: block;
    padding: 12px 20px 12px 52px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    line-height: 24px;
    border-radius: 25px;
    background-color: #104939;
    background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'none\' viewBox=\'0 0 24 24\' stroke-width=\'2\' stroke=\'white\' width=\'24px\' height=\'24px\' class=\'size-6\'%3E%3Cpath stroke-linecap=\'round\' stroke-linejoin=\'round\' d=\'M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 0 1 .865-.501 48.172 48.172 0 0 0 3.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z\' /%3E%3C/svg%3E%0A');
    background-repeat: no-repeat;
    background-position: 20px 14px;
}

#text-us-button-widget #text-us-button-wrapper #text-us-button.text-us-form-open {
    background-color: darkgoldenrod;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='white' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18 18 6M6 6l12 12' /%3E%3C/svg%3E%0A");
    background-size: 24px;
}

#text-us-button-widget #text-us-form-wrapper,
#text-us-button-widget #text-us-form-confirmation {
    display: none;
    position: absolute;
    right: 0;
    bottom: 68px;
    opacity: 0;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    width: 350px;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0, 0, 0, .25);
    transition: all 1s;
}

#text-us-button-widget #text-us-form-wrapper.text-us-form-wrapper-visible {
    display: block;
    opacity: 1;
    overflow: auto;
}

#text-us-button-widget #text-us-form-confirmation.text-us-confirmation-visible {
    display: block;
}

#text-us-button-widget #text-us-form-wrapper h3 {
    font-size: 24px !important;
    margin: 0 0 10px !important;
    line-height: 1 !important;
}

#text-us-button-widget #text-us-form-wrapper p {
    font-size: 16px !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
}

#text-us-button-widget #text-us-form-wrapper p.text-us-form-terms {
    font-size: 12px !important;
    color: #ccc !important;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form fieldset {
    border: 0 !important;
    text-align: left;
    padding: 0 !important;
    margin: 0 !important;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form .text-us-form-control {
    padding: 8px 8px 4px;
    margin-bottom: 8px;
    border: 1px solid #999;
    border-radius: 4px;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form .text-us-form-control label {
    margin: 0 !important;
    font-size: 14px !important;
    color: #999;
    display: block;
    line-height: 1 !important;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form .text-us-form-control:focus-within {
    border-color: #104939;;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form .text-us-form-control:focus-within label {
    color: #104939;;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form .text-us-form-control input {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    width: 100% !important;
    font-size: 16px;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form .text-us-form-control input:focus {
    outline: none !important;
    border-bottom-color: #104939;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form .text-us-form-control input:focus ~ label {
    font-size: 12px !important;
    color: #104939;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form button[type="submit"],
#text-us-button-widget #text-us-form-wrapper #text-us-form button[type="submit"]:hover {
    display: block;
    padding: 8px 32px !important;
    margin: 10px auto !important;
    background-color: #104939;
    color: #fff;
    border-radius: 25px;
    border: none !important;
    outline: none !important;
}

#text-us-button-widget #text-us-form-wrapper #text-us-form button[type="submit"]:disabled {
    opacity: .5;
}

#text-us-button-widget #text-us-form-loader-wrapper {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

#text-us-button-widget #text-us-form-loader-wrapper #text-us-form-loader {
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 25px);
    width: 50px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 8px solid #104939;
    border-right-color: #fff;
    animation: l2 1s infinite linear;
}

@keyframes l2 {to{transform: rotate(1turn)}}

#text-us-form-confirmation {
    color: darkgreen;
    opacity: 1 !important;
    width: 300px !important;
}

@media screen and (max-width: 767px) {
    #text-us-button-widget #text-us-form-wrapper,
    #text-us-button-widget #text-us-form-confirmation {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100% !important;
        height: 100% !important;
    }

    #text-us-button-widget #text-us-form-confirmation {
        align-items: center;
    }

    #text-us-button-widget #text-us-form-confirmation.text-us-confirmation-visible {
        display: flex;
    }
}
