﻿.form-group {
    margin-bottom: 2rem
}

.form-control, .form-control-file, .form-control-range, .form-text {
    display: block
}

    .form-control, .form-control:disabled, .form-control:focus, .form-control[readonly] {
        background-color: transparent
    }

.form-control {
    width: 100%;
    padding: .6rem 2rem;
    font-size: 1rem;
    line-height: 1.25;
    /*color: rgba(255,255,255,.85);*/
    color: #333;
    background-image: none;
    background-clip: padding-box;
    /*border: 1px solid rgba(255,255,255,.2);*/
    border-bottom: 1px solid #f1f1f1;
    border-radius: 0;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
}

    .form-control::-ms-expand {
        background-color: transparent;
        border: 0
    }

    .form-control:focus {
        color: #333;
        /*border-color: rgba(255,255,255,.4);*/
        border-bottom: 1px solid #2196F3;
        outline: 0;
        box-shadow: none;
    }

    .form-control::placeholder {
        color: #333;
        opacity: 1
    }

select.form-control:not([size]):not([multiple]) {
    height: calc(2.45rem + 2px);
}

select.form-control:focus::-ms-value {
    color: #333;
    background-color: transparent
}

.col-form-label {
    padding-top: calc(.6rem - 1px * 2);
    padding-bottom: calc(.6rem - 1px * 2);
    margin-bottom: 0
}

.col-form-label-lg {
    padding-top: calc(.5rem - 1px * 2);
    padding-bottom: calc(.5rem - 1px * 2);
    font-size: 1.25rem
}

.col-form-label-sm {
    padding-top: calc(.25rem - 1px * 2);
    padding-bottom: calc(.25rem - 1px * 2);
    font-size: .875rem
}

.col-form-legend, .form-control-plaintext {
    padding-top: .6rem;
    padding-bottom: .6rem;
    margin-bottom: 0
}

.col-form-legend {
    font-size: 1rem
}

.form-control-plaintext {
    line-height: 1.25;
    border: solid transparent;
    border-width: 1px 0
}

.custom-file-input.is-valid ~ .custom-file-control, .custom-select.is-valid, .form-control.is-valid, .was-validated .custom-file-input:valid ~ .custom-file-control, .was-validated .custom-select:valid, .was-validated .form-control:valid {
    border-color: #28a745
}

.form-control-plaintext.form-control-lg, .form-control-plaintext.form-control-sm, .input-group-lg > .form-control-plaintext.form-control, .input-group-lg > .form-control-plaintext.input-group-addon, .input-group-lg > .input-group-btn > .form-control-plaintext.btn, .input-group-sm > .form-control-plaintext.form-control, .input-group-sm > .form-control-plaintext.input-group-addon, .input-group-sm > .input-group-btn > .form-control-plaintext.btn {
    padding-right: 0;
    padding-left: 0
}

.form-group .input-group {
    padding: .6rem 0;
}

.form-control-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn {
    padding: .25rem .55rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: 0
}

.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), .input-group-sm > select.input-group-addon:not([size]):not([multiple]), select.form-control-sm:not([size]):not([multiple]) {
    height: calc(1.8125rem + 2px)
}

.form-control-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0
}

.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), .input-group-lg > select.input-group-addon:not([size]):not([multiple]), select.form-control-lg:not([size]):not([multiple]) {
    height: calc(2.3125rem + 2px)
}

.form-group {
    margin-bottom: 2rem
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px
}

    .form-row > .col, .form-row > [class*=col-] {
        padding-right: 5px;
        padding-left: 5px
    }

.form-check {
    position: relative;
    display: block;
    margin-bottom: .5rem
}

    .form-check.disabled .form-check-label {
        color: rgba(255,255,255,.7)
    }

.form-check-label {
    padding-left: 1.25rem;
    margin-bottom: 0
}

