.bt-form__wrapper {
    margin: 30px auto;
    max-width: 500px;
}

.bt-flabels input[type], .bt-flabels select {
    position: relative;
    width: 100%;
    height: 50px;
    z-index: 1;
    transition: background 0.3s cubic-bezier(0.215,0.610,0.355,1.00), border-color 0.3s cubic-bezier(0.215,0.610,0.355,1.00);
}

.bt-flabels textarea {
    position: relative;
    width: 100%;
    z-index: 1;
    transition: background 0.3s cubic-bezier(0.215,0.610,0.355,1.00), border-color 0.3s cubic-bezier(0.215,0.610,0.355,1.00);
}

 .bt-flabels label.sublabel {
    pointer-events: none;
    position: absolute;
    opacity: 0;
    top: 0;
    transform: translateY(15%);
    z-index: 2;
    font-weight: bold;
    font-size: 10px;
    text-transform: uppercase;
    padding-left: 6px;
    color: #52a6e1;
    transition: transform 0.3s cubic-bezier(0.215,0.610,0.355,1.00), opacity 0.3s cubic-bezier(0.215,0.610,0.355,1.00);
}

.bt-flabels > *:not(:first-child).bt-flabels__wrapper, .bt-flabels > *:not(:first-child) .bt-flabels__wrapper {
    border-top: none;
}

.bt-flabels__wrapper {
    position: relative;
}

.bt-flabels__error-desc {
    position: absolute;
    top: 0;
    right: 6px;
    opacity: 0;
    font-weight: bold;
    color: #f44545;
    font-size: 10px;
    text-transform: uppercase;
    z-index: 3;
    pointer-events: none;
}

.bt-flabels__error input[type], .bt-flabels__error textarea, .bt-flabels__error select {
    background: #feeeee;
    color: #333333;
}

    .bt-flabels__error input[type]:focus, .bt-flabels__error textarea:focus, .bt-flabels__error select:focus {
        background: #feeeee;
        color: #333333;
    }

.bt-flabels__error .bt-flabels__error-desc {
    opacity: 1;
    transform: translateY(0);
}

.bt-flabels--right {
    border-left: none;
}

.bt-flabel__float label.sublabel {
    opacity: 1;
    transform: translateY(0);
}

.bt-flabel__float input[type], .bt-flabel__float textarea, .bt-flabel__float select {
    padding-top: 9px;
}

input[type=submit]:not(.wpcf7-form-control) {
    cursor: pointer;
    border: none;
    color: var(--color-white);
    margin-left: 8px;
    padding: 0 1em
}

.wpcf7 > form input[type=submit][disabled], .wpcf7 > form input[type=submit][disabled]:focus, .wpcf7 > form input[type=submit][disabled]:hover {
    color: var(--color-white);
    background-color: var(--color-contrast-medium) !important;
    -webkit-transition: all 250ms var(--ease-out);
    transition: all 250ms var(--ease-out)
}

.custom-checkbox, .form-group {
    padding-bottom: 24px
}

.form-control {
    font-size: 16px;
    border-radius: var(--radius-md)
}

textarea.form-control {
    border-radius: var(--radius-md);
    padding: .5em .75em .5em .75em
}

.form-group {
    position: relative
}

