@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

.nxt-form-layout {
    border: 0;
    padding: 20px 0 0
}

.form-nxt-style-1,.nxt-simple-contact-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%
}

.nxt-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end
}

.nxt-check-box,.nxt-check-box-container,.nxt-radio-box {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.nxt-message-input,.nxt-option-container {
    display: flex;
    flex-direction: column
}

.nxt-check-box,.nxt-radio-box {
    padding-top: 8px
}

.nxt-check-title-label,.nxt-email-label,.nxt-message-label,.nxt-name-label,.nxt-number-label,.nxt-option-label,.nxt-radio-title-label {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    transition: all .3s ease-in-out
}

.nxt-input-container {
    border: 1px solid #ccc;
    border-radius: 4px;
    display: flex;
    align-items: center;
    width: 100%;
    gap: 8px;
    transition: all .3s ease-in-out
}

.nxt-email-input .nxt-input-container .nxt-email-richtext,.nxt-name-input .nxt-input-container .nxt-name-richtext,.nxt-number-field .nxt-number-input .nxt-number-richtext {
    padding: 0;
    font-size: 14px;
    line-height: 1.6;
    margin-left: 0;
    margin-right: 0;
    border-radius: 4px;
    border-width: 0;
    background-color: #fff;
    width: 100%;
    transition: all .3s ease-in-out;
    background: 0 0;
    min-height: 0px;
}

.nxt-email-input .nxt-input-container .nxt-email-richtext,.nxt-email-input .nxt-input-container .nxt-email-richtext:focus,.nxt-name-input .nxt-input-container .nxt-name-richtext:focus {
    outline: 0;
    border: 0;
    box-shadow: none
}

.nxt-message-input .nxt-message-richtext {
    padding: 10px;
    font-size: 14px;
    border: 1px solid #8f8f8fa6;
    border-radius: 4px;
    transition: all .3s ease-in-out;
    min-height: 100px;
    resize: vertical;
    background-color: #fff
}

.nxt-input-wrapper {
    border: 1px solid #8f8f8fa6;
    display: flex;
    border-radius: 4px;
    position: relative
}

.nxt-submit-button.nxt-btn-inline .nxt-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 5px;
    box-sizing: border-box;
    padding: 8px 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    transition: all .3s ease-in-out;
    width: 100%;
    min-width: 0px;
}

.nxt-submit,.nxt-submit:disabled {
    border: 0;
    color: #fff;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    opacity: 1;
    position: relative;
    text-align: center;
    min-width: 110px;
    justify-content: center;
    align-items: center;
    display: flex;
    padding: 0px;
    background-color: #162d9e;
    column-gap: 5px;
}

.nxt-submit:focus,.nxt-submit:hover {
    background-color: #162d9e
}

.nxt-placeholder-icon {
    padding-left: 8px;
    transition: all .3s ease-in-out
}

.nxt-button-icon {
    position: relative;
    display: inline-flex;
    justify-content: center
}

.nxt-checkbox-list,.nxt-name-label-wrapper,.nxt-placeholder-icon .nxt-inner-icon-wrap,.nxt-radio-list {
    display: flex;
    align-items: center;
    transition: all .3s ease-in-out
}

.nxt-label-container,.nxt-name-label-wrapper {
    position: relative
}

.nxt-inner-icon {
    font-size: 18px;
    height: 18px
}

.nxt-name-richtext {
    flex: 1;
    padding: 8px 12px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    outline: 0;
    color: #333;
    width: 100%;
    box-sizing: border-box
}

.nxt-icon {
    width: 18px;
    height: 18px;
    object-fit: contain
}

.nxt-label-container {
    display: flex;
    align-items: center;
    gap: 4px
}

.nxt-message-richtext::placeholder {
    opacity: 1;
    font: 400 1em Arial,sans-serif
}

.nxt-check-title-label.required::after,.nxt-email-label.required::after,.nxt-message-label.required::after,.nxt-name-label.required::after,.nxt-number-label.required::after,.nxt-option-label.required::after,.nxt-radio-title-label.required::after {
    content: "";
    color: red;
    margin-left: 4px
} 

.nxt-error-checkbox,.nxt-error-email,.nxt-error-number,.nxt-error-radiobox,.nxt-error-show,.nxt-message-error {
    color: red;
    font-size: 14px
}

.nxt-number-field .nxt-number-input .nxt-number-richtext:focus {
    border: 0;
    box-shadow: none;
    outline: 0
}

.nxt-message-richtext:focus,.nxt-option-container .nxt-option-field:focus,.nxt-radio-box input[type=radio] {
    box-shadow: none;
    outline: 0;
    background-image: none
}

.nxt-radio-box input[type=radio]:checked:focus {
    box-shadow: none;
    outline: 0;
    background-image: none
}

.nxt-number-richtext:focus {
    outline-width: 0;
    outline-style: none
}

.nxt-style-1 .nxt-message-input .nxt-message-richtext:focus {
    outline: 0;
    box-shadow: none
}

.nxt-help-text {
    display: block;
    width: -webkit-fill-available
}

