.ptv-forms .custom-control-label {
    position: relative;
    margin-bottom: 0;
    padding-left: 30px;
    vertical-align: top;
}

.ptv-forms .custom-control-label::before:hover {
    box-shadow: 0 0 8px 0 #4367F9;
}

.ptv-forms .custom-control-input:checked ~ .custom-control-label::before {
    color: #4367F9;
    border-color: #adb5bd;
    background-color: #fff;
}

.ptv-forms .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;utf8,%3Csvg width='18' height='14' viewBox='0 0 18 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M6.40625 12.75C6.71875 13.0625 7.25 13.0625 7.5625 12.75L16.75 3.5625C17.0625 3.25 17.0625 2.71875 16.75 2.40625L15.625 1.28125C15.3125 0.96875 14.8125 0.96875 14.5 1.28125L7 8.78125L3.46875 5.28125C3.15625 4.96875 2.65625 4.96875 2.34375 5.28125L1.21875 6.40625C0.90625 6.71875 0.90625 7.25 1.21875 7.5625L6.40625 12.75Z' fill='%234268F9'/%3E %3C/svg%3E");
}

.ptv-forms .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after:hover {
    box-shadow: 0 0 8px 0 #4367F9;
}

.ptv-forms .custom-control-label::before {
    position: absolute;
    top: .375rem;
    left: -1.5rem;
    display: block;
    width: 2rem;
    height: 2rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: 1px solid hsl(0 0% 82%);
}

.ptv-forms .custom-control-label::after {
    position: absolute;
    top: .375rem;
    left: -1.5rem;
    display: block;
    width: 2rem;
    height: 2rem;
    content: "";
    background: 50% / 50% 50% no-repeat;
}

.ptv-forms .custom-control-input {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 2rem;
    height: 1.375rem;
    opacity: 0;
}

.ptv-forms .form-background {
    width: 100%;
    background: linear-gradient(
            135deg,
            rgba(66, 104, 249, 0.7) 28%,
            rgba(41, 224, 133, 0.7) 88%
    ),
    url("../media/form-bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 3rem;
}

.ptv-forms .form-background h3 {
    color: white;
    margin-bottom: 3rem;
}

.ptv-forms .form-background label {
    color: white;
}

.ptv-forms .form-background .legal-disclaimer {
    color: white;
    font-size: 12px;
}

.ptv-forms .form-background button {
    font-size: .875rem;
    font-weight: 700;
    color: #6482f6;
    background-color: #FFFFFF;
    align-items: center;
    padding: 10px 20px 10px 20px;
    text-wrap: nowrap;
    border: 0;
    border-radius: 4px;
}
