/*! Spectre.css Icons v0.5.3 | MIT License | github.com/picturepan2/spectre */
.icon
{font-size: inherit; font-style: normal; position: relative; display: inline-block; 

    box-sizing: border-box; width: 1em; height: 1em; vertical-align: middle; text-indent: -9999px;
}

.icon::before,
.icon::after
{position: absolute; top: 50%; left: 50%; 

    display: block; transform: translate(-50%, -50%);
}

.icon.icon-2x
{
    font-size: 1.6rem;
}

.icon.icon-3x
{
    font-size: 2.4rem;
}

.icon.icon-4x
{
    font-size: 3.2rem;
}

.accordion .icon,
.btn .icon,
.toast .icon,
.menu .icon
{
    vertical-align: -10%;
}

.btn-lg .icon
{
    vertical-align: -15%;
}

.icon-arrow-down::before,
.icon-arrow-left::before,
.icon-arrow-right::before,
.icon-arrow-up::before,
.icon-downward::before,
.icon-back::before,
.icon-forward::before,
.icon-upward::before
{width: .65em; height: .65em; content: ''; 

    border: .1rem solid currentColor; border-right: 0; border-bottom: 0;
}

.icon-arrow-down::before
{
    transform: translate(-50%, -75%) rotate(225deg);
}

.icon-arrow-left::before
{
    transform: translate(-25%, -50%) rotate(-45deg);
}

.icon-arrow-right::before
{
    transform: translate(-75%, -50%) rotate(135deg);
}

.icon-arrow-up::before
{
    transform: translate(-50%, -25%) rotate(45deg);
}

.icon-back::after,
.icon-forward::after
{width: .8em; height: .1rem; content: ''; 

    background: currentColor;
}

.icon-downward::after,
.icon-upward::after
{width: .1rem; height: .8em; content: ''; 

    background: currentColor;
}

.icon-back::after
{
    left: 55%;
}

.icon-back::before
{
    transform: translate(-50%, -50%) rotate(-45deg);
}

.icon-downward::after
{
    top: 45%;
}

.icon-downward::before
{
    transform: translate(-50%, -50%) rotate(-135deg);
}

.icon-forward::after
{
    left: 45%;
}

.icon-forward::before
{
    transform: translate(-50%, -50%) rotate(135deg);
}

.icon-upward::after
{
    top: 55%;
}

.icon-upward::before
{
    transform: translate(-50%, -50%) rotate(45deg);
}

.icon-caret::before
{width: 0; height: 0; content: ''; transform: translate(-50%, -25%); 

    border-top: .3em solid currentColor; border-right: .3em solid transparent; border-left: .3em solid transparent;
}

.icon-menu::before
{width: 100%; height: .1rem; content: ''; 

    background: currentColor; box-shadow: 0 -.35em, 0 .35em;
}

.icon-apps::before
{width: 3px; height: 3px; content: ''; 

    background: currentColor; box-shadow: -.35em -.35em, -.35em 0, -.35em .35em, 0 -.35em, 0 .35em, .35em -.35em, .35em 0, .35em .35em;
}

.icon-time
{
    border: .1rem solid currentColor; border-radius: 50%;
}

.icon-time::before
{width: .1rem; height: .4em; content: ''; transform: translate(-50%, -75%); 

    background: currentColor;
}

.icon-time::after
{width: .1rem; height: .3em; content: ''; transform: translate(-50%, -75%) rotate(90deg); transform-origin: 50% 90%; 

    background: currentColor;
}

.icon-mail::before
{width: 1em; height: .8em; content: ''; 

    border: .1rem solid currentColor; border-radius: .1rem;
}

.icon-mail::after
{width: .5em; height: .5em; content: ''; transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg); 

    border: .1rem solid currentColor; border-top: 0; border-right: 0;
}

.icon-people::before
{top: 25%; width: .45em; height: .45em; content: ''; 

    border: .1rem solid currentColor; border-radius: 50%;
}

.icon-people::after
{top: 75%; width: .9em; height: .4em; content: ''; 

    border: .1rem solid currentColor; border-radius: 50% 50% 0 0;
}

.icon-message
{
    border: .1rem solid currentColor; border-right: 0; border-bottom: 0; border-radius: .1rem;
}

.icon-message::before
{top: 40%; left: 65%; width: .7em; height: .8em; content: ''; 

    border: .1rem solid currentColor; border-top: 0; border-left: 0; border-bottom-right-radius: .1rem;
}

.icon-message::after
{top: 100%; left: 10%; width: .1rem; height: .3em; content: ''; transform: translate(0, -90%) rotate(45deg); border-radius: .1rem; 
    background: currentColor;
}

.icon-photo
{
    border: .1rem solid currentColor; border-radius: .1rem;
}

.icon-photo::before
{top: 35%; left: 35%; width: .25em; height: .25em; content: ''; 

    border: .1rem solid currentColor; border-radius: 50%;
}

.icon-photo::after
{left: 60%; width: .5em; height: .5em; content: ''; transform: translate(-50%, 25%) rotate(-45deg); 

    border: .1rem solid currentColor; border-bottom: 0; border-left: 0;
}

.icon-link::before,
.icon-link::after
{width: .75em; height: .5em; content: ''; 

    border: .1rem solid currentColor; border-right: 0; border-radius: 5em 0 0 5em;
}

.icon-link::before
{
    transform: translate(-70%, -45%) rotate(-45deg);
}

.icon-link::after
{
    transform: translate(-30%, -55%) rotate(135deg);
}

.icon-location::before
{width: .8em; height: .8em; content: ''; transform: translate(-50%, -60%) rotate(-45deg); 

    border: .1rem solid currentColor; border-radius: 50% 50% 50% 0;
}

.icon-location::after
{width: .2em; height: .2em; content: ''; transform: translate(-50%, -80%); 

    border: .1rem solid currentColor; border-radius: 50%;
}

.icon-emoji
{
    border: .1rem solid currentColor; border-radius: 50%;
}

.icon-emoji::before
{width: .1em; height: .1em; content: ''; 

    border-radius: 50%; box-shadow: -.17em -.15em, .17em -.15em;
}

.icon-emoji::after
{width: .5em; height: .5em; content: ''; transform: translate(-50%, -40%) rotate(-135deg); 

    border: .1rem solid currentColor; border-right-color: transparent; border-bottom-color: transparent; border-radius: 50%;
}
