.toggle{
    --uiToggleSize: var(--toggleSize, 1px);
    --uiToggleIndent: var(--toggleIndent, -0.5rem);
    --uiToggleBorderWidth: var(--toggleBorderWidth, 2px);
    --uiToggleColor: var(--toggleColor, #000);
    --uiToggleDisabledColor: var(--toggleDisabledColor, #868e96);
    --uiToggleBgColor: var(--toggleBgColor, #fff);
    --uiToggleArrowWidth: var(--toggleArrowWidth, 2px);
    --uiToggleArrowColor: var(--toggleArrowColor, #fff);
  
    display: inline-block;
    position: relative;
  }
  
  .toggle__input{
    position: absolute;
    left: -99999px;
  }
  
  .toggle__label{
    display: inline-flex;
    cursor: pointer;
    padding-left: 35px;
  }
  
  .toggle__label:before, .toggle__label:after{
    content: "";
    box-sizing: border-box;  
    width: 0.5em;
    height: 0.5em;
    font-size: 50px;
    position: absolute;
    left: 0;
    top: 0;
  }
  
  .toggle__label:before{
    z-index: 2;
  }
  
  .toggle__input:not(:disabled) ~ .toggle__label:after{
    background-color: var(--uiToggleColor);
    opacity: 0;
  }
  
  .toggle__input:not(:disabled):checked ~ .toggle__label:after{
    opacity: 1;
  }
  
  .toggle__text{
    margin: 0;
    font-size: 13px;
    color: #ffff;
  }
  
  .toggle__text:before{
    content: "";
    box-sizing: border-box;
    width: 0;
    height: 0;
    font-size: 25px;
    border-left-width: 0;
    border-bottom-width: 0;
    border-left-style: solid;
    border-bottom-style: solid;
    border-color: #511D0D;
    position: absolute;
    top: .5428em;
    left: .2em;
    z-index: 3;
    transform-origin: left top;
    transform: rotate(-40deg) skew(10deg);
  }
  
  .toggle__input:not(:disabled):checked ~ .toggle__label .toggle__text:before{
    width: .5em;
    height: .25em;
    border-left-width: var(--uiToggleArrowWidth);
    border-bottom-width: var(--uiToggleArrowWidth);
    will-change: width, height;
    transition: width .1s ease-out .2s, height .2s ease-out;
  }
  
  .toggle__input:not(:disabled) ~ .toggle__label:before,
  .toggle__input:not(:disabled) ~ .toggle__label:after{
    opacity: 1;
    transform-origin: center center;
    will-change: transform;
    transition: transform .2s ease-out;
    background-color: #ffffff;
  }
  
  .toggle__input:not(:disabled) ~ .toggle__label:before{
    transform: rotateY(0deg);
    transition-delay: .2s;
  }
  
  .toggle__input:not(:disabled) ~ .toggle__label:after{
    transform: rotateY(90deg);
  }
  
  .toggle__input:not(:disabled):checked ~ .toggle__label:before{
    transform: rotateY(-90deg);
    transition-delay: 0s;
  }
  
  .toggle__input:not(:disabled):checked ~ .toggle__label:after{
    transform: rotateY(0deg);
    transition-delay: .2s;
  }
  
  .toggle__text:before{
    opacity: 0;
  }
  
  .toggle__input:not(:disabled):checked ~ .toggle__label .toggle__text:before{
    opacity: 1;
    transition: opacity .1s ease-out .3s;
  }
    
  .toggle{
    width: 100%;
    --toggleColor: #ffffff;
    --toggleBgColor: #ffffff;
    --toggleSize: 25px;
  }
  