.hover_rotation {

    position: relative;

    overflow: hidden;

    float: left;

}



.hover_rotation div {

    position: absolute;

    /* The images have to be larger than their parent container to fill the visible area when rotating */

    /*width:400px;

    height:250px;*/

    /* Margins keep the image centered */

    top: 50%;

    left: 50%;

    /*	margin-top:-125px;

        margin-left:-200px;*/

    border: none;

    /* Opacity */

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";

    filter: alpha(opacity=80);



    /* Opacity & Rotation Transitions */

    -webkit-transition: all .2s;

    -moz-transition: all .2s;

    -o-transition: all .2s;

    -ms-transition: all .2s;

    transition: all .2s;

}



/* Right rotation */



.hover_rotation div.hover_rotation_right:hover {

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";

    filter: alpha(opacity=100);

    opacity: 1;

    /* Applying a 15 degrees rotation */

    -webkit-transform: rotate(15deg);

    -moz-transform: rotate(15deg);

    -o-transform: rotate(15deg);

    -ms-transform: rotate(15deg);

    transform: rotate(15deg);

}



/* Left rotation */



.hover_rotation div.hover_rotation_left:hover {

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";

    filter: alpha(opacity=100);

    opacity: 1;

    /* Applying a -15 degrees rotation */

    -webkit-transform: rotate(-15deg);

    -moz-transform: rotate(-15deg);

    -o-transform: rotate(-15deg);

    -ms-transform: rotate(-15deg);

    transform: rotate(-15deg);

}



/*  _______________________________________



	02 OVERLAY FADE

    _______________________________________  */



.overlay_fade {

    position: relative;

    /* Modify the width and the height according to your images sizes */

    overflow: hidden;

    float: left;

}



.overlay_fade div {

    width: 100%;

    height: 100%;

    border: none;

}



.overlay_fade .overlay_zoom {

    position: absolute;

    top: 0px;

    width: 100%;

    height: 100%;

    background-image: url("../images/icons/zoom.png");

    background-repeat: no-repeat;

    background-position: center center;

    /* Opacity */

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";

    filter: alpha(opacity=0);

    opacity: 0;

    /* Opacity Transition */

    -webkit-transition: opacity .4s ease-in;

    -moz-transition: opacity .4s ease-in;

    -o-transition: opacity .4s ease-in;

    -ms-transition: opacity .4s ease-in;

    transition: opacity .4s ease-in;

}



.overlay_fade:hover .overlay_zoom {

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";

    filter: alpha(opacity=100);

    opacity: 1;

}



.overlay_fade .zoom_white {

    background-color: rgba(255, 255, 255, 0.7);

}



.overlay_fade .zoom_black {

    background-color: rgba(0, 0, 0, 0.7);

}



/*  _______________________________________



	03 OVERLAY SLIDE

    _______________________________________  */



.overlay_slide {

    position: relative;

    overflow: hidden;

    float: left;

}



.overlay_slide div {

    width: 100%;

    height: 100%;

    border: none;

}



.overlay_slide .overlay_zoom {

    position: absolute;

    top: -150px;

    width: 100%;

    height: 100%;

    background-image: url("../images/icons/zoom.png");

    background-repeat: no-repeat;

    background-position: center center;

    /* Slide Transition */

    -webkit-transition: top 0.4s;

    -moz-transition: top 0.4s;

    -o-transition: top 0.4s;

    -ms-transition: top 0.4s;

    transition: top 0.4s;

}



.overlay_slide:hover .overlay_zoom {

    top: 0 !important;

}



.overlay_slide .zoom_white {

    background-color: rgba(255, 255, 255, 0.7);

}



.overlay_slide .zoom_black {

    background-color: rgba(0, 0, 0, 0.7);

}



/*  _______________________________________



	04 OVERLAY SPLIT

    _______________________________________  */



.overlay_split {

    position: relative;

    overflow: hidden;

    float: left;

}



.overlay_split div {

    width: 100%;

    height: 100%;

    border: none;

}



/* Right and left sides */

.overlay_split .overlay_split_left,

.overlay_split .overlay_split_right {

    position: absolute;

    width: 50%;

    height: 100%;

}



.overlay_split .overlay_split_right {

    right: 0;

    /* Slide Transition */

    -webkit-transition: right 0.4s;

    -moz-transition: right 0.4s;

    -o-transition: right 0.4s;

    -ms-transition: right 0.4s;

    transition: right 0.4s;

}



.overlay_split .overlay_split_left {

    left: 0 !important;

    /* Slide Transition */

    -webkit-transition: left 0.4s;

    -moz-transition: left 0.4s;

    -o-transition: left 0.4s;

    -ms-transition: left 0.4s;

    transition: left 0.4s;

}



/* Top and bottom sides */



.overlay_split .overlay_split_top,

