.ux-checkbox, .ux-radio, .ux-switch {
    cursor: pointer;
    display: table;
}

.ux-radio {
    margin: 5px 0;
}

.ux-checkbox input, .ux-radio input, .ux-switch input {
    display: none;
}

.ux-checkbox span, .ux-radio span,.ux-switch span {
    font-size: 12px;
    line-height: 20px;
    padding-left: 5px;
}

.ux-checkbox figure, .ux-radio figure {
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    border-radius: 3px;
    position: relative;
    margin: 0;
    box-sizing: border-box;
}

.ux-checkbox span, .ux-radio span, .ux-checkbox figure, .ux-radio figure,.ux-switch span,.ux-switch figure {
    display: inline-block;
    vertical-align: middle;
}

.ux-checkbox figure:before, .ux-radio figure:before {
    content: "";
    display: none;
    position: absolute;
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
    background: #413548;
    border-radius: 2px;
}

.ux-radio figure, .ux-radio figure:before {
    border-radius: 100%;
}

.ux-checkbox input:checked + figure:before, .ux-radio input:checked + figure:before {
    display: block;
}

.ux-switch figure {
    display: inline-block;
    margin: 0;
    width: 70px;
    height: 30px;
    border-radius: 15px;
    background-color: #fff;
    border: 1px solid #ccc;
    position: relative;
    transition: all .3s linear;
}

.ux-switch figure:before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #212121;
    border-radius: 100%;
    left: 5px;
    top: 5px;
    transition: all .3s linear;
}

.ux-switch input:checked + figure {
    background-color: #292c31;
}

.ux-switch input:checked + figure:before {
    left: calc(100% - 25px);
    background-color: #ffffff;
}

.ux-select {
    display: block;
    position: relative;
    border: 1px solid #ccc;
    box-sizing: border-box;
    z-index: 1;
}

.ux-select.open {
    z-index: 25;
}

.ux-select input {
    display: block;
    box-sizing: border-box;
    width: calc(100% - 30px);
    height: 28px;
    border: 1px solid transparent;
    padding: 5px;
    background-color: #fff;
}

.ux-select input:focus {
    outline: none;
}

.ux-select label {
    font-weight: bold;
    padding: 5px;
    font-size: 12px;
    display: block;
}

.ux-select figure {
    margin: 0;
    position: absolute;
    width: 30px;
    height: 100%;
    text-align: center;
    line-height: 30px;
    font-size: 10px;
    right: 0;
    top: 0;
    font-family: FontAwesome;
    background-color: #fff;
    cursor: pointer;
}

.ux-select figure:before {
    content: "\f078";
}

.ux-select section {
    position: absolute;
    top: 100%;
    margin: 0 0 0 -1px;
    display: block;
    width: calc(100% + 2px);
    background-color: #fff;
    border: none;
    z-index: 1;
    box-sizing: border-box;
    overflow: auto;
    max-height: 200px;
}

.ux-select section::-webkit-scrollbar {
    width: 5px;
    height: 5px
}

.ux-select section::-webkit-scrollbar-thumb {
    background: #2c2c2c;
    border: 0;
    border-radius: 5px
}

.ux-select .option {
    display: block;
    padding: 5px;
    font-size: 12px;
    line-height: 20px;
    cursor: pointer;
}

.ux-select .option:hover {
    color: #fff;
    background-color: #272727;
}

.ux-select .optgroup .option {
    padding-left: 15px;
}

.ux-select.open section {
    border: 1px solid #ccc;
}

.ux-select[pos="up"] section {
    top: inherit;
    bottom: 100%;
}

.ux-tabs {
    display: block;
}

.ux-tabs-head {
    display: table;
    width: 100%;
    font-size: 0;
    margin: 0 0 5px;
}

.ux-tabs-head label {
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
}

.ux-tabs-head label[box-index="none"] {
    cursor: default;
}

.ux-tabs-head label span {
    padding: 10px;
    font-size: 15px;
    display: block;
    background-color: #fff;
    border: 1px solid #ccc;
}

.ux-tabs-head label span:hover {
    background-color: #efefef;
}

.ux-tabs-head label:not(:last-child) span {
    border-right: none;
}

.ux-tabs-body {
    display: block;
}

.ux-tabs-body > section {
    display: none;
}

.ux-tabs-head label.active {
}

.ux-tabs-head label.active span {
    background-color: #ff7979;
    color: #fff;
    border-color: #ff7979;
}