.nxt-phone-icon {
    position: absolute;
    z-index: 10;
    top: 12px;
    left: 15px
}

.nxt-submit-button {
    display: inline-block;
    text-align: center;
    position: relative;
    width: 100%;
    flex: 1 1 100%
}

.nxt-loader {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 24px;
    height: 24px;
    z-index: 10
}

.nxt-loader::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 3px solid transparent;
    border-top: 3px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite
}

.nxt-check-label,.nxt-radio-label {
    color: #000;
    margin-bottom: 0;
    display: inline-flex;
    align-items: center;
    transition: all .3s ease-in-out
}

.nxt-radio-box .nxt-radio-richtext {
    width: 20px;
    height: 20px;
    padding: 0;
    font-size: 16px;
    border: 1px solid #8f8f8fa6;
    border-radius: 50%;
    margin-right: 6px;
    appearance: none;
    display: inline-block;
    position: relative;
    cursor: pointer
}

.nxt-radio-box input[type=radio]:checked,.nxt-radio-box input[type=radio]:checked:focus,.nxt-radio-box input[type=radio]:checked:hover {
    border: 1px solid #8f8f8fa6;
    background-color: #fff
}

.nxt-radio-box .nxt-radio-richtext::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #162d9e;
    border: 1px solid #8f8f8fa6;
    transform: translate(-50%,-50%) scale(0);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    opacity: 0;
    transition: all .3s cubic-bezier(.12,.4,.29,1.46)
}

.nxt-radio-box .nxt-radio-richtext:checked::after {
    transform: translate(-50%,-50%) scale(1);
    opacity: 1
}

.nxt-check-box input[type=checkbox]:checked::before,.nxt-radio-box .nxt-radio-richtext:checked::before {
    content: none
}

.nxt-check-label input[type=checkbox] {
    margin-right: 8px
}

.nxt-check-box>div .nxt-check-richtext {
    width: 20px;
    height: 20px;
    padding: 0;
    font-size: 16px;
    border: 1px solid #8f8f8fa6;
    border-radius: 4px;
    appearance: none;
    display: inline-block;
    position: relative;
    margin: 0 10px 0 0;
    transition: all .3s ease-in-out
}

.nxt-check-box>div .nxt-check-richtext::after {
    content: "";
    position: absolute;
    top: 40%;
    left: 50%;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    width: calc(20px - 70%);
    height: calc(20px - 45%);
    transform: translate(-50%,-50%) rotate(45deg) scale(0);
    opacity: 0;
    transition: transform .3s cubic-bezier(.12,.4,.29,1.46),opacity .3s ease
}

.nxt-check-box>div .nxt-check-richtext:checked::after {
    transform: translate(-50%,-50%) rotate(45deg) scale(1);
    opacity: 1
}

.nxt-check-box>div .nxt-check-richtext:focus {
    outline-width: 0;
    outline-style: none
}

.nxt-check-box>div .nxt-check-richtext:checked:focus,.nxt-check-box>div .nxt-check-richtext:checked:hover,.tp-form-checkbox-button .nxt-check-box>div .nxt-check-richtext:checked {
    background-color: #162d9e;
    background-image: none;
    outline-width: 0;
    outline-style: none
}

.nxt-check-box>div .nxt-check-richtext:not(:checked)::after {
    transform: translate(-50%,-50%) rotate(45deg) scale(0);
    opacity: 0;
    transition: none
}

.nxt-option-container .nxt-option-field {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23666' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
    padding: 10px;
    appearance: none;
    line-height: 1.6;
}

.nxt-check-box.horizontal,.nxt-radio-box.horizontal {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 5px
}

.nxt-radio-box.vertical {
    flex-direction: column;
    gap: 8px;
    margin-top: 5px
}

.nxt-option-field:focus {
    outline-width: 0;
    outline-style: none
}

.nxt-form-option .nxt-option-container .nxt-option-field:hover {
    color: currentColor
}

.nxt-check-box.round .nxt-checkbox-list .nxt-check-richtext {
    border-radius: 50%
}

.nxt-radio-box.square .nxt-checkbox-list .nxt-radio-richtext,.nxt-radio-box.square .nxt-radio-list .nxt-radio-richtext,.nxt-radio-box.square .nxt-radio-richtext:checked::after {
    border-radius: 4px
}

.tp-form-block input:-webkit-autofill,.tp-form-block input:-webkit-autofill:focus,.tp-form-block input:-webkit-autofill:hover {
    box-shadow: 0 0 0 1000px transparent inset!important;
    transition: background-color 9999s ease-in-out 0s!important
}

.nxt-message-richtext::-webkit-scrollbar {
    opacity: 0;
    visibility: hidden;
    width: 8px
}

.nxt-message-richtext::-webkit-scrollbar-thumb {
    background: gray;
    border-radius: 10px
}

.nxt-submit-button .nxt-submit,.nxt-btn-inline .nxt-submit {
    font-size: 14px
}

.nxt-button-svg {
	display: flex;
	align-items: center;
}