.overlay_split .overlay_split_bottom {

    position: absolute;

    width: 100%;

    height: 50%;

}



.overlay_split .overlay_split_top {

    top: 0 !important;

    /* Slide Transition */

    -webkit-transition: top 0.4s;

    -moz-transition: top 0.4s;

    -o-transition: top 0.4s;

    -ms-transition: top 0.4s;

    transition: top 0.4s;

}



.overlay_split .overlay_split_bottom {

    bottom: 0 !important;

    /* Slide Transition */

    -webkit-transition: bottom 0.4s;

    -moz-transition: bottom 0.4s;

    -o-transition: bottom 0.4s;

    -ms-transition: bottom 0.4s;

    transition: bottom 0.4s;

}



.overlay_split:hover .overlay_split_left {

    left: -50% !important;

}



.overlay_split:hover .overlay_split_right {

    right: -50% !important;

}



.overlay_split:hover .overlay_split_top {

    top: -50% !important;

}



.overlay_split:hover .overlay_split_bottom {

    bottom: -50% !important;

}



.overlay_split .split_white {

    background-color: rgba(255, 255, 255, 0.7);

}



.overlay_split .split_black {

    background-color: rgba(0, 0, 0, 0.7);

}



/*  _______________________________________



	05 OVERLAY JOIN

    _______________________________________  */



.overlay_join {

    position: relative;

    overflow: hidden;

    float: left;

}



.overlay_join div {

    width: 100%;

    height: 100%;

    border: none;

}



/* Right and left sides */



.overlay_join .overlay_join_left,

.overlay_join .overlay_join_right {

    position: absolute;

    width: 50% !important;

    height: 100% !important;

}



.overlay_join .overlay_join_left {

    left: -50% !important;

    /* Slide Transition */

    -webkit-transition: left 0.4s;

    -moz-transition: left 0.4s;

    -o-transition: left 0.4s;

    -ms-transition: left 0.4s;

    transition: left 0.4s;

}



.overlay_join .overlay_join_right {

    right: -50% !important;

    /* Slide Transition */

    -webkit-transition: right 0.4s;

    -moz-transition: right 0.4s;

    -o-transition: right 0.4s;

    -ms-transition: right 0.4s;

    transition: right 0.4s;

}



/* Top and bottom sides */



.overlay_join .overlay_join_top,

.overlay_join .overlay_join_bottom {

    position: absolute;

    width: 100%;

    height: 50%;

}



.overlay_join .overlay_join_top {

    top: -50% !important;

    /* Slide Transition */

    -webkit-transition: top 0.4s;

    -moz-transition: top 0.4s;

    -o-transition: top 0.4s;

    -ms-transition: top 0.4s;

    transition: top 0.4s;

}



.overlay_join .overlay_join_bottom {

    bottom: -50% !important;

    /* Slide Transition */

    -webkit-transition: bottom 0.4s;

    -moz-transition: bottom 0.4s;

    -o-transition: bottom 0.4s;

    -ms-transition: bottom 0.4s;

    transition: bottom 0.4s;

}



.overlay_join:hover .overlay_join_left {

    left: 0 !important;

}



.overlay_join:hover .overlay_join_right {

    right: 0 !important;

}



.overlay_join:hover .overlay_join_top {

    top: 0 !important;

}



.overlay_join:hover .overlay_join_bottom {

    bottom: 0 !important;

}



/* Background colors and icons */



.overlay_join_left .join_zoom,

.overlay_join_right .join_favorite,

.overlay_join_top .join_zoom,

.overlay_join_bottom .join_favorite {

    position: absolute;

    background-repeat: no-repeat;

    background-position: center center;

}



.overlay_join .join_zoom,

.overlay_join .join_favorite {

    width: 100%;

    height: 100%;

}



.overlay_join_left .join_zoom, .overlay_join_top .join_zoom {

    background-image: url("../images/icons/zoom.png");

}



.overlay_join_right .join_favorite, .overlay_join_bottom .join_favorite {

    background-image: url("../images/icons/favorite.png");

}



.overlay_join .join_white {

    background-color: rgba(255, 255, 255, 0.7);

}



.overlay_join .join_black {

    background-color: rgba(0, 0, 0, 0.7);

}



/*  _______________________________________



	06 CORNER RIBBONS

    _______________________________________  */



.corner_ribbon {

    position: relative;



    overflow: hidden;

    float: left;

}



.corner_ribbon div {

    width: 100%;

    height: 100%;

    border: none;

}



/* Common styling to all variants */

.corner_ribbon .corner_ribbon_top_left_white,

.corner_ribbon .corner_ribbon_top_left_black,

.corner_ribbon .corner_ribbon_bottom_left_white,

.corner_ribbon .corner_ribbon_bottom_left_black,