.form-check-input {
    position: absolute;
    margin-left: -1.25rem
}

    .form-check-input:only-child {
        position: static
    }

.form-check-inline {
    display: inline-block
}

    .form-check-inline .form-check-label {
        vertical-align: middle
    }

    .form-check-inline + .form-check-inline {
        margin-left: .75rem
    }

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    width: 250px;
    padding: .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    line-height: 1;
    color: #fff;
    background-color: rgba(220,53,69,.8);
    border-radius: .2rem
}

.custom-select.is-invalid ~ .invalid-feedback, .custom-select.is-invalid ~ .invalid-tooltip, .custom-select.is-valid ~ .invalid-feedback, .custom-select.is-valid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, .form-control.is-invalid ~ .invalid-tooltip, .form-control.is-valid ~ .invalid-feedback, .form-control.is-valid ~ .invalid-tooltip, .was-validated .custom-select:invalid ~ .invalid-feedback, .was-validated .custom-select:invalid ~ .invalid-tooltip, .was-validated .custom-select:valid ~ .invalid-feedback, .was-validated .custom-select:valid ~ .invalid-tooltip, .was-validated .form-control:invalid ~ .invalid-feedback, .was-validated .form-control:invalid ~ .invalid-tooltip, .was-validated .form-control:valid ~ .invalid-feedback, .was-validated .form-control:valid ~ .invalid-tooltip {
    display: block
}

.custom-control-input.is-valid ~ .custom-control-description, .form-check-input.is-valid + .form-check-label, .was-validated .custom-control-input:valid ~ .custom-control-description, .was-validated .form-check-input:valid + .form-check-label {
    color: #28a745
}

.custom-control-input.is-valid ~ .custom-control-indicator, .was-validated .custom-control-input:valid ~ .custom-control-indicator {
    background-color: rgba(40,167,69,.25)
}

.custom-control-input.is-invalid ~ .custom-control-description, .form-check-input.is-invalid + .form-check-label, .was-validated .custom-control-input:invalid ~ .custom-control-description, .was-validated .form-check-input:invalid + .form-check-label {
    color: #dc3545
}

.custom-file-input.is-valid ~ .custom-file-control::before, .was-validated .custom-file-input:valid ~ .custom-file-control::before {
    border-color: inherit
}

.custom-file-input.is-invalid ~ .custom-file-control, .custom-select.is-invalid, .form-control.is-invalid, .was-validated .custom-file-input:invalid ~ .custom-file-control, .was-validated .custom-select:invalid, .was-validated .form-control:invalid {
    border-color: #dc3545
}

.custom-control-input.is-invalid ~ .custom-control-indicator, .was-validated .custom-control-input:invalid ~ .custom-control-indicator {
    background-color: rgba(220,53,69,.25)
}

.custom-file-input.is-invalid ~ .custom-file-control::before, .was-validated .custom-file-input:invalid ~ .custom-file-control::before {
    border-color: inherit
}

.form-inline {
    display: flex;
    flex-flow: row wrap;
    align-items: center
}

    .form-inline .form-check {
        width: 100%
    }

.input-group .form-control {
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0
}

    .input-group .form-control:active, .input-group .form-control:focus, .input-group .form-control:hover, .input-group-btn > .btn:active, .input-group-btn > .btn:focus, .input-group-btn > .btn:hover {
        z-index: 3
    }

.input-group .form-control, .input-group-addon, .input-group-btn {
    display: flex;
    align-items: center
}

.input-group-addon, .input-group-btn {
    white-space: nowrap;
    vertical-align: middle
}

.input-group-addon {
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.25;
    color: rgba(255,255,255,.85);
    text-align: center;
    background-color: transparent;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 0
}

.custom-control-input:active ~ .custom-control-indicator, .custom-control-input:checked ~ .custom-control-indicator {
    color: #fff;
    background-color: transparent
}

.input-group-addon.form-control-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn {
    padding: .25rem .55rem;
    font-size: .875rem;
    border-radius: 0
}

