/*SPECIAL FX & ANIMATION*/
.shadow {
    -webkit-box-shadow: 0px 15px 20px -20px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 15px 20px -20px rgba(0,0,0,0.3);
    box-shadow: 0px 15px 20px -20px rgba(0,0,0,0.3);
}
.text-shadow, .slider-text-shadow { text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.flip-horizontally { transform: scaleX(-1); }
.transition {
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}
.sepia:hover {
    -webkit-filter: sepia(100%);
    filter: sepia(100%);
}
.grow-big:hover {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
}
.grow-small:hover {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}
.shrink:hover {
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
}
.swing:hover {
    -webkit-animation: swing 1s ease;
    animation: swing 1s ease;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
}

@-webkit-keyframes swing {
    15%
    {
        -webkit-transform: translateX(5px);
        transform: translateX(5px);
    }
    30%
    {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px);
    }
    50%
    {
        -webkit-transform: translateX(3px);
        transform: translateX(3px);
    }
    65%
    {
        -webkit-transform: translateX(-3px);
        transform: translateX(-3px);
    }
    80%
    {
        -webkit-transform: translateX(2px);
        transform: translateX(2px);
    }
    100%
    {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}
@keyframes swing {
    15%
    {
        -webkit-transform: translateX(5px);
        transform: translateX(5px);
    }
    30%
    {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px);
    }
    50%
    {
        -webkit-transform: translateX(3px);
        transform: translateX(3px);
    }
    65%
    {
        -webkit-transform: translateX(-3px);
        transform: translateX(-3px);
    }
    80%
    {
        -webkit-transform: translateX(2px);
        transform: translateX(2px);
    }
    100%
    {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.c-blur-in:hover {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: c-blur-in;
    animation-name: c-blur-in;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

@-webkit-keyframes c-blur-in {
    from { opacity:0;  -webkit-filter: blur(100px); -moz-filter: blur(100px); -o-filter: blur(100px); -ms-filter: blur(100px); filter: blur(100px); }
    to { opacity:1; -webkit-filter: blur(0px); -moz-filter: blur(0px); -o-filter: blur(0px); -ms-filter: blur(0px); filter: blur(0px);}
}

@keyframes c-blur-in {
    from { opacity:0; -webkit-filter: blur(100px); -moz-filter: blur(100px); -o-filter: blur(100px); -ms-filter: blur(100px); filter: blur(100px); }
    to { opacity:1; -webkit-filter: blur(0px); -moz-filter: blur(0px); -o-filter: blur(0px); -ms-filter: blur(0px); filter: blur(0px);}
}

.pulse { animation: pulse-animation 2s infinite; }
@keyframes pulse-animation {
    0% {
      box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2);
    }
    100% {
      box-shadow: 0 0 0 20px rgba(0, 0, 0, 0);
    }
}

.pulse-white { animation: pulse-white-animation 2s infinite; }
@keyframes pulse-white-animation {
    0% {
      box-shadow: 0 0 0 0px rgba(255, 255, 255, 0.25);
    }
    100% {
      box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
    }
}

.pulsate-bck {
    -webkit-animation: pulsate-bck 1.5s ease-in-out infinite both;
    animation: pulsate-bck 1.5s ease-in-out infinite both;
}
@-webkit-keyframes pulsate-bck {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    50% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
@keyframes pulsate-bck {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    50% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
.jump {
    animation: jump 6s ease-in-out infinite;
}

@-webkit-keyframes jump {
    0% {
        bottom: 35px;
    }
    10% {
        bottom: 60px;
    }
    20% {
        bottom: 35px;
    }
    80% {
        bottom: 35px;
    }
    90% {
        bottom: 60px;
    }
    100% {
        bottom: 35px;
    }
}
@keyframes jump {
    0% {
        bottom: 35px;
    }
    10% {
        bottom: 60px;
    }
    20% {
        bottom: 35px;
    }
    80% {
        bottom: 35px;
    }
    90% {
        bottom: 60px;
    }
    100% {
        bottom: 35px;
    }
}
.shine { position: relative; }
.shine::before {
    position: absolute;
    content: '';
	top: 0;
	left: -75%;
	z-index: 2;
	display: block;
	content: '';
	width: 50%;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
}
.shine:hover::before {
	-webkit-animation: shine .75s;
	animation: shine .75s;
}
@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}
@keyframes shine {
	100% {
		left: 125%;
	}
}

.brightness-image { transition: filter 0.5s ease; }
.brightness-image:hover { filter: brightness(1.2); }
.contrast-image { transition: filter 0.8s ease; }
.contrast-image:hover { filter: contrast(1.6); }