label { margin-bottom: .3em }

:is([type=text],[type=password],[type=email],[type=url],[type=date],[type=month],[type=time],[type=datetime],[type=datetime-local],[type=week],[type=number],[type=search],[type=tel],[type=color],select,textarea) {
    --user-select: initial!important;
    -webkit-user-select: var(--user-select);
    -moz-user-select: var(--user-select);
    -ms-user-select: var(--user-select);
    user-select: var(--user-select);
}

:is([type=text],[type=password],[type=email],[type=url],[type=date],[type=month],[type=time],[type=datetime],[type=datetime-local],[type=week],[type=number],[type=search],[type=tel],[type=color],select,textarea),
.hbspt-form :is([type=text],[type=date],[type=number],[type=password],[type=search],[type=tel],[type=url],[type=email],[type=reset],[type=text],[type=search],[type=tel],[type=number],[type=password],textarea,select) {
    --align-items: center;
    -webkit-box-align: var(--align-items);
    -ms-flex-align: var(--align-items);
    align-items: var(--align-items);
    
    --box-sizing: border-box;
    -webkit-box-sizing: var(--box-sizing);
    box-sizing: var(--box-sizing);
    
    --box-shadow: none;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    
    --transition: var(--input-transition);
    -webkit-transition: var(--transition);
    -o-transition: var(--transition);
    transition: var(--transition);
    
    width: 100%;
    height: auto;
    line-height: var(--lh-4);
    padding: var(--input-padding);
    margin-bottom: .8em;
    margin-bottom: 0;
    border-width: var(--input-border-width);
    border-style: var(--input-border-style);
    border-color: var(--input-border-color);
    border-radius: var(--input-border-radius);
    font-size: var(--color-body);
    background-color: var(--input-bg-color);
    cursor: pointer;
    text-indent: 0;
    letter-spacing: 0;
    vertical-align: middle;
    font-family: var(--ffamily-body);
    font-size: var(--fs-md);
    min-height: 3.25rem;
    text-decoration: none;
    color: var(--input-text-color);
}

.hbspt-form:is(textarea) { min-height: 15rem !important; }
input[type=checkbox] { cursor: pointer; }
textarea { display: block }

select {
    --appearance: none;
    -webkit-appearance: var(--appearance);
    -moz-appearance: var(--appearance);
    appearance: var(--appearance);
    
    padding-right: calc(var(--input-padding-x) * 2.6);
    padding-left: calc(var(--input-padding-x) * 1);
    background-image: var(--form-select-bg);
    background-repeat: no-repeat;
    background-position-x: calc(100% - .8em);
    background-position-y: center;
    background-size: .75em;
}

select option { background: #fff }

:is(input[type=text],input[type=date],input[type=textarea],input[type=email],input[type=search],input[type=tel],input[type=number],input[type=password],textarea,select):is(:hover,:focus) {
    background-color: var(--input-bg-color-hover);
    color: var(--input-text-color);
}

input:is([type=date],[type=datetime-local],[type=month],[type=week],[type=time]) {
    --appearance: none;
    -webkit-appearance: var(--appearance);
    -moz-appearance: var(--appearance);
    appearance: var(--appearance);
    
    position: relative;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position-x: calc(100% - .8em);
    background-position-y: center;
    background-size: 1.25em;
    cursor: pointer;
}

input:is([type=date], [type=datetime-local], [type=month]) { background-image: var(--form-date-bg) }
input[type=week] { background-image: var(--form-week-bg) }
input[type=day] { background-image: var(--form-day-bg) }
input[type=time] { background-image: var(--form-time-bg) }

input:is([type=date],[type=datetime-local],[type=month],[type=time],input[type=week])::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
    background: transparent;
    cursor: pointer;
}

input[type=range] {
    --appearance: none;
    -webkit-appearance: var(--appearance);
    -moz-appearance: var(--appearance);
    appearance: var(--appearance);
    
    --transition: opacity .2s;
    -webkit-transition: var(--transition);
    -o-transition: var(--transition);
    transition: var(--transition);
    
    width: 100%;
    height: .5em;
    border-width: var(--input-border-width);
    border-style: var(--input-border-style);
    border-color: var(--input-border-color);
    border-radius: var(--input-border-radius);
    outline: none;
    opacity: .7;
    background: var(--gray-shade-4);
    font-size: var(--fs-md);
}

input[type=range]:hover { opacity: 1 }

input[type=range]::-webkit-slider-thumb,
input[type=range]::-moz-range-thumb {
    width: 1.2em;
    height: 1.2em;
    border-radius: 10em;
    background: var(--blue-shade-3);
    cursor: pointer;
}

.hbspt-form {
    --box-shadow: none !important;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    
    width: 100%;
    max-width: 100% !important;
    border-radius: 0 !important;
}

.hbspt-form * { font-size: inherit }

.hbspt-form :is(input[type=submit],.hs-button) {
    --user-select: none !important;
    -webkit-user-select: var(--user-select);
    -moz-user-select: var(--user-select);
    -ms-user-select: var(--user-select);
    user-select: var(--user-select);
    
    --backdrop-filter: blur(.1rem);
    -webkit-backdrop-filter: var(--backdrop-filter);
    backdrop-filter: var(--backdrop-filter);
    
    --transition: var(--btn-transition);
    -webkit-transition: var(--transition);
    -o-transition: var(--transition);
    transition: var(--transition);
    
    display: var(--btn-display);
    line-height: var(--btn-lh);
    padding-top: var(--btn-pt);
    padding-bottom: var(--btn-pb);
    padding-left: var(--btn-pl);
    padding-right: var(--btn-pr);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-border-radius);
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-ls);
    font-size: var(--btn-fsize);
    font-weight: var(--btn-fweight);
    text-align: center;
    font-family: var(--btn-ffamily);
    color: var(--btn-light-text-color-normal);
    background-color: var(--btn-light-bg-normal);
    border-color: var(--btn-light-border-normal);
    display: block;
    margin-top: 2em;
    margin-left: auto;
    margin-right: 0;
    cursor: pointer;
}

