﻿/* Unselectable styles - https://github.com/necolas/normalize.css */
.unselectable, .unselectable * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Swipable Box - Consider renaming to "dnd-container" for consistency */
.swipableBox {
    /*position: relative;*/ /* Consider uncommenting if needed for positioning */
    width: 100%;
    height: 100%;
}

/* Swipable Box Item - Consider renaming to "dnd-item" */
.swipableBoxItem {
    /*position: absolute;
    bottom: 0;
    right: 0;
    left: 0;*/ /* Consider uncommenting if absolute positioning needed */
    width: 100%;
    height: 100%;
    animation-duration: 0.30s;
    animation-timing-function: ease-in-out;
    -webkit-animation-duration: 0.30s;
    -webkit-animation-timing-function: ease-in-out;
}

    /* Animation classes - https://github.com/angular/angular.js */
    .swipableBoxItem.ng-enter {
        animation-name: swipeSlideFromRight;
        -webkit-animation-name: swipeSlideFromRight;
    }

    .swipableBoxItem.moveToLeft.ng-enter {
        animation-name: swipeSlideFromLeft;
        -webkit-animation-name: swipeSlideFromLeft;
    }

    .swipableBoxItem.ng-leave {
        animation-name: swipeSlideFromLeft;
        animation-direction: reverse;
        -webkit-animation-name: swipeSlideFromLeft;
        -webkit-animation-direction: reverse;
    }

    .swipableBoxItem.moveToLeft.ng-leave {
        animation-name: swipeSlideFromRight;
        animation-direction: reverse;
        -webkit-animation-name: swipeSlideFromRight;
        -webkit-animation-direction: reverse;
    }

/* Keyframes - https://developer.mozilla.org/en-US/docs/Web/CSS/@keyframes */
@keyframes swipeSlideFromRight {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes swipeSlideFromLeft {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0);
    }
}

@-webkit-keyframes swipeSlideFromRight {
    0% {
        -webkit-transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(0);
    }
}

@-webkit-keyframes swipeSlideFromLeft {
    0% {
        -webkit-transform: translateX(-100%);
    }

    100% {
        -webkit-transform: translateX(0);
    }
}

/* Slidable Sections - Consider merging with swipableBox styles */
.slidable-sections {
    width: 100%;
    height: 100%;
}

.slidable-sections-items {
    width: 100%;
    height: 100%;
    animation-duration: 0.30s;
    animation-timing-function: ease-in-out;
    -webkit-animation-duration: 0.30s;
    -webkit-animation-timing-function: ease-in-out;
}

    /* Slidable animations - Could be consolidated with swipable animations */
    .slidable-sections-items.ng-enter {
        animation-name: slidable-right-frames;
        -webkit-animation-name: slidable-right-frames;
    }

    .slidable-sections-items.moveToLeft.ng-enter {
        animation-name: slidable-left-frames;
        -webkit-animation-name: slidable-left-frames;
    }

    .slidable-sections-items.moveToUp.ng-enter {
        animation-name: slidable-up-frames;
        -webkit-animation-name: slidable-up-frames;
    }

    .slidable-sections-items.ng-leave,
    .slidable-sections-items.moveToLeft.ng-leave {
        animation-name: unset !important;
        -webkit-animation-name: unset !important;
        animation-duration: 0 !important;
        -webkit-animation-duration: 0 !important;
        display: none !important;
    }

/* Additional keyframes */
@keyframes slidable-right-frames {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slidable-left-frames {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slidable-up-frames {
    0% {
        transform: translateY(100%);
    }

    100% {
        transform: translateY(0);
    }
}

@-webkit-keyframes slidable-right-frames {
    0% {
        -webkit-transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(0);
    }
}

@-webkit-keyframes slidable-left-frames {
    0% {
        -webkit-transform: translateX(-100%);
    }

    100% {
        -webkit-transform: translateX(0);
    }
}

@-webkit-keyframes slidable-up-frames {
    0% {
        -webkit-transform: translateY(100%);
    }

    100% {
        -webkit-transform: translateY(0);
    }
}
