.form {
    .form-label, label {
        font-weight: 400;
        font-size: 0.8rem;
        font-family: $baseFont;
        line-height: 1.3;
        color: $baseFontColor;
        margin: 0 0 10px 0;
        display: block;
    }

    .form-input, input[type="text"], input[type="search"], input[type="password"] {
        font-weight: 400;
        font-size: 0.8rem;
        font-family: $baseFont;
        line-height: 1.3;
        color: $baseFontColor;
        border: 1px solid $gray;
        padding: 8px 15px 6px 15px;
        width: 100%;
    }

    .form-textarea, textarea {
        font-weight: 400;
        font-size: 0.8rem;
        font-family: $baseFont;
        line-height: 1.3;
        color: $baseFontColor;
        resize: vertical;
        border: 1px solid $gray;
        padding: 8px 15px;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        height: 150px;
        min-height: 150px;
        max-height: 300px;
    }

    .form-select, select {
        font-weight: 400;
        font-size: 0.8rem;
        font-family: $baseFont;
        line-height: 1.3;
        color: $baseFontColor;
        width: 100%;
        padding: 2px 10px;
    }

    option {
        font-weight: 400;
        font-size: 0.8rem;
        font-family: $baseFont;
        line-height: 1.3;
        color: $baseFontColor;
        padding: 2px 20px;
    }
}


/* Standard */

.form-cell-set {
    margin: 0 0 0 -1.5rem;
    display: flex;
    flex-wrap: wrap;
}

.form-cell {
    width: 100%;
    margin: 0 0 1rem 0;
    padding-left: 1.5rem;
    position: relative;
    text-align: left;
}

.form-cell-set--2 .form-cell {
    width: 50%;
}
.form-cell-set--3 .form-cell {
    width: 33.3333%;
}
.form-cell-set--4 .form-cell {
    width: 25%;
}
.form-cell-set--5 .form-cell {
    width: 20%;
}

/* Inline */

.form-cell-set--inline .form-cell {
    flex: 0 0 auto;
    width: auto;
}

/* Form contact */

.form--contact {
}

/* CSS Checkbox / radio */

.form-check {
    position: relative;

    &__label {
        position: relative;
        padding-left: 2.1rem;
        line-height: 1.5;

        &:before, &:after {
            content: "";
            display: block;
            position: absolute;
            left: 0;
            top: min(50%, 1.3em);
            margin-top: -0.75rem;
        }

        &:before {
            border: 2px solid $black;
            background-color: transparent;
            transition: background-color 0.1s ease-in;
        }

        &:after {
            opacity: 0;
            transition: opacity 0.1s ease-in;
        }
    }

    &__input {
        position: absolute;
        opacity: 0;
        pointer-events: none;

        &[type="radio"], &[type="checkbox"] {
            & ~ .form-check__label {
                &:before {
                    width: 1.5rem;
                    height: 1.5rem;
                    border-radius: 50%;
                    border: 2px solid $gray;
                }

                &:after {
                    width: 1.5rem;
                    height: 1.5rem;
                    background: url("../img/checkbox-checked.svg") center center
                        no-repeat;
                    background-size: 70% 70%;
                }
            }

            &:checked ~ .form-check__label {
                &:before {
                    background-color: $gray;
                }

                &:after {
                    opacity: 1;
                }
            }
        }
    }
}
