.woocommerce form, .wpcf7-form {
    opacity:0;
    transition:1s all;
}

.woocommerce form li {
    list-style: none;
}

.forms-js-active .woocommerce form, .forms-js-active .wpcf7-form, .woocommerce .search-form {
    opacity:1;
}

.forms-js-active .woocommerce form p, .forms-js-active .wpcf7-form p {
    margin-top:1rem;
    margin-bottom:1rem;
}

.forms-js-active .wpcf7-form h1, .forms-js-active .wpcf7-form h2, .forms-js-active .wpcf7-form h3, .forms-js-active .wpcf7-form h4 {
    width:100%;
    margin-bottom: 20px;
}

.forms-js-active .wpcf7-form .form-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 30px;
    align-items: flex-end;
    position: relative;
    padding:20px 10px 0;
}

.forms-js-active .wpcf7-form .form-wrapper-half {
    width:calc(50% - 20px);
}

.forms-js-active .wpcf7-form .form-wrapper:before {
    position: absolute;
    display: block;
    content: "";
    background: #000000;
    opacity: 0.1;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index: 0;
}

.forms-js-active .wpcf7-form .form-group, .forms-js-active .woocommerce form #customer_details .form-row {
    position:relative;
}

.forms-js-active .wpcf7-form .form-group {
    margin: 0 10px 20px;
    flex: 220px;
    clear: both;
}

.forms-js-active .wpcf7-form .form-group-third {
    flex:calc((100% / 3) - 20px);
}

.forms-js-active .wpcf7-form .form-group-half {
    flex:calc(50% - 20px);
}

.forms-js-active .wpcf7-form .form-group-full {
    flex:calc(100% - 20px);
}

.forms-js-active .wpcf7-form label, .forms-js-active .woocommerce #customer_details p label {
    position: absolute;
    left: 8px;
    bottom: 0;
    transform: translateY(-50%);
    z-index: 1;
    transition: all 0.4s;
    pointer-events: none;
    width: 100%;
    font-weight: bold;
}

.forms-js-active .wpcf7-list-item label {
    position: relative;
    top:auto;
    transform: none;
    pointer-events: all;
    left: auto;
}

.forms-js-active .woocommerce form #customer_details .form-row.notes label {
    position: relative;
}

.forms-js-active .woocommerce form .form-row label, .forms-js-active .woocommerce-page form #customer_details .form-row label {
    display: inline!important;
}

.forms-js-active label.label-for-textbox {
    position:relative;
}

.forms-js-active .woocommerce form #customer_details .form-row#billing_country_field {
    margin:0 0 20px!important;
}

.forms-js-active .wpcf7-list-item label {
    position: relative;
    pointer-events: auto;
}

.forms-js-active .wpcf7-form label.form-label-placeholder, .forms-js-active .woocommerce #customer_details label.form-label-placeholder {
    transform:none;
    padding: 0.4em;
    left: 0;
    position: relative;
    font-size:0.9em;
}

.forms-js-active .wpcf7-form label.form-label-active, .forms-js-active .woocommerce #customer_details label.form-label-active {
    font-size: 0.8em;
    bottom:auto;
    transform:none;
    background: #777777;
    padding: 0.4em;
    color: white!important;
    left: 0;
    margin-bottom: 0;
    line-height: 1.3em;
}

.forms-js-active .wpcf7-form label + br, .forms-js-active .woocommerce #customer_details label + br {
    display: none;
}

.forms-js-active .wpcf7-form input:not([type=submit],[type='button'],[type='file']), .forms-js-active .wpcf7-form textarea, .forms-js-active .woocommerce #customer_details input, .forms-js-active .woocommerce #customer_details textarea, .wpcf7-radio {
    border: none!important;
    border-bottom: 1px solid #8f8e8e!important;
    padding: 1.7em 0.4em 0.2em!important;
    transition: all 0.4s!important;
    background: none!important;
    height: auto;
    border-radius: 0;
    line-height: 1.3em;
    font-size: 1em;
}

.forms-js-active .dark-form.wpcf7-form input:not([type=submit],[type='button'],[type='file']), .forms-js-active .dark-form.wpcf7-form textarea, .dark-form .wpcf7-radio {
    border-bottom: 1px solid #e9e7e7!important;
}

.forms-js-active .dark-form ::placeholder, .forms-js-active .dark-form ::-webkit-input-placeholder {
    color: #CCCCCC;
}

.forms-js-active .wpcf7-form textarea, .forms-js-active .woocommerce #customer_details textarea {
    padding-top:0.5em!important;
}

.forms-js-active .wpcf7-form input:not([type=submit],[type='button']).field_has-placeholder, .forms-js-active .wpcf7-form textarea.field_has-placeholder, .forms-js-active .woocommerce #customer_details input.field_has-placeholder, .forms-js-active .woocommerce #customer_details textarea.field_has-placeholder, .wpcf7-radio.field_has-placeholder {
    padding-top:0.2em!important;
}