.corner_ribbon .corner_ribbon_top_right_white,

.corner_ribbon .corner_ribbon_top_right_black,

.corner_ribbon .corner_ribbon_bottom_right_white,

.corner_ribbon .corner_ribbon_bottom_right_black {

    position: absolute;

    width: 0;

    height: 0;

    /* Slide Transition */

    -webkit-transition: all 0.4s;

    -moz-transition: all 0.4s;

    -o-transition: all 0.4s;

    -ms-transition: all 0.4s;

    transition: all 0.4s;

}



.corner_ribbon .corner_zoom,

.corner_ribbon .corner_zoom {

    position: absolute;

    background: url("../images/icons/zoom.png") no-repeat center center;

}



/* Top Left Ribbon */



.corner_ribbon:hover .corner_ribbon_top_left_white,

.corner_ribbon:hover .corner_ribbon_top_left_black {

    top: 0 !important;

    left: 0 !important;

}



/* Bottom Left Ribbon */



.corner_ribbon:hover .corner_ribbon_bottom_left_white,

.corner_ribbon:hover .corner_ribbon_bottom_left_black {

    bottom: 0 !important;

    left: 0 !important;

}



/* Top Right Ribbon */



.corner_ribbon:hover .corner_ribbon_top_right_white,

.corner_ribbon:hover .corner_ribbon_top_right_black {

    top: 0 !important;

    right: 0 !important;

}



/* Bottom Right Ribbon */



.corner_ribbon:hover .corner_ribbon_bottom_right_white,

.corner_ribbon:hover .corner_ribbon_bottom_right_black {

    bottom: 0 !important;

    right: 0 !important;

}



/*  _______________________________________



	10 LEVITATION SHADOW

    _______________________________________  */



.levitation_shadow {

    position: relative;

    float: left;

    margin-left: 10px;

    margin-top: 10px;

}



.levitation_shadow div.levitation_small,

.levitation_shadow div.levitation_large {

    position: absolute;

    width: 100%;

    height: 100%;

    top: 0;

    /* Animation of the effect */

    -webkit-transition: top 0.3s;

    -moz-transition: top 0.3s;

    -o-transition: top 0.3s;

    -ms-transition: top 0.3s;

    transition: top 0.3s;

}



.levitation_shadow:hover div.levitation_small {

    top: -5px !important;

}



.levitation_shadow:hover div.levitation_large {

    top: -10px !important;

}



/*  _______________________________________



	11 LOMO EFFECT

    _______________________________________  */



.lomo_black,

.lomo_white,

.lomo_black_reversed,

.lomo_white_reversed {

    position: relative;

    float: left;

    overflow: hidden;

}



.lomo_black div,

.lomo_white div,

.lomo_black_reversed div,

.lomo_white_reversed div {

    display: block;

    width: 100%;

    height: 100%;

    border: none;

}



.lomo_black:after,

.lomo_white:after,

.lomo_black_reversed:after,

.lomo_white_reversed:after {

    /* Positionning this black glow on mouse hover */

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    z-index: 2;

    content: "";

    -webkit-transition: all 0.4s;

    -moz-transition: all 0.4s;

    -o-transition: all 0.4s;

    -ms-transition: all 0.4s;

    transition: all 0.4s;

}



.lomo_black:after,

.lomo_black_reversed:hover:after {

    -webkit-box-shadow: inset 0 0 5px #000000;

    -moz-box-shadow: inset 0 0 5px #000000;

    box-shadow: inset 0 0 5px #000000;

}



.lomo_black:hover:after,

.lomo_black_reversed:after {

    -webkit-box-shadow: inset 0 0 90px #000000;

    -moz-box-shadow: inset 0 0 90px #000000;

    box-shadow: inset 0 0 90px #000000;

}



.lomo_white:after,

.lomo_white_reversed:hover:after {

    -webkit-box-shadow: inset 0 0 1px #ffffff;

    -moz-box-shadow: inset 0 0 1px #ffffff;

    box-shadow: inset 0 0 1px #ffffff;

}



.lomo_white:hover:after,

.lomo_white_reversed:after {

    -webkit-box-shadow: inset 0 0 90px #ffffff;

    -moz-box-shadow: inset 0 0 90px #ffffff;

    box-shadow: inset 0 0 90px #ffffff;

}



/*  _______________________________________



	14 ROUNDED IMAGES

    _______________________________________  */



.rounded_image {

    position: relative;

    float: left;



    /*margin:15px 30px 15px 15px;*/

}



.rounded_image div.rounded_img,

.rounded_image div.squared_img {

    /*width:100%;

    height:100%;*/

    display: block;



    -webkit-transition: all 0.6s;

    -moz-transition: all 0.6s;

    -o-transition: all 0.6s;

    -ms-transition: all 0.6s;

    transition: all 0.6s;

}



