.wpcf7-form .form-group.row:not(.checkboxes) {
    margin-bottom: 0.7rem;
}
 
.wpcf7-form .agreements label.btn-agreement {
    border-color: #969998;
    background-color: #e9e9e9;
    background-image: unset;
    transition: all .3s ease;
}

.wpcf7-form .agreements label.btn-agreement:hover,
.wpcf7-form .agreements label.btn-agreement.active {
    background-color: #71bf44;
    border-color: #71bf44;
    color: #fff;
}

.wpcf7-form .agreements label.btn-agreement:focus-visible {
    outline: 2px solid -webkit-focus-ring-color;
    outline-offset: 2px;
}

.wpcf7-form label {
    display: block;
    width: 100%;
    font-weight: 400;
    color: #212529;
    margin-bottom: 4px;
    cursor: pointer;
}

.wpcf7-form .form-check-inline {
    display: inline-flex;
    align-items: center;
}

.wpcf7-form .form-check-inline:not(:first-child) {
    margin-left: 8px !important;
}

.wpcf7-form .form-check-inline input {
    margin-top: 0;
}

.wpcf7-form .form-check-inline label {
    display: inline-block;
    margin-bottom: 0;
}

.wpcf7-form label sup {
    color: #d81835;
}

.wpcf7-form label a {
    text-decoration: none;
    color: #d81835;
    font-weight: 500;
    transition: color .3s ease;
}

.wpcf7-form label .form-check-input-thp ~ span.wpcf7-list-item-label {
    color: #212529;
}

.wpcf7-form label .form-check-input-thp ~ span.wpcf7-list-item-label a {
    font-weight: 500;
    text-decoration: underline;
    color: #212529;
}

.wpcf7-form label a:hover,
.wpcf7-form label .form-check-input-thp ~ span.wpcf7-list-item-label a:hover {
    color: #ba142d;
    text-decoration: underline;
}

.wpcf7-form input[type=text], 
.wpcf7-form input[type=number], 
.wpcf7-form input[type=email], 
.wpcf7-form input[type=tel], 
.wpcf7-form input[type=date] {
    appearance: none;
    width: 100%;
    height: auto;
    padding: 8px;
    color: #212529;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 4px;
    transition: border .3s ease;
}

.wpcf7-form input[type=text]:hover, 
.wpcf7-form input[type=number]:hover, 
.wpcf7-form input[type=email]:hover, 
.wpcf7-form input[type=tel]:hover, 
.wpcf7-form input[type=date]:hover {
    border-color: #71bf44;
}

.wpcf7-form input[type=text]:focus, 
.wpcf7-form input[type=number]:focus, 
.wpcf7-form input[type=email]:focus, 
.wpcf7-form input[type=tel]:focus, 
.wpcf7-form input[type=date]:focus {
    outline: none;
    box-shadow: none;
    border-color: #71bf44;
}

.wpcf7-form .np-label-container {
    position: relative;
    display: block;
    width: 100%;
}

.wpcf7-form .np-label-container input[type="text"], 
.wpcf7-form .np-label-container input[type="number"], 
.wpcf7-form .np-label-container input[type="email"], 
.wpcf7-form .np-label-container input[type="tel"], 
.wpcf7-form .np-label-container input[type="date"] {
    padding: 14px 8px;
    transition: .3s ease;
}

.wpcf7-form .np-label-container input[type="text"]::placeholder, 
.wpcf7-form .np-label-container input[type="number"]::placeholder, 
.wpcf7-form .np-label-container input[type="email"]::placeholder, 
.wpcf7-form .np-label-container input[type="tel"]::placeholder, 
.wpcf7-form .np-label-container input[type="date"]::placeholder {
    opacity: 0;
}

.wpcf7-form .np-label-container input[type="date"]::before {
    display: none;
}

.wpcf7-form .np-label-container label {
    position: absolute;
    display: inline-block;
    width: auto;
    max-width: 100%;
    top: 0;
    left: 8px;
    font-size: 15px;
    line-height: 24px;
    opacity: 0.9;
    z-index: 1;
    padding: 14px 0;
    cursor: text;
    border-radius: 4px;
    background: linear-gradient(180deg, transparent 50%, transparent 50%);
    user-select: none;
    transition: .3s ease;
}

.wpcf7-form .np-label-container input[type="text"]:focus ~ label,
.wpcf7-form .np-label-container input[type="text"]:not(:placeholder-shown) ~ label,
.wpcf7-form .np-label-container input[type="number"]:focus ~ label,
.wpcf7-form .np-label-container input[type="number"]:not(:placeholder-shown) ~ label,
.wpcf7-form .np-label-container input[type="email"]:focus ~ label,
.wpcf7-form .np-label-container input[type="email"]:not(:placeholder-shown) ~ label,
.wpcf7-form .np-label-container input[type="tel"]:focus ~ label,
.wpcf7-form .np-label-container input[type="tel"]:not(:placeholder-shown) ~ label,
.wpcf7-form .np-label-container input[type="date"]:focus ~ label,
.wpcf7-form .np-label-container input[type="date"]:not(:placeholder-shown) ~ label {
    font-size: 0.7rem;
    line-height: 1.5;
    top: 0;
    left: 4px;
    padding: 0 4px;
    opacity: 1;
    background: linear-gradient(180deg, transparent 50%, #fff 50%);
    transform: translateY(-50%);
}

@media (max-width: 575px) {
    .wpcf7-form .checkboxes .wpcf7-form-control-wrap {
        padding-left: 40px;
    }

    .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label .check {
        left: -28px;
    }
}