/**
 * Stylesheet
 *
 * @namespace LUNGO.Widgets
 * @class Form
 *
 * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
 */

@import "constants.less";
@import "mixins.less";

form, .form { }

label {
    font-size: 0.9em;
    line-height: 29px;
}

input:not([type=checkbox]), textarea, select {
    display: inline-block;
    padding: 5px 0 5px 5px;
    width: 97%;

    outline: none;

    font-size:  15px;
    line-height: 15px;
    font-weight: bold;

    -webkit-appearance: none;
    -webkit-user-select: text;

    margin: 0 0 6px;
}

input:not([type=checkbox]), textarea, select {
    display: inline-block;
    padding: 5px 0 5px 5px;
    width: 97%;

    outline: none;

    font-size:  15px;
    line-height: 15px;
    font-weight: bold;

    -webkit-appearance: none;
    -webkit-user-select: text;

    margin: 0 0 6px;
}

.big {
    width: 99%;
    height: 190px;
    .border-radius(0px);
    line-height: 22px;
    //padding: 0px;
}

/* @group search */
input[type=search] {
    width: 86%;

    & + .button {
        float: right;
        padding: 0px;
        width: 32px;
        height: 30px;

        & .icon {
            font-size: 22px !important;
            line-height: 30px;
        }
    }
}
/* @end */

/* @group select */

select {
    width: 100%;
    height: 29px;
}

label.select {
    position: relative;
    display: inline-block;
    width: 100%;
}

.select:after {
    text-align: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    height:29px;
    width: 29px;

    content: "▼";
    pointer-events:none;
    line-height: 31px;
}

.no-pointer-events .select:after {
    content: none;
}

/* @end */


/* @group switch */

input[type="checkbox"], input[type="radio"]{
    width: 82px;
    height: 29px;
    z-index: 2;
}

input[type="checkbox"] + span::after,
   input[type="radio"] + span::after {
    content: "OFF";
}

input[type="checkbox"]:checked + span::after,
   input[type="radio"]:checked + span::after {
    content: "ON";
}

input[type="checkbox"] + span,
   input[type="radio"] + span,
   input[type="checkbox"] + span::before,
   input[type="radio"] + span::before,
   input[type="checkbox"] + span::after,
   input[type="radio"] + span::after {
    display: inline-block;
}

input[type="checkbox"] + span::before,
   input[type="radio"] + span::before,
   input[type="checkbox"] + span::after,
   input[type="radio"] + span::after,
   input[type="checkbox"]:checked + span::before,
   input[type="radio"]:checked + span::before,
   input[type="checkbox"]:checked + span::after,
   input[type="radio"]:checked + span::after {
    top: 0;
}

input[type="checkbox"] + span::after,
   input[type="radio"] + span::after,
   input[type="checkbox"]:checked + span::before,
   input[type="radio"]:checked + span::before {
    right: 0;
}

input[type="checkbox"] + span::before,
   input[type="radio"] + span::before,
   input[type="checkbox"]:checked + span::after,
   input[type="radio"]:checked + span::after {
    left: 0;
}

input[type="checkbox"],
   input[type="radio"],
   input[type="checkbox"] + span::before,
   input[type="radio"] + span::before,
   input[type="checkbox"] + span::after,
   input[type="radio"] + span::after {
    position: absolute;
}

input[type="checkbox"],
   input[type="radio"] {
    -webkit-opacity: 0;
    opacity: 0;
}

input[type="checkbox"] + span,
   input[type="radio"] + span {
    width: 82px;
    height: 27px;
    position: relative;
    font-size: 11px;
    line-height: 29px;
    font-weight: bold;
    text-transform: uppercase;
    text-indent: -9999px;
}

input[type="checkbox"] + span::before,
   input[type="radio"] + span::before {
    content: "";
    width: 41px;
    height: 27px;
}

input[type="checkbox"] + span::after,
   input[type="radio"] + span::after {
    text-indent: 0;
    width: 41px;
    height: 27px;
    text-align: center;
}

input[type="checkbox"]:checked + span::before,
   input[type="radio"]:checked + span::before {
    left: auto;
}

input[type="checkbox"]:checked + span::after,
   input[type="radio"]:checked + span::after {
    height: 27px;
}
/* @end */

/* @group range */
input[type="range"] {
    -webkit-appearance: none;
    height: 15px;
    width: 100%;
    outline: none;
    position: relative;
    padding: 0px;
    margin: 0px;
    border: 0;
    cursor: ew-resize;

    &::-webkit-slider-thumb {
        -webkit-appearance: none;
        position: relative;
        z-index: 1;

        width: 24px;
        height: 24px;
        border-radius: 12px;
    }
}
/* @end */

/* @group progress */
.progress {
    width: 100%;
    margin-bottom: 8px;

    .labels {
        display: block;
        & span:last-child { float: right; }
    }

    & .bar {
        height:  15px;
        line-height: 16px;
        display: block;

        & .value {
            display:block;
            height: inherit;
            width: 0%;
            -webkit-transition: width 500ms @defaultTrasition;
        }
    }
}

.big .progress .bar {
    height:  29px;
    line-height: 30px;
}
/* @end */


@media screen and (-webkit-min-device-pixel-ratio:0) {
    .custom-select select {padding-right:30px;}
}