/* Liste des affichages spéciaux */
.DisplayTextLine {
    display: block;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
}
.DisplayTextLine > span {
    position: relative;
    display: inline-block;
}
.DisplayTextLine > span:before,
.DisplayTextLine > span:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 9999px;
    height: 1px;
    background: rgba(0, 0, 0, 0.2);
}
.DisplayTextLine > span:before {
    right: 100%;
    margin-right: 15px;
}
.DisplayTextLine > span:after {
    left: 100%;
    margin-left: 15px;
}

/* Liste des types d'éléments */
.BoxContainer {
    clear: both;
}
.BoxFlexCenter {
    display: flex;
    justify-content: center;
    align-items: center;
}
.BoxVerticalFlexCenter {
    display: flex;
    align-items: center;
}
.BoxHorizontalFlexCenter {
    display: flex;
    justify-content: center;
}
.BoxNoSelection {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Liste des effets */
.EffectUnderlineClickableItem:hover {
    text-decoration: underline;
    cursor: pointer;
}
.EffectClickableItem:hover {
    cursor: pointer;
}
.EffectFocusOutlineElement:focus{
    outline: 0;
    border-radius: 5px;
    border-color: rgba(78, 79, 99, 0.5);
    box-shadow: 0 0 0 3px rgba(90, 166, 230, 0.22);
}
.EffectActiveScaleDownItem:active{
    cursor:pointer;
    transition:0.1s;
    transform:scale(0.95);
}
.EffectActiveScaleUpItem:active{
    cursor:pointer;
    transition:0.1s;
    transform:scale(1.05);
}
.EffectHoverScaleUpItem:hover{
    cursor:pointer;
    transition:0.1s;
    transform:scale(1.05);
}
/* Liste des animations */
.AnimationUnderlineHoverItem {
    text-decoration: none;
    cursor: pointer;
}
.AnimationUnderlineHoverItem:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: rgb(60, 60, 60);
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.1s ease-in-out 0s;
    transition: all 0.1s ease-in-out 0s;
}
.AnimationUnderlineHoverItem:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}



/* Liste des objets utilisé par Snake JS */
.SnakeLoader{
    border: 4px solid transparent;
    border-radius: 50%;
    border-top: 4px solid rgba(0,0,0,0.4);
    width: 32px;
    height: 32px;
    -webkit-animation: rotationAnimation 0.5s linear infinite;
    animation: rotationAnimation 0.5s linear infinite;
}
.TableInsertion{
position: absolute;
width: calc(100% - 1px);left:0;
    height:0;
}
/* Liste des animations frames */
@keyframes fadeInAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeOutAnimation {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes skewLeftToRightAnimation {
    from {
        transform: skew(-1deg, 4deg);
    }
    to {
        transform: skew(0deg, 0deg);
    }
}
@keyframes rotationAnimation {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}