.hbspt-form:is(input[type=submit], .hs-button):hover {
    --backdrop-filter: blur(.1rem);
    -webkit-backdrop-filter: var(--backdrop-filter);
    backdrop-filter: var(--backdrop-filter);
    
    border-color: var(--btn-light-border-hover);
    color: var(--btn-light-text-color-hover);
    background-color: var(--btn-light-bg-hover);
}

.hbspt-form .input {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.hbspt-form input,
.hbspt-form input[type=text],
.hbspt-form input[type=date],
.hbspt-form input[type=number],
.hbspt-form input[type=password],
.hbspt-form input[type=search],
.hbspt-form input[type=tel],
.hbspt-form input[type=url],
.hbspt-form input[type=email],
.hbspt-form input[type=reset],
.hbspt-form select {
    margin-bottom: 0 !important
}

.hbspt-form .hs-form-field {
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 1.25em
}

.hbspt-form fieldset.form-columns-1 .hs-input:not([type=checkbox]):not([type=checkbox]) { width: 100% !important }

@media(max-width:400px), (min-device-width:320px) and (max-device-width:480px) {
    .hbspt-form .form-columns-2 .hs-form-field .hs-input:not([type=checkbox]):not([type=checkbox]),
    .hbspt-form .form-columns-3 .hs-form-field .hs-input:not([type=checkbox]):not([type=checkbox]) {
        width: 100% !important
    }
}

.hbspt-form fieldset.form-columns-1 .hs-form-field {
    padding-right: 0;
    padding-left: 0
}

@media screen and (min-width:720px) {
    .hbspt-form fieldset.form-columns-2 .hs-form-field:nth-child(1) {
        padding-right: .5em;
        padding-left: 0
    }
    .hbspt-form fieldset.form-columns-2 .hs-form-field:nth-child(2) {
        padding-right: 0;
        padding-left: .5em
    }
}

.hbspt-form label {
    --text-overflow: ellipsis !important;
    -o-text-overflow: var(--text-overflow);
    text-overflow: var(--text-overflow);
    
    display: block;
    overflow: hidden !important;
    margin-bottom: .25em;
    white-space: nowrap !important;
    font-size: var(--fs-lg-1);
    font-weight: 400;
    font-family: var(--ffamily-body);
    padding-bottom: 0;
    text-transform: initial;
    letter-spacing: initial;
    color: #ffffff;
    line-height: var(--lh-4);
}

.hbspt-form .input + [role=alert] label { 
    --transform: translate(0, .25em);
    -webkit-transform: var(--transform);
    -ms-transform: var(--transform);
    transform: var(--transform);
    
    margin-top: 0; 
    margin-bottom: 0; 
    font-size: var(--fs-md); 
}

.hbspt-form [role=alert] label { 
    --transform: translate(0, .25em);
    -webkit-transform: var(--transform);
    -ms-transform: var(--transform);
    transform: var(--transform);
    
    font-size: var(--fs-md); 
    margin-top: 0; 
    margin-bottom: 0; 
}

.hbspt-form .hs-error-msgs { padding-left: 0; margin-bottom: 0; font-size: .75em }
.hbspt-form ul { padding: 0; list-style-type: none }
.hbspt-form li { overflow: hidden }
.hbspt-form fieldset { max-width: 100% !important }

.hbspt-form .submitted-message {
    --transform: translate(-50%, -50%);
    -webkit-transform: var(--transform);
    -ms-transform: var(--transform);
    transform: var(--transform);
    
    margin: 0;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: var(--fs-lg-3);
    font-weight: 300;
    color: #fff;
}

.hbspt-form .hs-recaptcha { display: none !important }

.hbspt-form input[type=checkbox] {
    width: auto;
    padding: .5em .5em;
    margin-right: .5em
}

.hbspt-interest-dropdown .dropdown-link {
    display: block !important;
    padding: var(--input-padding);
    padding-right: calc(var(--input-padding-x) * 2.6) !important;
    padding-left: calc(var(--input-padding-x) * 1) !important;
    border-width: var(--input-border-width);
    border-style: var(--input-border-style);
    border-color: var(--input-border-color);
    border-radius: var(--input-border-radius);
    background-color: #fff !important;
    background-image: var(--form-select-bg);
    background-repeat: no-repeat !important;
    background-position-x: calc(100% - .8em) !important;
    background-position-y: center !important;
    background-size: 1em !important;
    cursor: pointer
}

.hbspt-interest-dropdown .dropdown-link.dropdown-toggle::after { display: none !important }

.hbspt-interest-dropdown .dropdown-menu {
    width: 100% !important;
    padding: 1em !important;
    margin-top: .5em !important;
    border-width: var(--input-border-width) !important;
    border-style: var(--input-border-style) !important;
    border-color: var(--input-border-color) !important;
    border-radius: 1em !important
}

.hbspt-interest-dropdown .dropdown-menu * { cursor: pointer }