/*--- form ---*/
input::-webkit-input-placeholder {
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

input:-moz-placeholder { /* Firefox 18- */
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

input::-moz-placeholder {  /* Firefox 19+ */
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

input:-ms-input-placeholder {
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

textarea::-webkit-input-placeholder {
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

textarea:-moz-placeholder { /* Firefox 18- */
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

textarea::-moz-placeholder {  /* Firefox 19+ */
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

textarea:-ms-input-placeholder {
    font-size:14px;
    font-style: italic;
    color: #acacac;
    letter-spacing: -0.4px
}

input:focus::-webkit-input-placeholder {
    transition: opacity 0.5s ease-out;
    opacity: 0;
}
input:focus::-moz-placeholder {
    transition: opacity 0.5s ease-out;
    opacity: 0;
}
input:focus:-moz-placeholder {
    transition: opacity 0.5s ease-out;
    opacity: 0;
}

form {
    margin:0;
    max-width: 1200px;
}

form.wd-100 {
    max-width: 100%;
}

input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    -webkit-font-smoothing: inherit;
    border: none;
    background-color: var(--colore-bianco);
    line-height: normal;
    font-size: 20px;
    width: 100%;
    outline-color: var(--colore-grigio-1);
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

label {
    cursor: text;
    margin: 0;
    padding: 0 0 0 0;
    color: var(--colore-nero);
    transition: all 0.3s ease;
}

label:not(.ckbox) {
    padding: 0 0 0 10px;
}

label.active {
    top: -3px;
    font-size: 12px;
}

label.active.focusIn {
    color: var(--colore-nero);
}

select {
    background-image:url(/manager/assets/img/form/arrow-select.png);
    background-position:right 15px center;
    background-size: 14px 8px;
    background-repeat: no-repeat;
    -moz-appearance: none;
    cursor: pointer;
}

textarea {
    width: 100%;
    height: 160px;
    padding: 5px 8px;
    outline: none;
    resize: none;
}

.form-container {
    position: relative;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}

.form-content {
    position: relative;
    margin: 0 0 0 0;
    padding: 20px 0 20px 0;
}

.form-content:after {
    clear: both;
    content: "";
    display: table;
}

.form-group {
    margin-bottom: 20px;
}

.form-group.form-group-panel-menu {
    margin-bottom: 10px;
}

.form-group.form-group-toggle {
    height: 20px;
    display: flex;
    align-items: center;
}

.form-group a {
    font-size: 14px;
    color: var(--colore-1);
}

.form-group button, 
.form-group a {
/*
    margin: 0 0 0 10px;
*/
}

.form-group.no-margin-bottom {
    margin-bottom: 0;
}

.form-group label {
    font-weight: 500;
    font-size: 14px;
    width: auto;
}

.form-group label.empty {
    display: block;
}

.form-group label.adjacent {
    font-weight: 400;
    font-size: 14px;
    width: auto;
    line-height: 44px;
    color: #acacac;
}

.form-group label.adjacent.adjacent-left {
    text-align: right;
}

.form-group label.adjacent.adjacent-right {
    text-align: left;
}

.form-group label span {
    position: relative;
    top: -3px;
    color: #888;
    font-weight: 300;
    font-size: 14px;
    font-style: italic;
    margin: 0 0 0 8px;
    letter-spacing: -0.4px
}

.form-group label span.for-label {
    position: relative;
    top: 0;
    color: #888;
    font-weight: 300;
    font-size: 14px;
    font-style: italic;
    margin: 0 0 0 8px;
    letter-spacing: -0.4px
}

.form-group label.principal {
    color:var(--colore-nero);
    font-size:16px;
    font-weight: 500;
}

.form-control {
    display: block;
    width: calc(100% - 10px);
    height: 44px;
    padding: 0 35px 0 10px;
    margin: 0 0 0 10px;
    font-size: 14px;
    font-weight: 300;
    line-height: inherit;
    color: var(--colore-nero);
    background-color: var(--colore-bianco);
    background-clip: padding-box;
    border: 1px solid var(--colore-grigio-2);
    border-radius: var(--border-radius-1);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.form-control-no-border {
    display: block;
    width: calc(100% - 10px);
    height: 44px;
    padding: 0 35px 0 10px;
    margin: 0 0 0 10px;
    font-size: 14px;
    font-weight: 300;
    line-height: inherit;
    color: var(--colore-nero);
    background-color: var(--colore-bianco);
    background-clip: padding-box;
    border: none;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.form-control-no-input {
    display: block;
    width: calc(100% - 10px);
    height: 44px;
    padding: 0 35px 0 10px;
    margin: 0 0 0 10px;
    font-size: 14px;
    line-height: 44px;
    color: var(--colore-nero);
    background-color: #ccc;
    background-clip: padding-box;
    border: 1px solid var(--colore-grigio-2);
    border-radius: var(--border-radius-1);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.form-control.form-control-panel-menu {
    width: 100%;
    margin: 0;
}

textarea.form-control {
    height: 160px;
    padding: 5px 8px;
    outline: none;
    resize: none;
}

textarea.form-control.maxheight {
    width: 100%;
    height: 400px;
}

.has-error .error {
    box-shadow: 0 0 0 1px #cc0000;
}

.field-input select {
    color:var(--input-color);
}

.form-error {
    font-size:14px;
    font-weight:700;
    line-height: 16px;
    text-align: left;
    color:#ff0000;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    opacity:0;
    transform: scale(0.5);
    position: relative;
    top: -7px;
}

.fieldset .form-error {
    top: 0;
}

.alert-form-error {
    position: fixed;
    bottom:-100px;
    left:0;
    background-color:#cc0000;
    color:#fff;
    font-size:18px;
    font-weight: 400;
    line-height:100px;
    text-align: center;
    width:100%;
    height: 100px;
    z-index: 77;
}

.fieldset {
    position: relative;
    width: 100%;
    clear: both;
    padding: 0 8px;
    box-sizing: border-box;
    line-height: 20px;
}

.field {
    position: relative;
    width: 100%;
    float: left;
    padding: 5px 0;
    box-sizing: border-box;
}

.field.no-gap {
    padding: 0 0;
}

.field.no-shadow {
    padding: 7px 0 0 0;
}

.field-half {
    width: 50%;
}

.field-col1-2 {
    width: 50%;
}

.field-col1-3 {
    width: 33.33%;
}

.field-col1-4 {
    width: 25%;
}

.field-col1-5 {
    width: 20%;
}

/*
@media (min-width: 750px) {

    .field-col2 {
        width: 70%;
    }

    .field-col1 {
        width: 30%;
    }
}

@media (min-width: 750px) {
    .field-col3-8 {
        width: 37.5%;
    }
}

@media (min-width: 50px) {
    .field-col3-4 {
        width: 25%;
    }
}
*/
.field-input {
    border: var(--input-border-left);
    color: var(--input-color);
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    padding: 0 8px;
    word-break: normal;
    outline: none;
    font-size: 20px;
}

.field-input.required {
    border-color: var(--input-border-left-required);
}

.field-input.border-only-left {

}

@media only screen and (max-width: 1399px) {

    .field-half {
        width: 100%;
    }

}

@media only screen and (max-width: 375px) {

    .form-control {
        width: 100vw;
    }

    [class*="wd-"] {
        width:100%;
    }

    .wd-response {
        width: 30%;
    }

    .checkbox,
    .check-captcha {
        float: none;
        width: 100%;
    }

}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {

    input[type='checkbox'],
    input[type='radio'] {
        --active: #275EFE;
        --active-inner: #fff;
        --focus: 2px rgba(39, 94, 254, .3);
        --border: #e7e8ea;
        --border-hover: #00adef;
        --background: #fff;
        --disabled: #F6F8FF;
        --disabled-inner: #E1E6F9;
        -webkit-appearance: none;
        -moz-appearance: none;
        height: 21px;
        outline: none;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0 0 0 10px;
        cursor: pointer;
        border: 1px solid var(--bc, var(--border));
        background: var(--b, var(--background));
        -webkit-transition: background .3s, border-color .3s, box-shadow .2s;
        transition: background .3s, border-color .3s, box-shadow .2s;
    }

    input[type='checkbox']:after,
    input[type='radio']:after {
        content: '';
        display: block;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-transition: opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
        transition: opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s), -webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);
    }

    input[type='checkbox']:checked,
    input[type='radio']:checked {
        --b: var(--colore-1);
        --bc: var(--colore-1);
        --d-o: .3s;
        --d-t: .6s;
        --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    }

    input[type='checkbox']:disabled,
    input[type='radio']:disabled {
        --b: var(--disabled);
        cursor: not-allowed;
        opacity: .9;
    }

    input[type='checkbox']:disabled:checked,
    input[type='radio']:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border);
    }

    input[type='checkbox']:disabled + label,
    input[type='radio']:disabled + label {
        cursor: not-allowed;
    }

    input[type='checkbox']:hover:not(:checked):not(:disabled),
    input[type='radio']:hover:not(:checked):not(:disabled) {
        --bc: var(--border-hover);
    }

    input[type='checkbox']:focus,
    input[type='radio']:focus {
        box-shadow: 0 0 0 var(--focus);
    }

    input[type='checkbox']:not(.switch),
    input[type='radio']:not(.switch) {
        width: 21px;
    }

    input[type='checkbox']:not(.switch):after,
    input[type='radio']:not(.switch):after {
        opacity: var(--o, 0);
    }

    input[type='checkbox']:not(.switch):checked,
    input[type='radio']:not(.switch):checked {
        --o: 1;
    }

    input[type='checkbox'] + label,
    input[type='radio'] + label {
        font-size: 14px;
        line-height: 21px;
        display: inline-block;
        vertical-align: top;
        cursor: pointer;
        margin-left: 4px;
    }

    input[type='checkbox']:not(.switch) {
        border-radius: var(--border-radius-1);
    }

    input[type='checkbox']:not(.switch):after {
        width: 5px;
        height: 9px;
        border: 2px solid var(--active-inner);
        border-top: 0;
        border-left: 0;
        left: 7px;
        top: 4px;
        -webkit-transform: rotate(var(--r, 20deg));
                transform: rotate(var(--r, 20deg));
    }

    input[type='checkbox']:not(.switch):checked {
        --r: 43deg;
    }
/*
    input[type='checkbox'].switch {
        width: 38px;
        border-radius: 11px;
    }

    input[type='checkbox'].switch:after {
        left: 2px;
        top: 2px;
        border-radius: 50%;
        width: 15px;
        height: 15px;
        background: var(--ab, var(--border));
        -webkit-transform: translateX(var(--x, 0));
                transform: translateX(var(--x, 0));
    }

    input[type='checkbox'].switch:checked {
        --ab: var(--active-inner);
        --x: 17px;
    }

    input[type='checkbox'].switch:disabled:not(:checked):after {
        opacity: .6;
    }
*/




@supports (-webkit-appearance: none) or (-moz-appearance: none) {
    input[type='checkbox'], input[type='radio'] {
        --active: var(--colore-1);
        --active-inner: #fff;
        --focus: 2px rgba(255,255,255, .3);
/*
        --border: var(--colore-grigio-2);
*/
        --border: #ccc;
        --border-hover: var(--colore-1);
        --background: #fff;
        --disabled: #f6f8ff;
        --disabled-inner: #e1e6f9;
        -webkit-appearance: none;
        -moz-appearance: none;
        height: 23px;
        outline: none;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0 0 0 10px;
        cursor: pointer;
        border: 1px solid var(--bc, var(--border));
        background: var(--b, var(--background));
        transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
    }

    input[type='checkbox'].switch {
        height: 20px;
    }

    table td input[type='checkbox'], table td input[type='radio'] {
        margin: 0 0 0 0;
    }

    input[type='checkbox']:after, input[type='radio']:after {
        content: '';
        display: block;
        left: 0;
        top: 0;
        position: absolute;
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
    }
    input[type='checkbox']:checked, input[type='radio']:checked {
        --b: var(--active);
        --bc: var(--active);
        --d-o: 0.3s;
        --d-t: 0.6s;
        --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);
    }
    input[type='checkbox']:disabled, input[type='radio']:disabled {
        --b: var(--disabled);
        cursor: not-allowed;
        opacity: 0.9;
    }
    input[type='checkbox']:disabled:checked, input[type='radio']:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border);
    }
    input[type='checkbox']:disabled + label, input[type='radio']:disabled + label {
        cursor: not-allowed;
    }
    input[type='checkbox']:hover:not(:checked):not(:disabled), input[type='radio']:hover:not(:checked):not(:disabled) {
        --bc: var(--border-hover);
    }
    input[type='checkbox']:focus, input[type='radio']:focus {
        box-shadow: 0 0 0 var(--focus);
    }
    input[type='checkbox']:not(.switch), input[type='radio']:not(.switch) {
        width: 23px;
    }
    input[type='checkbox']:not(.switch):after, input[type='radio']:not(.switch):after {
        opacity: var(--o, 0);
    }
    input[type='checkbox']:not(.switch):checked, input[type='radio']:not(.switch):checked {
        --o: 1;
    }
    input[type='checkbox'] + label.label-checkbox-radio, input[type='radio'] + label.label-checkbox-radio {
        font-size: 14px;
        line-height: 21px;
        display: inline-block;
        vertical-align: top;
        cursor: pointer;
        margin-left: 0;
        padding-left: 10px;
        color: #acacac;
        font-weight: 300;
        font-style:italic;
    }

    input[type='checkbox']:checked + label.label-checkbox-radio, input[type='radio']:checked + label.label-checkbox-radio {
        color: var(--colore-nero);
        font-weight: 300;
    }

    input[type='checkbox']:not(.switch) {
        border-radius: 7px;
    }
    input[type='checkbox']:not(.switch):after {
        width: 5px;
        height: 9px;
        border: 2px solid var(--active-inner);
        border-top: 0;
        border-left: 0;
        left: 7px;
        top: 4px;
        transform: rotate(var(--r, 20deg));
    }
    input[type='checkbox']:not(.switch):checked {
        --r: 43deg;
    }

    input[type='checkbox']:not(.switch):checked.leggibile {
        background-color:#888;
    }

    input[type='checkbox'].switch {
        width: 38px;
        border-radius: 11px;
    }
    input[type='checkbox'].switch:after {
        left: 3px;
        top: 2px;
        border-radius: 50%;
        width: 14px;
        height: 14px;
        background: var(--ab, var(--border));
        transform: translateX(var(--x, 0));
    }
    input[type='checkbox'].switch:checked {
        --ab: var(--active-inner);
        --x: 17px;
    }
    input[type='checkbox'].switch:disabled:not(:checked):after {
        opacity: 0.6;
    }
    input[type='radio'] {
        border-radius: 50%;
    }
    input[type='radio']:after {
        width: 19px;
        height: 19px;
        border-radius: 50%;
        background: var(--active-inner);
        opacity: 0;
        transform: scale(var(--s, 0.7));
    }
    input[type='radio']:checked {
        --s: 0.5;
    }
}

td input[type='checkbox'] {
    top:2px;
}





    input[type='radio'] {
        border-radius: 50%;
    }

    input[type='radio']:after {
        width: 21px;
        height: 21px;
        border-radius: 50%;
        background: var(--active-inner);
        opacity: 0;
        -webkit-transform: scale(var(--s, 0.7));
                transform: scale(var(--s, 0.7));
    }

    input[type='radio']:checked {
        --s: .5;
    }

}

/*--- grid inside form customization ---*/
form .row {
    margin-right: -10px;
    margin-left: 0;
}

form .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto {
    padding-right: 10px;
    padding-left: 0;
}

.form-control.wd-auto {
    width: 44px;
    text-align: center;
    font-weight: 400;
    padding: 0;
}


/*--- switch and slider ---*/

.br-toggle {
    position: relative;
    display: inline-block;
    margin: 0 0 0 10px;
    width: 40px;
    height: 20px;
    background-color: #ccc;
    display: inline-block;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: 3px;
    transition: all 0.2s ease-in-out;
}

.br-toggle.disabled {
    opacity: 0.5;
}

.br-toggle.on {
    background-color: var(--colore-1);
}

.br-toggle.on .br-toggle-switch {
    left: 21px;
}

.br-toggle+.br-toggle {
    margin-left: 5px;
}

.br-toggle-rounded {
    border-radius: 25px;
}

.br-toggle-rounded .br-toggle-switch {
    border-radius: 100%;
}

.br-toggle-rounded .br-toggle-switch::before {
    left: -23px;
}

.br-toggle-rounded .br-toggle-switch::after {
    right: -27px;
}

.br-toggle-switch {
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 3px;
    width: 14px;
    background-color: var(--colore-bianco);
    border-radius: 2px;
    transition: all 0.2s ease-in-out;
}

.br-toggle-switch::before,
.br-toggle-switch::after {
    position: absolute;
    top: -1px;
    color: var(--colore-bianco);
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1px;
    text-shadow: 1px 1px rgba(33, 37, 41, 0.1);
}

.br-toggle-switch::before {
    content: '';
    left: -25px;
}

.br-toggle-switch::after {
    content: '';
    right: -28px;
}

.br-toggle-info.on {
    background-color: var(--colore-1);
}

.br-toggle-label {
    position: relative;
/*
    top: -2px;
*/
}

.form-group .br-toggle-label {
    color: #acacac;
    font-weight: 300;
    width: auto;
}

.form-group .br-toggle-label.on {
    color: var(--colore-nero);
    font-weight: 500;
}

/*--- ! ---*/

@media only screen and (max-width: 480px) {

    .test-start-risposte-contenuto input[type='checkbox'], 
    .test-start-risposte-contenuto input[type='radio'] {
        margin: 0 0 0 0;
    }

}
