/**
 * jgallery 1.6.4
 * http://jgallery.jakubkowalczyk.pl/
 * Released under the MIT license
 * Date: 2017-11-05
 * 
 * @package Awesome Responsive Photo Gallery - v1.2.2 - 29 July, 2026
 * @author Realwebcare
 * @link https://www.realwebcare.com/
 */
.jgallery .jgallery-btn {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    cursor: pointer;
}
.jgallery .jgallery-btn:hover {
    text-shadow: 0 0 .15em #fff;
}
.jgallery .jgallery-btn.inactive {
    opacity: .5;
}
.jgallery .jgallery-btn.inactive:hover {
    opacity: 1;
}
.jgallery .jgallery-btn.active {
    color: #fff;
    opacity: 1;
}
.jgallery .jgallery-btn-large {
    width: 60px;
    height: 60px;
    line-height: 64px;
    font-size: 30px;
    text-align: center;
    color: #fff;
}
.jgallery .jgallery-btn-small {
    width: 40px;
    height: 40px;
    margin: 0;
    line-height: 43px;
    font-size: 18px;
    text-align: center;
    color: #fff;
}
.jgallery .change-album {
    z-index: 1;
    position: relative;
}
.jgallery .change-album .menu {
    left: 0;
    bottom: 42px;
    background: #111;
    position: absolute;
    overflow: auto;
    display: none;
}
.jgallery .change-album .menu .item {
    margin: 0;
    padding: 10px 40px 10px 10px;
    border-bottom: 1px solid rgba(127, 127, 127, 0.5);
    font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
    font-weight: bold;
    font-size: 14px;
    text-align: left;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    line-height: normal;
    white-space: pre;
    color: #ddd;
    text-shadow: none;
    display: block;
}
.jgallery .change-album .menu .item:hover {
    color: #fff;
    background: #222;
}
.jgallery .change-album .menu .item.active {
    color: #ddd;
    background: #333;
}
.jgallery .change-album .title {
    padding: 0;
    line-height: 40px;
    left: 48px;
    top: 0;
    bottom: auto;
    right: auto;
    font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    position: absolute;
    white-space: pre;
}
.jgallery .change-album.active {
    border-radius: 2px;
}
.jgallery .change-album.active .menu {
    display: block;
}
.jgallery .change-album.active[tooltip]:after {
    display: none !important;
}
.jgallery.jgallery-standard {
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.jgallery.jgallery-slider {
    margin-left: auto;
    margin-right: auto;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    -webkit-perspective: 1200px;
    perspective: 1200px;
    position: relative;
    z-index: 0;
    background: transparent !important;
}
.jgallery.jgallery-slider .jgallery-thumbnails {
    background: none !important;
    overflow: hidden;
}
.jgallery.jgallery-slider .jgallery-thumbnails .jgallery-container {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}
.jgallery.jgallery-slider .jgallery-thumbnails.jgallery-thumbnails-bottom {
    padding-bottom: 4px;
}
.jgallery.jgallery-slider .jgallery-thumbnails.jgallery-thumbnails-bottom~* .nav-bottom {
    padding-bottom: 30px;
}
.jgallery.jgallery-slider .jgallery-thumbnails.square:not(.full-screen) a,
.jgallery.jgallery-slider .jgallery-thumbnails.square.number:not(.full-screen) a {
    width: 1.6em;
    height: 1.6em;
    margin: 4px;
    font-size: 10px;
    line-height: 1.6em;
    -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, .6), 0 0 0 3px rgba(255, 255, 255, .6);
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .6), 0 0 0 3px rgba(255, 255, 255, .6);
    opacity: 1;
}
.jgallery.jgallery-slider .jgallery-thumbnails.square:not(.full-screen) a.active,
.jgallery.jgallery-slider .jgallery-thumbnails.square.number:not(.full-screen) a.active {
    opacity: .6;
}
.jgallery.jgallery-slider .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-horizontal,
.jgallery.jgallery-slider .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-horizontal {
    height: 28px;
}
.jgallery.jgallery-slider .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-vertical,
.jgallery.jgallery-slider .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-vertical {
    width: 28px;
}
.jgallery.jgallery-slider .zoom-container .nav-bottom {
    height: auto;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    background: none;
    -webkit-transition: -webkit-transform 0.2s, opacity 0.2s;
    transition: transform 0.2s, opacity 0.2s;
    left: 4px;
    right: 4px;
    top: auto;
    bottom: 3px;
}
.jgallery.jgallery-slider .zoom-container .nav-bottom .icons {
    width: 240px;
    height: 40px;
    margin: -20px -120px;
    background: none !important;
    -webkit-transform: scale(.8);
    -moz-transform: scale(.8);
    transform: scale(.8);
    opacity: 0;
    float: none;
    text-align: center;
    top: -40px;
    left: 50%;
    position: absolute;
}
.jgallery.jgallery-slider .zoom-container .nav-bottom .jgallery-btn {
    margin-left: 4px;
    margin-right: 4px;
    border-radius: 27px;
}
.jgallery.jgallery-slider .zoom-container .nav-bottom>.title.fade,
.jgallery.jgallery-slider .zoom-container .nav-bottom>.title.fade.expanded {
    padding-bottom: 12px;
    white-space: normal;
    cursor: default;
    top: 3px;
    left: 8px;
    right: 8px;
    bottom: auto;
    position: relative;
}
.jgallery.jgallery-slider .zoom-container .progress {
    bottom: -1px;
}
.jgallery.jgallery-slider .zoom .container {
    background: none !important;
}
.jgallery.jgallery-slider .overlayContainer .overlay {
    background: transparent !important;
}
.jgallery.jgallery-slider:hover .zoom-container .nav-bottom .icons {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}
.jgallery.jgallery-slider:after {
    margin-top: -15px;
    left: 100px;
    right: 100px;
    top: 100%;
    height: 30px;
    background: rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 40px 40px rgba(0, 0, 0, .5);
    box-shadow: 0 0 40px 40px rgba(0, 0, 0, .5);
    -webkit-transform: rotateX(75deg);
    -moz-transform: rotateX(75deg);
    transform: rotateX(75deg);
    content: "";
    position: absolute;
    display: block;
}
.jgallery.jgallery-mobile.jgallery-hide-draggable-navigation-on-mobile .zoom-container .drag-nav {
    display: none;
}
html,
body {
    height: 100%;
    margin: 0;
}
.overlayContainer {
    z-index: 1;
    position: relative;
    display: block;
}
.overlayContainer .overlay {
    color: #fff;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: center center no-repeat #000000;
    position: absolute;
    z-index: 10000;
}
.overlayContainer .imageLoaderPositionAbsolute {
    font-size: 60px;
    width: 1em;
    height: 1em;
    line-height: 1em;
    margin: -0.5em;
    font-weight: bold;
    letter-spacing: -0.02em;
    text-align: center;
    top: 50%;
    left: 50%;
    position: absolute;
    z-index: 10001;
}
.overlayContainer .imageLoaderPositionAbsolute [class*="fa-"] {
    width: 1em;
    height: 1em;
    line-height: 1em;
}
.overlayContainer .imageLoaderPositionAbsolute.preloadAll:after {
    border-radius: 1.7em;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    content: "";
    position: absolute;
    z-index: 0;
}
.overlayContainer .imageLoaderPositionAbsolute .circle {
    margin: -42px 0 0 -42px;
    left: 50%;
    top: 50%;
    position: absolute;
}
.overlayContainer .imageLoaderPositionAbsolute .progress-value {
    width: 200px;
    height: 200px;
    line-height: 200px;
    margin: -100px;
    padding-left: .25em;
    left: 50%;
    top: 50%;
    position: absolute;
    z-index: 1;
}
.overlayContainer .imageLoaderPositionAbsolute .progress-value:after {
    padding-left: .117em;
    font-size: .5em;
    font-weight: normal;
    -webkit-animation: percent 1s linear infinite;
    animation: percent 1s linear infinite;
    content: "%";
}
.imageLoaderPositionAbsolute {
    left: 50%;
}
body.overlayContainer>.overlay {
    position: fixed;
}
body.overlayContainer>.overlay .imageLoaderPositionAbsolute {
    top: 50% !important;
    position: fixed;
}
@keyframes percent {
    0% {
        opacity: .1;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: .1;
    }
}
@-webkit-keyframes percent {
    0% {
        opacity: .1;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: .1;
    }
}
.jgallery .zoom-container .progress {
    width: 0;
    height: 4px;
    margin: 0;
    padding: 0;
    border: 0;
    line-height: 4px;
    background: #fff;
    background: rgba(255, 255, 255, 0.5);
    left: 0;
    bottom: 0;
    overflow: hidden;
    position: absolute;
    z-index: 10003;
}
.jgallery .zoom-container .progress:after {
    width: 4px;
    height: 4px;
    background: #fff;
    background: #ffffff;
    -webkit-box-shadow: 0 0 30px 15px rgba(255, 255, 255, 1);
    box-shadow: 0 0 30px 15px rgba(255, 255, 255, 1);
    right: 64px;
    top: 0;
    content: "";
    position: absolute;
}
.jgallery .jgallery-thumbnails {
    background: #111;
    -webkit-transition: background 0.2s, background-color 0.2s;
    transition: background 0.2s, background-color 0.2s;
    position: absolute;
    z-index: 3;
    font-size: 0;
    line-height: 0;
}
.jgallery .jgallery-thumbnails.hidden {
    display: none;
}
.jgallery .jgallery-thumbnails.inactive {
    display: none;
}
.jgallery .jgallery-thumbnails img.thumb-horizontal {
    max-height: 100%;
    max-width: none;
}
.jgallery .jgallery-thumbnails img.thumb-vertical {
    max-height: none;
    max-width: 100%;
}
.jgallery .jgallery-thumbnails .jgallery-container {
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: box-shadow 0.2s, -webkit-box-shadow 0.2s;
    transition: box-shadow 0.2s, -webkit-box-shadow 0.2s;
    position: absolute;
    overflow: hidden;
}
.jgallery .jgallery-thumbnails .album {
    display: none;
}
.jgallery .jgallery-thumbnails .album.active {
    display: inline;
}
.jgallery .jgallery-thumbnails a {
    border-radius: .7em;
    white-space: normal;
    display: inline-block;
}
.jgallery .jgallery-thumbnails a:hover:not(.active) {
    border-radius: 2px !important;
}
.jgallery .jgallery-thumbnails a:hover:not(.active) img {
    border-radius: 2px !important;
}
.jgallery .jgallery-thumbnails a img {
    border-radius: .7em;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.jgallery .jgallery-thumbnails .prev,
.jgallery .jgallery-thumbnails .next {
    font-size: 24px;
    text-align: center;
    background: #111;
    opacity: 1;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: pointer;
    z-index: 1;
    position: absolute;
}
.jgallery .jgallery-thumbnails .ico {
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    line-height: 40px;
    color: #fff;
    top: 50%;
    left: 50%;
    position: absolute;
}
.jgallery .jgallery-thumbnails .jgallery-close {
    opacity: 0;
    display: none;
}
.jgallery .jgallery-thumbnails .change-album {
    display: none;
}
.jgallery .jgallery-thumbnails .overlayContainer .imageLoaderPositionAbsolute {
    font-size: 30px;
}
.jgallery .jgallery-thumbnails-horizontal {
    left: 0;
    right: 0;
    white-space: pre;
}
.jgallery .jgallery-thumbnails-horizontal .prev,
.jgallery .jgallery-thumbnails-horizontal .next {
    width: 40px;
    top: 0;
    bottom: 0;
}
.jgallery .jgallery-thumbnails-horizontal .prev {
    padding-left: 8px;
    left: -100px;
}
.jgallery .jgallery-thumbnails-horizontal .prev:before {
    width: 40px;
    right: -40px;
    background: -moz-linear-gradient(left, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #111111), color-stop(100%, rgba(17, 17, 17, 0)));
    background: -webkit-linear-gradient(left, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: -o-linear-gradient(left, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: -ms-linear-gradient(left, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: linear-gradient(to right, #111111 0%, rgba(17, 17, 17, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#111111', endColorstr='#00111111', GradientType=1);
    top: 0;
    bottom: 0;
    content: "";
    position: absolute;
}
.jgallery .jgallery-thumbnails-horizontal .next {
    padding-right: 8px;
    right: -100px;
}
.jgallery .jgallery-thumbnails-horizontal .next:before {
    width: 40px;
    left: -40px;
    background: -moz-linear-gradient(left, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(17, 17, 17, 0)), color-stop(100%, #111111));
    background: -webkit-linear-gradient(left, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: -o-linear-gradient(left, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: -ms-linear-gradient(left, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: linear-gradient(to right, rgba(17, 17, 17, 0) 0%, #111111 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00111111', endColorstr='#111111', GradientType=1);
    top: 0;
    bottom: 0;
    content: "";
    position: absolute;
}
.jgallery .jgallery-thumbnails-horizontal:hover .prev.visible {
    left: 0;
}
.jgallery .jgallery-thumbnails-horizontal:hover .next.visible {
    right: 0;
}
.jgallery .jgallery-thumbnails-vertical {
    top: 0;
    bottom: 0;
}
.jgallery .jgallery-thumbnails-vertical .prev,
.jgallery .jgallery-thumbnails-vertical .next {
    height: 40px;
    left: 0;
    right: 0;
}
.jgallery .jgallery-thumbnails-vertical .prev {
    padding-top: 8px;
    top: -100px;
}
.jgallery .jgallery-thumbnails-vertical .prev:before {
    height: 40px;
    bottom: -40px;
    background: -moz-linear-gradient(top, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #111111), color-stop(100%, rgba(17, 17, 17, 0)));
    background: -webkit-linear-gradient(top, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: -o-linear-gradient(top, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: -ms-linear-gradient(top, #111111 0%, rgba(17, 17, 17, 0) 100%);
    background: linear-gradient(to bottom, #111111 0%, rgba(17, 17, 17, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#111111', endColorstr='#00111111', GradientType=0);
    left: 0;
    right: 0;
    content: "";
    position: absolute;
}
.jgallery .jgallery-thumbnails-vertical .next {
    padding-bottom: 8px;
    bottom: -100px;
}
.jgallery .jgallery-thumbnails-vertical .next:before {
    height: 40px;
    top: -40px;
    background: -moz-linear-gradient(top, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(17, 17, 17, 0)), color-stop(100%, #111111));
    background: -webkit-linear-gradient(top, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: -o-linear-gradient(top, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: -ms-linear-gradient(top, rgba(17, 17, 17, 0) 0%, #111111 100%);
    background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 0%, #111111 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00111111', endColorstr='#111111', GradientType=0);
    left: 0;
    right: 0;
    content: "";
    position: absolute;
}
.jgallery .jgallery-thumbnails-vertical:hover .prev.visible {
    top: 0;
}
.jgallery .jgallery-thumbnails-vertical:hover .next.visible {
    bottom: 0;
}
.jgallery .jgallery-thumbnails-vertical .prev .ico,
.jgallery .jgallery-thumbnails-vertical .next .ico {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
    display: block;
}
.jgallery .jgallery-thumbnails-bottom.images:not(.full-screen),
.jgallery .jgallery-thumbnails.jgallery-thumbnails-bottom.images.images:not(.full-screen) {
    padding-top: 7px;
}
.jgallery .jgallery-thumbnails-bottom.images:not(.full-screen) .jgallery-container-inner,
.jgallery .jgallery-thumbnails.jgallery-thumbnails-bottom.images.images:not(.full-screen) .jgallery-container-inner {
    padding-top: 7px;
}
.jgallery .jgallery-thumbnails-top {
    top: 0;
}
.jgallery .jgallery-thumbnails-bottom {
    bottom: 0;
}
.jgallery .jgallery-thumbnails-left {
    left: 0;
}
.jgallery .jgallery-thumbnails-right {
    right: 0;
}
.jgallery .jgallery-thumbnails a.hidden {
    opacity: 0;
}
.jgallery .jgallery-thumbnails a {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    overflow: hidden;
    opacity: 1;
    display: inline-block;
    position: relative;
}
.jgallery .jgallery-thumbnails.images {
    padding: 15px;
}
.jgallery .jgallery-thumbnails.images .jgallery-container-inner {
    padding: 15px;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-horizontal .jgallery-container-inner:after {
    width: 15px;
    height: 15px;
    content: "";
    display: inline-block;
}
.jgallery .jgallery-thumbnails.images a {
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    font-size: 0;
}
.jgallery .jgallery-thumbnails.images a img {
    -webkit-transition: -webkit-filter 0.2s, filter 0.2s;
    transition: -webkit-filter 0.2s, filter 0.2s;
    -webkit-filter: saturate(0.4);
    filter: saturate(0.4);
}
.jgallery .jgallery-thumbnails.images a:hover img {
    -webkit-filter: saturate(1);
    filter: saturate(1);
}
.jgallery .jgallery-thumbnails.images a:hover:after {
    opacity: 0;
}
.jgallery .jgallery-thumbnails.images a.active img {
    -webkit-filter: saturate(1);
    filter: saturate(1);
}
.jgallery .jgallery-thumbnails.images a.active:after {
    opacity: .25;
}
.jgallery .jgallery-thumbnails.images a:after {
    opacity: .5;
    background: #111;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    content: "";
    position: absolute;
}
.jgallery .jgallery-thumbnails.images:hover a:after {
    opacity: 0;
}
.jgallery .jgallery-thumbnails.images img {
    padding: 1px;
    border: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-vertical .prev,
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-vertical .next {
    left: 8px;
    right: 8px;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-vertical:hover .prev.visible {
    top: 0;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-vertical:hover .next.visible {
    bottom: 0;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-horizontal {
    padding-right: 0;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-horizontal .prev,
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-horizontal .next {
    top: 0px;
    bottom: 8px;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-horizontal:hover .prev.visible {
    left: 0;
}
.jgallery .jgallery-thumbnails.images.jgallery-thumbnails-horizontal:hover .next.visible {
    right: 0;
}
.jgallery .jgallery-thumbnails.full-screen {
    width: auto !important;
    height: auto !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
}
.jgallery .jgallery-thumbnails.full-screen img.thumb-on-full-screen-horizontal {
    max-height: 100%;
    max-width: none;
}
.jgallery .jgallery-thumbnails.full-screen img.thumb-on-full-screen-vertical {
    max-height: none;
    max-width: 100%;
}
.jgallery .jgallery-thumbnails.full-screen .jgallery-container {
    text-align: left;
    white-space: normal;
}
.jgallery .jgallery-thumbnails.full-screen .jgallery-container-inner {
    padding: 60px 45px 45px;
}
.jgallery .jgallery-thumbnails.full-screen .jgallery-container-inner:after {
    width: auto;
    height: 45px;
    content: "";
    display: block;
}
.jgallery .jgallery-thumbnails.full-screen .jgallery-close {
    right: 0;
    top: 0;
    opacity: 1;
    position: absolute;
    display: block;
}
.jgallery .jgallery-thumbnails.full-screen .prev {
    background: #000;
}
.jgallery .jgallery-thumbnails.full-screen .prev:before {
    background-image: -webkit-gradient(linear, left 0%, left 100%, from(rgba(0, 0, 0, 1)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 1), 0%, rgba(0, 0, 0, 0), 100%);
    background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    background-repeat: repeat-x;
}
.jgallery .jgallery-thumbnails.full-screen .next {
    background: #000;
}
.jgallery .jgallery-thumbnails.full-screen .next:before {
    background-image: -webkit-gradient(linear, left 0%, left 100%, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 1)));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), 0%, rgba(0, 0, 0, 1), 100%);
    background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    background-repeat: repeat-x;
}
.jgallery .jgallery-thumbnails.full-screen .change-album {
    right: 40px;
    top: 0;
    position: absolute;
    display: block;
}
.jgallery .jgallery-thumbnails.full-screen .change-album .title {
    right: 48px;
    top: 0;
    left: auto;
    bottom: auto;
}
.jgallery .jgallery-thumbnails.full-screen .change-album .menu {
    right: 0;
    top: 42px;
    left: auto;
    bottom: auto;
    position: absolute;
}
.jgallery .jgallery-thumbnails.full-screen img {
    display: inline-block;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen) {
    font-size: 0;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-horizontal {
    height: 40px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-left .next,
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-left .prev {
    left: 20px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-right .next,
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-right .prev {
    right: 20px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-top .next,
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-top .prev {
    top: 20px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-bottom .next,
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-bottom .prev {
    bottom: 20px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-vertical {
    width: 40px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen) a {
    width: 20px;
    height: 20px;
    margin: 10px 4px;
    font-size: 20px;
    text-indent: -9999px;
    background: #fff;
    color: #000;
    text-decoration: none;
    opacity: .7;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen) a:hover {
    opacity: 1;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen) a.active {
    opacity: .3;
    cursor: default;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen) a img {
    display: none;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-vertical a {
    margin-top: 4px;
    margin-bottom: 4px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-vertical a:first-child {
    margin-top: 8px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-vertical a:last-child {
    margin-bottom: 8px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-horizontal a:first-child {
    margin-left: 8px;
}
.jgallery .jgallery-thumbnails.square:not(.full-screen).jgallery-thumbnails-horizontal a:last-child {
    margin-right: 8px;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-horizontal {
    height: 50px;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-vertical {
    width: 50px;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-left .next,
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-left .prev {
    left: 25px;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-right .next,
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-right .prev {
    right: 25px;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-top .next,
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-top .prev {
    top: 25px;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-bottom .next,
.jgallery .jgallery-thumbnails.square.number:not(.full-screen).jgallery-thumbnails-bottom .prev {
    bottom: 25px;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen) a {
    width: 30px;
    height: 30px;
    -webkit-border-radius: 18px;
    border-radius: 18px;
    font-size: 14px;
    line-height: 30px;
    text-indent: 0;
    font-weight: bold;
    text-align: center;
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen) a:after {
    content: attr(data-jgallery-number);
}
.jgallery .jgallery-thumbnails.square.number:not(.full-screen) img {
    display: none;
}
/* title
--------------------------------------------------------------------------*/
.jgallery .zoom-container .nav-bottom>.title {
    padding: 4px 0;
    bottom: 5px;
    right: 18px;
    font-size: 14px;
    color: #fff;
    -webkit-transition: top, left, right, bottom, opacity, text-shadow, color 0.5s;
    -moz-transition: top, left, right, bottom, opacity, text-shadow, color 0.5s;
    -o-transition: top, left, right, bottom, opacity, text-shadow, color 0.5s;
    transition: top, left, right, bottom, opacity, text-shadow, color 0.5s;
    cursor: pointer;
    text-overflow: ellipsis;
    text-shadow: none;
    white-space: pre;
    overflow: hidden;
    opacity: 1;
    position: absolute;
    z-index: 0;
}
.jgallery .zoom-container .nav-bottom>.title.hidden {
    bottom: -50%;
    right: -50%;
    opacity: 0;
}
.jgallery .zoom-container .nav-bottom>.title.hidden,
.jgallery .zoom-container .nav-bottom>.title.after,
.jgallery .zoom-container .nav-bottom>.title.before {
    text-shadow: 0 0 .25em #fff;
    color: transparent;
    opacity: .5;
    -webkit-transition: top, left, right, bottom, opacity 0.5s;
    -moz-transition: top, left, right, bottom, opacity 0.5s;
    -o-transition: top, left, right, bottom, opacity 0.5s;
    transition: top, left, right, bottom, opacity 0.5s;
}
.jgallery .zoom-container .nav-bottom>.title.fade {
    bottom: 5px;
    right: 10px;
}
.jgallery .zoom-container .nav-bottom>.title.fade.expanded {
    padding-right: 10px;
    padding-bottom: 8px;
    padding-left: 10px;
    left: 0;
    right: 0;
    bottom: 40px;
    text-align: center;
    white-space: normal;
}
.jgallery .zoom-container .nav-bottom>.title.fade.before {
    opacity: 0;
}
.jgallery .zoom-container .nav-bottom>.title.fade.after {
    opacity: 0;
}
.jgallery.jgallery-tooltips [tooltip] {
    position: relative;
}
.jgallery.jgallery-tooltips [tooltip]:after {
    padding: .5em;
    font-size: .8em;
    line-height: 1em;
    font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
    white-space: pre;
    bottom: 100%;
    left: 0;
    content: attr(tooltip);
    text-shadow: none;
    display: none;
    position: absolute;
}
.jgallery.jgallery-tooltips [tooltip][tooltip-position*="bottom"]:after {
    bottom: auto;
    top: 100%;
}
.jgallery.jgallery-tooltips [tooltip][tooltip-position*="right"]:after {
    left: auto;
    right: 0;
}
.jgallery.jgallery-tooltips [tooltip]:hover:after {
    display: block;
}
.pt-perspective {
    position: relative;
    width: 100%;
    height: 100%;
    -webkit-perspective: 1200px;
    -moz-perspective: 1200px;
    perspective: 1200px;
}
.pt-page {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
}
.pt-page-current,
.no-js .pt-page {
    visibility: visible;
    z-index: 1;
}
.no-js body {
    overflow: auto;
}
.pt-page-ontop {
    z-index: 999;
}
/* Text Styles, Colors, Backgrounds */
.pt-page h1 {
    position: absolute;
    font-weight: 300;
    font-size: 4.4em;
    line-height: 1;
    letter-spacing: 6px;
    margin: 0;
    top: 12%;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    word-spacing: -0.3em;
}
.pt-page h1 span {
    font-family: 'Satisfy', serif;
    font-weight: 400;
    font-size: 40%;
    text-transform: none;
    word-spacing: 0;
    letter-spacing: 0;
    display: block;
    opacity: 0.4;
}
.pt-page h1 strong {
    color: rgba(0, 0, 0, 0.1);
}
.pt-page-1 {
    background: #0ac2d2;
}
.pt-page-2 {
    background: #7bb7fa;
}
.pt-page-3 {
    background: #60d7a9;
}
.pt-page-4 {
    background: #fdc162;
}
.pt-page-5 {
    background: #fd6a62;
}
.pt-page-6 {
    background: #f68dbb;
}
/* Triggers (menu and button) */
.pt-triggers {
    position: absolute;
    width: 300px;
    z-index: 999999;
    top: 12%;
    left: 50%;
    margin-top: 130px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}
.no-js .pt-triggers {
    display: none;
}
.pt-triggers .dl-menuwrapper button,
.pt-touch-button {
    border: none;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 10px 0 20px;
    padding: 0px 20px;
    line-height: 50px;
    height: 50px;
    letter-spacing: 1px;
    width: 100%;
    cursor: pointer;
    display: block;
    font-family: 'Lato', Calibri, Arial, sans-serif;
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.pt-touch-button {
    background: #fff;
    color: #aaa;
}
.pt-triggers .dl-menuwrapper button {
    margin-bottom: 0;
}
.pt-touch-button:active {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}
.touch .pt-triggers .dl-menuwrapper {
    display: none;
}
.pt-message {
    display: none;
    position: absolute;
    z-index: 99999;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #da475c;
    color: #fff;
    text-align: center;
}
.pt-message p {
    margin: 0;
    line-height: 60px;
    font-size: 26px;
}
.no-cssanimations .pt-message {
    display: block;
}
@media screen and (max-width: 47.4375em) {
    .pt-page h1 {
        font-size: 3em;
    }
    .pt-triggers .dl-menuwrapper {
        display: none;
    }
}
@media screen and (max-width: 38em) {
    .j_gallery a {
        flex: 0 0 50%;
    }
}
@media screen and (max-height: 45.9em) {
    .pt-triggers .dl-menuwrapper li a {
        padding-top: 2px;
        padding-bottom: 2px;
    }
    .pt-triggers .dl-menuwrapper li.dl-back:after,
    .dl-menuwrapper li>a:not(:only-child):after {
        line-height: 24px;
    }
}
@media screen and (max-height: 38em) {
    .pt-triggers .dl-menuwrapper {
        display: none;
    }
}
/* animation sets */
/* move from / to  */
.pt-page-moveToLeft {
    -webkit-animation: moveToLeft .6s ease both;
    -moz-animation: moveToLeft .6s ease both;
    animation: moveToLeft .6s ease both;
}
.pt-page-moveFromLeft {
    -webkit-animation: moveFromLeft .6s ease both;
    -moz-animation: moveFromLeft .6s ease both;
    animation: moveFromLeft .6s ease both;
}
.pt-page-moveToRight {
    -webkit-animation: moveToRight .6s ease both;
    -moz-animation: moveToRight .6s ease both;
    animation: moveToRight .6s ease both;
}
.pt-page-moveFromRight {
    -webkit-animation: moveFromRight .6s ease both;
    -moz-animation: moveFromRight .6s ease both;
    animation: moveFromRight .6s ease both;
}
.pt-page-moveToTop {
    -webkit-animation: moveToTop .6s ease both;
    -moz-animation: moveToTop .6s ease both;
    animation: moveToTop .6s ease both;
}
.pt-page-moveFromTop {
    -webkit-animation: moveFromTop .6s ease both;
    -moz-animation: moveFromTop .6s ease both;
    animation: moveFromTop .6s ease both;
}
.pt-page-moveToBottom {
    -webkit-animation: moveToBottom .6s ease both;
    -moz-animation: moveToBottom .6s ease both;
    animation: moveToBottom .6s ease both;
}
.pt-page-moveFromBottom {
    -webkit-animation: moveFromBottom .6s ease both;
    -moz-animation: moveFromBottom .6s ease both;
    animation: moveFromBottom .6s ease both;
}
/* fade */
.pt-page-fade {
    -webkit-animation: fade .7s ease both;
    -moz-animation: fade .7s ease both;
    animation: fade .7s ease both;
}
/* move from / to and fade */
.pt-page-moveToLeftFade {
    -webkit-animation: moveToLeftFade .7s ease both;
    -moz-animation: moveToLeftFade .7s ease both;
    animation: moveToLeftFade .7s ease both;
}
.pt-page-moveFromLeftFade {
    -webkit-animation: moveFromLeftFade .7s ease both;
    -moz-animation: moveFromLeftFade .7s ease both;
    animation: moveFromLeftFade .7s ease both;
}
.pt-page-moveToRightFade {
    -webkit-animation: moveToRightFade .7s ease both;
    -moz-animation: moveToRightFade .7s ease both;
    animation: moveToRightFade .7s ease both;
}
.pt-page-moveFromRightFade {
    -webkit-animation: moveFromRightFade .7s ease both;
    -moz-animation: moveFromRightFade .7s ease both;
    animation: moveFromRightFade .7s ease both;
}
.pt-page-moveToTopFade {
    -webkit-animation: moveToTopFade .7s ease both;
    -moz-animation: moveToTopFade .7s ease both;
    animation: moveToTopFade .7s ease both;
}
.pt-page-moveFromTopFade {
    -webkit-animation: moveFromTopFade .7s ease both;
    -moz-animation: moveFromTopFade .7s ease both;
    animation: moveFromTopFade .7s ease both;
}
.pt-page-moveToBottomFade {
    -webkit-animation: moveToBottomFade .7s ease both;
    -moz-animation: moveToBottomFade .7s ease both;
    animation: moveToBottomFade .7s ease both;
}
.pt-page-moveFromBottomFade {
    -webkit-animation: moveFromBottomFade .7s ease both;
    -moz-animation: moveFromBottomFade .7s ease both;
    animation: moveFromBottomFade .7s ease both;
}
/* move to with different easing */
.pt-page-moveToLeftEasing {
    -webkit-animation: moveToLeft 0.7s ease-in-out both;
    -moz-animation: moveToLeft 0.7s ease-in-out both;
    animation: moveToLeft 0.7s ease-in-out both;
}
.pt-page-moveToRightEasing {
    -webkit-animation: moveToRight 0.7s ease-in-out both;
    -moz-animation: moveToRight 0.7s ease-in-out both;
    animation: moveToRight 0.7s ease-in-out both;
}
.pt-page-moveToTopEasing {
    -webkit-animation: moveToTop 0.7s ease-in-out both;
    -moz-animation: moveToTop 0.7s ease-in-out both;
    animation: moveToTop 0.7s ease-in-out both;
}
.pt-page-moveToBottomEasing {
    -webkit-animation: moveToBottom 0.7s ease-in-out both;
    -moz-animation: moveToBottom 0.7s ease-in-out both;
    animation: moveToBottom 0.7s ease-in-out both;
}
/********************************* keyframes **************************************/
/* move from / to  */
@-webkit-keyframes moveToLeft {
    to {
        -webkit-transform: translateX(-100%);
    }
}
@-moz-keyframes moveToLeft {
    to {
        -moz-transform: translateX(-100%);
    }
}
@keyframes moveToLeft {
    to {
        transform: translateX(-100%);
    }
}
@-webkit-keyframes moveFromLeft {
    from {
        -webkit-transform: translateX(-100%);
    }
}
@-moz-keyframes moveFromLeft {
    from {
        -moz-transform: translateX(-100%);
    }
}
@keyframes moveFromLeft {
    from {
        transform: translateX(-100%);
    }
}
@-webkit-keyframes moveToRight {
    to {
        -webkit-transform: translateX(100%);
    }
}
@-moz-keyframes moveToRight {
    to {
        -moz-transform: translateX(100%);
    }
}
@keyframes moveToRight {
    to {
        transform: translateX(100%);
    }
}
@-webkit-keyframes moveFromRight {
    from {
        -webkit-transform: translateX(100%);
    }
}
@-moz-keyframes moveFromRight {
    from {
        -moz-transform: translateX(100%);
    }
}
@keyframes moveFromRight {
    from {
        transform: translateX(100%);
    }
}
@-webkit-keyframes moveToTop {
    to {
        -webkit-transform: translateY(-100%);
    }
}
@-moz-keyframes moveToTop {
    to {
        -moz-transform: translateY(-100%);
    }
}
@keyframes moveToTop {
    to {
        transform: translateY(-100%);
    }
}
@-webkit-keyframes moveFromTop {
    from {
        -webkit-transform: translateY(-100%);
    }
}
@-moz-keyframes moveFromTop {
    from {
        -moz-transform: translateY(-100%);
    }
}
@keyframes moveFromTop {
    from {
        transform: translateY(-100%);
    }
}
@-webkit-keyframes moveToBottom {
    to {
        -webkit-transform: translateY(100%);
    }
}
@-moz-keyframes moveToBottom {
    to {
        -moz-transform: translateY(100%);
    }
}
@keyframes moveToBottom {
    to {
        transform: translateY(100%);
    }
}
@-webkit-keyframes moveFromBottom {
    from {
        -webkit-transform: translateY(100%);
    }
}
@-moz-keyframes moveFromBottom {
    from {
        -moz-transform: translateY(100%);
    }
}
@keyframes moveFromBottom {
    from {
        transform: translateY(100%);
    }
}
/* fade */
@-webkit-keyframes fade {
    to {
        opacity: 0.3;
    }
}
@-moz-keyframes fade {
    to {
        opacity: 0.3;
    }
}
@keyframes fade {
    to {
        opacity: 0.3;
    }
}
/* move from / to and fade */
@-webkit-keyframes moveToLeftFade {
    to {
        opacity: 0.3;
        -webkit-transform: translateX(-100%);
    }
}
@-moz-keyframes moveToLeftFade {
    to {
        opacity: 0.3;
        -moz-transform: translateX(-100%);
    }
}
@keyframes moveToLeftFade {
    to {
        opacity: 0.3;
        transform: translateX(-100%);
    }
}
@-webkit-keyframes moveFromLeftFade {
    from {
        opacity: 0.3;
        -webkit-transform: translateX(-100%);
    }
}
@-moz-keyframes moveFromLeftFade {
    from {
        opacity: 0.3;
        -moz-transform: translateX(-100%);
    }
}
@keyframes moveFromLeftFade {
    from {
        opacity: 0.3;
        transform: translateX(-100%);
    }
}
@-webkit-keyframes moveToRightFade {
    to {
        opacity: 0.3;
        -webkit-transform: translateX(100%);
    }
}
@-moz-keyframes moveToRightFade {
    to {
        opacity: 0.3;
        -moz-transform: translateX(100%);
    }
}
@keyframes moveToRightFade {
    to {
        opacity: 0.3;
        transform: translateX(100%);
    }
}
@-webkit-keyframes moveFromRightFade {
    from {
        opacity: 0.3;
        -webkit-transform: translateX(100%);
    }
}
@-moz-keyframes moveFromRightFade {
    from {
        opacity: 0.3;
        -moz-transform: translateX(100%);
    }
}
@keyframes moveFromRightFade {
    from {
        opacity: 0.3;
        transform: translateX(100%);
    }
}
@-webkit-keyframes moveToTopFade {
    to {
        opacity: 0.3;
        -webkit-transform: translateY(-100%);
    }
}
@-moz-keyframes moveToTopFade {
    to {
        opacity: 0.3;
        -moz-transform: translateY(-100%);
    }
}
@keyframes moveToTopFade {
    to {
        opacity: 0.3;
        transform: translateY(-100%);
    }
}
@-webkit-keyframes moveFromTopFade {
    from {
        opacity: 0.3;
        -webkit-transform: translateY(-100%);
    }
}
@-moz-keyframes moveFromTopFade {
    from {
        opacity: 0.3;
        -moz-transform: translateY(-100%);
    }
}
@keyframes moveFromTopFade {
    from {
        opacity: 0.3;
        transform: translateY(-100%);
    }
}
@-webkit-keyframes moveToBottomFade {
    to {
        opacity: 0.3;
        -webkit-transform: translateY(100%);
    }
}
@-moz-keyframes moveToBottomFade {
    to {
        opacity: 0.3;
        -moz-transform: translateY(100%);
    }
}
@keyframes moveToBottomFade {
    to {
        opacity: 0.3;
        transform: translateY(100%);
    }
}
@-webkit-keyframes moveFromBottomFade {
    from {
        opacity: 0.3;
        -webkit-transform: translateY(100%);
    }
}
@-moz-keyframes moveFromBottomFade {
    from {
        opacity: 0.3;
        -moz-transform: translateY(100%);
    }
}
@keyframes moveFromBottomFade {
    from {
        opacity: 0.3;
        transform: translateY(100%);
    }
}
/* scale and fade */
.pt-page-scaleDown {
    -webkit-animation: scaleDown .7s ease both;
    -moz-animation: scaleDown .7s ease both;
    animation: scaleDown .7s ease both;
}
.pt-page-scaleUp {
    -webkit-animation: scaleUp .7s ease both;
    -moz-animation: scaleUp .7s ease both;
    animation: scaleUp .7s ease both;
}
.pt-page-scaleUpDown {
    -webkit-animation: scaleUpDown .5s ease both;
    -moz-animation: scaleUpDown .5s ease both;
    animation: scaleUpDown .5s ease both;
}
.pt-page-scaleDownUp {
    -webkit-animation: scaleDownUp .5s ease both;
    -moz-animation: scaleDownUp .5s ease both;
    animation: scaleDownUp .5s ease both;
}
.pt-page-scaleDownCenter {
    -webkit-animation: scaleDownCenter 0.4s ease-in both;
    -moz-animation: scaleDownCenter 0.4s ease-in both;
    animation: scaleDownCenter 0.4s ease-in both;
}
.pt-page-scaleUpCenter {
    -webkit-animation: scaleUpCenter 0.4s ease-out both;
    -moz-animation: scaleUpCenter 0.4s ease-out both;
    animation: scaleUpCenter 0.4s ease-out both;
}
/********************************* keyframes **************************************/
/* scale and fade */
@-webkit-keyframes scaleDown {
    to {
        opacity: 0;
        -webkit-transform: scale(0.8);
    }
}
@-moz-keyframes scaleDown {
    to {
        opacity: 0;
        -moz-transform: scale(0.8);
    }
}
@keyframes scaleDown {
    to {
        opacity: 0;
        transform: scale(0.8);
    }
}
@-webkit-keyframes scaleUp {
    from {
        opacity: 0;
        -webkit-transform: scale(0.8);
    }
}
@-moz-keyframes scaleUp {
    from {
        opacity: 0;
        -moz-transform: scale(0.8);
    }
}
@keyframes scaleUp {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
}
@-webkit-keyframes scaleUpDown {
    from {
        opacity: 0;
        -webkit-transform: scale(1.2);
    }
}
@-moz-keyframes scaleUpDown {
    from {
        opacity: 0;
        -moz-transform: scale(1.2);
    }
}
@keyframes scaleUpDown {
    from {
        opacity: 0;
        transform: scale(1.2);
    }
}
@-webkit-keyframes scaleDownUp {
    to {
        opacity: 0;
        -webkit-transform: scale(1.2);
    }
}
@-moz-keyframes scaleDownUp {
    to {
        opacity: 0;
        -moz-transform: scale(1.2);
    }
}
@keyframes scaleDownUp {
    to {
        opacity: 0;
        transform: scale(1.2);
    }
}
@-webkit-keyframes scaleDownCenter {
    to {
        opacity: 0;
        -webkit-transform: scale(0.7);
    }
}
@-moz-keyframes scaleDownCenter {
    to {
        opacity: 0;
        -moz-transform: scale(0.7);
    }
}
@keyframes scaleDownCenter {
    to {
        opacity: 0;
        transform: scale(0.7);
    }
}
@-webkit-keyframes scaleUpCenter {
    from {
        opacity: 0;
        -webkit-transform: scale(0.7);
    }
}
@-moz-keyframes scaleUpCenter {
    from {
        opacity: 0;
        -moz-transform: scale(0.7);
    }
}
@keyframes scaleUpCenter {
    from {
        opacity: 0;
        transform: scale(0.7);
    }
}
/* rotate sides first and scale */
.pt-page-rotateRightSideFirst {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateRightSideFirst 0.8s both ease-in;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateRightSideFirst 0.8s both ease-in;
    transform-origin: 0% 50%;
    animation: rotateRightSideFirst 0.8s both ease-in;
}
.pt-page-rotateLeftSideFirst {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateLeftSideFirst 0.8s both ease-in;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateLeftSideFirst 0.8s both ease-in;
    transform-origin: 100% 50%;
    animation: rotateLeftSideFirst 0.8s both ease-in;
}
.pt-page-rotateTopSideFirst {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateTopSideFirst 0.8s both ease-in;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateTopSideFirst 0.8s both ease-in;
    transform-origin: 50% 100%;
    animation: rotateTopSideFirst 0.8s both ease-in;
}
.pt-page-rotateBottomSideFirst {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateBottomSideFirst 0.8s both ease-in;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateBottomSideFirst 0.8s both ease-in;
    transform-origin: 50% 0%;
    animation: rotateBottomSideFirst 0.8s both ease-in;
}
/* flip */
.pt-page-flipOutRight {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipOutRight 0.5s both ease-in;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipOutRight 0.5s both ease-in;
    transform-origin: 50% 50%;
    animation: flipOutRight 0.5s both ease-in;
}
.pt-page-flipInLeft {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipInLeft 0.5s both ease-out;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipInLeft 0.5s both ease-out;
    transform-origin: 50% 50%;
    animation: flipInLeft 0.5s both ease-out;
}
.pt-page-flipOutLeft {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipOutLeft 0.5s both ease-in;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipOutLeft 0.5s both ease-in;
    transform-origin: 50% 50%;
    animation: flipOutLeft 0.5s both ease-in;
}
.pt-page-flipInRight {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipInRight 0.5s both ease-out;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipInRight 0.5s both ease-out;
    transform-origin: 50% 50%;
    animation: flipInRight 0.5s both ease-out;
}
.pt-page-flipOutTop {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipOutTop 0.5s both ease-in;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipOutTop 0.5s both ease-in;
    transform-origin: 50% 50%;
    animation: flipOutTop 0.5s both ease-in;
}
.pt-page-flipInBottom {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipInBottom 0.5s both ease-out;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipInBottom 0.5s both ease-out;
    transform-origin: 50% 50%;
    animation: flipInBottom 0.5s both ease-out;
}
.pt-page-flipOutBottom {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipOutBottom 0.5s both ease-in;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipOutBottom 0.5s both ease-in;
    transform-origin: 50% 50%;
    animation: flipOutBottom 0.5s both ease-in;
}
.pt-page-flipInTop {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: flipInTop 0.5s both ease-out;
    -moz-transform-origin: 50% 50%;
    -moz-animation: flipInTop 0.5s both ease-out;
    transform-origin: 50% 50%;
    animation: flipInTop 0.5s both ease-out;
}
/* rotate fall */
.pt-page-rotateFall {
    -webkit-transform-origin: 0% 0%;
    -webkit-animation: rotateFall 1s both ease-in;
    -moz-transform-origin: 0% 0%;
    -moz-animation: rotateFall 1s both ease-in;
    transform-origin: 0% 0%;
    animation: rotateFall 1s both ease-in;
}
/* rotate newspaper */
.pt-page-rotateOutNewspaper {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: rotateOutNewspaper 0.5s both ease-in;
    -moz-transform-origin: 50% 50%;
    -moz-animation: rotateOutNewspaper 0.5s both ease-in;
    transform-origin: 50% 50%;
    animation: rotateOutNewspaper 0.5s both ease-in;
}
.pt-page-rotateInNewspaper {
    -webkit-transform-origin: 50% 50%;
    -webkit-animation: rotateInNewspaper 0.5s both ease-out;
    -moz-transform-origin: 50% 50%;
    -moz-animation: rotateInNewspaper 0.5s both ease-out;
    transform-origin: 50% 50%;
    animation: rotateInNewspaper 0.5s both ease-out;
}
/* push */
.pt-page-rotatePushLeft {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotatePushLeft .8s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotatePushLeft .8s both ease;
    transform-origin: 0% 50%;
    animation: rotatePushLeft .8s both ease;
}
.pt-page-rotatePushRight {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotatePushRight .8s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotatePushRight .8s both ease;
    transform-origin: 100% 50%;
    animation: rotatePushRight .8s both ease;
}
.pt-page-rotatePushTop {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotatePushTop .8s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotatePushTop .8s both ease;
    transform-origin: 50% 0%;
    animation: rotatePushTop .8s both ease;
}
.pt-page-rotatePushBottom {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotatePushBottom .8s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotatePushBottom .8s both ease;
    transform-origin: 50% 100%;
    animation: rotatePushBottom .8s both ease;
}
/* pull */
.pt-page-rotatePullRight {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotatePullRight .5s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotatePullRight .5s both ease;
    transform-origin: 100% 50%;
    animation: rotatePullRight .5s both ease;
}
.pt-page-rotatePullLeft {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotatePullLeft .5s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotatePullLeft .5s both ease;
    transform-origin: 0% 50%;
    animation: rotatePullLeft .5s both ease;
}
.pt-page-rotatePullTop {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotatePullTop .5s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotatePullTop .5s both ease;
    transform-origin: 50% 0%;
    animation: rotatePullTop .5s both ease;
}
.pt-page-rotatePullBottom {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotatePullBottom .5s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotatePullBottom .5s both ease;
    transform-origin: 50% 100%;
    animation: rotatePullBottom .5s both ease;
}
/* fold */
.pt-page-rotateFoldRight {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateFoldRight .7s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateFoldRight .7s both ease;
    transform-origin: 0% 50%;
    animation: rotateFoldRight .7s both ease;
}
.pt-page-rotateFoldLeft {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateFoldLeft .7s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateFoldLeft .7s both ease;
    transform-origin: 100% 50%;
    animation: rotateFoldLeft .7s both ease;
}
.pt-page-rotateFoldTop {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateFoldTop .7s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateFoldTop .7s both ease;
    transform-origin: 50% 100%;
    animation: rotateFoldTop .7s both ease;
}
.pt-page-rotateFoldBottom {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateFoldBottom .7s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateFoldBottom .7s both ease;
    transform-origin: 50% 0%;
    animation: rotateFoldBottom .7s both ease;
}
/* unfold */
.pt-page-rotateUnfoldLeft {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateUnfoldLeft .7s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateUnfoldLeft .7s both ease;
    transform-origin: 100% 50%;
    animation: rotateUnfoldLeft .7s both ease;
}
.pt-page-rotateUnfoldRight {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateUnfoldRight .7s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateUnfoldRight .7s both ease;
    transform-origin: 0% 50%;
    animation: rotateUnfoldRight .7s both ease;
}
.pt-page-rotateUnfoldTop {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateUnfoldTop .7s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateUnfoldTop .7s both ease;
    transform-origin: 50% 100%;
    animation: rotateUnfoldTop .7s both ease;
}
.pt-page-rotateUnfoldBottom {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateUnfoldBottom .7s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateUnfoldBottom .7s both ease;
    transform-origin: 50% 0%;
    animation: rotateUnfoldBottom .7s both ease;
}
/* room walls */
.pt-page-rotateRoomLeftOut {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateRoomLeftOut .8s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateRoomLeftOut .8s both ease;
    transform-origin: 100% 50%;
    animation: rotateRoomLeftOut .8s both ease;
}
.pt-page-rotateRoomLeftIn {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateRoomLeftIn .8s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateRoomLeftIn .8s both ease;
    transform-origin: 0% 50%;
    animation: rotateRoomLeftIn .8s both ease;
}
.pt-page-rotateRoomRightOut {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateRoomRightOut .8s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateRoomRightOut .8s both ease;
    transform-origin: 0% 50%;
    animation: rotateRoomRightOut .8s both ease;
}
.pt-page-rotateRoomRightIn {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateRoomRightIn .8s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateRoomRightIn .8s both ease;
    transform-origin: 100% 50%;
    animation: rotateRoomRightIn .8s both ease;
}
.pt-page-rotateRoomTopOut {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateRoomTopOut .8s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateRoomTopOut .8s both ease;
    transform-origin: 50% 100%;
    animation: rotateRoomTopOut .8s both ease;
}
.pt-page-rotateRoomTopIn {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateRoomTopIn .8s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateRoomTopIn .8s both ease;
    transform-origin: 50% 0%;
    animation: rotateRoomTopIn .8s both ease;
}
.pt-page-rotateRoomBottomOut {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateRoomBottomOut .8s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateRoomBottomOut .8s both ease;
    transform-origin: 50% 0%;
    animation: rotateRoomBottomOut .8s both ease;
}
.pt-page-rotateRoomBottomIn {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateRoomBottomIn .8s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateRoomBottomIn .8s both ease;
    transform-origin: 50% 100%;
    animation: rotateRoomBottomIn .8s both ease;
}
/* cube */
.pt-page-rotateCubeLeftOut {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateCubeLeftOut 0.6s both ease-in;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateCubeLeftOut 0.6s both ease-in;
    transform-origin: 100% 50%;
    animation: rotateCubeLeftOut 0.6s both ease-in;
}
.pt-page-rotateCubeLeftIn {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateCubeLeftIn 0.6s both ease-in;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateCubeLeftIn 0.6s both ease-in;
    transform-origin: 0% 50%;
    animation: rotateCubeLeftIn 0.6s both ease-in;
}
.pt-page-rotateCubeRightOut {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateCubeRightOut 0.6s both ease-in;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateCubeRightOut 0.6s both ease-in;
    transform-origin: 0% 50%;
    animation: rotateCubeRightOut 0.6s both ease-in;
}
.pt-page-rotateCubeRightIn {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateCubeRightIn 0.6s both ease-in;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateCubeRightIn 0.6s both ease-in;
    transform-origin: 100% 50%;
    animation: rotateCubeRightIn 0.6s both ease-in;
}
.pt-page-rotateCubeTopOut {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateCubeTopOut 0.6s both ease-in;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateCubeTopOut 0.6s both ease-in;
    transform-origin: 50% 100%;
    animation: rotateCubeTopOut 0.6s both ease-in;
}
.pt-page-rotateCubeTopIn {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateCubeTopIn 0.6s both ease-in;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateCubeTopIn 0.6s both ease-in;
    transform-origin: 50% 0%;
    animation: rotateCubeTopIn 0.6s both ease-in;
}
.pt-page-rotateCubeBottomOut {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateCubeBottomOut 0.6s both ease-in;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateCubeBottomOut 0.6s both ease-in;
    transform-origin: 50% 0%;
    animation: rotateCubeBottomOut 0.6s both ease-in;
}
.pt-page-rotateCubeBottomIn {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateCubeBottomIn 0.6s both ease-in;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateCubeBottomIn 0.6s both ease-in;
    transform-origin: 50% 100%;
    animation: rotateCubeBottomIn 0.6s both ease-in;
}
/* carousel */
.pt-page-rotateCarouselLeftOut {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateCarouselLeftOut .8s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateCarouselLeftOut .8s both ease;
    transform-origin: 100% 50%;
    animation: rotateCarouselLeftOut .8s both ease;
}
.pt-page-rotateCarouselLeftIn {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateCarouselLeftIn .8s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateCarouselLeftIn .8s both ease;
    transform-origin: 0% 50%;
    animation: rotateCarouselLeftIn .8s both ease;
}
.pt-page-rotateCarouselRightOut {
    -webkit-transform-origin: 0% 50%;
    -webkit-animation: rotateCarouselRightOut .8s both ease;
    -moz-transform-origin: 0% 50%;
    -moz-animation: rotateCarouselRightOut .8s both ease;
    transform-origin: 0% 50%;
    animation: rotateCarouselRightOut .8s both ease;
}
.pt-page-rotateCarouselRightIn {
    -webkit-transform-origin: 100% 50%;
    -webkit-animation: rotateCarouselRightIn .8s both ease;
    -moz-transform-origin: 100% 50%;
    -moz-animation: rotateCarouselRightIn .8s both ease;
    transform-origin: 100% 50%;
    animation: rotateCarouselRightIn .8s both ease;
}
.pt-page-rotateCarouselTopOut {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateCarouselTopOut .8s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateCarouselTopOut .8s both ease;
    transform-origin: 50% 100%;
    animation: rotateCarouselTopOut .8s both ease;
}
.pt-page-rotateCarouselTopIn {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateCarouselTopIn .8s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateCarouselTopIn .8s both ease;
    transform-origin: 50% 0%;
    animation: rotateCarouselTopIn .8s both ease;
}
.pt-page-rotateCarouselBottomOut {
    -webkit-transform-origin: 50% 0%;
    -webkit-animation: rotateCarouselBottomOut .8s both ease;
    -moz-transform-origin: 50% 0%;
    -moz-animation: rotateCarouselBottomOut .8s both ease;
    transform-origin: 50% 0%;
    animation: rotateCarouselBottomOut .8s both ease;
}
.pt-page-rotateCarouselBottomIn {
    -webkit-transform-origin: 50% 100%;
    -webkit-animation: rotateCarouselBottomIn .8s both ease;
    -moz-transform-origin: 50% 100%;
    -moz-animation: rotateCarouselBottomIn .8s both ease;
    transform-origin: 50% 100%;
    animation: rotateCarouselBottomIn .8s both ease;
}
/* sides */
.pt-page-rotateSidesOut {
    -webkit-transform-origin: -50% 50%;
    -webkit-animation: rotateSidesOut 0.5s both ease-in;
    -moz-transform-origin: -50% 50%;
    -moz-animation: rotateSidesOut 0.5s both ease-in;
    transform-origin: -50% 50%;
    animation: rotateSidesOut 0.5s both ease-in;
}
.pt-page-rotateSidesIn {
    -webkit-transform-origin: 150% 50%;
    -webkit-animation: rotateSidesIn 0.5s both ease-out;
    -moz-transform-origin: 150% 50%;
    -moz-animation: rotateSidesIn 0.5s both ease-out;
    transform-origin: 150% 50%;
    animation: rotateSidesIn 0.5s both ease-out;
}
/* slide */
.pt-page-rotateSlideOut {
    -webkit-animation: rotateSlideOut 1s both ease;
    -moz-animation: rotateSlideOut 1s both ease;
    animation: rotateSlideOut 1s both ease;
}
.pt-page-rotateSlideIn {
    -webkit-animation: rotateSlideIn 1s both ease;
    -moz-animation: rotateSlideIn 1s both ease;
    animation: rotateSlideIn 1s both ease;
}
/********************************* keyframes **************************************/
/* rotate sides first and scale */
@-webkit-keyframes rotateRightSideFirst {
    40% {
        -webkit-transform: rotateY(15deg);
        opacity: .8;
        -webkit-animation-timing-function: ease-out;
    }
    100% {
        -webkit-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@-moz-keyframes rotateRightSideFirst {
    40% {
        -moz-transform: rotateY(15deg);
        opacity: .8;
        -moz-animation-timing-function: ease-out;
    }
    100% {
        -moz-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@keyframes rotateRightSideFirst {
    40% {
        transform: rotateY(15deg);
        opacity: .8;
        animation-timing-function: ease-out;
    }
    100% {
        transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@-webkit-keyframes rotateLeftSideFirst {
    40% {
        -webkit-transform: rotateY(-15deg);
        opacity: .8;
        -webkit-animation-timing-function: ease-out;
    }
    100% {
        -webkit-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@-moz-keyframes rotateLeftSideFirst {
    40% {
        -moz-transform: rotateY(-15deg);
        opacity: .8;
        -moz-animation-timing-function: ease-out;
    }
    100% {
        -moz-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@keyframes rotateLeftSideFirst {
    40% {
        transform: rotateY(-15deg);
        opacity: .8;
        animation-timing-function: ease-out;
    }
    100% {
        transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@-webkit-keyframes rotateTopSideFirst {
    40% {
        -webkit-transform: rotateX(15deg);
        opacity: .8;
        -webkit-animation-timing-function: ease-out;
    }
    100% {
        -webkit-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@-moz-keyframes rotateTopSideFirst {
    40% {
        -moz-transform: rotateX(15deg);
        opacity: .8;
        -moz-animation-timing-function: ease-out;
    }
    100% {
        -moz-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@keyframes rotateTopSideFirst {
    40% {
        transform: rotateX(15deg);
        opacity: .8;
        animation-timing-function: ease-out;
    }
    100% {
        transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@-webkit-keyframes rotateBottomSideFirst {
    40% {
        -webkit-transform: rotateX(-15deg);
        opacity: .8;
        -webkit-animation-timing-function: ease-out;
    }
    100% {
        -webkit-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@-moz-keyframes rotateBottomSideFirst {
    40% {
        -moz-transform: rotateX(-15deg);
        opacity: .8;
        -moz-animation-timing-function: ease-out;
    }
    100% {
        -moz-transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
@keyframes rotateBottomSideFirst {
    40% {
        transform: rotateX(-15deg);
        opacity: .8;
        animation-timing-function: ease-out;
    }
    100% {
        transform: scale(0.8) translateZ(-200px);
        opacity: 0;
    }
}
/* flip */
@-webkit-keyframes flipOutRight {
    to {
        -webkit-transform: translateZ(-1000px) rotateY(90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipOutRight {
    to {
        -moz-transform: translateZ(-1000px) rotateY(90deg);
        opacity: 0.2;
    }
}
@keyframes flipOutRight {
    to {
        transform: translateZ(-1000px) rotateY(90deg);
        opacity: 0.2;
    }
}
@-webkit-keyframes flipInLeft {
    from {
        -webkit-transform: translateZ(-1000px) rotateY(-90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipInLeft {
    from {
        -moz-transform: translateZ(-1000px) rotateY(-90deg);
        opacity: 0.2;
    }
}
@keyframes flipInLeft {
    from {
        transform: translateZ(-1000px) rotateY(-90deg);
        opacity: 0.2;
    }
}
@-webkit-keyframes flipOutLeft {
    to {
        -webkit-transform: translateZ(-1000px) rotateY(-90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipOutLeft {
    to {
        -moz-transform: translateZ(-1000px) rotateY(-90deg);
        opacity: 0.2;
    }
}
@keyframes flipOutLeft {
    to {
        transform: translateZ(-1000px) rotateY(-90deg);
        opacity: 0.2;
    }
}
@-webkit-keyframes flipInRight {
    from {
        -webkit-transform: translateZ(-1000px) rotateY(90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipInRight {
    from {
        -moz-transform: translateZ(-1000px) rotateY(90deg);
        opacity: 0.2;
    }
}
@keyframes flipInRight {
    from {
        transform: translateZ(-1000px) rotateY(90deg);
        opacity: 0.2;
    }
}
@-webkit-keyframes flipOutTop {
    to {
        -webkit-transform: translateZ(-1000px) rotateX(90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipOutTop {
    to {
        -moz-transform: translateZ(-1000px) rotateX(90deg);
        opacity: 0.2;
    }
}
@keyframes flipOutTop {
    to {
        transform: translateZ(-1000px) rotateX(90deg);
        opacity: 0.2;
    }
}
@-webkit-keyframes flipInBottom {
    from {
        -webkit-transform: translateZ(-1000px) rotateX(-90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipInBottom {
    from {
        -moz-transform: translateZ(-1000px) rotateX(-90deg);
        opacity: 0.2;
    }
}
@keyframes flipInBottom {
    from {
        transform: translateZ(-1000px) rotateX(-90deg);
        opacity: 0.2;
    }
}
@-webkit-keyframes flipOutBottom {
    to {
        -webkit-transform: translateZ(-1000px) rotateX(-90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipOutBottom {
    to {
        -moz-transform: translateZ(-1000px) rotateX(-90deg);
        opacity: 0.2;
    }
}
@keyframes flipOutBottom {
    to {
        transform: translateZ(-1000px) rotateX(-90deg);
        opacity: 0.2;
    }
}
@-webkit-keyframes flipInTop {
    from {
        -webkit-transform: translateZ(-1000px) rotateX(90deg);
        opacity: 0.2;
    }
}
@-moz-keyframes flipInTop {
    from {
        -moz-transform: translateZ(-1000px) rotateX(90deg);
        opacity: 0.2;
    }
}
@keyframes flipInTop {
    from {
        transform: translateZ(-1000px) rotateX(90deg);
        opacity: 0.2;
    }
}
/* fall */
@-webkit-keyframes rotateFall {
    0% {
        -webkit-transform: rotateZ(0deg);
    }
    20% {
        -webkit-transform: rotateZ(10deg);
        -webkit-animation-timing-function: ease-out;
    }
    40% {
        -webkit-transform: rotateZ(17deg);
    }
    60% {
        -webkit-transform: rotateZ(16deg);
    }
    100% {
        -webkit-transform: translateY(100%) rotateZ(17deg);
    }
}
@-moz-keyframes rotateFall {
    0% {
        -moz-transform: rotateZ(0deg);
    }
    20% {
        -moz-transform: rotateZ(10deg);
        -moz-animation-timing-function: ease-out;
    }
    40% {
        -moz-transform: rotateZ(17deg);
    }
    60% {
        -moz-transform: rotateZ(16deg);
    }
    100% {
        -moz-transform: translateY(100%) rotateZ(17deg);
    }
}
@keyframes rotateFall {
    0% {
        transform: rotateZ(0deg);
    }
    20% {
        transform: rotateZ(10deg);
        animation-timing-function: ease-out;
    }
    40% {
        transform: rotateZ(17deg);
    }
    60% {
        transform: rotateZ(16deg);
    }
    100% {
        transform: translateY(100%) rotateZ(17deg);
    }
}
/* newspaper */
@-webkit-keyframes rotateOutNewspaper {
    to {
        -webkit-transform: translateZ(-3000px) rotateZ(360deg);
        opacity: 0;
    }
}
@-moz-keyframes rotateOutNewspaper {
    to {
        -moz-transform: translateZ(-3000px) rotateZ(360deg);
        opacity: 0;
    }
}
@keyframes rotateOutNewspaper {
    to {
        transform: translateZ(-3000px) rotateZ(360deg);
        opacity: 0;
    }
}
@-webkit-keyframes rotateInNewspaper {
    from {
        -webkit-transform: translateZ(-3000px) rotateZ(-360deg);
        opacity: 0;
    }
}
@-moz-keyframes rotateInNewspaper {
    from {
        -moz-transform: translateZ(-3000px) rotateZ(-360deg);
        opacity: 0;
    }
}
@keyframes rotateInNewspaper {
    from {
        transform: translateZ(-3000px) rotateZ(-360deg);
        opacity: 0;
    }
}
/* push */
@-webkit-keyframes rotatePushLeft {
    to {
        opacity: 0;
        -webkit-transform: rotateY(90deg);
    }
}
@-moz-keyframes rotatePushLeft {
    to {
        opacity: 0;
        -moz-transform: rotateY(90deg);
    }
}
@keyframes rotatePushLeft {
    to {
        opacity: 0;
        transform: rotateY(90deg);
    }
}
@-webkit-keyframes rotatePushRight {
    to {
        opacity: 0;
        -webkit-transform: rotateY(-90deg);
    }
}
@-moz-keyframes rotatePushRight {
    to {
        opacity: 0;
        -moz-transform: rotateY(-90deg);
    }
}
@keyframes rotatePushRight {
    to {
        opacity: 0;
        transform: rotateY(-90deg);
    }
}
@-webkit-keyframes rotatePushTop {
    to {
        opacity: 0;
        -webkit-transform: rotateX(-90deg);
    }
}
@-moz-keyframes rotatePushTop {
    to {
        opacity: 0;
        -moz-transform: rotateX(-90deg);
    }
}
@keyframes rotatePushTop {
    to {
        opacity: 0;
        transform: rotateX(-90deg);
    }
}
@-webkit-keyframes rotatePushBottom {
    to {
        opacity: 0;
        -webkit-transform: rotateX(90deg);
    }
}
@-moz-keyframes rotatePushBottom {
    to {
        opacity: 0;
        -moz-transform: rotateX(90deg);
    }
}
@keyframes rotatePushBottom {
    to {
        opacity: 0;
        transform: rotateX(90deg);
    }
}
/* pull */
@-webkit-keyframes rotatePullRight {
    from {
        opacity: 0;
        -webkit-transform: rotateY(-90deg);
    }
}
@-moz-keyframes rotatePullRight {
    from {
        opacity: 0;
        -moz-transform: rotateY(-90deg);
    }
}
@keyframes rotatePullRight {
    from {
        opacity: 0;
        transform: rotateY(-90deg);
    }
}
@-webkit-keyframes rotatePullLeft {
    from {
        opacity: 0;
        -webkit-transform: rotateY(90deg);
    }
}
@-moz-keyframes rotatePullLeft {
    from {
        opacity: 0;
        -moz-transform: rotateY(90deg);
    }
}
@keyframes rotatePullLeft {
    from {
        opacity: 0;
        transform: rotateY(90deg);
    }
}
@-webkit-keyframes rotatePullTop {
    from {
        opacity: 0;
        -webkit-transform: rotateX(-90deg);
    }
}
@-moz-keyframes rotatePullTop {
    from {
        opacity: 0;
        -moz-transform: rotateX(-90deg);
    }
}
@keyframes rotatePullTop {
    from {
        opacity: 0;
        transform: rotateX(-90deg);
    }
}
@-webkit-keyframes rotatePullBottom {
    from {
        opacity: 0;
        -webkit-transform: rotateX(90deg);
    }
}
@-moz-keyframes rotatePullBottom {
    from {
        opacity: 0;
        -moz-transform: rotateX(90deg);
    }
}
@keyframes rotatePullBottom {
    from {
        opacity: 0;
        transform: rotateX(90deg);
    }
}
/* fold */
@-webkit-keyframes rotateFoldRight {
    to {
        opacity: 0;
        -webkit-transform: translateX(100%) rotateY(90deg);
    }
}
@-moz-keyframes rotateFoldRight {
    to {
        opacity: 0;
        -moz-transform: translateX(100%) rotateY(90deg);
    }
}
@keyframes rotateFoldRight {
    to {
        opacity: 0;
        transform: translateX(100%) rotateY(90deg);
    }
}
@-webkit-keyframes rotateFoldLeft {
    to {
        opacity: 0;
        -webkit-transform: translateX(-100%) rotateY(-90deg);
    }
}
@-moz-keyframes rotateFoldLeft {
    to {
        opacity: 0;
        -moz-transform: translateX(-100%) rotateY(-90deg);
    }
}
@keyframes rotateFoldLeft {
    to {
        opacity: 0;
        transform: translateX(-100%) rotateY(-90deg);
    }
}
@-webkit-keyframes rotateFoldTop {
    to {
        opacity: 0;
        -webkit-transform: translateY(-100%) rotateX(90deg);
    }
}
@-moz-keyframes rotateFoldTop {
    to {
        opacity: 0;
        -moz-transform: translateY(-100%) rotateX(90deg);
    }
}
@keyframes rotateFoldTop {
    to {
        opacity: 0;
        transform: translateY(-100%) rotateX(90deg);
    }
}
@-webkit-keyframes rotateFoldBottom {
    to {
        opacity: 0;
        -webkit-transform: translateY(100%) rotateX(-90deg);
    }
}
@-moz-keyframes rotateFoldBottom {
    to {
        opacity: 0;
        -moz-transform: translateY(100%) rotateX(-90deg);
    }
}
@keyframes rotateFoldBottom {
    to {
        opacity: 0;
        transform: translateY(100%) rotateX(-90deg);
    }
}
/* unfold */
@-webkit-keyframes rotateUnfoldLeft {
    from {
        opacity: 0;
        -webkit-transform: translateX(-100%) rotateY(-90deg);
    }
}
@-moz-keyframes rotateUnfoldLeft {
    from {
        opacity: 0;
        -moz-transform: translateX(-100%) rotateY(-90deg);
    }
}
@keyframes rotateUnfoldLeft {
    from {
        opacity: 0;
        transform: translateX(-100%) rotateY(-90deg);
    }
}
@-webkit-keyframes rotateUnfoldRight {
    from {
        opacity: 0;
        -webkit-transform: translateX(100%) rotateY(90deg);
    }
}
@-moz-keyframes rotateUnfoldRight {
    from {
        opacity: 0;
        -moz-transform: translateX(100%) rotateY(90deg);
    }
}
@keyframes rotateUnfoldRight {
    from {
        opacity: 0;
        transform: translateX(100%) rotateY(90deg);
    }
}
@-webkit-keyframes rotateUnfoldTop {
    from {
        opacity: 0;
        -webkit-transform: translateY(-100%) rotateX(90deg);
    }
}
@-moz-keyframes rotateUnfoldTop {
    from {
        opacity: 0;
        -moz-transform: translateY(-100%) rotateX(90deg);
    }
}
@keyframes rotateUnfoldTop {
    from {
        opacity: 0;
        transform: translateY(-100%) rotateX(90deg);
    }
}
@-webkit-keyframes rotateUnfoldBottom {
    from {
        opacity: 0;
        -webkit-transform: translateY(100%) rotateX(-90deg);
    }
}
@-moz-keyframes rotateUnfoldBottom {
    from {
        opacity: 0;
        -moz-transform: translateY(100%) rotateX(-90deg);
    }
}
@keyframes rotateUnfoldBottom {
    from {
        opacity: 0;
        transform: translateY(100%) rotateX(-90deg);
    }
}
/* room walls */
@-webkit-keyframes rotateRoomLeftOut {
    to {
        opacity: .3;
        -webkit-transform: translateX(-100%) rotateY(90deg);
    }
}
@-moz-keyframes rotateRoomLeftOut {
    to {
        opacity: .3;
        -moz-transform: translateX(-100%) rotateY(90deg);
    }
}
@keyframes rotateRoomLeftOut {
    to {
        opacity: .3;
        transform: translateX(-100%) rotateY(90deg);
    }
}
@-webkit-keyframes rotateRoomLeftIn {
    from {
        opacity: .3;
        -webkit-transform: translateX(100%) rotateY(-90deg);
    }
}
@-moz-keyframes rotateRoomLeftIn {
    from {
        opacity: .3;
        -moz-transform: translateX(100%) rotateY(-90deg);
    }
}
@keyframes rotateRoomLeftIn {
    from {
        opacity: .3;
        transform: translateX(100%) rotateY(-90deg);
    }
}
@-webkit-keyframes rotateRoomRightOut {
    to {
        opacity: .3;
        -webkit-transform: translateX(100%) rotateY(-90deg);
    }
}
@-moz-keyframes rotateRoomRightOut {
    to {
        opacity: .3;
        -moz-transform: translateX(100%) rotateY(-90deg);
    }
}
@keyframes rotateRoomRightOut {
    to {
        opacity: .3;
        transform: translateX(100%) rotateY(-90deg);
    }
}
@-webkit-keyframes rotateRoomRightIn {
    from {
        opacity: .3;
        -webkit-transform: translateX(-100%) rotateY(90deg);
    }
}
@-moz-keyframes rotateRoomRightIn {
    from {
        opacity: .3;
        -moz-transform: translateX(-100%) rotateY(90deg);
    }
}
@keyframes rotateRoomRightIn {
    from {
        opacity: .3;
        transform: translateX(-100%) rotateY(90deg);
    }
}
@-webkit-keyframes rotateRoomTopOut {
    to {
        opacity: .3;
        -webkit-transform: translateY(-100%) rotateX(-90deg);
    }
}
@-moz-keyframes rotateRoomTopOut {
    to {
        opacity: .3;
        -moz-transform: translateY(-100%) rotateX(-90deg);
    }
}
@keyframes rotateRoomTopOut {
    to {
        opacity: .3;
        transform: translateY(-100%) rotateX(-90deg);
    }
}
@-webkit-keyframes rotateRoomTopIn {
    from {
        opacity: .3;
        -webkit-transform: translateY(100%) rotateX(90deg);
    }
}
@-moz-keyframes rotateRoomTopIn {
    from {
        opacity: .3;
        -moz-transform: translateY(100%) rotateX(90deg);
    }
}
@keyframes rotateRoomTopIn {
    from {
        opacity: .3;
        transform: translateY(100%) rotateX(90deg);
    }
}
@-webkit-keyframes rotateRoomBottomOut {
    to {
        opacity: .3;
        -webkit-transform: translateY(100%) rotateX(90deg);
    }
}
@-moz-keyframes rotateRoomBottomOut {
    to {
        opacity: .3;
        -moz-transform: translateY(100%) rotateX(90deg);
    }
}
@keyframes rotateRoomBottomOut {
    to {
        opacity: .3;
        transform: translateY(100%) rotateX(90deg);
    }
}
@-webkit-keyframes rotateRoomBottomIn {
    from {
        opacity: .3;
        -webkit-transform: translateY(-100%) rotateX(-90deg);
    }
}
@-moz-keyframes rotateRoomBottomIn {
    from {
        opacity: .3;
        -moz-transform: translateY(-100%) rotateX(-90deg);
    }
}
@keyframes rotateRoomBottomIn {
    from {
        opacity: .3;
        transform: translateY(-100%) rotateX(-90deg);
    }
}
/* cube */
@-webkit-keyframes rotateCubeLeftOut {
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    }
    100% {
        opacity: .3;
        -webkit-transform: translateX(-100%) rotateY(-90deg);
    }
}
@-moz-keyframes rotateCubeLeftOut {
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    }
    100% {
        opacity: .3;
        -moz-transform: translateX(-100%) rotateY(-90deg);
    }
}
@keyframes rotateCubeLeftOut {
    50% {
        animation-timing-function: ease-out;
        transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    }
    100% {
        opacity: .3;
        transform: translateX(-100%) rotateY(-90deg);
    }
}
@-webkit-keyframes rotateCubeLeftIn {
    0% {
        opacity: .3;
        -webkit-transform: translateX(100%) rotateY(90deg);
    }
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    }
}
@-moz-keyframes rotateCubeLeftIn {
    0% {
        opacity: .3;
        -moz-transform: translateX(100%) rotateY(90deg);
    }
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    }
}
@keyframes rotateCubeLeftIn {
    0% {
        opacity: .3;
        transform: translateX(100%) rotateY(90deg);
    }
    50% {
        animation-timing-function: ease-out;
        transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    }
}
@-webkit-keyframes rotateCubeRightOut {
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    }
    100% {
        opacity: .3;
        -webkit-transform: translateX(100%) rotateY(90deg);
    }
}
@-moz-keyframes rotateCubeRightOut {
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    }
    100% {
        opacity: .3;
        -moz-transform: translateX(100%) rotateY(90deg);
    }
}
@keyframes rotateCubeRightOut {
    50% {
        animation-timing-function: ease-out;
        transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    }
    100% {
        opacity: .3;
        transform: translateX(100%) rotateY(90deg);
    }
}
@-webkit-keyframes rotateCubeRightIn {
    0% {
        opacity: .3;
        -webkit-transform: translateX(-100%) rotateY(-90deg);
    }
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    }
}
@-moz-keyframes rotateCubeRightIn {
    0% {
        opacity: .3;
        -moz-transform: translateX(-100%) rotateY(-90deg);
    }
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    }
}
@keyframes rotateCubeRightIn {
    0% {
        opacity: .3;
        transform: translateX(-100%) rotateY(-90deg);
    }
    50% {
        animation-timing-function: ease-out;
        transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    }
}
@-webkit-keyframes rotateCubeTopOut {
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    }
    100% {
        opacity: .3;
        -webkit-transform: translateY(-100%) rotateX(90deg);
    }
}
@-moz-keyframes rotateCubeTopOut {
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    }
    100% {
        opacity: .3;
        -moz-transform: translateY(-100%) rotateX(90deg);
    }
}
@keyframes rotateCubeTopOut {
    50% {
        animation-timing-function: ease-out;
        transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    }
    100% {
        opacity: .3;
        transform: translateY(-100%) rotateX(90deg);
    }
}
@-webkit-keyframes rotateCubeTopIn {
    0% {
        opacity: .3;
        -webkit-transform: translateY(100%) rotateX(-90deg);
    }
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    }
}
@-moz-keyframes rotateCubeTopIn {
    0% {
        opacity: .3;
        -moz-transform: translateY(100%) rotateX(-90deg);
    }
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    }
}
@keyframes rotateCubeTopIn {
    0% {
        opacity: .3;
        transform: translateY(100%) rotateX(-90deg);
    }
    50% {
        animation-timing-function: ease-out;
        transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    }
}
@-webkit-keyframes rotateCubeBottomOut {
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    }
    100% {
        opacity: .3;
        -webkit-transform: translateY(100%) rotateX(-90deg);
    }
}
@-moz-keyframes rotateCubeBottomOut {
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    }
    100% {
        opacity: .3;
        -moz-transform: translateY(100%) rotateX(-90deg);
    }
}
@keyframes rotateCubeBottomOut {
    50% {
        animation-timing-function: ease-out;
        transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    }
    100% {
        opacity: .3;
        transform: translateY(100%) rotateX(-90deg);
    }
}
@-webkit-keyframes rotateCubeBottomIn {
    0% {
        opacity: .3;
        -webkit-transform: translateY(-100%) rotateX(90deg);
    }
    50% {
        -webkit-animation-timing-function: ease-out;
        -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    }
}
@-moz-keyframes rotateCubeBottomIn {
    0% {
        opacity: .3;
        -moz-transform: translateY(-100%) rotateX(90deg);
    }
    50% {
        -moz-animation-timing-function: ease-out;
        -moz-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    }
}
@keyframes rotateCubeBottomIn {
    0% {
        opacity: .3;
        transform: translateY(-100%) rotateX(90deg);
    }
    50% {
        animation-timing-function: ease-out;
        transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    }
}
/* carousel */
@-webkit-keyframes rotateCarouselLeftOut {
    to {
        opacity: .3;
        -webkit-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
    }
}
@-moz-keyframes rotateCarouselLeftOut {
    to {
        opacity: .3;
        -moz-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
    }
}
@keyframes rotateCarouselLeftOut {
    to {
        opacity: .3;
        transform: translateX(-150%) scale(0.4) rotateY(-65deg);
    }
}
@-webkit-keyframes rotateCarouselLeftIn {
    from {
        opacity: .3;
        -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
    }
}
@-moz-keyframes rotateCarouselLeftIn {
    from {
        opacity: .3;
        -moz-transform: translateX(200%) scale(0.4) rotateY(65deg);
    }
}
@keyframes rotateCarouselLeftIn {
    from {
        opacity: .3;
        transform: translateX(200%) scale(0.4) rotateY(65deg);
    }
}
@-webkit-keyframes rotateCarouselRightOut {
    to {
        opacity: .3;
        -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
    }
}
@-moz-keyframes rotateCarouselRightOut {
    to {
        opacity: .3;
        -moz-transform: translateX(200%) scale(0.4) rotateY(65deg);
    }
}
@keyframes rotateCarouselRightOut {
    to {
        opacity: .3;
        transform: translateX(200%) scale(0.4) rotateY(65deg);
    }
}
@-webkit-keyframes rotateCarouselRightIn {
    from {
        opacity: .3;
        -webkit-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
    }
}
@-moz-keyframes rotateCarouselRightIn {
    from {
        opacity: .3;
        -moz-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
    }
}
@keyframes rotateCarouselRightIn {
    from {
        opacity: .3;
        transform: translateX(-200%) scale(0.4) rotateY(-65deg);
    }
}
@-webkit-keyframes rotateCarouselTopOut {
    to {
        opacity: .3;
        -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
    }
}
@-moz-keyframes rotateCarouselTopOut {
    to {
        opacity: .3;
        -moz-transform: translateY(-200%) scale(0.4) rotateX(65deg);
    }
}
@keyframes rotateCarouselTopOut {
    to {
        opacity: .3;
        transform: translateY(-200%) scale(0.4) rotateX(65deg);
    }
}
@-webkit-keyframes rotateCarouselTopIn {
    from {
        opacity: .3;
        -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
    }
}
@-moz-keyframes rotateCarouselTopIn {
    from {
        opacity: .3;
        -moz-transform: translateY(200%) scale(0.4) rotateX(-65deg);
    }
}
@keyframes rotateCarouselTopIn {
    from {
        opacity: .3;
        transform: translateY(200%) scale(0.4) rotateX(-65deg);
    }
}
@-webkit-keyframes rotateCarouselBottomOut {
    to {
        opacity: .3;
        -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
    }
}
@-moz-keyframes rotateCarouselBottomOut {
    to {
        opacity: .3;
        -moz-transform: translateY(200%) scale(0.4) rotateX(-65deg);
    }
}
@keyframes rotateCarouselBottomOut {
    to {
        opacity: .3;
        transform: translateY(200%) scale(0.4) rotateX(-65deg);
    }
}
@-webkit-keyframes rotateCarouselBottomIn {
    from {
        opacity: .3;
        -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
    }
}
@-moz-keyframes rotateCarouselBottomIn {
    from {
        opacity: .3;
        -moz-transform: translateY(-200%) scale(0.4) rotateX(65deg);
    }
}
@keyframes rotateCarouselBottomIn {
    from {
        opacity: .3;
        transform: translateY(-200%) scale(0.4) rotateX(65deg);
    }
}
/* sides */
@-webkit-keyframes rotateSidesOut {
    to {
        opacity: 0;
        -webkit-transform: translateZ(-500px) rotateY(90deg);
    }
}
@-moz-keyframes rotateSidesOut {
    to {
        opacity: 0;
        -moz-transform: translateZ(-500px) rotateY(90deg);
    }
}
@keyframes rotateSidesOut {
    to {
        opacity: 0;
        transform: translateZ(-500px) rotateY(90deg);
    }
}
@-webkit-keyframes rotateSidesIn {
    from {
        opacity: 0;
        -webkit-transform: translateZ(-500px) rotateY(-90deg);
    }
}
@-moz-keyframes rotateSidesIn {
    from {
        opacity: 0;
        -moz-transform: translateZ(-500px) rotateY(-90deg);
    }
}
@keyframes rotateSidesIn {
    from {
        opacity: 0;
        transform: translateZ(-500px) rotateY(-90deg);
    }
}
/* slide */
@-webkit-keyframes rotateSlideOut {
    25% {
        opacity: .5;
        -webkit-transform: translateZ(-500px);
    }
    75% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(-200%);
    }
    100% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(-200%);
    }
}
@-moz-keyframes rotateSlideOut {
    25% {
        opacity: .5;
        -moz-transform: translateZ(-500px);
    }
    75% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(-200%);
    }
    100% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(-200%);
    }
}
@keyframes rotateSlideOut {
    25% {
        opacity: .5;
        transform: translateZ(-500px);
    }
    75% {
        opacity: .5;
        transform: translateZ(-500px) translateX(-200%);
    }
    100% {
        opacity: .5;
        transform: translateZ(-500px) translateX(-200%);
    }
}
@-webkit-keyframes rotateSlideIn {
    0%,
    25% {
        opacity: .5;
        -webkit-transform: translateZ(-500px) translateX(200%);
    }
    75% {
        opacity: .5;
        -webkit-transform: translateZ(-500px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0) translateX(0);
    }
}
@-moz-keyframes rotateSlideIn {
    0%,
    25% {
        opacity: .5;
        -moz-transform: translateZ(-500px) translateX(200%);
    }
    75% {
        opacity: .5;
        -moz-transform: translateZ(-500px);
    }
    100% {
        opacity: 1;
        -moz-transform: translateZ(0) translateX(0);
    }
}
@keyframes rotateSlideIn {
    0%,
    25% {
        opacity: .5;
        transform: translateZ(-500px) translateX(200%);
    }
    75% {
        opacity: .5;
        transform: translateZ(-500px);
    }
    100% {
        opacity: 1;
        transform: translateZ(0) translateX(0);
    }
}
/* animation delay classes */
.pt-page-delay100 {
    -webkit-animation-delay: .1s;
    -moz-animation-delay: .1s;
    animation-delay: .1s;
}
.pt-page-delay180 {
    -webkit-animation-delay: .180s;
    -moz-animation-delay: .180s;
    animation-delay: .180s;
}
.pt-page-delay200 {
    -webkit-animation-delay: .2s;
    -moz-animation-delay: .2s;
    animation-delay: .2s;
}
.pt-page-delay300 {
    -webkit-animation-delay: .3s;
    -moz-animation-delay: .3s;
    animation-delay: .3s;
}
.pt-page-delay400 {
    -webkit-animation-delay: .4s;
    -moz-animation-delay: .4s;
    animation-delay: .4s;
}
.pt-page-delay500 {
    -webkit-animation-delay: .5s;
    -moz-animation-delay: .5s;
    animation-delay: .5s;
}
.pt-page-delay700 {
    -webkit-animation-delay: .7s;
    -moz-animation-delay: .7s;
    animation-delay: .7s;
}
.pt-page-delay1000 {
    -webkit-animation-delay: 1s;
    -moz-animation-delay: 1s;
    animation-delay: 1s;
}
/********************************* parts **************************************/
.pt-part .pt-page {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.pt-part .pt-page .pt-item {
    position: absolute;
}
.pt-perspective {
    z-index: 0;
}
/* zoom
--------------------------------------------------------------------------*/
.jgallery .zoom {
    -webkit-perspective: 1200px;
    perspective: 1200px;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    z-index: 1;
}
.jgallery .zoom .pt-perspective.hide-overflow {
    overflow: hidden;
}
.jgallery .zoom .jgallery-container {
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    position: absolute;
    z-index: 1;
}
.jgallery .zoom .jgallery-container.pt-page-ontop {
    z-index: 2;
}
.jgallery .zoom .jgallery-container.pt-page-current.pt-page-prev {
    z-index: 1;
}
.jgallery .zoom .jgallery-container.pt-page-current:not(.pt-page-prev) {
    z-index: 3;
}
.jgallery .zoom img {
    top: 50%;
    left: 50%;
    position: absolute;
    z-index: 1;
}
.jgallery .zoom.is-link {
    cursor: pointer;
}
.jgallery .zoom.hidden .zoom-container .nav {
    top: -40px;
    right: -100px;
}
.jgallery .zoom.hidden .zoom-container .nav-bottom {
    bottom: -40px;
    left: -150px;
}
.jgallery .zoom-container {
    position: relative;
}
.jgallery .zoom-container .prev {
    top: 50%;
    left: -74px;
    opacity: 0;
    -webkit-transform: scale(.5);
    -moz-transform: scale(.5);
    transform: scale(.5);
}
.jgallery .zoom-container .next {
    top: 50%;
    right: -74px;
    opacity: 0;
    -webkit-transform: scale(.5);
    -moz-transform: scale(.5);
    transform: scale(.5);
}
.jgallery .zoom-container .jgallery-btn-large {
    margin-top: -30px;
    position: absolute;
    z-index: 10002;
}
.jgallery .zoom-container .nav {
    top: 0;
    right: 0;
    z-index: 10002;
    position: absolute;
}
.jgallery .zoom-container .nav .jgallery-btn {
    display: inline-block;
}
.jgallery .zoom-container .nav-bottom {
    height: 40px;
    background: #111;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    left: 0;
    bottom: -40px;
    right: 0;
    text-align: left;
    z-index: 10002;
    position: absolute;
}
.jgallery .zoom-container .nav-bottom .icons {
    background: #111;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    float: left;
    position: relative;
    z-index: 1;
}
.jgallery .zoom-container .nav-bottom .icons [class*="fa-"] {
    background: #111;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
.jgallery .zoom-container .nav-bottom .jgallery-btn {
    margin-right: 8px;
    background: none;
    display: inline-block;
}
.jgallery .zoom-container .nav-bottom .change-album {
    position: relative;
}
.jgallery .zoom-container .nav-bottom .change-album .menu {
    position: absolute;
    display: none;
}
.jgallery .zoom-container .nav-bottom .change-album .title {
    margin-left: -5px;
    padding: 8px 29px 6px 0;
    font-size: 14px;
    background: #111;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    right: auto;
    top: 4px;
    line-height: normal;
    display: inline-block;
}
.jgallery .zoom-container .nav-bottom .change-album.active .menu {
    display: block;
}
.jgallery .zoom-container .overlay .imageLoaderPositionAbsolute {
    top: 50% !important;
}
.jgallery .zoom-container .drag-nav {
    top: 16px;
    left: 16px;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: absolute;
    z-index: 2;
}
.jgallery .zoom-container .drag-nav img {
    max-width: 180px;
    max-height: 180px;
    display: block;
}
.jgallery .zoom-container .drag-nav img.bg {
    position: relative;
    opacity: .75;
    -webkit-filter: blur(1px);
    filter: blur(1px);
}
.jgallery .zoom-container .drag-nav .crop {
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
    position: absolute;
}
.jgallery .zoom-container .drag-nav.hide {
    top: -186px;
    left: -186px;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-filter: blur(5px);
    filter: blur(5px);
    opacity: 0;
}
.jgallery:hover .zoom-container .prev {
    left: 0;
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    transform: scale(1);
}
.jgallery:hover .zoom-container .prev.hidden {
    top: 50%;
    left: -74px;
    opacity: 0;
    -webkit-transform: scale(.5);
    -moz-transform: scale(.5);
    transform: scale(.5);
}
.jgallery:hover .zoom-container .next {
    right: 0;
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    transform: scale(1);
}
.jgallery:hover .zoom-container .next.hidden {
    top: 50%;
    right: -74px;
    opacity: 0;
    -webkit-transform: scale(.5);
    -moz-transform: scale(.5);
    transform: scale(.5);
}
/* zoom slide-down
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-down.before {
    bottom: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-down.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-down.after {
    top: 150%;
    opacity: 0;
}
/* zoom slide-up
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-up.before {
    top: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-up.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-up.after {
    bottom: 150%;
    opacity: 0;
}
/* zoom slide-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-right.before {
    right: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-right.after {
    left: 150%;
    opacity: 0;
}
/* zoom slide-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-left.before {
    left: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-left.after {
    right: 150%;
    opacity: 0;
}
/* zoom slide-up-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-up-left.before {
    top: 150%;
    left: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-up-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-up-left.after {
    bottom: 150%;
    right: 150%;
    opacity: 0;
}
/* zoom slide-up-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-up-right.before {
    top: 150%;
    right: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-up-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-up-right.after {
    bottom: 150%;
    left: 150%;
    opacity: 0;
}
/* zoom slide-down-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-down-left.before {
    bottom: 150%;
    left: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-down-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-down-left.after {
    top: 150%;
    right: 150%;
    opacity: 0;
}
/* zoom slide-down-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.slide-down-right.before {
    bottom: 150%;
    right: 150%;
    opacity: 0;
}
.jgallery .zoom .jgallery-container.slide-down-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.slide-down-right.after {
    top: 150%;
    left: 150%;
    opacity: 0;
}
/* zoom fade
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.fade.before {
    opacity: 0;
}
.jgallery .zoom .jgallery-container.fade.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.fade.after {
    opacity: 0;
}
/* zoom zoom-in
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.zoom-in.before {
    opacity: 0;
    -webkit-transform: scale(0.1, 0.1);
    -ms-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
}
.jgallery .zoom .jgallery-container.zoom-in.visible {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}
.jgallery .zoom .jgallery-container.zoom-in.after {
    opacity: 0;
    -webkit-transform: scale(5, 5);
    -ms-transform: scale(5, 5);
    transform: scale(5, 5);
}
/* zoom zoom-out
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.zoom-out.before {
    opacity: 0;
    -webkit-transform: scale(5, 5);
    -ms-transform: scale(5, 5);
    transform: scale(5, 5);
}
.jgallery .zoom .jgallery-container.zoom-out.visible {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}
.jgallery .zoom .jgallery-container.zoom-out.after {
    opacity: 0;
    -webkit-transform: scale(0.1, 0.1);
    -ms-transform: scale(0.1, 0.1);
    transform: scale(0.1, 0.1);
}
/* zoom rotate-room-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-right.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg);
    transform: translateZ(-600px) rotateY(45deg);
    left: -50%;
    right: 50%;
}
.jgallery .zoom .jgallery-container.rotate-room-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-right.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg);
    transform: translateZ(-600px) rotateY(-45deg);
    left: 50%;
    right: -50%;
}
/* zoom rotate-room-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-left.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg);
    transform: translateZ(-600px) rotateY(-45deg);
    left: 50%;
    right: -50%;
}
.jgallery .zoom .jgallery-container.rotate-room-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-left.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg);
    transform: translateZ(-600px) rotateY(45deg);
    left: -50%;
    right: 50%;
}
/* zoom rotate-room-up
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-up.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateX(-45deg);
    transform: translateZ(-600px) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
}
.jgallery .zoom .jgallery-container.rotate-room-up.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-up.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateX(45deg);
    transform: translateZ(-600px) rotateX(45deg);
    top: -50%;
    bottom: 50%;
}
/* zoom rotate-room-down
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-down.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateX(45deg);
    transform: translateZ(-600px) rotateX(45deg);
    top: -50%;
    bottom: 50%;
}
.jgallery .zoom .jgallery-container.rotate-room-down.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-down.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateX(-45deg);
    transform: translateZ(-600px) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
}
/* zoom rotate-room-down-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-down-left.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    top: 50%;
    bottom: -50%;
    left: 50%;
    right: -50%;
}
.jgallery .zoom .jgallery-container.rotate-room-down-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-down-left.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    top: -50%;
    bottom: 50%;
    left: -50%;
    right: 50%;
}
/* zoom rotate-room-up-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-up-left.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    top: -50%;
    bottom: 50%;
    left: 50%;
    right: -50%;
}
.jgallery .zoom .jgallery-container.rotate-room-up-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-up-left.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    top: 50%;
    bottom: -50%;
    left: -50%;
    right: 50%;
}
/* zoom rotate-room-down-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-down-right.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    top: 50%;
    bottom: -50%;
    left: -50%;
    right: 50%;
}
.jgallery .zoom .jgallery-container.rotate-room-down-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-down-right.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    top: -50%;
    bottom: 50%;
    left: 50%;
    right: -50%;
}
/* zoom rotate-room-up-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-room-up-right.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    top: -50%;
    bottom: 50%;
    left: -50%;
    right: 50%;
}
.jgallery .zoom .jgallery-container.rotate-room-up-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-room-up-right.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    top: 50%;
    bottom: -50%;
    left: 50%;
    right: -50%;
}
/* zoom rotate-carousel-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-right.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg);
    transform: translateZ(-600px) rotateY(-45deg);
    left: -50%;
    right: 50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-right.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg);
    transform: translateZ(-600px) rotateY(45deg);
    left: 50%;
    right: -50%;
}
/* zoom rotate-carousel-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-left.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg);
    transform: translateZ(-600px) rotateY(45deg);
    left: 50%;
    right: -50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-left.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg);
    transform: translateZ(-600px) rotateY(-45deg);
    left: -50%;
    right: 50%;
}
/* zoom rotate-carousel-up
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-up.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateX(-45deg);
    transform: translateZ(-600px) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-up.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-up.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateX(45deg);
    transform: translateZ(-600px) rotateX(45deg);
    top: -50%;
    bottom: 50%;
}
/* zoom rotate-carousel-down
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-down.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateX(45deg);
    transform: translateZ(-600px) rotateX(45deg);
    top: -50%;
    bottom: 50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-down.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-down.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateX(-45deg);
    transform: translateZ(-600px) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
}
/* zoom rotate-carousel-up-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-up-left.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
    left: 50%;
    right: -50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-up-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-up-left.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    top: -50%;
    bottom: 50%;
    left: -50%;
    right: 50%;
}
/* zoom rotate-carousel-down-left
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-down-left.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    top: -50%;
    bottom: 50%;
    left: 50%;
    right: -50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-down-left.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-down-left.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
    left: -50%;
    right: 50%;
}
/* zoom rotate-carousel-down-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-down-right.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(45deg);
    top: -50%;
    bottom: 50%;
    left: -50%;
    right: 50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-down-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-down-right.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
    left: 50%;
    right: -50%;
}
/* zoom rotate-carousel-up-right
--------------------------------------------------------------------------*/
.jgallery .zoom .jgallery-container.rotate-carousel-up-right.before {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    -ms-transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    transform: translateZ(-600px) rotateY(-45deg) rotateX(-45deg);
    top: 50%;
    bottom: -50%;
    left: -50%;
    right: 50%;
}
.jgallery .zoom .jgallery-container.rotate-carousel-up-right.visible {
    opacity: 1;
}
.jgallery .zoom .jgallery-container.rotate-carousel-up-right.after {
    opacity: 0;
    -webkit-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    -ms-transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    transform: translateZ(-600px) rotateY(45deg) rotateX(45deg);
    top: -50%;
    bottom: 50%;
    left: 50%;
    right: -50%;
}
@media (max-width: 767px) {
    .jgallery .jgallery-thumbnails .jgallery-btn.prev,
    .jgallery .zoom-container .jgallery-btn.prev,
    .jgallery .jgallery-thumbnails .jgallery-btn.next,
    .jgallery .zoom-container .jgallery-btn.next {
        display: none !important;
    }
    .jgallery .jgallery-tooltips [tooltip]:hover:after {
        display: none !important;
    }
}
.jgallery {
    font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    position: fixed;
    z-index: 10002;
}
.jgallery * {
    outline: none;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

/*j_gallery thumbnail*/
.j_gallery {
    padding: 0;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    position: relative;
    line-height: 0;
    letter-spacing: 0;
    font-size: 0;
    width: 100%;
    max-width: 100%;
}
.j_gallery a {
    margin: 0;
    position: relative;
    display: inline-flex;
    flex-direction: column;
    overflow: hidden;
    cursor: pointer;
}
.j_gallery>a .awesome-gallery-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.j_gallery>.awesome-gallery .overlay_thumb {
    background-color: rgba(0, 0, 0, 0.1);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: background-color 0.15s ease 0s;
    -o-transition: background-color 0.15s ease 0s;
    transition: background-color 0.15s ease 0s;
}
.j_gallery>a:hover .awesome-gallery-poster {
    background-color: rgba(0, 0, 0, 0.5);
}
.j_gallery>a .awesome-gallery-poster>figcaption {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 100%;
    top: unset;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2em 1em;
    color: #fff;
    text-align: left;
    text-transform: capitalize;
    font-size: 1.25em;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 99;
}
.j_gallery>a .awesome-gallery-poster>figcaption h2 {
    word-spacing: -0.15em;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    border: none;
    padding: 15px;
}
.j_gallery>a .awesome-gallery-poster>figcaption h2,
.j_gallery>a .awesome-gallery-poster>figcaption p {
    position: relative;
    margin: 0;
    word-wrap: break-word;
}
.j_gallery>a .awesome-gallery-poster>figcaption p {
    font-size: 14px;
    color: #eee;
    line-height: normal;
    padding: 7px 15px;
}
.j_gallery>a .awesome-gallery-poster>img,
.j_gallery>a .awesome-gallery-icon,
.j_gallery>a .awesome-video-icon {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}
.j_gallery .awesome-gallery {
    display: inline-block;
    position: relative;
    margin: 0 0 -5px -4px;
    padding: 0;
    vertical-align: top;
    overflow: hidden;
}
.j_gallery>.awesome-gallery .overlay_thumb {
    z-index: 98;
}
.j_gallery .awesome-gallery {
    margin: 0;
}
.j_gallery>a .awesome-gallery-icon,
.j_gallery>a .awesome-video-icon {
    z-index: 99;
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    cursor: pointer;
}
.j_gallery>.awesome-gallery:hover .overlay_thumb {
    background-color: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}
/*j_gallery thumbnail*/

/**
 * ----------------------------------------
 * animation rotate-right
 * ----------------------------------------
 */
@-webkit-keyframes zoom-in {
    0% {
        -webkit-transform: scale(.1);
        transform: scale(.1);
    }
    100% {
        -webkit-transform: none;
        transform: none;
    }
}
@keyframes zoom-in {
    0% {
        -webkit-transform: scale(.1);
        transform: scale(.1);
    }
    100% {
        -webkit-transform: none;
        transform: none;
    }
}

/**
 * ----------------------------------------
 * animation rotate-right
 * ----------------------------------------
 */
@-webkit-keyframes rotate-right {
    0% {
        -webkit-transform: translate(-100%) rotate(-100deg);
        transform: translate(-100%) rotate(-100deg);
    }
    100% {
        -webkit-transform: none;
        transform: none;
    }
}
@keyframes rotate-right {
    0% {
        -webkit-transform: translate(-100%) rotate(-100deg);
        transform: translate(-100%) rotate(-100deg);
    }
    100% {
        -webkit-transform: none;
        transform: none;
    }
}

/**
 * ----------------------------------------
 * animation slide-top
 * ----------------------------------------
 */
@-webkit-keyframes slide-top {
    0% {
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@keyframes slide-top {
    0% {
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/**
 * ----------------------------------------
 * animation slide-bottom
 * ----------------------------------------
 */
@-webkit-keyframes slide-bottom {
    0% {
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@keyframes slide-bottom {
    0% {
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/**
 * ----------------------------------------
 * animation swing-top-fwd
 * ----------------------------------------
 */
@-webkit-keyframes swing-top-fwd {
    0% {
        -webkit-transform: rotateX(180deg);
        transform: rotateX(180deg);
        -webkit-transform-origin: top;
        transform-origin: top;
    }
    100% {
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg);
        -webkit-transform-origin: top;
        transform-origin: top;
    }
}
@keyframes swing-top-fwd {
    0% {
        -webkit-transform: rotateX(180deg);
        transform: rotateX(180deg);
        -webkit-transform-origin: top;
        transform-origin: top;
    }
    100% {
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg);
        -webkit-transform-origin: top;
        transform-origin: top;
    }
}

/**
 * ----------------------------------------
 * animation swing-top-bck
 * ----------------------------------------
 */
@-webkit-keyframes swing-top-bck {
    0% {
        -webkit-transform: rotateX(-180deg);
        transform: rotateX(-180deg);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
    100% {
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
}
@keyframes swing-top-bck {
    0% {
        -webkit-transform: rotateX(-180deg);
        transform: rotateX(-180deg);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
    100% {
        -webkit-transform: rotateX(0deg);
        transform: rotateX(0deg);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
}

/**
 * ----------------------------------------
 * animation flip-scale-up-hor
 * ----------------------------------------
 */
@-webkit-keyframes flip-scale-up-hor {
    0% {
        -webkit-transform: scale(1) rotateX(0);
        transform: scale(1) rotateX(0);
    }
    50% {
        -webkit-transform: scale(2.5) rotateX(-180deg);
        transform: scale(2.5) rotateX(-180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateX(-370deg);
        transform: scale(1) rotateX(-370deg);
    }
}
@keyframes flip-scale-up-hor {
    0% {
        -webkit-transform: scale(1) rotateX(0);
        transform: scale(1) rotateX(0);
    }
    50% {
        -webkit-transform: scale(2.5) rotateX(-180deg);
        transform: scale(2.5) rotateX(-180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateX(-370deg);
        transform: scale(1) rotateX(-370deg);
    }
}

/**
 * ----------------------------------------
 * animation flip-scale-down-hor
 * ----------------------------------------
 */
@-webkit-keyframes flip-scale-down-hor {
    0% {
        -webkit-transform: scale(1) rotateX(0);
        transform: scale(1) rotateX(0);
    }
    50% {
        -webkit-transform: scale(0.4) rotateX(180deg);
        transform: scale(0.4) rotateX(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateX(370deg);
        transform: scale(1) rotateX(370deg);
    }
}
@keyframes flip-scale-down-hor {
    0% {
        -webkit-transform: scale(1) rotateX(0);
        transform: scale(1) rotateX(0);
    }
    50% {
        -webkit-transform: scale(0.4) rotateX(180deg);
        transform: scale(0.4) rotateX(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateX(370deg);
        transform: scale(1) rotateX(370deg);
    }
}

/**
 * ----------------------------------------
 * animation rotate-scale-up
 * ----------------------------------------
 */
@-webkit-keyframes rotate-scale-up {
    0% {
        -webkit-transform: scale(1) rotateZ(0);
        transform: scale(1) rotateZ(0);
    }
    50% {
        -webkit-transform: scale(2) rotateZ(180deg);
        transform: scale(2) rotateZ(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateZ(360deg);
        transform: scale(1) rotateZ(360deg);
    }
}
@keyframes rotate-scale-up {
    0% {
        -webkit-transform: scale(1) rotateZ(0);
        transform: scale(1) rotateZ(0);
    }
    50% {
        -webkit-transform: scale(2) rotateZ(180deg);
        transform: scale(2) rotateZ(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateZ(360deg);
        transform: scale(1) rotateZ(360deg);
    }
}

/**
 * ----------------------------------------
 * animation rotate-scale-down
 * ----------------------------------------
 */
@-webkit-keyframes rotate-scale-down {
    0% {
        -webkit-transform: scale(1) rotateZ(0);
        transform: scale(1) rotateZ(0);
    }
    50% {
        -webkit-transform: scale(0.5) rotateZ(180deg);
        transform: scale(0.5) rotateZ(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateZ(360deg);
        transform: scale(1) rotateZ(360deg);
    }
}
@keyframes rotate-scale-down {
    0% {
        -webkit-transform: scale(1) rotateZ(0);
        transform: scale(1) rotateZ(0);
    }
    50% {
        -webkit-transform: scale(0.5) rotateZ(180deg);
        transform: scale(0.5) rotateZ(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotateZ(360deg);
        transform: scale(1) rotateZ(360deg);
    }
}

.jgallery .zoom-container .nav-bottom>.title h4 {
    margin: 0;
}
.jgallery .zoom-container .nav-bottom>.title .jgallery-desc {
    margin: 5px 0 0;
    font-size: 14px;
    color: #333333;
}
.jgallery .zoom iframe {
    width: 85%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}