.rounded_image div.rounded_img,

.rounded_image div.squared_img:hover {

    -webkit-border-radius: 75% !important;

    -moz-border-radius: 75% !important;

    -o-border-radius: 75% !important;

    -ms-border-radius: 75% !important;

    -khtml-border-radius: 75% !important;

    border-radius: 75% !important;

}



.rounded_image div.rounded_img:hover,

.rounded_image div.squared_img {

    -webkit-border-radius: 0 !important;

    -moz-border-radius: 0 !important;

    -o-border-radius: 0 !important;

    -ms-border-radius: 0 !important;

    -khtml-border-radius: 0 !important;

    border-radius: 0 !important;

}



/*  _______________________________________



	17 PERSPECTIVE IMAGES

    _______________________________________  */



.perspective {



    float: left;

    /* 3D Effect - Safari and Chrome only */

    -webkit-perspective: 600;

    -webkit-transform-style: preserve-3d;

    -webkit-transition-property: perspective;

    -webkit-transition-duration: 0.5s;

}



.perspective:hover {

    /* 3D Effect - Safari and Chrome only */

    -webkit-perspective: 1000;

}



.perspective div.perspective_right,

.perspective div.perspective_left {

    width: 100%;

    height: 100%;

    -moz-box-shadow: 0 0 6px #666;

    box-shadow: 0 0 6px #666;

    -webkit-box-shadow: 0 0 6px #666;

    /* Animation - Safari and Chrome only */

    -webkit-transition-property: transform;

    -webkit-transition-duration: 0.5s;

}



.perspective div.perspective_right {

    -webkit-transform: rotateY(30deg);

}



.perspective div.perspective_left {

    -webkit-transform: rotateY(-30deg);

}



.perspective div:hover.perspective_right,

.perspective div:hover.perspective_left {

    -webkit-transform: rotateY(0deg);

}



/* Grayscale */



.gallery_grayscale {

    position: relative;

    display:inline-block;

    filter: gray;

    -webkit-filter: grayscale(100%);



    -webkit-backface-visibility: hidden;

    -moz-filter: grayscale(100%);

    -ms-filter: grayscale(100%);

    -o-filter: grayscale(100%);

    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");



}



.gallery_grayscale:hover {

    filter: none;

    -webkit-filter: grayscale(0%);

    -webkit-transition: all .6s ease !important; /* Fade to color for Chrome and Safari */

}



/* Sepia */



.gallery_sepia {

    position: relative;

    display:inline-block;

    -webkit-transition: all .6s ease;

    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'old-timey\'><feColorMatrix type=\'matrix\' values=\'0.14 0.45 0.05 0 0 0.12 0.39 0.04 0 0 0.08 0.28 0.03 0 0 0 0 0 1 0\'/></filter></svg>#old-timey");

    -webkit-filter: sepia(1);

    -webkit-filter: sepia(100%);

    -moz-filter: sepia(100%);

    -ms-filter: sepia(100%);

    -o-filter: sepia(100%);

    filter: sepia(100%);



}



.gallery_sepia:hover {

    filter: none;

    -webkit-filter: sepia(0);

    -moz-filter: sepia(0);

    -ms-filter: sepia(0);

    -o-filter: sepia(0);

    filter: sepia(0);

    -webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */

}



/* Blur */



.gallery_blur {

    position: relative;

    display:inline-block;

    -webkit-filter: blur(2px);

    -moz-filter: blur(2px);

    -o-filter: blur(2px);

    -ms-filter: blur(2px);



}



.gallery_blur:hover {

    filter: none;

    -webkit-filter: blur(0);

    -moz-filter: blur(0);

    -o-filter: blur(0);

    -ms-filter: blur(0);

    -webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */

}



/* Pulse */

@-webkit-keyframes special_pulse {

	25% {

		-webkit-transform: scale(1.1);

		transform: scale(1.1);

	}

	

	75% {

		-webkit-transform: scale(0.9);

		transform: scale(0.9);

	}

}



@keyframes special_pulse {

	25% {

		-webkit-transform: scale(1.1);

		-ms-transform: scale(1.1);

		transform: scale(1.1);

	}

	

	75% {

		-webkit-transform: scale(0.9);

		-ms-transform: scale(0.9);

		transform: scale(0.9);

	}

}



.special_pulse {

	display: inline-block !important;

	-webkit-transform: translateZ(0);

	-ms-transform: translateZ(0);

	transform: translateZ(0);

	box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.special_pulse:hover {

	-webkit-animation-name: pulse;

	animation-name: pulse;

	-webkit-animation-duration: 1s;

	animation-duration: 1s;

	-webkit-animation-timing-function: linear;

	animation-timing-function: linear;

	-webkit-animation-iteration-count: infinite;

	animation-iteration-count: infinite;

}