.nxt-submit-button .nxt-submit {
    line-height: 3
}

.nxt-btn-inline .nxt-submit {
    line-height: 2
}

.nxt-not-inline {
    flex: 1 1 100%
}

.nxt-form-option:has(.nxt-error-select:not(:empty))+.nxt-submit-button.nxt-btn-inline:has(.nxt-submit),.nxt-number-field:has(.nxt-error-number:not(:empty))+.nxt-submit-button.nxt-btn-inline:has(.nxt-submit),.tp-form-email-field:has(.nxt-error-email:not(:empty))+.nxt-submit-button.nxt-btn-inline:has(.nxt-submit),.tp-form-message-field:has(.nxt-message-error:not(:empty))+.nxt-submit-button.nxt-btn-inline:has(.nxt-submit),.tp-form-name-field:has(.nxt-error-show:not(:empty))+.nxt-submit-button.nxt-btn-inline:has(.nxt-submit) {
    margin-bottom: 30px
}

.nxt-number-field:has(.nxt-number-input>.nxt-help-text:nth-child(3):not(:empty)):not(:has(.nxt-error-number:not(:empty)))+.nxt-submit-button.nxt-btn-inline,.tp-form-checkbox-button:has(.nxt-check-box>.nxt-help-text:nth-child(3):not(:empty)):not(:has(.nxt-error-checkbox:not(:empty)))+.nxt-submit-button.nxt-btn-inline,.tp-form-email-field:has(.nxt-email-input>.nxt-help-text:nth-child(3):not(:empty)):not(:has(.nxt-error-email:not(:empty)))+.nxt-submit-button.nxt-btn-inline,.tp-form-message-field:has(.nxt-message-input>.nxt-help-text:nth-child(3):not(:empty)):not(:has(.nxt-message-error:not(:empty)))+.nxt-submit-button.nxt-btn-inline,.tp-form-name-field:has(.nxt-name-input>.nxt-help-text:nth-child(3):not(:empty)):not(:has(.nxt-error-show:not(:empty)))+.nxt-submit-button.nxt-btn-inline {
    margin-bottom: 40px
}

.nxt-form-option:has(.nxt-error-select:not(:empty)):has(.nxt-option-container>.nxt-help-text:nth-child(3):not(:empty))+.nxt-submit-button.nxt-btn-inline,.nxt-number-field:has(.nxt-error-number:not(:empty)):has(.nxt-number-input>.nxt-help-text:nth-child(3):not(:empty))+.nxt-submit-button.nxt-btn-inline,.tp-form-email-field:has(.nxt-error-email:not(:empty)):has(.nxt-email-input>.nxt-help-text:nth-child(3):not(:empty))+.nxt-submit-button.nxt-btn-inline,.tp-form-message-field:has(.nxt-message-error:not(:empty)):has(.nxt-message-input>.nxt-help-text:nth-child(3):not(:empty))+.nxt-submit-button.nxt-btn-inline,.tp-form-name-field:has(.nxt-error-show:not(:empty)):has(.nxt-name-input>.nxt-help-text:nth-child(3):not(:empty))+.nxt-submit-button.nxt-btn-inline {
    margin-bottom: 62px
}

.tp-form-checkbox-button:has(.nxt-check-box>.nxt-help-text:nth-child(2):not(:empty)):not(:has(.nxt-error-checkbox:not(:empty)))+.nxt-submit-button.nxt-btn-inline,.tp-form-radio-button:has(.nxt-radio-box>.nxt-help-text:nth-child(2):not(:empty)):not(:has(.nxt-error-radiobox:not(:empty)))+.nxt-submit-button.nxt-btn-inline {
    margin-bottom: 35px!important
}

.tp-form-checkbox-button:has(.nxt-error-checkbox:not(:empty))+.nxt-submit-button.nxt-btn-inline:has(.nxt-submit),.tp-form-radio-button:has(.nxt-error-radiobox:not(:empty))+.nxt-submit-button.nxt-btn-inline:has(.nxt-submit) {
    margin-bottom: 22px
}

.tp-form-checkbox-button:has(.nxt-error-checkbox:not(:empty)):has(.nxt-check-box>.nxt-help-text:nth-child(2):not(:empty))+.nxt-submit-button.nxt-btn-inline,.tp-form-radio-button:has(.nxt-error-radiobox:not(:empty)):has(.nxt-radio-box>.nxt-help-text:nth-child(2):not(:empty))+.nxt-submit-button.nxt-btn-inline {
    margin-bottom: 56px
}

.nxt-form-option:has(.nxt-option-container>.nxt-help-text:nth-child(3):not(:empty)):not(:has(.nxt-error-select:not(:empty)))+.nxt-submit-button.nxt-btn-inline {
    margin-bottom: 30px
}
.tp-form-block textarea:-webkit-autofill,.tp-form-block textarea:-webkit-autofill:focus,.tp-form-block textarea:-webkit-autofill:hover {
	box-shadow: 0 0 0 1000px transparent inset !important;
	transition: background-color 9999s ease-in-out 0s !important;
}