

.fpf-form-group {
    --nf-input-size:1rem;
    --nf-input-font-size:calc(var(--nf-input-size)*0.875);
    --nf-small-font-size:calc(var(--nf-input-size)*0.875);
    --nf-input-color:#20242f;
    --nf-input-border-radius:0.25rem;
    --nf-input-placeholder-color:#929292;
    --nf-input-border-color:rgba(0,0,0,0);
    --nf-input-border-width:2px;
    --nf-input-border-style:solid;
    --nf-input-border-bottom-width:2px;
    --nf-input-focus-border-color:#4a3c77;
    --nf-input-background-color:rgba(62,48,104,0.1);
    --nf-input-focus-color:rgba(62,48,104,0.1);
    --nf-invalid-input-border-color:var(--nf-input-border-color);
    --nf-invalid-input-background-color:var(--nf-input-background-color);
    --nf-invalid-input-color:var(--nf-input-color);
    --nf-valid-input-border-color:var(--nf-input-border-color);
    --nf-valid-input-background-color:var(--nf-input-background-color);
    --nf-valid-input-color:inherit;
    --nf-invalid-input-border-bottom-color:red;
    --nf-valid-input-border-bottom-color:green;
    --nf-label-font-size:var(--nf-small-font-size);
    --nf-label-color:#374151;
    --nf-label-font-weight:500;
    display: block;
    margin-top: calc(var(--nf-input-size)*1.5);
    line-height: 1;
    white-space: nowrap;
    --switch-orb-size:var(--nf-input-size);
    --switch-orb-offset:calc(var(--nf-input-border-width)*2);
    --switch-width:calc(var(--nf-input-size)*2.5);
    --switch-height:calc(var(--nf-input-size)*1.25 + var(--switch-orb-offset));
    
  }
  
  .fpf-form-group > label {
    font-weight: var(--nf-label-font-weight);
    display: block;
    color: var(--nf-label-color);
    font-size: var(--nf-label-font-size);
    margin-bottom: calc(var(--nf-input-size)/2);
    white-space: normal;
  }
  
  .fpf-form-group > label + small {
    font-style: normal;
  }
  
  .fpf-form-group small {
    display: block;
    font-weight: 400;
    opacity: 0.75;
    font-size: var(--nf-small-font-size);
    margin-bottom: calc(var(--nf-input-size)*0.75);
  }
  
  .fpf-form-group small:last-child {
    margin-bottom: 0;
  }
  
  .fpf-form-group > legend {
    font-weight: var(--nf-label-font-weight);
    display: block;
    color: var(--nf-label-color);
    font-size: var(--nf-label-font-size);
    margin-bottom: calc(var(--nf-input-size)/5);
  }
  
  .fpf-form-group > .fpf-form-group {
    margin-top: calc(var(--nf-input-size)/2);
  }
  
  .fpf-form-group > input[type=checkbox], .fpf-form-group > input[type=date], .fpf-form-group > input[type=email], .fpf-form-group > input[type=month], .fpf-form-group > input[type=number], .fpf-form-group > input[type=password], .fpf-form-group > input[type=radio], .fpf-form-group > input[type=search], .fpf-form-group > input[type=tel], .fpf-form-group > input[type=text], .fpf-form-group > input[type=time], .fpf-form-group > input[type=url], .fpf-form-group > input[type=week], .fpf-form-group > select, .fpf-form-group > textarea {
    background: var(--nf-input-background-color);
    font-size: var(--nf-input-font-size);
    border-bottom-width: var(--nf-input-border-width);
    box-shadow: none;
    border-radius: var(--nf-input-border-radius);
    border: var(--nf-input-border-width) var(--nf-input-border-style) var(--nf-input-border-color);
    border-bottom: var(--nf-input-border-bottom-width) var(--nf-input-border-style) var(--nf-input-border-color);
    color: var(--nf-input-color);
    width: 100%;
    padding: calc(var(--nf-input-size)*0.95);
    /* height: calc(var(--nf-input-size)*2.75); */
    line-height: normal;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    transition: background-position 0.2s linear,padding-left 0.2s linear;
    --icon-padding:calc(var(--nf-input-size)*2.25);
    --icon-background-offset:calc(var(--nf-input-size)*0.75);
    transition: border 300ms linear;
  }

  
  .fpf-input input:focus{
    /* background: var(--nf-input-focus-color)!important; */
    border:2px solid #3e3068!important;
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=date]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=email]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=month]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=number]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=password]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=radio]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=search]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=tel]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=text]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=time]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=url]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > input[type=week]:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > select:required:not(:-moz-placeholder-shown):invalid, .fpf-form-group > textarea:required:not(:-moz-placeholder-shown):invalid {
    background-color: var(--nf-invalid-input-background-color);
    border-bottom-color: var(--nf-valid-input-border-color);
    border-color: var(--nf-valid-input-border-color) var(--nf-valid-input-border-color) var(--nf-invalid-input-border-bottom-color);
    color: var(--nf-invalid-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=date]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=email]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=month]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=number]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=password]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=radio]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=search]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=tel]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=text]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=time]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=url]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > input[type=week]:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > select:required:not(:-ms-input-placeholder):invalid, .fpf-form-group > textarea:required:not(:-ms-input-placeholder):invalid {
    background-color: var(--nf-invalid-input-background-color);
    border-bottom-color: var(--nf-valid-input-border-color);
    border-color: var(--nf-valid-input-border-color) var(--nf-valid-input-border-color) var(--nf-invalid-input-border-bottom-color);
    color: var(--nf-invalid-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=date]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=email]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=month]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=number]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=password]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=radio]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=search]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=tel]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=text]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=time]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=url]:required:not(:placeholder-shown):invalid, .fpf-form-group > input[type=week]:required:not(:placeholder-shown):invalid, .fpf-form-group > select:required:not(:placeholder-shown):invalid, .fpf-form-group > textarea:required:not(:placeholder-shown):invalid {
    background-color: var(--nf-invalid-input-background-color);
    border-bottom-color: var(--nf-valid-input-border-color);
    border-color: var(--nf-valid-input-border-color) var(--nf-valid-input-border-color) var(--nf-invalid-input-border-bottom-color);
    color: var(--nf-invalid-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=date]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=email]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=month]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=number]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=password]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=radio]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=search]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=tel]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=text]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=time]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=url]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > input[type=week]:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > select:required:not(:-moz-placeholder-shown):invalid:focus, .fpf-form-group > textarea:required:not(:-moz-placeholder-shown):invalid:focus {
    background-color: var(--nf-input-background-color);
    border-color: var(--nf-input-border-color);
    color: var(--nf-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=date]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=email]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=month]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=number]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=password]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=radio]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=search]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=tel]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=text]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=time]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=url]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > input[type=week]:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > select:required:not(:-ms-input-placeholder):invalid:focus, .fpf-form-group > textarea:required:not(:-ms-input-placeholder):invalid:focus {
    background-color: var(--nf-input-background-color);
    border-color: var(--nf-input-border-color);
    color: var(--nf-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=date]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=email]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=month]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=number]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=password]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=radio]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=search]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=tel]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=text]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=time]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=url]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > input[type=week]:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > select:required:not(:placeholder-shown):invalid:focus, .fpf-form-group > textarea:required:not(:placeholder-shown):invalid:focus {
    background-color: var(--nf-input-background-color);
    border-color: var(--nf-input-border-color);
    color: var(--nf-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=date]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=email]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=month]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=number]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=password]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=radio]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=search]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=tel]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=text]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=time]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=url]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > input[type=week]:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > select:required:not(:-moz-placeholder-shown):valid, .fpf-form-group > textarea:required:not(:-moz-placeholder-shown):valid {
    background-color: var(--nf-valid-input-background-color);
    border-bottom-color: var(--nf-valid-input-border-color);
    border-color: var(--nf-valid-input-border-color) var(--nf-valid-input-border-color) var(--nf-valid-input-border-bottom-color);
    color: var(--nf-valid-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=date]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=email]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=month]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=number]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=password]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=radio]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=search]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=tel]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=text]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=time]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=url]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > input[type=week]:required:not(:-ms-input-placeholder):valid, .fpf-form-group > select:required:not(:-ms-input-placeholder):valid, .fpf-form-group > textarea:required:not(:-ms-input-placeholder):valid {
    background-color: var(--nf-valid-input-background-color);
    border-bottom-color: var(--nf-valid-input-border-color);
    border-color: var(--nf-valid-input-border-color) var(--nf-valid-input-border-color) var(--nf-valid-input-border-bottom-color);
    color: var(--nf-valid-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=date]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=email]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=month]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=number]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=password]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=radio]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=search]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=tel]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=text]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=time]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=url]:required:not(:placeholder-shown):valid, .fpf-form-group > input[type=week]:required:not(:placeholder-shown):valid, .fpf-form-group > select:required:not(:placeholder-shown):valid, .fpf-form-group > textarea:required:not(:placeholder-shown):valid {
    background-color: var(--nf-valid-input-background-color);
    border-bottom-color: var(--nf-valid-input-border-color);
    border-color: var(--nf-valid-input-border-color) var(--nf-valid-input-border-color) var(--nf-valid-input-border-bottom-color);
    color: var(--nf-valid-input-color);
  }
  
  .fpf-form-group > input[type=checkbox]:disabled, .fpf-form-group > input[type=date]:disabled, .fpf-form-group > input[type=email]:disabled, .fpf-form-group > input[type=month]:disabled, .fpf-form-group > input[type=number]:disabled, .fpf-form-group > input[type=password]:disabled, .fpf-form-group > input[type=radio]:disabled, .fpf-form-group > input[type=search]:disabled, .fpf-form-group > input[type=tel]:disabled, .fpf-form-group > input[type=text]:disabled, .fpf-form-group > input[type=time]:disabled, .fpf-form-group > input[type=url]:disabled, .fpf-form-group > input[type=week]:disabled, .fpf-form-group > select:disabled, .fpf-form-group > textarea:disabled {
    cursor: not-allowed;
    opacity: 0.75;
  }
  
  .fpf-form-group > input[type=checkbox]::-webkit-input-placeholder, .fpf-form-group > input[type=date]::-webkit-input-placeholder, .fpf-form-group > input[type=email]::-webkit-input-placeholder, .fpf-form-group > input[type=month]::-webkit-input-placeholder, .fpf-form-group > input[type=number]::-webkit-input-placeholder, .fpf-form-group > input[type=password]::-webkit-input-placeholder, .fpf-form-group > input[type=radio]::-webkit-input-placeholder, .fpf-form-group > input[type=search]::-webkit-input-placeholder, .fpf-form-group > input[type=tel]::-webkit-input-placeholder, .fpf-form-group > input[type=text]::-webkit-input-placeholder, .fpf-form-group > input[type=time]::-webkit-input-placeholder, .fpf-form-group > input[type=url]::-webkit-input-placeholder, .fpf-form-group > input[type=week]::-webkit-input-placeholder, .fpf-form-group > select::-webkit-input-placeholder, .fpf-form-group > textarea::-webkit-input-placeholder {
    color: var(--nf-input-placeholder-color);
    letter-spacing: 0;
  }
  
  .fpf-form-group > input[type=checkbox]:-ms-input-placeholder, .fpf-form-group > input[type=date]:-ms-input-placeholder, .fpf-form-group > input[type=email]:-ms-input-placeholder, .fpf-form-group > input[type=month]:-ms-input-placeholder, .fpf-form-group > input[type=number]:-ms-input-placeholder, .fpf-form-group > input[type=password]:-ms-input-placeholder, .fpf-form-group > input[type=radio]:-ms-input-placeholder, .fpf-form-group > input[type=search]:-ms-input-placeholder, .fpf-form-group > input[type=tel]:-ms-input-placeholder, .fpf-form-group > input[type=text]:-ms-input-placeholder, .fpf-form-group > input[type=time]:-ms-input-placeholder, .fpf-form-group > input[type=url]:-ms-input-placeholder, .fpf-form-group > input[type=week]:-ms-input-placeholder, .fpf-form-group > select:-ms-input-placeholder, .fpf-form-group > textarea:-ms-input-placeholder {
    color: var(--nf-input-placeholder-color);
    letter-spacing: 0;
  }
  
  .fpf-form-group > input[type=checkbox]:-moz-placeholder, .fpf-form-group > input[type=checkbox]::-moz-placeholder, .fpf-form-group > input[type=date]:-moz-placeholder, .fpf-form-group > input[type=date]::-moz-placeholder, .fpf-form-group > input[type=email]:-moz-placeholder, .fpf-form-group > input[type=email]::-moz-placeholder, .fpf-form-group > input[type=month]:-moz-placeholder, .fpf-form-group > input[type=month]::-moz-placeholder, .fpf-form-group > input[type=number]:-moz-placeholder, .fpf-form-group > input[type=number]::-moz-placeholder, .fpf-form-group > input[type=password]:-moz-placeholder, .fpf-form-group > input[type=password]::-moz-placeholder, .fpf-form-group > input[type=radio]:-moz-placeholder, .fpf-form-group > input[type=radio]::-moz-placeholder, .fpf-form-group > input[type=search]:-moz-placeholder, .fpf-form-group > input[type=search]::-moz-placeholder, .fpf-form-group > input[type=tel]:-moz-placeholder, .fpf-form-group > input[type=tel]::-moz-placeholder, .fpf-form-group > input[type=text]:-moz-placeholder, .fpf-form-group > input[type=text]::-moz-placeholder, .fpf-form-group > input[type=time]:-moz-placeholder, .fpf-form-group > input[type=time]::-moz-placeholder, .fpf-form-group > input[type=url]:-moz-placeholder, .fpf-form-group > input[type=url]::-moz-placeholder, .fpf-form-group > input[type=week]:-moz-placeholder, .fpf-form-group > input[type=week]::-moz-placeholder, .fpf-form-group > select:-moz-placeholder, .fpf-form-group > select::-moz-placeholder, .fpf-form-group > textarea:-moz-placeholder, .fpf-form-group > textarea::-moz-placeholder {
    color: var(--nf-input-placeholder-color);
    letter-spacing: 0;
  }
  
  .fpf-form-group > input[type=checkbox]:focus, .fpf-form-group > input[type=date]:focus, .fpf-form-group > input[type=email]:focus, .fpf-form-group > input[type=month]:focus, .fpf-form-group > input[type=number]:focus, .fpf-form-group > input[type=password]:focus, .fpf-form-group > input[type=radio]:focus, .fpf-form-group > input[type=search]:focus, .fpf-form-group > input[type=tel]:focus, .fpf-form-group > input[type=text]:focus, .fpf-form-group > input[type=time]:focus, .fpf-form-group > input[type=url]:focus, .fpf-form-group > input[type=week]:focus, .fpf-form-group > select:focus, .fpf-form-group > textarea:focus {
    outline: none;
    border-color: var(--nf-input-focus-border-color);
  }
  
  .fpf-form-group > input[type=checkbox] + small, .fpf-form-group > input[type=date] + small, .fpf-form-group > input[type=email] + small, .fpf-form-group > input[type=month] + small, .fpf-form-group > input[type=number] + small, .fpf-form-group > input[type=password] + small, .fpf-form-group > input[type=radio] + small, .fpf-form-group > input[type=search] + small, .fpf-form-group > input[type=tel] + small, .fpf-form-group > input[type=text] + small, .fpf-form-group > input[type=time] + small, .fpf-form-group > input[type=url] + small, .fpf-form-group > input[type=week] + small, .fpf-form-group > select + small, .fpf-form-group > textarea + small {
    margin-top: 0.5rem;
  }
  
  .fpf-form-group > input[type=checkbox].icon-left, .fpf-form-group > input[type=date].icon-left, .fpf-form-group > input[type=email].icon-left, .fpf-form-group > input[type=month].icon-left, .fpf-form-group > input[type=number].icon-left, .fpf-form-group > input[type=password].icon-left, .fpf-form-group > input[type=radio].icon-left, .fpf-form-group > input[type=search].icon-left, .fpf-form-group > input[type=tel].icon-left, .fpf-form-group > input[type=text].icon-left, .fpf-form-group > input[type=time].icon-left, .fpf-form-group > input[type=url].icon-left, .fpf-form-group > input[type=week].icon-left, .fpf-form-group > select.icon-left, .fpf-form-group > textarea.icon-left {
    background-position: left var(--icon-background-offset) bottom 50%;
    padding-left: var(--icon-padding);
    background-size: var(--nf-input-size);
  }
  
  .fpf-form-group > input[type=checkbox].icon-right, .fpf-form-group > input[type=date].icon-right, .fpf-form-group > input[type=email].icon-right, .fpf-form-group > input[type=month].icon-right, .fpf-form-group > input[type=number].icon-right, .fpf-form-group > input[type=password].icon-right, .fpf-form-group > input[type=radio].icon-right, .fpf-form-group > input[type=search].icon-right, .fpf-form-group > input[type=tel].icon-right, .fpf-form-group > input[type=text].icon-right, .fpf-form-group > input[type=time].icon-right, .fpf-form-group > input[type=url].icon-right, .fpf-form-group > input[type=week].icon-right, .fpf-form-group > select.icon-right, .fpf-form-group > textarea.icon-right {
    background-position: right var(--icon-background-offset) bottom 50%;
    padding-right: var(--icon-padding);
    background-size: var(--nf-input-size);
  }
  
  .fpf-form-group > input[type=checkbox]:-webkit-autofill, .fpf-form-group > input[type=date]:-webkit-autofill, .fpf-form-group > input[type=email]:-webkit-autofill, .fpf-form-group > input[type=month]:-webkit-autofill, .fpf-form-group > input[type=number]:-webkit-autofill, .fpf-form-group > input[type=password]:-webkit-autofill, .fpf-form-group > input[type=radio]:-webkit-autofill, .fpf-form-group > input[type=search]:-webkit-autofill, .fpf-form-group > input[type=tel]:-webkit-autofill, .fpf-form-group > input[type=text]:-webkit-autofill, .fpf-form-group > input[type=time]:-webkit-autofill, .fpf-form-group > input[type=url]:-webkit-autofill, .fpf-form-group > input[type=week]:-webkit-autofill, .fpf-form-group > select:-webkit-autofill, .fpf-form-group > textarea:-webkit-autofill {
    padding: calc(var(--nf-input-size)*0.75) !important;
  }
  
  .fpf-form-group > input[type=search]:-moz-placeholder-shown {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");
    background-position: left calc(var(--nf-input-size)*0.75) bottom 50%;
    padding-left: calc(var(--nf-input-size)*2.25);
    background-size: var(--nf-input-size);
    background-repeat: no-repeat;
  }
  
  .fpf-form-group > input[type=search]:-ms-input-placeholder {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");
    background-position: left calc(var(--nf-input-size)*0.75) bottom 50%;
    padding-left: calc(var(--nf-input-size)*2.25);
    background-size: var(--nf-input-size);
    background-repeat: no-repeat;
  }
  
  .fpf-form-group > input[type=search]:placeholder-shown {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");
    background-position: left calc(var(--nf-input-size)*0.75) bottom 50%;
    padding-left: calc(var(--nf-input-size)*2.25);
    background-size: var(--nf-input-size);
    background-repeat: no-repeat;
  }
  
  .fpf-form-group > input[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    width: var(--nf-input-size);
    height: var(--nf-input-size);
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");
  }
  
  .fpf-form-group > input[type=search]:focus {
    padding-left: calc(var(--nf-input-size)*0.75);
    background-position: left calc(var(--nf-input-size)*-1) bottom 50%;
  }
  
  .fpf-form-group > input[type=email][class^=icon] {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-at-sign'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 006 0v-1a10 10 0 10-3.92 7.94'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
  }
  
  .fpf-form-group > input[type=tel][class^=icon] {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-phone'%3E%3Cpath d='M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
  }
  
  .fpf-form-group > input[type=url][class^=icon] {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-link'%3E%3Cpath d='M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
  }
  
  .fpf-form-group > input[type=password] {
    letter-spacing: 2px;
  }
  
  .fpf-form-group > input[type=password][class^=icon] {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-lock'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
  }
  
  
  .fpf-form-group > input[type=number] {
    width: auto;
  }
  
  .fpf-form-group > input[type=date], .fpf-form-group > input[type=month], .fpf-form-group > input[type=week] {
    min-width: 14em;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-calendar'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  }
  
  .fpf-form-group > input[type=time] {
    min-width: 6em;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-clock'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
  }
  
  .fpf-form-group > input[type=date], .fpf-form-group > input[type=month], .fpf-form-group > input[type=time], .fpf-form-group > input[type=week] {
    background-position: right calc(var(--nf-input-size)*0.75) bottom 50%;
    background-repeat: no-repeat;
    background-size: var(--nf-input-size);
    width: auto;
  }
  
  .fpf-form-group > input[type=date]::-webkit-calendar-picker-indicator, .fpf-form-group > input[type=date]::-webkit-inner-spin-button, .fpf-form-group > input[type=month]::-webkit-calendar-picker-indicator, .fpf-form-group > input[type=month]::-webkit-inner-spin-button, .fpf-form-group > input[type=time]::-webkit-calendar-picker-indicator, .fpf-form-group > input[type=time]::-webkit-inner-spin-button, .fpf-form-group > input[type=week]::-webkit-calendar-picker-indicator, .fpf-form-group > input[type=week]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    cursor: pointer;
    opacity: 0;
  }
  
  @-moz-document url-prefix() {
    .fpf-form-group > input[type=date], .fpf-form-group > input[type=month], .fpf-form-group > input[type=time], .fpf-form-group > input[type=week] {
      min-width: auto;
      width: auto;
      background-image: none;
    }
  }
  .fpf-form-group > textarea {
    height: auto;
  }
  
  .fpf-form-group > input[type=checkbox], .fpf-form-group > input[type=radio] {
    width: var(--nf-input-size);
    height: var(--nf-input-size);
    padding: inherit;
    margin: 0;
    display: inline-block;
    vertical-align: top;
    border-radius: calc(var(--nf-input-border-radius)/2);
    border-width: var(--nf-input-border-width);
    cursor: pointer;
    background-position: 50%;
  }
  
  .fpf-form-group > input[type=checkbox]:focus:not(:checked), .fpf-form-group > input[type=radio]:focus:not(:checked) {
    border: var(--nf-input-border-width) solid var(--nf-input-focus-border-color);
    outline: none;
  }
  
  .fpf-form-group > input[type=checkbox]:hover, .fpf-form-group > input[type=radio]:hover {
    background-color:rgba(62,48,104,0.15)
  }
  
  .fpf-form-group > input[type=checkbox] + label, .fpf-form-group > input[type=radio] + label {
    display: inline-block;
    margin-bottom: 0;
    padding-left: calc(var(--nf-input-size)/2.5);
    font-weight: 400;
    -webkit-user-select: none;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    cursor: pointer;
    max-width: calc(100% - var(--nf-input-size)*2);
    line-height: normal;
  }
  
  .fpf-form-group > input[type=checkbox] + label > small, .fpf-form-group > input[type=radio] + label > small {
    margin-top: calc(var(--nf-input-size)/4);
  }
  
  .fpf-form-group > input[type=checkbox]:checked {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat 50%/85%;
    background-color: var(--nf-input-focus-border-color);
    border-color: var(--nf-input-focus-border-color);
  }
  
  .fpf-form-group > input[type=radio] {
    border-radius: 100%;
  }
  
  .fpf-form-group > input[type=radio]:checked {
    background-color: var(--nf-input-focus-border-color);
    border-color: var(--nf-input-focus-border-color);
    box-shadow: inset 0 0 0 3px #fff;
  }
  
  .fpf-form-group > input[type=checkbox].switch {
    width: var(--switch-width);
    height: var(--switch-height);
    border-radius: var(--switch-height);
    position: relative;
  }
  
  .fpf-form-group > input[type=checkbox].switch:after {
    background: #fff;
    border-radius: var(--switch-orb-size);
    box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
    height: var(--switch-orb-size);
    left: var(--switch-orb-offset);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--switch-orb-size);
    content: "";
    transition: all 0.2s ease-out;

  }
  
  .fpf-form-group > input[type=checkbox].switch + label {
    margin-top: calc(var(--switch-height)/8);
  }
  
  .fpf-form-group > input[type=checkbox].switch:checked {
    background: none;
    background-position: 0 0;
    background-color: var(--nf-input-focus-border-color);
  }
  
  .fpf-form-group > input[type=checkbox].switch:checked:after {
    transform: translateY(-50%) translateX(calc(var(--switch-width)/2 - var(--switch-orb-offset)));
    background: #fff;
  }
  
  .fpf-form-group > select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-down'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-position: right calc(var(--nf-input-size)*0.75) bottom 50%;
    background-repeat: no-repeat;
    background-size: var(--nf-input-size);
  }
  
  .fpf-form-group section {
    background: #fff;
    padding: 2em;
    border-radius: 0.75rem;
    line-height: 1.6;
    overflow: hidden;
    margin-bottom: 2rem;
    position: relative;
    font-size: 0.875rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  }
  
  .fpf-form-group section strong {
    font-weight: 500;
    color: #000;
  }
  
  .fpf-form-group section p {
    margin: 0.5rem 0 1.5rem;
  }
  
  .fpf-form-group section p a {
    text-decoration: none;
    font-weight: 500;
    color: #3b4ce2;
  }
  
  .fpf-form-group section p:last-child {
    margin-bottom: 0;
  }
  
  .fpf-form-group section code {
    font-weight: 500;
    position: relative;
    z-index: 1;
    margin: 0 2px;
    background: #f3f4f4;
    content: "";
    border-radius: 3px;
    padding: 2px 5px;
    white-space: nowrap;
  }
  
  .fpf-form-group section ul {
    margin-top: 0.5em;
    padding-left: 1em;
    list-style-type: disc;
  }
  
  fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: initial;
  }