a, a *{-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out;}
a:hover, a:hover *{-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out;}
.btn-custom{-webkit-transition:all 0.5s ease-out;-moz-transition:all 0.5s ease-out;-o-transition:all 0.5s ease-out;transition:all 0.5s ease-out;}
.btn-custom:hover{-webkit-transition:all 0.5s ease-out;-moz-transition:all 0.5s ease-out;-o-transition:all 0.5s ease-out;transition:all 0.5s ease-out;}

.revealed::before {z-index:35;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0% 0% 0px;
            transform-origin: 0% 0% 0px;
    will-change: transform;
    -webkit-animation: reveal 1s 0s ease-in-out forwards;
            animation: reveal 1s 0s ease-in-out forwards;
}


.slideLeft .navbar-collapse{
    -webkit-animation-name: slideLeft;
    animation-name: slideLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.slideRight .navbar-collapse{
    -webkit-animation-name: slideRight;
    animation-name: slideRight;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes slideLeft {
    0% {-webkit-transform:translateX(100%);transform:translateX(100%);display:none !important;opacity:0;visibility:hidden;}
    100% {-webkit-transform:translateX(0%);transform:translateY(0%);display:block !important;opacity:1;visibility:visible;}
}
@-moz-keyframes slideLeft {
	0% {-moz-transform:translateX(100%);transform:translateX(100%);display:none !important;opacity:0;visibility:hidden;}
	100% {-moz-transform:translateX(0%);transform:translateX(0%);display:block !important;opacity:1;visibility:visible;}
}
@keyframes slideLeft {
    0% {-webkit-transform:translateX(100%);transform:translateX(100%);display:none !important;opacity:0;visibility:hidden;}
	100% {-webkit-transform:translateX(0%);transform:translateX(0%);display:block !important;opacity:1;visibility:visible;}
}

@-webkit-keyframes slideRight {
    0% {-webkit-transform:translateX(0%);transform:translateX(0%);display:block !important;opacity:1;visibility:visible;}
    100% {-webkit-transform:translateX(100%);transform:translateX(100%);display:none !important;opacity:0;visibility:hidden;}
}
@-moz-keyframes slideRight {
	0% {-moz-transform:translateX(0%);transform:translateX(0%);display:block !important;opacity:1;visibility:visible;}
	100% {-moz-transform:translateX(100%);transform:translateX(100%);display:none !important;opacity:0;visibility:hidden;}
}
@keyframes slideRight {
    0% {-webkit-transform:translateX(0%);transform:translateX(0%);display:block !important;opacity:1;visibility:visible;}
	100% {-webkit-transform:translateX(100%);transform:translateX(100%);display:none !important;opacity:0;visibility:hidden;}
}

@-webkit-keyframes reveal {
    0% {-webkit-transform: scaleX(0);transform: scaleX(0);}
    50% {-webkit-transform: scaleX(1);transform: scaleX(1);-webkit-transform-origin: 0% 0% 0px;transform-origin: 0% 0% 0px;}
    51% {-webkit-transform-origin: 100% 50% 0px;transform-origin: 100% 50% 0px;}
    100% {-webkit-transform: scaleX(0);transform: scaleX(0);-webkit-transform-origin: 100% 50% 0px;transform-origin: 100% 50% 0px;}
}
@-moz-keyframes reveal{
    0% {-moz-transform: scaleX(0);transform: scaleX(0);}
    50% {-moz-transform: scaleX(1);transform: scaleX(1);-moz-transform-origin: 0% 0% 0px;transform-origin: 0% 0% 0px;}
    51% {-moz-transform-origin: 100% 50% 0px;transform-origin: 100% 50% 0px;}
    100% {-moz-transform: scaleX(0);transform: scaleX(0);-moz-transform-origin: 100% 50% 0px;transform-origin: 100% 50% 0px;}
}
@keyframes reveal {
    0% {-webkit-transform: scaleX(0);transform: scaleX(0);}
    50% {-webkit-transform: scaleX(1);transform: scaleX(1);-webkit-transform-origin: 0% 0% 0px;transform-origin: 0% 0% 0px;}
    51% {-webkit-transform-origin: 100% 50% 0px;transform-origin: 100% 50% 0px;}
    100% {-webkit-transform: scaleX(0);transform: scaleX(0);-webkit-transform-origin: 100% 50% 0px;transform-origin: 100% 50% 0px;}
}

/* Animation : To Bottom From Top */
@-webkit-keyframes toBottomFromTop {
	49% {-webkit-transform: translateY(100%);}
	50% {-webkit-transform: translateY(-100%);opacity:0;}
	51% {opacity: 1;}
}
@-moz-keyframes toBottomFromTop {
	49% {-moz-transform: translateY(100%);}
	50% {-moz-transform: translateY(-100%);opacity: 0;}
	51% {opacity: 1;}
}
@keyframes toBottomFromTop {
	49% {transform: translateY(100%);}
	50% {transform: translateY(-100%);opacity: 0;}
	51% {opacity: 1;}
}

/* Animation : To Top From Bottom */
@-webkit-keyframes toTopFromBottom {
	49% {-webkit-transform: translateY(-100%);}
	50% {-webkit-transform: translateY(100%);opacity:0;}
	51% {opacity: 1;}
}
@-moz-keyframes toTopFromBottom {
	49% {-moz-transform: translateY(-100%);}
	50% {-moz-transform: translateY(100%);opacity: 0;}
	51% {opacity: 1;}
}
@keyframes toTopFromBottom {
	49% {transform: translateY(-100%);}
	50% {transform: translateY(100%);opacity: 0;}
	51% {opacity: 1;}
}

/* Animation : To Right From Left */
@-webkit-keyframes toRightFromLeft {
	49% {-webkit-transform: translateX(100%);}
	50% {-webkit-transform: translateX(-100%);opacity:0;}
	51% {opacity: 1;}
}
@-moz-keyframes toRightFromLeft {
	49% {-moz-transform: translateX(100%);}
	50% {-moz-transform: translateX(-100%);opacity: 0;}
	51% {opacity: 1;}
}
@keyframes toRightFromLeft {
	49% {transform: translateX(100%);}
	50% {transform: translateX(-100%);opacity: 0;}
	51% {opacity: 1;}
}

/* Animation : To Left From Right */
@-webkit-keyframes toLeftFromRight {
	49% {-webkit-transform: translateX(-100%);}
	50% {-webkit-transform: translateX(100%);opacity:0;}
	51% {opacity: 1;}
}
@-moz-keyframes toLeftFromRight {
	49% {-moz-transform: translateX(-100%);}
	50% {-moz-transform: translateX(100%);opacity: 0;}
	51% {opacity: 1;}
}
@keyframes toLeftFromRight {
	49% {transform: translateX(-100%);}
	50% {transform: translateX(100%);opacity: 0;}
	51% {opacity: 1;}
}