.input-group-addon.form-control-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: 0
}

.input-group-addon input[type=radio], .input-group-addon input[type=checkbox] {
    margin-top: 0
}

.input-group .form-control:not(:last-child), .input-group-addon:not(:last-child), .input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn, .input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .btn-group > .btn, .input-group-btn:not(:last-child) > .dropdown-toggle {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group-addon:not(:last-child) {
    border-right: 0
}

.input-group .form-control:not(:first-child), .input-group-addon:not(:first-child), .input-group-btn:not(:first-child) > .btn, .input-group-btn:not(:first-child) > .btn-group > .btn, .input-group-btn:not(:first-child) > .dropdown-toggle, .input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn, .input-group-btn:not(:last-child) > .btn:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.form-control + .input-group-addon:not(:first-child) {
    border-left: 0
}


.aside-toggled, .sidebar, .sidebar--hidden {
    overflow: hidden
}

.form-control:focus ~ .form-group__bar:before {
    width: 100%
}

.form-control:disabled, .form-control[readonly] {
    opacity: .6
}

.form-group {
    position: relative
}

.form-control {
    border-width: 0 0 1px;
    padding-left: 10px;
    padding-right: 10px;
    resize: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -ms-overflow-style: none
}

.aside-toggled, .sidebar, .sidebar--hidden {
    overflow: hidden
}

.form-control:focus ~ .form-group__bar:before {
    width: 100%
}

.form-control:disabled, .form-control[readonly] {
    opacity: .6
}

.form-group {
    position: relative
}

select::-ms-expand {
    display: none
}

.select {
    position: relative;
}

    .select:before {
        content: "";
        position: absolute;
        pointer-events: none;
        z-index: 1;
        right: 1px;
        bottom: 5px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 8px 8px;
        border-color: transparent transparent #d1d1d1
    }
/*select.form-control:after {
    position: absolute;
    right: 10px;
    color: #000;
    content: '\f0d7';
}*/
.form-group__bar {
    position: absolute;
    left: 0;
    /*bottom: 0;*/
    z-index: 1;
    width: 100%
}

    .form-group__bar::after, .form-group__bar::before {
        content: '';
        position: absolute;
        height: 2px;
        width: 0;
        bottom: 0;
        transition: all .2s;
        transition-timing-function: ease;
        background-color: #2196F3;
    }

    /*.form-group__bar::before {
        left: 50%;
    }*/
    .form-group__bar::after {
        right: 50%;
    }

/*   .form-group__bar:before {
        content: '';
        position: absolute;
        height: 1px;
        width: 0;
        bottom: 0;
        transition: all .4s;
        transition-timing-function: ease;
        background-color: #4eb7f5;
        left: 0
    }*/
.icon-toggle {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 35px;
    cursor: pointer;
    line-height: 35px
}

    .icon-toggle .zmdi {
        z-index: 2;
        font-size: 1.5rem;
        color: rgba(255,255,255,.25);
        transition: color .3s
    }

    .icon-toggle input[type=checkbox] {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        cursor: pointer;
        opacity: 0
    }

        .icon-toggle input[type=checkbox]:checked ~ .zmdi {
            color: #fff
        }

    .icon-toggle:hover .zmdi {
        color: rgba(255,255,255,.5)
    }

.input-group .form-group {
    flex: 2;
    margin: 0
}

    .input-group .form-group .form-control {
        width: 100%
    }

    .input-group .form-group .form-group__bar, .input-group .form-group--float > label {
        z-index: 3
    }

.input-group-addon {
    padding: 0 1rem !important
}

    .input-group-addon + .form-group .form-control {
        padding-right: 1rem;
        padding-left: 1rem;
        border-left: 1px solid rgba(255,255,255,.2)
    }

.control-label {
    font-weight: 600;
    color: #666;
}

.form-group span {
    display: inline-block
}
