/*Owl Carousel v2.3.4*/
.owl-carousel, .owl-carousel .owl-item { -webkit-tap-highlight-color: transparent; position: relative }
.owl-carousel { display: none; width: 100%; z-index: 1 }
.owl-carousel .owl-stage { position: relative; -ms-touch-action: pan-Y; touch-action: manipulation; -moz-backface-visibility: hidden }
.owl-carousel .owl-stage:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0 }
.owl-carousel .owl-stage-outer { position: relative; overflow: hidden; -webkit-transform: translate3d(0,0,0) }
.owl-carousel .owl-item, .owl-carousel .owl-wrapper { -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -webkit-transform: translate3d(0,0,0); -moz-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0) }
.owl-carousel .owl-item { min-height: 1px; float: left; -webkit-backface-visibility: hidden; -webkit-touch-callout: none }
.owl-carousel .owl-item img { display: block; width: 100% }
.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled { display: none }
.no-js .owl-carousel, .owl-carousel.owl-loaded { display: block }
.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev { cursor: pointer; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none }
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot { background: 0 0; color: inherit; border: none; padding: 0 !important; font: inherit }
.owl-carousel.owl-loading { opacity: 0; display: block }
.owl-carousel.owl-hidden { opacity: 0 }
.owl-carousel.owl-refresh .owl-item { visibility: hidden }
.owl-carousel.owl-drag .owl-item { -ms-touch-action: pan-y; touch-action: pan-y; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none }
.owl-carousel.owl-grab { cursor: move; cursor: grab }
.owl-carousel.owl-rtl { direction: rtl }
.owl-carousel.owl-rtl .owl-item { float: right }
.owl-carousel .animated { animation-duration: 1s; animation-fill-mode: both }
.owl-carousel .owl-animated-in { z-index: 0 }
.owl-carousel .owl-animated-out { z-index: 1 }
.owl-carousel .fadeOut { animation-name: fadeOut }

@keyframes fadeOut {
    0% { opacity: 1 }
    100% { opacity: 0 }
}

