/* Element to act as Context hook */

.ContextContainer {
    display: inline-block;
    position: relative;
}

/* Caret */

.ContextContainer::before,
.ContextContainer::after {
    border-bottom: var(--spacing-100) solid var(--white);
    border-left: var(--spacing-100) solid transparent;
    border-right: var(--spacing-100) solid transparent;
    content: "";
    height: 0;
    left: 50%;
    margin-left: -var(--spacing-100);
    position: absolute;
    top: 100%;
    width: 0;
    z-index: 700;
}

.ContextContainer::before {
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}

/* Context panel */

.Context {
    background-color: var(--white);
    box-shadow: 0 5px 15px rgba(0, 0, 0, .12), 0 15px 30px hsla(200, 50%, 10%, .08);
    border-radius: var(--borderRadius-200);
    right: 0;
    margin-top: var(--spacing-100);
    /*max-height: calc(100vh - 80px);*/
    min-height: var(--spacing-500);
    min-width: 160px;
    overflow: hidden;
    position: absolute;
    top: 100%;
    transition: all 150ms ease-in-out;
    z-index: 700;
}

.Context.left {
    background-color: var(--white);
    box-shadow: 0 5px 15px rgba(0, 0, 0, .12), 0 15px 30px hsla(200, 50%, 10%, .08);
    border-radius: var(--borderRadius-200);
    left: 0;
    right: auto;
    margin-top: var(--spacing-100);
    /*max-height: calc(100vh - 80px);*/
    min-height: var(--spacing-500);
    min-width: 160px;
    overflow: hidden;
    position: absolute;
    top: 100%;
    transition: all 150ms ease-in-out;
    z-index: 700;
}

/* Active state */

.ContextContainer::before,
.ContextContainer::after,
.ContextContainer .Context {
    opacity: 0;
    pointer-events: none;
    transition-property: opacity, transform;
    transition-duration: 150ms;
    transition-timing-function: ease-in-out;
}

.ContextContainer.is-active::before,
.ContextContainer.is-active::after,
.ContextContainer.is-active .Context {
    transform: translateY(3px);
    opacity: 1;
    pointer-events: auto;
}