.form-control {
    padding: .5em .75em .5em .75em;
    background: var(--color-bg);
    border: 1px solid var(--color-contrast-low);
    width: 100%;
    -webkit-transition: border-color 150ms ease,-webkit-box-shadow 150ms ease;
    transition: border-color 150ms ease,-webkit-box-shadow 150ms ease;
    transition: border-color 150ms ease,box-shadow 150ms ease;
    transition: border-color 150ms ease,box-shadow 150ms ease,-webkit-box-shadow 150ms ease
}

    .form-control:hover {
        border-color: var(--color-primary)
    }

    .form-control:focus {
        --color-shadow: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
        outline: 0;
        border-color: var(--color-primary);
        -webkit-box-shadow: 0 0 0 4px var(--color-shadow);
        box-shadow: 0 0 0 4px var(--color-shadow);
        background-color: var(--color-bg);
        color: var(--color-contrast-higher)
    }

    .form-control::-webkit-input-placeholder {
        color: var(--color-contrast-medium);
        font-style : italic;
    }

    .form-control::-moz-placeholder {
        opacity: 1;
        color: var(--color-contrast-medium);
        font-style : italic;
    }

    .form-control:-ms-input-placeholder {
        color: var(--color-contrast-medium);
        font-style: italic;
    }

    .form-control:-moz-placeholder {
        color: var(--color-contrast-medium);
        font-style: italic;
    }

    .form-control[disabled], .form-control[readonly] {
        cursor: not-allowed
    }

    .form-control[aria-invalid=true] {
        border-color: var(--color-error)
    }

        .form-control[aria-invalid=true]:focus {
            --color-shadow: hsla(var(--color-error-h), var(--color-error-s), var(--color-error-l), 0.2);
            -webkit-box-shadow: 0 0 0 3px var(--color-shadow);
            box-shadow: 0 0 0 3px var(--color-shadow)
        }

.form-legend {
    color: var(--color-contrast-higher);
    line-height: 1.2;
    font-size: var(--text-md);
    margin-bottom: var(--space-xxs)
}

.form-label {
    display: inline-block;
    font-size: var(--text-sm);
    margin-bottom: var(--space-xxxs)
}

input[type=password] {
    padding: .5em;
    height: 42px;
    border: 1px solid var(--color-contrast-low);
    border-radius: var(--radius-md);
    transition: border-color 150ms var(--ease-in-out),box-shadow 150ms var(--ease-in-out),-webkit-box-shadow 150ms var(--ease-in-out)
}

    input[type=password]:hover {
        border-color: var(--color-primary)
    }

    input[type=password]:focus-visible {
        --color-shadow: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
        z-index: 1;
        border-color: var(--color-primary);
        -webkit-box-shadow: 0 0 0 4px var(--color-shadow);
        box-shadow: 0 0 0 4px var(--color-shadow);
        outline: 0
    }

input[type=submit] {
    font-size: 16px;
    height: 42px;
    border-radius: var(--radius-md)
}

.ms-contact-form-7 {
    font-size: 18px
}

    .ms-contact-form-7 .btn {
        border-radius: var(--radius-md)
    }

    .ms-contact-form-7 p {
        position: relative
    }

        .ms-contact-form-7 p .wpcf7-spinner {
            position: absolute;
            top: 10px
        }

    .ms-contact-form-7 .wpcf7-spinner {
        position: absolute
    }

    .ms-contact-form-7 input[type=submit] {
        height: 100%;
        width: 100%;
        opacity: 0;
        position: absolute;
        z-index: 5;
        top: 0;
        left: 0
    }

    .ms-contact-form-7 .ms-btn__text {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }

input[type=submit].wpcf7-submit {
    -webkit-transition: all 250ms var(--ease-out);
    transition: all 250ms var(--ease-out);
    color: var(--color-white);
    background-color: var(--color-primary)
}

.widget_text form {
    margin: var(--space-sm) 0
}

.form-control[readonly] {
    cursor: not-allowed
}

select.form-control::-ms-expand {
    display: none
}

textarea {
    resize: vertical;
    overflow: auto;
    vertical-align: top
}

input::-ms-clear {
    display: none
}

select option[value=""] {
    background-color: #fafaff !important;
    color: #79797c !important;
}

select option {
    font-style: normal;
    color: deepskyblue;
}