.owl-height { transition: height .5s ease-in-out }
.owl-carousel .owl-item .owl-lazy { opacity: 0; transition: opacity .4s ease }
.owl-carousel .owl-item .owl-lazy:not([src]), .owl-carousel .owl-item .owl-lazy[src^=""] { max-height: 0 }
.owl-carousel .owl-item img.owl-lazy { transform-style: preserve-3d }
.owl-carousel .owl-video-wrapper { position: relative; height: 100%; background: #000 }
.owl-carousel .owl-video-play-icon { position: absolute; height: 80px; width: 80px; left: 50%; top: 50%; margin-left: -40px; margin-top: -40px; background: url(owl.video.play.png) no-repeat; cursor: pointer; z-index: 1; -webkit-backface-visibility: hidden; transition: transform .1s ease }
.owl-carousel .owl-video-play-icon:hover { -ms-transform: scale(1.3,1.3); transform: scale(1.3,1.3) }
.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn { display: none }
.owl-carousel .owl-video-tn { opacity: 0; height: 100%; background-position: center center; background-repeat: no-repeat; background-size: contain; transition: opacity .4s ease }
.owl-carousel .owl-video-frame { position: relative; z-index: 1; height: 100%; width: 100% }
/*Owl Carousel v2.3.4*/
.owl-theme .owl-dots, .owl-theme .owl-nav { text-align: center; -webkit-tap-highlight-color: transparent }
.owl-theme .owl-nav { margin-top: 10px }
.owl-theme .owl-nav [class*=owl-] { color: #FFF; font-size: 14px; margin: 5px; padding: 4px 7px; background: #D6D6D6; display: inline-block; cursor: pointer; border-radius: 3px }
.owl-theme .owl-nav [class*=owl-]:hover { background: #869791; color: #FFF; text-decoration: none }
.owl-theme .owl-nav .disabled { opacity: .5; cursor: default }
.owl-theme .owl-nav.disabled + .owl-dots { margin-top: 10px }
.owl-theme .owl-dots .owl-dot { display: inline-block; zoom: 1 }
.owl-theme .owl-dots .owl-dot span { width: 10px; height: 10px; margin: 5px 7px; background: #D6D6D6; display: block; -webkit-backface-visibility: visible; transition: opacity .2s ease; border-radius: 30px }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { background: #869791 }
/*magnific-popup*/
.mfp-bg { top: 0; left: 0; width: 100%; height: 100%; z-index: 1042; overflow: hidden; position: fixed; background: #0b0b0b; opacity: .8 }
.mfp-wrap { top: 0; left: 0; width: 100%; height: 100%; z-index: 1043; position: fixed; outline: 0 !important; -webkit-backface-visibility: hidden }
.mfp-container { text-align: center; position: absolute; width: 100%; height: 100%; left: 0; top: 0; padding: 0 8px; box-sizing: border-box }
.mfp-container:before { content: ''; display: inline-block; height: 100%; vertical-align: middle }
.mfp-align-top .mfp-container:before { display: none }
.mfp-content { position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045 }
.mfp-ajax-holder .mfp-content, .mfp-inline-holder .mfp-content { width: 100%; cursor: auto }
.mfp-ajax-cur { cursor: progress }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out }
.mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in }
.mfp-auto-cursor .mfp-content { cursor: auto }
.mfp-arrow, .mfp-close, .mfp-counter, .mfp-preloader { -webkit-user-select: none; -moz-user-select: none; user-select: none }
.mfp-loading.mfp-figure { display: none }
.mfp-hide { display: none !important }
.mfp-preloader { color: #CCC; position: absolute; top: 50%; width: auto; text-align: center; margin-top: -.8em; left: 8px; right: 8px; z-index: 1044 }
.mfp-preloader a { color: #CCC }
.mfp-preloader a:hover { color: #FFF }
.mfp-s-error .mfp-content, .mfp-s-ready .mfp-preloader { display: none }
button.mfp-arrow, button.mfp-close { overflow: visible; cursor: pointer; background: 0 0; border: 0; -webkit-appearance: none; display: block; outline: 0; padding: 0; z-index: 1046; box-shadow: none; touch-action: manipulation }
button::-moz-focus-inner { padding: 0; border: 0 }
.mfp-close { width: 44px; height: 44px; line-height: 44px; position: absolute; right: 0; top: 0; text-decoration: none; text-align: center; opacity: .65; padding: 0 0 18px 10px; color: #FFF; font-style: normal; font-size: 28px; font-family: Arial,Baskerville,monospace }
.mfp-close:focus, .mfp-close:hover { opacity: 1 }
.mfp-close:active { top: 1px }
.mfp-close-btn-in .mfp-close { color: #333 }
.mfp-iframe-holder .mfp-close, .mfp-image-holder .mfp-close { color: #FFF; right: -6px; text-align: right; padding-right: 6px; width: 100% }
.mfp-counter { position: absolute; top: 0; right: 0; color: #CCC; font-size: 12px; line-height: 18px; white-space: nowrap }
.mfp-arrow { position: absolute; opacity: .65; margin: 0; top: 50%; margin-top: -55px; padding: 0; width: 90px; height: 110px; -webkit-tap-highlight-color: transparent }
.mfp-arrow:active { margin-top: -54px }
.mfp-arrow:focus, .mfp-arrow:hover { opacity: 1 }
.mfp-arrow:after, .mfp-arrow:before { content: ''; display: block; width: 0; height: 0; position: absolute; left: 0; top: 0; margin-top: 35px; margin-left: 35px; border: medium inset transparent }
.mfp-arrow:after { border-top-width: 13px; border-bottom-width: 13px; top: 8px }
.mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: .7 }
.mfp-arrow-left { left: 0 }
.mfp-arrow-left:after { border-right: 17px solid #FFF; margin-left: 31px }
.mfp-arrow-left:before { margin-left: 25px; border-right: 27px solid #3F3F3F }
.mfp-arrow-right { right: 0 }
.mfp-arrow-right:after { border-left: 17px solid #FFF; margin-left: 39px }
.mfp-arrow-right:before { border-left: 27px solid #3F3F3F }
.mfp-iframe-holder { padding-top: 40px; padding-bottom: 40px }
.mfp-iframe-holder .mfp-content { line-height: 0; width: 100%; max-width: 900px }
.mfp-iframe-holder .mfp-close { top: -40px }
.mfp-iframe-scaler { width: 100%; height: 0; overflow: hidden; padding-top: 56.25% }
.mfp-iframe-scaler iframe { position: absolute; display: block; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 8px rgba(0,0,0,.6); background: #000 }
img.mfp-img { width: auto; max-width: 100%; height: auto; display: block; line-height: 0; box-sizing: border-box; padding: 40px 0; margin: 0 auto }
.mfp-figure { line-height: 0 }
.mfp-figure:after { content: ''; position: absolute; left: 0; top: 40px; bottom: 40px; display: block; right: 0; width: auto; height: auto; z-index: -1; box-shadow: 0 0 8px rgba(0,0,0,.6); background: #444 }
.mfp-figure small { color: #BDBDBD; display: block; font-size: 12px; line-height: 14px }
.mfp-figure figure { margin: 0 }
.mfp-bottom-bar { margin-top: -36px; position: absolute; top: 100%; left: 0; width: 100%; cursor: auto }
.mfp-title { text-align: left; line-height: 18px; color: #F3F3F3; word-wrap: break-word; padding-right: 36px }
.mfp-image-holder .mfp-content { max-width: 100% }
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer }

@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px) {
    .mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0 }
    .mfp-img-mobile img.mfp-img { padding: 0 }
    .mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0 }
    .mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px }
    .mfp-img-mobile .mfp-bottom-bar { background: rgba(0,0,0,.6); bottom: 0; margin: 0; top: auto; padding: 3px 5px; position: fixed; box-sizing: border-box }
    .mfp-img-mobile .mfp-bottom-bar:empty { padding: 0 }
    .mfp-img-mobile .mfp-counter { right: 5px; top: 3px }
    .mfp-img-mobile .mfp-close { top: 0; right: 0; width: 35px; height: 35px; line-height: 35px; background: rgba(0,0,0,.6); position: fixed; text-align: center; padding: 0 }
}

@media all and (max-width:900px) {
    .mfp-arrow { -webkit-transform: scale(0.75); transform: scale(0.75) }
    .mfp-arrow-left { -webkit-transform-origin: 0; transform-origin: 0 }
    .mfp-arrow-right { -webkit-transform-origin: 100%; transform-origin: 100% }
    .mfp-container { padding-left: 6px; padding-right: 6px }
}
/*Fotorama 4.6.3 | http://fotorama.io/license/*/
.fotorama__arr:focus:after, .fotorama__fullscreen-icon:focus:after, .fotorama__html, .fotorama__img, .fotorama__nav__frame:focus .fotorama__dot:after, .fotorama__nav__frame:focus .fotorama__thumb:after, .fotorama__stage__frame, .fotorama__stage__shaft, .fotorama__video iframe { position: absolute; width: 100%; height: 100%; top: 0; right: 0; left: 0; bottom: 0 }
.fotorama--fullscreen, .fotorama__img { max-width: 99999px !important; max-height: 99999px !important; min-width: 0 !important; min-height: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important }
.fotorama__wrap .fotorama__grab { cursor: move; cursor: -webkit-grab; cursor: -o-grab; cursor: -ms-grab; cursor: grab }
.fotorama__grabbing * { cursor: move; cursor: -webkit-grabbing; cursor: -o-grabbing; cursor: -ms-grabbing; cursor: grabbing }
.fotorama__spinner { position: absolute !important; top: 50% !important; left: 50% !important }
.fotorama__wrap--css3 .fotorama__arr, .fotorama__wrap--css3 .fotorama__fullscreen-icon, .fotorama__wrap--css3 .fotorama__nav__shaft, .fotorama__wrap--css3 .fotorama__stage__shaft, .fotorama__wrap--css3 .fotorama__thumb-border, .fotorama__wrap--css3 .fotorama__video-close, .fotorama__wrap--css3 .fotorama__video-play { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0) }
.fotorama__caption, .fotorama__nav:after, .fotorama__nav:before, .fotorama__stage:after, .fotorama__stage:before, .fotorama__wrap--css3 .fotorama__html, .fotorama__wrap--css3 .fotorama__nav, .fotorama__wrap--css3 .fotorama__spinner, .fotorama__wrap--css3 .fotorama__stage, .fotorama__wrap--css3 .fotorama__stage .fotorama__img, .fotorama__wrap--css3 .fotorama__stage__frame { -webkit-transform: translateZ(0); transform: translateZ(0) }
.fotorama__arr:focus, .fotorama__fullscreen-icon:focus, .fotorama__nav__frame { outline: 0 }
.fotorama__arr:focus:after, .fotorama__fullscreen-icon:focus:after, .fotorama__nav__frame:focus .fotorama__dot:after, .fotorama__nav__frame:focus .fotorama__thumb:after { content: ''; border-radius: inherit; background-color: rgba(0,175,234,.5) }
.fotorama__wrap--video .fotorama__stage, .fotorama__wrap--video .fotorama__stage__frame--video, .fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html, .fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img, .fotorama__wrap--video .fotorama__stage__shaft { -webkit-transform: none !important; transform: none !important }
.fotorama__wrap--css3 .fotorama__nav__shaft, .fotorama__wrap--css3 .fotorama__stage__shaft, .fotorama__wrap--css3 .fotorama__thumb-border { transition-property: -webkit-transform,width; transition-property: transform,width; transition-timing-function: cubic-bezier(0.1,0,.25,1); transition-duration: 0ms }
.fotorama__arr, .fotorama__fullscreen-icon, .fotorama__no-select, .fotorama__video-close, .fotorama__video-play, .fotorama__wrap { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none }
.fotorama__select { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text }
.fotorama__nav, .fotorama__nav__frame { margin: auto; padding: 0 }
.fotorama__caption__wrap, .fotorama__nav__frame, .fotorama__nav__shaft { -moz-box-orient: vertical; display: inline-block; vertical-align: middle; *display: inline; *zoom: 1 }
.fotorama__wrap * { box-sizing: content-box }
.fotorama__caption__wrap { box-sizing: border-box }
.fotorama--hidden, .fotorama__load { position: absolute; left: -99999px; top: -99999px; z-index: -1 }
.fotorama__arr, .fotorama__fullscreen-icon, .fotorama__nav, .fotorama__nav__frame, .fotorama__nav__shaft, .fotorama__stage__frame, .fotorama__stage__shaft, .fotorama__video-close, .fotorama__video-play { -webkit-tap-highlight-color: transparent }
.fotorama__arr, .fotorama__fullscreen-icon, .fotorama__video-close, .fotorama__video-play { background: url(fotorama.png) no-repeat }

@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:2dppx) {
    .fotorama__arr, .fotorama__fullscreen-icon, .fotorama__video-close, .fotorama__video-play { background: url(fotorama@2x.png) 0 0/96px 160px no-repeat }
}

.fotorama__thumb { background-color: #7f7f7f; background-color: rgba(127,127,127,.2) }

@media print {
    .fotorama__arr, .fotorama__fullscreen-icon, .fotorama__thumb-border, .fotorama__video-close, .fotorama__video-play { background: none !important }
}

.fotorama { min-width: 1px; overflow: hidden; }
.fotorama:not(.fotorama--unobtrusive) > *:not(:first-child) { display: none }
.fullscreen { width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; background: #000 }
.fotorama--fullscreen { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; float: none !important; z-index: 2147483647 !important; background: #000; width: 100% !important; height: 100% !important; margin: 0 !important }
.fotorama--fullscreen .fotorama__nav, .fotorama--fullscreen .fotorama__stage { background: #000 }
.fotorama__wrap { -webkit-text-size-adjust: 100%; position: relative; direction: ltr; z-index: 0; margin: 0 auto; }
.fotorama__wrap--rtl .fotorama__stage__frame { direction: rtl }
.fotorama__nav, .fotorama__stage { overflow: hidden; position: relative; max-width: 100% }
.fotorama__wrap--pan-y { -ms-touch-action: pan-y }
.fotorama__wrap .fotorama__pointer { cursor: pointer }
.fotorama__wrap--slide .fotorama__stage__frame { opacity: 1 !important }
.fotorama__stage__frame { overflow: hidden }
.fotorama__stage__frame.fotorama__active { z-index: 8 }
.fotorama__wrap--fade .fotorama__stage__frame { display: none }
.fotorama__wrap--fade .fotorama__fade-front, .fotorama__wrap--fade .fotorama__fade-rear, .fotorama__wrap--fade .fotorama__stage__frame.fotorama__active { display: block; left: 0; top: 0 }
.fotorama__wrap--fade .fotorama__fade-front { z-index: 8 }
.fotorama__wrap--fade .fotorama__fade-rear { z-index: 7 }
.fotorama__wrap--fade .fotorama__fade-rear.fotorama__active { z-index: 9 }
.fotorama__wrap--fade .fotorama__stage .fotorama__shadow { display: none }
.fotorama__img { -ms-filter: "alpha(Opacity=0)"; filter: alpha(opacity=0); opacity: 0; border: none !important; width: 100%; }
.fotorama__error .fotorama__img, .fotorama__loaded .fotorama__img { -ms-filter: "alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1 }
.fotorama--fullscreen .fotorama__loaded--full .fotorama__img, .fotorama__img--full { display: none }
.fotorama--fullscreen .fotorama__loaded--full .fotorama__img--full { display: block }
.fotorama__wrap--only-active .fotorama__nav, .fotorama__wrap--only-active .fotorama__stage { max-width: 99999px !important }
.fotorama__wrap--only-active .fotorama__stage__frame { visibility: hidden }
.fotorama__wrap--only-active .fotorama__stage__frame.fotorama__active { visibility: visible }
.fotorama__nav { font-size: 0; line-height: 0; text-align: center; display: none; white-space: nowrap; z-index: 5 }
.fotorama__nav__shaft { position: relative; left: 0; top: 0; text-align: left }
.fotorama__nav__frame { position: relative; cursor: pointer }
.fotorama__nav--dots { display: block }
.fotorama__nav--dots .fotorama__nav__frame { width: 18px; height: 30px }
.fotorama__nav--dots .fotorama__nav__frame--thumb, .fotorama__nav--dots .fotorama__thumb-border { display: none }
.fotorama__nav--thumbs { display: block }
.fotorama__nav--thumbs .fotorama__nav__frame { padding-left: 0 !important }
.fotorama__nav--thumbs .fotorama__nav__frame:last-child { padding-right: 0 !important }
.fotorama__nav--thumbs .fotorama__nav__frame--dot { display: none }
.fotorama__dot { display: block; width: 4px; height: 4px; position: relative; top: 12px; left: 6px; border-radius: 6px; border: 1px solid #7f7f7f }
.fotorama__nav__frame:focus .fotorama__dot:after { padding: 1px; top: -1px; left: -1px }
.fotorama__nav__frame.fotorama__active .fotorama__dot { width: 0; height: 0; border-width: 3px }
.fotorama__nav__frame.fotorama__active .fotorama__dot:after { padding: 3px; top: -3px; left: -3px }
.fotorama__thumb { overflow: hidden; position: relative; width: 100%; height: 100% }
.fotorama__nav__frame:focus .fotorama__thumb { z-index: 2 }
.fotorama__thumb-border { position: absolute; z-index: 9; top: 0; left: 0; border-style: solid; border-color: #00afea; background-image: linear-gradient(to bottom right,rgba(255,255,255,.25),rgba(64,64,64,.1)) }
.fotorama__caption { position: absolute; z-index: 12; bottom: 0; left: 0; right: 0; font-family: 'Helvetica Neue',Arial,sans-serif; font-size: 14px; line-height: 1.5; color: #000 }
.fotorama__caption a { text-decoration: none; color: #000; border-bottom: 1px solid; border-color: rgba(0,0,0,.5) }
.fotorama__caption a:hover { color: #333; border-color: rgba(51,51,51,.5) }
.fotorama__wrap--rtl .fotorama__caption { left: auto; right: 0 }
.fotorama__wrap--no-captions .fotorama__caption, .fotorama__wrap--video .fotorama__caption { display: none }
.fotorama__caption__wrap { background-color: #fff; background-color: rgba(255,255,255,.9); padding: 5px 10px }

@-webkit-keyframes spinner {
    0% { -webkit-transform: rotate(0); transform: rotate(0) }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg) }
}

@keyframes spinner {
    0% { -webkit-transform: rotate(0); transform: rotate(0) }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg) }
}

.fotorama__wrap--css3 .fotorama__spinner { -webkit-animation: spinner 24s infinite linear; animation: spinner 24s infinite linear }
.fotorama__wrap--css3 .fotorama__html, .fotorama__wrap--css3 .fotorama__stage .fotorama__img { transition-property: opacity; transition-timing-function: linear; transition-duration: .3s; }
.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html, .fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img { -ms-filter: "alpha(Opacity=0)"; filter: alpha(opacity=0); opacity: 0 }
.fotorama__select { cursor: auto }
.fotorama__video { top: 32px; right: 0; bottom: 0; left: 0; position: absolute; z-index: 10 }
@-moz-document url-prefix() {
    .fotorama__active { box-shadow: 0 0 0 transparent }
}
.fotorama__arr, .fotorama__fullscreen-icon, .fotorama__video-close, .fotorama__video-play { position: absolute; z-index: 11; cursor: pointer }
.fotorama__arr { position: absolute; width: 32px; height: 32px; top: 50%; margin-top: -16px }
.fotorama__arr--prev { left: 2px; background-position: 0 0 }
.fotorama__arr--next { right: 2px; background-position: -32px 0 }
.fotorama__arr--disabled { pointer-events: none; cursor: default; *display: none; opacity: .1 }
.fotorama__fullscreen-icon { width: 32px; height: 32px; top: 2px; right: 2px; background-position: 0 -32px; z-index: 20 }
.fotorama__arr:focus, .fotorama__fullscreen-icon:focus { border-radius: 50% }
.fotorama--fullscreen .fotorama__fullscreen-icon { background-position: -32px -32px }
.fotorama__video-play { width: 96px; height: 96px; left: 50%; top: 50%; margin-left: -48px; margin-top: -48px; background-position: 0 -64px; opacity: 0 }
.fotorama__wrap--css2 .fotorama__video-play, .fotorama__wrap--video .fotorama__stage .fotorama__video-play { display: none }
.fotorama__error .fotorama__video-play, .fotorama__loaded .fotorama__video-play, .fotorama__nav__frame .fotorama__video-play { opacity: 1; display: block }
.fotorama__nav__frame .fotorama__video-play { width: 32px; height: 32px; margin-left: -16px; margin-top: -16px; background-position: -64px -32px }
.fotorama__video-close { width: 32px; height: 32px; top: 0; right: 0; background-position: -64px 0; z-index: 20; opacity: 0 }
.fotorama__wrap--css2 .fotorama__video-close { display: none }
.fotorama__wrap--css3 .fotorama__video-close { -webkit-transform: translate3d(32px,-32px,0); transform: translate3d(32px,-32px,0) }
.fotorama__wrap--video .fotorama__video-close { display: block; opacity: 1 }
.fotorama__wrap--css3.fotorama__wrap--video .fotorama__video-close { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0) }
.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr, .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon { opacity: 0 }
.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus, .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus { opacity: 1 }
.fotorama__wrap--video .fotorama__arr, .fotorama__wrap--video .fotorama__fullscreen-icon { opacity: 0 !important }
.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr, .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon { display: none }
.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus, .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus { display: block }
.fotorama__wrap--css2.fotorama__wrap--video .fotorama__arr, .fotorama__wrap--css2.fotorama__wrap--video .fotorama__fullscreen-icon { display: none !important }
.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:not(:focus) { -webkit-transform: translate3d(32px,-32px,0); transform: translate3d(32px,-32px,0) }
.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--prev:not(:focus) { -webkit-transform: translate3d(-48px,0,0); transform: translate3d(-48px,0,0) }
.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--next:not(:focus) { -webkit-transform: translate3d(48px,0,0); transform: translate3d(48px,0,0) }
.fotorama__wrap--css3.fotorama__wrap--video .fotorama__fullscreen-icon { -webkit-transform: translate3d(32px,-32px,0) !important; transform: translate3d(32px,-32px,0) !important }
.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--prev { -webkit-transform: translate3d(-48px,0,0) !important; transform: translate3d(-48px,0,0) !important }
.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--next { -webkit-transform: translate3d(48px,0,0) !important; transform: translate3d(48px,0,0) !important }
.fotorama__wrap--css3 .fotorama__arr:not(:focus), .fotorama__wrap--css3 .fotorama__fullscreen-icon:not(:focus), .fotorama__wrap--css3 .fotorama__video-close:not(:focus), .fotorama__wrap--css3 .fotorama__video-play:not(:focus) { transition-property: -webkit-transform,opacity; transition-property: transform,opacity; transition-duration: .3s }
.fotorama__nav:after, .fotorama__nav:before, .fotorama__stage:after, .fotorama__stage:before { content: ""; display: block; position: absolute; text-decoration: none; top: 0; bottom: 0; width: 10px; height: auto; z-index: 10; pointer-events: none; background-repeat: no-repeat; background-size: 1px 100%,5px 100% }
.fotorama__nav:before, .fotorama__stage:before { background-image: linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.4),transparent); background-position: 0 0,0 0; left: -10px }
.fotorama__nav.fotorama__shadows--left:before, .fotorama__stage.fotorama__shadows--left:before { left: 0 }
.fotorama__nav:after, .fotorama__stage:after { background-image: linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.4),transparent); background-position: 100% 0,100% 0; right: -10px }
.fotorama__nav.fotorama__shadows--right:after, .fotorama__stage.fotorama__shadows--right:after { right: 0 }
.fotorama--fullscreen .fotorama__nav:after, .fotorama--fullscreen .fotorama__nav:before, .fotorama--fullscreen .fotorama__stage:after, .fotorama--fullscreen .fotorama__stage:before, .fotorama__wrap--fade .fotorama__stage:after, .fotorama__wrap--fade .fotorama__stage:before, .fotorama__wrap--no-shadows .fotorama__nav:after, .fotorama__wrap--no-shadows .fotorama__nav:before, .fotorama__wrap--no-shadows .fotorama__stage:after, .fotorama__wrap--no-shadows .fotorama__stage:before { display: none }
@charset "UTF-8";

/*animate.css -http://daneden.me/animate Version - 3.5.2*/

.animated { animation-duration: 1s; animation-fill-mode: both; }

.animated.infinite { animation-iteration-count: infinite; }

.animated.hinge { animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut { animation-duration: .75s; }

@keyframes bounce {
    from, 20%, 53%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); transform: translate3d(0,0,0); }

    40%, 43% { animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); transform: translate3d(0, -30px, 0); }

    70% { animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); transform: translate3d(0, -15px, 0); }

    90% { transform: translate3d(0,-4px,0); }
}

.bounce { animation-name: bounce; transform-origin: center bottom; }

@keyframes flash {
    from, 50%, to { opacity: 1; }

    25%, 75% { opacity: 0; }
}

.flash { animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes pulse {
    from { transform: scale3d(1, 1, 1); }

    50% { transform: scale3d(1.05, 1.05, 1.05); }

    to { transform: scale3d(1, 1, 1); }
}

.pulse { animation-name: pulse; }

@keyframes rubberBand {
    from { transform: scale3d(1, 1, 1); }

    30% { transform: scale3d(1.25, 0.75, 1); }

    40% { transform: scale3d(0.75, 1.25, 1); }

    50% { transform: scale3d(1.15, 0.85, 1); }

    65% { transform: scale3d(.95, 1.05, 1); }

    75% { transform: scale3d(1.05, .95, 1); }

    to { transform: scale3d(1, 1, 1); }
}

.rubberBand { animation-name: rubberBand; }

@keyframes shake {
    from, to { transform: translate3d(0, 0, 0); }

    10%, 30%, 50%, 70%, 90% { transform: translate3d(-10px, 0, 0); }

    20%, 40%, 60%, 80% { transform: translate3d(10px, 0, 0); }
}

.shake { animation-name: shake; }

@keyframes headShake {
    0% { transform: translateX(0); }

    6.5% { transform: translateX(-6px) rotateY(-9deg); }

    18.5% { transform: translateX(5px) rotateY(7deg); }

    31.5% { transform: translateX(-3px) rotateY(-5deg); }

    43.5% { transform: translateX(2px) rotateY(3deg); }

    50% { transform: translateX(0); }
}

.headShake { animation-timing-function: ease-in-out; animation-name: headShake; }

@keyframes swing {
    20% { transform: rotate3d(0, 0, 1, 15deg); }

    40% { transform: rotate3d(0, 0, 1, -10deg); }

    60% { transform: rotate3d(0, 0, 1, 5deg); }

    80% { transform: rotate3d(0, 0, 1, -5deg); }

    to { transform: rotate3d(0, 0, 1, 0deg); }
}

.swing { transform-origin: top center; animation-name: swing; }

@keyframes tada {
    from { transform: scale3d(1, 1, 1); }

    10%, 20% { transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); }

    30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }

    40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }

    to { transform: scale3d(1, 1, 1); }
}

.tada { animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes wobble {
    from { transform: none; }

    15% { transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }

    30% { transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }

    45% { transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }

    60% { transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }

    75% { transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }

    to { transform: none; }
}

.wobble { animation-name: wobble; }

@keyframes jello {
    from, 11.1%, to { transform: none; }

    22.2% { transform: skewX(-12.5deg) skewY(-12.5deg); }

    33.3% { transform: skewX(6.25deg) skewY(6.25deg); }

    44.4% { transform: skewX(-3.125deg) skewY(-3.125deg); }

    55.5% { transform: skewX(1.5625deg) skewY(1.5625deg); }

    66.6% { transform: skewX(-0.78125deg) skewY(-0.78125deg); }

    77.7% { transform: skewX(0.390625deg) skewY(0.390625deg); }

    88.8% { transform: skewX(-0.1953125deg) skewY(-0.1953125deg); }
}

.jello { animation-name: jello; transform-origin: center; }

@keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

    0% { opacity: 0; transform: scale3d(.3, .3, .3); }

    20% { transform: scale3d(1.1, 1.1, 1.1); }

    40% { transform: scale3d(.9, .9, .9); }

    60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }

    80% { transform: scale3d(.97, .97, .97); }

    to { opacity: 1; transform: scale3d(1, 1, 1); }
}

.bounceIn { animation-name: bounceIn; }

@keyframes bounceInDown {
    from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

    0% { opacity: 0; transform: translate3d(0, -3000px, 0); }

    60% { opacity: 1; transform: translate3d(0, 25px, 0); }

    75% { transform: translate3d(0, -10px, 0); }

    90% { transform: translate3d(0, 5px, 0); }

    to { transform: none; }
}

.bounceInDown { animation-name: bounceInDown; }

@keyframes bounceInLeft {
    from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

    0% { opacity: 0; transform: translate3d(-3000px, 0, 0); }

    60% { opacity: 1; transform: translate3d(25px, 0, 0); }

    75% { transform: translate3d(-10px, 0, 0); }

    90% { transform: translate3d(5px, 0, 0); }

    to { transform: none; }
}

.bounceInLeft { animation-name: bounceInLeft; }

@keyframes bounceInRight {
    from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

    from { opacity: 0; transform: translate3d(3000px, 0, 0); }

    60% { opacity: 1; transform: translate3d(-25px, 0, 0); }

    75% { transform: translate3d(10px, 0, 0); }

    90% { transform: translate3d(-5px, 0, 0); }

    to { transform: none; }
}

.bounceInRight { animation-name: bounceInRight; }

@keyframes bounceInUp {
    from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

    from { opacity: 0; transform: translate3d(0, 3000px, 0); }

    60% { opacity: 1; transform: translate3d(0, -20px, 0); }

    75% { transform: translate3d(0, 10px, 0); }

    90% { transform: translate3d(0, -5px, 0); }

    to { transform: translate3d(0, 0, 0); }
}

.bounceInUp { animation-name: bounceInUp; }

@keyframes bounceOut {
    20% { transform: scale3d(.9, .9, .9); }

    50%, 55% { opacity: 1; transform: scale3d(1.1, 1.1, 1.1); }

    to { opacity: 0; transform: scale3d(.3, .3, .3); }
}

.bounceOut { animation-name: bounceOut; }

@keyframes bounceOutDown {
    20% { transform: translate3d(0, 10px, 0); }

    40%, 45% { opacity: 1; transform: translate3d(0, -20px, 0); }

    to { opacity: 0; transform: translate3d(0, 2000px, 0); }
}

.bounceOutDown { animation-name: bounceOutDown; }

@keyframes bounceOutLeft {
    20% { opacity: 1; transform: translate3d(20px, 0, 0); }

    to { opacity: 0; transform: translate3d(-2000px, 0, 0); }
}

.bounceOutLeft { animation-name: bounceOutLeft; }

@keyframes bounceOutRight {
    20% { opacity: 1; transform: translate3d(-20px, 0, 0); }

    to { opacity: 0; transform: translate3d(2000px, 0, 0); }
}

.bounceOutRight { animation-name: bounceOutRight; }

@keyframes bounceOutUp {
    20% { transform: translate3d(0, -10px, 0); }

    40%, 45% { opacity: 1; transform: translate3d(0, 20px, 0); }

    to { opacity: 0; transform: translate3d(0, -2000px, 0); }
}

.bounceOutUp { animation-name: bounceOutUp; }

@keyframes fadeIn {
    from { opacity: 0; }

    to { opacity: 1; }
}

.fadeIn { animation-name: fadeIn; }

@keyframes fadeInDown {
    from { opacity: 0; transform: translate3d(0, -100%, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInDown { animation-name: fadeInDown; }

@keyframes fadeInDownBig {
    from { opacity: 0; transform: translate3d(0, -2000px, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInDownBig { animation-name: fadeInDownBig; }

@keyframes fadeInLeft {
    from { opacity: 0; transform: translate3d(-100%, 0, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInLeft { animation-name: fadeInLeft; }

@keyframes fadeInLeftBig {
    from { opacity: 0; transform: translate3d(-2000px, 0, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInLeftBig { animation-name: fadeInLeftBig; }

@keyframes fadeInRight {
    from { opacity: 0; transform: translate3d(100%, 0, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInRight { animation-name: fadeInRight; }

@keyframes fadeInRightBig {
    from { opacity: 0; transform: translate3d(2000px, 0, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInRightBig { animation-name: fadeInRightBig; }

@keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 100%, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInUp { animation-name: fadeInUp; }

@keyframes fadeInUpBig {
    from { opacity: 0; transform: translate3d(0, 2000px, 0); }

    to { opacity: 1; transform: none; }
}

.fadeInUpBig { animation-name: fadeInUpBig; }

@keyframes fadeOut {
    from { opacity: 1; }

    to { opacity: 0; }
}

.fadeOut { animation-name: fadeOut; }

@keyframes fadeOutDown {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(0, 100%, 0); }
}

.fadeOutDown { animation-name: fadeOutDown; }

@keyframes fadeOutDownBig {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(0, 2000px, 0); }
}

.fadeOutDownBig { animation-name: fadeOutDownBig; }

@keyframes fadeOutLeft {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(-100%, 0, 0); }
}

.fadeOutLeft { animation-name: fadeOutLeft; }

@keyframes fadeOutLeftBig {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(-2000px, 0, 0); }
}

.fadeOutLeftBig { animation-name: fadeOutLeftBig; }

@keyframes fadeOutRight {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(100%, 0, 0); }
}

.fadeOutRight { animation-name: fadeOutRight; }

@keyframes fadeOutRightBig {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(2000px, 0, 0); }
}

.fadeOutRightBig { animation-name: fadeOutRightBig; }

@keyframes fadeOutUp {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(0, -100%, 0); }
}

.fadeOutUp { animation-name: fadeOutUp; }

@keyframes fadeOutUpBig {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(0, -2000px, 0); }
}

.fadeOutUpBig { animation-name: fadeOutUpBig; }

@keyframes flip {
    from { transform: perspective(400px) rotate3d(0, 1, 0, -360deg); animation-timing-function: ease-out; }

    40% { transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); animation-timing-function: ease-out; }

    50% { transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); animation-timing-function: ease-in; }

    80% { transform: perspective(400px) scale3d(.95, .95, .95); animation-timing-function: ease-in; }

    to { transform: perspective(400px); animation-timing-function: ease-in; }
}

.animated.flip { -webkit-backface-visibility: visible; backface-visibility: visible; animation-name: flip; }

@keyframes flipInX {
    from { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); animation-timing-function: ease-in; opacity: 0; }

    40% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); animation-timing-function: ease-in; }

    60% { transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; }

    80% { transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }

    to { transform: perspective(400px); }
}

.flipInX { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; animation-name: flipInX; }

@keyframes flipInY {
    from { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); animation-timing-function: ease-in; opacity: 0; }

    40% { transform: perspective(400px) rotate3d(0, 1, 0, -20deg); animation-timing-function: ease-in; }

    60% { transform: perspective(400px) rotate3d(0, 1, 0, 10deg); opacity: 1; }

    80% { transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }

    to { transform: perspective(400px); }
}

.flipInY { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; animation-name: flipInY; }

@keyframes flipOutX {
    from { transform: perspective(400px); }

    30% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); opacity: 1; }

    to { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); opacity: 0; }
}

.flipOutX { animation-name: flipOutX; -webkit-backface-visibility: visible !important; backface-visibility: visible !important; }

@keyframes flipOutY {
    from { transform: perspective(400px); }

    30% { transform: perspective(400px) rotate3d(0, 1, 0, -15deg); opacity: 1; }

    to { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); opacity: 0; }
}

.flipOutY { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; animation-name: flipOutY; }

@keyframes lightSpeedIn {
    from { transform: translate3d(100%, 0, 0) skewX(-30deg); opacity: 0; }

    60% { transform: skewX(20deg); opacity: 1; }

    80% { transform: skewX(-5deg); opacity: 1; }

    to { transform: none; opacity: 1; }
}

.lightSpeedIn { animation-name: lightSpeedIn; animation-timing-function: ease-out; }

@keyframes lightSpeedOut {
    from { opacity: 1; }

    to { transform: translate3d(100%, 0, 0) skewX(30deg); opacity: 0; }
}

.lightSpeedOut { animation-name: lightSpeedOut; animation-timing-function: ease-in; }

@keyframes rotateIn {
    from { transform-origin: center; transform: rotate3d(0, 0, 1, -200deg); opacity: 0; }

    to { transform-origin: center; transform: none; opacity: 1; }
}

.rotateIn { animation-name: rotateIn; }

@keyframes rotateInDownLeft {
    from { transform-origin: left bottom; transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }

    to { transform-origin: left bottom; transform: none; opacity: 1; }
}

.rotateInDownLeft { animation-name: rotateInDownLeft; }

@keyframes rotateInDownRight {
    from { transform-origin: right bottom; transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }

    to { transform-origin: right bottom; transform: none; opacity: 1; }
}

.rotateInDownRight { animation-name: rotateInDownRight; }

@keyframes rotateInUpLeft {
    from { transform-origin: left bottom; transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }

    to { transform-origin: left bottom; transform: none; opacity: 1; }
}

.rotateInUpLeft { animation-name: rotateInUpLeft; }

@keyframes rotateInUpRight {
    from { transform-origin: right bottom; transform: rotate3d(0, 0, 1, -90deg); opacity: 0; }

    to { transform-origin: right bottom; transform: none; opacity: 1; }
}

.rotateInUpRight { animation-name: rotateInUpRight; }

@keyframes rotateOut {
    from { transform-origin: center; opacity: 1; }

    to { transform-origin: center; transform: rotate3d(0, 0, 1, 200deg); opacity: 0; }
}

.rotateOut { animation-name: rotateOut; }

@keyframes rotateOutDownLeft {
    from { transform-origin: left bottom; opacity: 1; }

    to { transform-origin: left bottom; transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
}

.rotateOutDownLeft { animation-name: rotateOutDownLeft; }

@keyframes rotateOutDownRight {
    from { transform-origin: right bottom; opacity: 1; }

    to { transform-origin: right bottom; transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
}

.rotateOutDownRight { animation-name: rotateOutDownRight; }

@keyframes rotateOutUpLeft {
    from { transform-origin: left bottom; opacity: 1; }

    to { transform-origin: left bottom; transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
}

.rotateOutUpLeft { animation-name: rotateOutUpLeft; }

@keyframes rotateOutUpRight {
    from { transform-origin: right bottom; opacity: 1; }

    to { transform-origin: right bottom; transform: rotate3d(0, 0, 1, 90deg); opacity: 0; }
}

.rotateOutUpRight { animation-name: rotateOutUpRight; }

@keyframes hinge {
    0% { transform-origin: top left; animation-timing-function: ease-in-out; }

    20%, 60% { transform: rotate3d(0, 0, 1, 80deg); transform-origin: top left; animation-timing-function: ease-in-out; }

    40%, 80% { transform: rotate3d(0, 0, 1, 60deg); transform-origin: top left; animation-timing-function: ease-in-out; opacity: 1; }

    to { transform: translate3d(0, 700px, 0); opacity: 0; }
}

.hinge { animation-name: hinge; }

@keyframes jackInTheBox {
    from { opacity: 0; transform: scale(0.1) rotate(30deg); transform-origin: center bottom; }

    50% { transform: rotate(-10deg); }

    70% { transform: rotate(3deg); }

    to { opacity: 1; transform: scale(1); }
}

.jackInTheBox { animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollIn {
    from { opacity: 0; transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }

    to { opacity: 1; transform: none; }
}

.rollIn { animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollOut {
    from { opacity: 1; }

    to { opacity: 0; transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); }
}

.rollOut { animation-name: rollOut; }

@keyframes zoomIn {
    from { opacity: 0; transform: scale3d(.3, .3, .3); }

    50% { opacity: 1; }
}

.zoomIn { animation-name: zoomIn; }

@keyframes zoomInDown {
    from { opacity: 0; transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }

    60% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}

.zoomInDown { animation-name: zoomInDown; }

@keyframes zoomInLeft {
    from { opacity: 0; transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }

    60% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}

.zoomInLeft { animation-name: zoomInLeft; }

@keyframes zoomInRight {
    from { opacity: 0; transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }

    60% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}

.zoomInRight { animation-name: zoomInRight; }

@keyframes zoomInUp {
    from { opacity: 0; transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }

    60% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}

.zoomInUp { animation-name: zoomInUp; }

@keyframes zoomOut {
    from { opacity: 1; }

    50% { opacity: 0; transform: scale3d(.3, .3, .3); }

    to { opacity: 0; }
}

.zoomOut { animation-name: zoomOut; }

@keyframes zoomOutDown {
    40% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }

    to { opacity: 0; transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); transform-origin: center bottom; animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}

.zoomOutDown { animation-name: zoomOutDown; }

@keyframes zoomOutLeft {
    40% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); }

    to { opacity: 0; transform: scale(.1) translate3d(-2000px, 0, 0); transform-origin: left center; }
}

.zoomOutLeft { animation-name: zoomOutLeft; }

@keyframes zoomOutRight {
    40% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); }

    to { opacity: 0; transform: scale(.1) translate3d(2000px, 0, 0); transform-origin: right center; }
}

.zoomOutRight { animation-name: zoomOutRight; }

@keyframes zoomOutUp {
    40% { opacity: 1; transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }

    to { opacity: 0; transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); transform-origin: center bottom; animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}

.zoomOutUp { animation-name: zoomOutUp; }

@keyframes slideInDown {
    from { transform: translate3d(0, -100%, 0); visibility: visible; }

    to { transform: translate3d(0, 0, 0); }
}

.slideInDown { animation-name: slideInDown; }

@keyframes slideInLeft {
    from { transform: translate3d(-100%, 0, 0); visibility: visible; }

    to { transform: translate3d(0, 0, 0); }
}

.slideInLeft { animation-name: slideInLeft; }

@keyframes slideInRight {
    from { transform: translate3d(100%, 0, 0); visibility: visible; }

    to { transform: translate3d(0, 0, 0); }
}

.slideInRight { animation-name: slideInRight; }

@keyframes slideInUp {
    from { transform: translate3d(0, 100%, 0); visibility: visible; }

    to { transform: translate3d(0, 0, 0); }
}

.slideInUp { animation-name: slideInUp; }

@keyframes slideOutDown {
    from { transform: translate3d(0, 0, 0); }

    to { visibility: hidden; transform: translate3d(0, 100%, 0); }
}

.slideOutDown { animation-name: slideOutDown; }

@keyframes slideOutLeft {
    from { transform: translate3d(0, 0, 0); }

    to { visibility: hidden; transform: translate3d(-100%, 0, 0); }
}

.slideOutLeft { animation-name: slideOutLeft; }

@keyframes slideOutRight {
    from { transform: translate3d(0, 0, 0); }

    to { visibility: hidden; transform: translate3d(100%, 0, 0); }
}

.slideOutRight { animation-name: slideOutRight; }

@keyframes slideOutUp {
    from { transform: translate3d(0, 0, 0); }

    to { visibility: hidden; transform: translate3d(0, -100%, 0); }
}

.slideOutUp { animation-name: slideOutUp; }
 