.forms-js-active .woocommerce #customer_details textarea.textbox-no-label {
    padding-top:0.5em!important;
}

.forms-js-active .woocommerce #customer_details input.screen-reader-text-on-label {
    padding:0 0.4em 0.1em!important;
}

.forms-js-active .wpcf7-form input[type='file'] {
    width:100%;
    text-align:center;
}

.wpcf7-radio {
    width:100%;
    padding:0 0 20px!important;
    display:block;
    text-align: -webkit-center;
    border: none!important;
}

.forms-js-active .wpcf7-form input:focus, .forms-js-active .woocommerce input:focus, .forms-js-active .wpcf7-form input.form-text-filled, .forms-js-active .woocommerce input.form-text-filled {
    background:#F5F5F5!important;
}

.forms-js-active .wpcf7-form input[type='file']:focus {
    background: none!important;
}

.forms-js-active .wpcf7-form .form-label-select, .forms-js-active .woocommerce #customer_details .form-label-select {
    position: relative;
}

.forms-js-active .wpcf7-form .form-label-select.form-label-active, .forms-js-active .woocommerce #customer_details .form-label-select.form-label-active {
    opacity: 0;
}

.forms-js-active .wpcf7-form input[type='date'], .forms-js-active .wpcf7-form input[type='number'], .forms-js-active .wpcf7-form input[type='text'], .forms-js-active .wpcf7-form input[type='email'], .forms-js-active .wpcf7-form textarea, .forms-js-active .wpcf7-form canvas, .forms-js-active .woocommerce #customer_details input[type='text'], .forms-js-active .woocommerce #customer_details input[type='email'], .forms-js-active .woocommerce #customer_details textarea, .forms-js-active .woocommerce #customer_details canvas {
    position: relative;
    display: block;
    width: 100%;
    transition: all 500ms ease;
}

.forms-js-active .wpcf7-form textarea {
    height:auto;
    max-height:76px;
    transition: max-height 1s!important;
}

.forms-js-active .wpcf7-form textarea:focus, .forms-js-active .wpcf7-form textarea.form-textarea-filled, .forms-js-active .woocommerce #customer_details textarea {
    max-height:4000px;
    background:#F5F5F5!important;
}

.forms-js-active .wpcf7-form .form-row, .forms-js-active .woocommerce #customer_details .form-row {
    display: block;
}

.forms-js-active .wpcf7-form-control-signature-wrap {
    width: 100%!important;
}

.forms-js-active .wpcf7-form-control-signature-body {
    width:100%!important;;
}

.forms-js-active .wpcf7-form .form-group canvas {
    margin-bottom: 20px;
    display: block;
    margin: 0 auto;
    border: 1px solid #ddd;
    background: #FFFFFF;
}

.forms-js-active .wpcf7-form-control-signature-wrap + div input[type='button'] {
    position:absolute;
    bottom:4px;
    right:4px;
    background:#F5F5F5!important;
    color:#333333!important;
}

input[type=radio], input[type=checkbox] {
    position: relative;
    visibility: hidden;
    height: 0!important;
    width: 0!important;
    display: none!important;
}

input[type=radio]+span:before, input[type=checkbox]+span:before, input[type=radio]+label:before, input[type=checkbox]+label:before {
    position: absolute;
    margin-left: -50px;
    display: inline-block;
    height: 40px;
    width: 40px;
    background: #CCCCCC;
    content: "";
    visibility: visible;
    border-radius: 4px;
    transition: all 0.4s;
    top: 0;
}

input[type=radio]:checked+span:before, input[type=checkbox]:checked+span:before, input[type=radio]:checked+label:before, input[type=checkbox]:checked+label:before {
    background: green;
}

input[type=radio] + span, input[type=checkbox] + span, input[type=radio] + label, input[type=checkbox] + label {
    line-height: 40px;
    display: inline-flex!important;
    padding-left: 50px;
    padding-right: 30px;
    position: relative;
}

#add_payment_method #payment ul.payment_methods li img, .woocommerce-cart #payment ul.payment_methods li img, .woocommerce-checkout #payment ul.payment_methods li img {
    height: 26px;
    margin: 7px 4px;
}

input[type=radio]:checked+span:after, input[type=checkbox]:checked+span:after, input[type=radio]:checked+label:after, input[type=checkbox]:checked+label:after {
    position: absolute;
    height: 22px;
    width: 11px;
    border: 1px solid #FFFFFF;
    border-width: 0px 4px 4px 0px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    display: block;
    margin-top: 6px;
    margin-left: -35px;
    content: "";
    top: 0;
}

.ss-main .ss-single-selected {
    height: 30px;
    padding: 5px;
}

.forms-js-active .woocommerce #customer_details .form-row.half-width {
    width:50%;
    display: inline-block;
}

.wcb-modal-body {
    text-align: center;
}

.wcb-gdpr-field .wcb-gdpr-message {
    display:inline-block;
    width:auto;
    margin:20px auto;
}