input[type=checkbox],
input[type=radio] {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    height: 0;
    width: 0;
    pointer-events: none
}

    input[type=checkbox] + span,
    input[type=radio] + span {
        display: inline-block;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: baseline;
        -webkit-align-items: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        line-height: var(--body-line-height);
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        cursor: pointer;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

        input[type=checkbox] + span::before,
        input[type=radio] + span::before {
            content: '';
            display: inline-block;
            vertical-align: middle;
            -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
            flex-shrink: 0;
            width: var(--checkbox-radio-size);
            height: var(--checkbox-radio-size);
            background-color: var(--color-bg);
            border-width: var(--checkbox-radio-border-width);
            border-color: var(--color-contrast-low);
            border-style: solid;
            margin-right: var(--checkbox-radio-gap);
            background-repeat: no-repeat;
            background-position: center;
            -webkit-transition: border .2s, -webkit-transform .2s;
            transition: border .2s, -webkit-transform .2s;
            transition: transform .2s, border .2s;
            transition: transform .2s, border .2s, -webkit-transform .2s;
            margin-right: 8pt;
            margin-bottom: 4pt
        }

    input[type=checkbox]:not(:checked):not(:focus) + span:hover::before,
    input[type=radio]:not(:checked):not(:focus) + span:hover::before {
        border-color: var(--color-contrast-medium)
    }

@supports (grid-area:auto) {

    input[type=checkbox] + span::before,
    input[type=radio] + span::before {
        position: relative;
        top: var(--checkbox-radio-translate-y)
    }
}

input[type=radio] + span::before {
    border-radius: 50%
}

input[type=checkbox] + span::before {
    border-radius: 4px
}

input[type=checkbox]:checked + span::before,
input[type=radio]:checked + span::before {
    background-color: var(--color-primary);
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: var(--color-primary);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s
}

input[type=checkbox]:active + span::before,
input[type=radio]:active + span::before {
    -webkit-transform: scale(.8);
    -ms-transform: scale(.8);
    transform: scale(.8);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s
}

input[type=checkbox]:checked:active + span::before,
input[type=radio]:checked:active + span::before {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition: none;
    transition: none
}

input[type=radio]:checked + span::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' fill='%23ffffff'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23ffffff'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
    background-size: var(--radio-marker-size)
}

input[type=checkbox]:checked + span::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' stroke-width='2' fill='%23ffffff' stroke='%23ffffff'%3E%3Cpolyline fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' points='1,9 5,13 15,3 ' data-cap='butt'%3E%3C/polyline%3E%3C/g%3E%3C/svg%3E");
    background-size: var(--checkbox-marker-size)
}

input[type=checkbox]:checked:active + span::before,
input[type=checkbox]:focus + span::before,
input[type=radio]:checked:active + span::before,
input[type=radio]:focus + span::before {
    border-color: var(--color-primary);
    -webkit-box-shadow: 0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .2);
    box-shadow: 0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .2)
}

.checkbox--bg + span,
input[type=radio]--bg + span {
    border-radius: .25em;
    -webkit-transition: background .2s;
    transition: background .2s
}

    .checkbox--bg + span:hover,
    input[type=radio]--bg + span:hover {
        background-color: var(--color-contrast-lower)
    }

.checkbox--bg:active + span,
.checkbox--bg:focus + span,
input[type=radio]--bg:active + span,
input[type=radio]--bg:focus + span {
    background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), .1)
}

.checkbox-list > *,
input[type=radio]-list > * {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    margin-bottom: var(--space-xxs)
}

.checkbox-list > :last-of-type,
input[type=radio]-list > :last-of-type {
    margin-bottom: 0
}

.checkbox-list label,
input[type=radio]-list label {
    line-height: var(--body-line-height);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.checkbox-list input,
input[type=radio]-list input {
    vertical-align: top;
    margin-right: var(--space-xxxs);
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.checkbox-list.checkbox-list--inline,
.checkbox-listinput[type=radio]-list--inline,
input[type=radio]-list.checkbox-list--inline,
input[type=radio]-listinput[type=radio]-list--inline {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: calc(-1 * var(--space-md))
}

    .checkbox-list.checkbox-list--inline > *,
    .checkbox-listinput[type=radio]-list--inline > *,
    input[type=radio]-list.checkbox-list--inline > *,
    input[type=radio]-listinput[type=radio]-list--inline > * {
        margin: 0 var(--space-md) var(--space-md) 0
    }