.ux-tabs-body > section.active {
    display: block;
}

.ux-tabs.theme-flat {
}

.ux-tabs.theme-flat >.ux-tabs-head label {
    background-color: #fff;
    position: relative;
    z-index: 1;
    will-change: transform,border-left;
    margin: 0 -5px 0 5px;
    box-sizing: border-box;
}

.ux-tabs.theme-flat > .ux-tabs-head label:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #ffffff;
    /* opacity: 1; */
    transition: all .3s linear;
    will-change: background-color;
}

.ux-tabs.theme-flat > .ux-tabs-head label * {
    font-weight: 300;
    text-align: center;
    color: #bfbfbf;
    font-size: 12px;
    letter-spacing: 0.5px;
    line-height: 40px;
    display: block;
    padding: 0 25px;
    z-index: 2;
    position: relative;
    transition: all .3s linear;
    /* text-shadow: 1px 0 1px #535353; */
    border: none;
    background: transparent;
    will-change: transform,padding;
}

.ux-tabs.theme-flat > .ux-tabs-head label [box-btn] {
    font-size: 20px;
    text-shadow: none;
}

.ux-tabs.theme-flat > .ux-tabs-head label.active {
}

.ux-tabs.theme-flat > .ux-tabs-head label.active span {
    color: #ffffff;
    padding: 0 70px;
}

.ux-tabs.theme-flat > .ux-tabs-head label:hover span {
    color: #ffffff;
}

.ux-tabs.theme-flat > .ux-tabs-head label[box-index="none"] {
    margin: 0;
    z-index: 0;
    background-color: #fff;
}

.ux-tabs.theme-flat > .ux-tabs-head label[box-index="none"]:before {
    width: 25px;
    left: 100%;
    background-color: #fff;
}

.ux-tabs.theme-flat > .ux-tabs-head label[box-index="none"] span {
    color: #bfbfbf;
    text-shadow: none;
}

.ux-tabs.theme-flat > .ux-tabs-head label:not([box-index="none"]) {
    transform: skewX(15deg);
    border-left: 1px solid #e4e4e4;
}

.ux-tabs.theme-flat > .ux-tabs-head label:not([box-index="none"]):hover:before {
    background-color: #607d8b;
}

.ux-tabs.theme-flat > .ux-tabs-head label[box-index]:not([box-index="none"]) > * {
    transform: skewX(-15deg);
}

.ux-tabs.theme-flat > .ux-tabs-head label.active:before {
    background-color: #2c3e50;
    width: calc(100% + 1px);
}

.ux-option {
    position: relative;
}

.ux-option > figure {
    display: block;
    margin: 0;
    width: 30px;
    height: 30px;
    font-family: 'FontAwesome';
    line-height: 30px;
    font-size: 20px;
    text-align: center;
    cursor: pointer;
}

.ux-option > figure:hover {
    color: #2196F3;
}

.ux-option > figure:before {
    content: "\f142";
}

.ux-option > section {
    position: absolute;
    right: 0;
    top: 100%;
    display: none;
    width: auto;
}

.ux-option.open > section {
    display: block;
}

.ux-option > section ul {
    box-shadow: 0 1px 1px rgba(0,0,0,.2);
    border-radius: 3px;
    box-sizing: border-box;
    background-color: #fff;
    padding: 5px;
    list-style: none;
    margin: 0;
}

.ux-option > section ul li:not(:last-child) {
    margin: 0 0 5px;
}

.ux-option > section li > *:not(.btn) {
    color: #23272c;
    display: block;
    width: auto;
    text-decoration: none;
    font-size: 12px;
}

.ux-option > section li > *:not(.btn):hover {
    color: #378af3;
}

.ux-option > section li > * .ico {
    display: inline-block;
    margin-right: 5px;
}

.ux-number {
    display: table;
    width: 100%;
    font-size: 0;
    letter-spacing: 0;
    line-height: 0;
    user-select: none;
}

.ux-number input {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 60px);
    text-align: center;
    height: 30px;
    user-select: none;
}

.ux-number .ux-number-plus, .ux-number .ux-number-minus {
    font-family: 'FontAwesome';
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    border: 1px solid #212121;
    background-color: #212121;
    color: #fff;
    line-height: 30px;
    font-size: 15px;
    text-align: center;
    cursor: pointer;
}

.ux-number .ux-number-plus:before {
    content: "\f067";
}

.ux-number .ux-number-minus:before {
    content: "\f068";
}
