/** -----------------------------------------------------------------------------------------------------
 * switch
 * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
 * @copyright Copyright &copy; Szincsák András
 * @author Szincsák András <andras@szincsak.hu>
 * @version 1.0
* ------------------------------------------------------------------------------------------------------ */
.switch{font-size:1rem;  position:relative;}
.switch input{position:absolute;  height:1px;  width:1px;  background:none;  border:0;  clip:rect(0 0 0 0);  clip-path:inset(50%);  overflow:hidden;  padding:0;}
.switch input + label{color:#ccc;position:relative; font-weight:normal!Important;  padding-left: calc(calc(calc(2.375rem * .75) * 2) + .1rem); min-width:calc(calc(2.375rem * .8) * 2);  border-radius:calc(2.375rem * .8); display:inline-block;  cursor:pointer;  outline:none;  user-select:none;  vertical-align:middle;height:auto;
/* height:calc(2.375rem * .8);  line-height:calc(2.375rem * .8); text-indent:calc(calc(calc(2.375rem * .8) * 2) + .5rem); */
}
.switch input + label::before, .switch input + label::after{content:'';  position:absolute;  top:0;  left:0;  width:calc(calc(2.375rem * .8) * 2);  bottom:0;  display:block;}
.switch input + label::before{right:0;     height: calc(1.9375rem * .8); background-color:#dee2e6;  border-radius:calc(2.375rem * .8);  transition:0.2s all;}
.switch input + label::after{top:2px;  left:2px;     right: unset;z-index:1; width:calc(calc(2.375rem * .8) - calc(2px * 2));  height:calc(calc(2.375rem * .8) - calc(2px * 2));  border-radius:50%;  background-color:white;  transition:0.2s all;}
.switch input:checked + label{color:#617da4}
.switch input:checked + label::before{background-color:#617da4;}
.switch input:checked + label::after{margin-left:calc(2.375rem * .8);}
.switch input:focus + label::before{outline:none;  box-shadow:none}
.switch input:disabled + label{color:#868e96;  cursor:not-allowed;}
.switch input:disabled + label::before{background-color:#e9ecef;}

.switch.switch-xs{font-size:0.775rem;}
.switch.switch-xs input + label{min-width:calc(calc(1.9375rem * .5) * 2); height:auto;padding-left: calc(calc(calc(2.375rem * .4) * 2) + .1rem);margin-bottom:0}
.switch.switch-xs input + label::before{ top: 0px;width:calc(calc(1.9375rem * .4) * 2);height:calc(calc(2.375rem * .5) - calc(2px * 2))}
.switch.switch-xs input + label::after{top: 1.5px;width:calc(calc(1.9375rem * .5) - calc(2px * 2));  height:calc(calc(1.9375rem * .5) - calc(2px * 2));}
.switch.switch-xs input:checked + label::after{margin-left:calc(1.9375rem * .3);}

.switch.switch-sm{font-size:0.875rem;}
.switch.switch-sm input + label{min-width:calc(calc(1.9375rem * .8) * 2); height:auto;}
.switch.switch-sm input + label::before{width:calc(calc(1.9375rem * .8) * 2);}
.switch.switch-sm input + label::after{width:calc(calc(1.9375rem * .8) - calc(2px * 2));  height:calc(calc(1.9375rem * .8) - calc(2px * 2));}
.switch.switch-sm input:checked + label::after{margin-left:calc(1.9375rem * .8);}

.switch.switch-lg{font-size:1.25rem;}
.switch.switch-lg input + label{min-width:calc(calc(3rem * .8) * 2);  height:calc(3rem * .8);  line-height:calc(3rem * .8);  text-indent:calc(calc(calc(3rem * .8) * 2) + .5rem);}
.switch.switch-lg input + label::before{width:calc(calc(3rem * .8) * 2);}
.switch.switch-lg input + label::after{width:calc(calc(3rem * .8) - calc(2px * 2));  height:calc(calc(3rem * .8) - calc(2px * 2));}
.switch.switch-lg input:checked + label::after{margin-left:calc(3rem * .8);}
.switch + .switch{margin-left:0;}

.switch a {text-decoration:underline;font-weight:bold}

.switch.hideLabel + label{font-size:1.5em;top: 10px;}
.switch.hideLabel + label .required{display:none}

.switch.changed{background:#f00}

.fainfo{
    color: #aaa;
    margin-left: 10px;
}
.switch input + label{width:100%}
.switch input + label em{color:#617da4}
.fainfo:hover {color:#617da4}
.fainfo:hover +.infoblock{    display: block!Important;
    position: absolute;
    color: #617da4;
    top: 25px;
    right: 0px;
    left: 80px;
    background: #f8f8f8;
    z-index: 100;
    border: 1px solid #eee;
    padding: 5px;
    line-height: 1.1em;
    text-align: center;}
