@charset "utf-8";

 /*
  slick js
  focuspoint
  grid

  Slidebars
  #cssmenu

  jquery.smartmenus.bootstrap


 /*

/* =============================================================
    slick
 ==============================================================*/

/* 基本------- */
.slick-wp { padding:0; margin:0; position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: none; -webkit-tap-highlight-color: transparent; }
.slick-inner { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.slick-inner:focus { outline: none; }
.slick-loading .slick-inner { background: #ccc url("../images/common/loading_01.gif") center center no-repeat; }
.slick-inner.dragging { cursor: pointer; cursor: hand; }

.slick-wp .slick-inner,
.slick-innerWp,
.slick-list,
.slick-list img { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
/*包圍的框*/
.slick-innerWp { position: relative; left: 0; top: 0; display: block; zoom: 1; }
.slick-innerWp:before, .slick-innerWp:after { content: ""; display: table; }
.slick-innerWp:after { clear: both; }
.slick-loading .slick-innerWp { visibility: hidden; }

.slick-list { float: left; height: 100%; min-height: 1px; display: none; position:relative; }
.slick-initialized .slick-list { display: block; }
.slick-loading .slick-list { visibility: hidden; }
.slick-vertical .slick-list { display: block; height: auto; border: 1px solid transparent; }

/* 左右箭頭*/
.slick-prev, .slick-next {
  z-index:99;
  position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0;
    font-size: 1px;
    cursor: pointer;
    color:#000000;
    top: 50%;
    margin-top: -10px;
    padding: 0;
    border: none;
    outline: none;
 }

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
 opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.7;
}

.slick-prev:before,
.slick-next:before {
 /* font-size: 20px; line-height: 1; */
  color: white;
}

.slick-prev { left: -25px; }
.slick-prev:before { content: "<"; }
.slick-next { right: -25px; }
.slick-next:before { content: ">"; }


/* Dots 圈圈 */
.slick-list {  }
.slick-dots { position: absolute; bottom: 20px; list-style: none; display: block; text-align: center; padding: 0; width: 100%; }
.slick-dots li { position: relative; display: inline-block; height: 20px; width: 20px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-dots li button { border: 0;
    background: #333;
    display: block; height: 20px; width: 20px;
    outline: none; line-height: 0;
    font-size: 1px; color: transparent;
    padding: 5px; cursor: pointer; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; }
.slick-dots li button:before { position: absolute; top: 0; left: 0; content: " "; width: 20px; height: 20px; font-family: "slick"; font-size: 6px; line-height: 20px; text-align: center; color: black; opacity: 0.25; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { color: black; opacity: 0.75; }

/* 其他------- */
/*lazy 圖片等比縮放*/
.slick-list .image img { display: block; }
.slick-list.slick-loading .image img { display: none; }
.slick-list.dragging .image img { pointer-events: none; }

.slick-list .image{}
.slick-list .image img{display:block;width:100%;}
.slick-list .image img.slick-loading{border:0 }
.slick-listr{margin:30px auto 50px;}

/*Fade 大圖等比縮放*/
.imgfade{
  width:60%;
  margin:auto;
}
/*Fade2 大圖等比縮放*/
.imgfadeResize{
  width:60%;
  margin:auto;
}
.imgfadeResize .slick-list{
  height:300px;
}
/*Fade2 大圖等比縮放*/
.imgfadeResizeA{
  width:60%;
  margin:auto;
}
.imgfadeResizeA .slick-list a{
  height:300px;
  position:relative;
  display:block;
}



/*  ----------------------------------------------------------------
  focuspoint
  ---------------------------*/
/* !FOCUSED IMAGES */
/*-----------------------------*/
.focuspoint {
  overflow: hidden;
  position: relative; /*Any position but static should work*/
}
.focuspoint img {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  display: block;
  /* fill and maintain aspect ratio */
  width: auto; height: auto;
  min-width: 100%; min-height: 100%;
  max-height: none; max-width: none;
}


/* =============================================================
    grid
 ==============================================================*/

 .grid {
  list-style: none;
}

.grid li {
  display: block;
  float: left;
  opacity: 0;
}

.grid li.shown,
.no-js .grid li,
.no-cssanimations .grid li {
  opacity: 1;
}

.grid li a{
  outline: none;
  border: none;
  display: block;
  max-width: 100%;
  width: 100%;
  height: 100%;
}

/* Effect 1: opacity */
.grid.effect-1 li.animate {
  -webkit-animation: fadeIn 0.65s ease forwards;
  animation: fadeIn 0.65s ease forwards;
}

@-webkit-keyframes fadeIn {
  0% { }
  100% { opacity: 1; }
}

@keyframes fadeIn {
  0% { }
  100% { opacity: 1; }
}

/* Effect 2: Move Up */
.grid.effect-2 li.animate {
  -webkit-transform: translateY(200px);
  transform: translateY(200px);
  -webkit-animation: moveUp 0.65s ease forwards;
  animation: moveUp 0.65s ease forwards;
}

@-webkit-keyframes moveUp {
  0% { }
  100% { -webkit-transform: translateY(0); opacity: 1; }
}

@keyframes moveUp {
  0% { }
  100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
}

/* Effect 3: Scale up */
.grid.effect-3 li.animate {
  -webkit-transform: scale(0.6);
  transform: scale(0.6);
  -webkit-animation: scaleUp 0.65s ease-in-out forwards;
  animation: scaleUp 0.65s ease-in-out forwards;
}

@-webkit-keyframes scaleUp {
  0% { }
  100% { -webkit-transform: scale(1); opacity: 1; }
}

@keyframes scaleUp {
  0% { }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}

/* Effect 4: fall perspective */
.grid.effect-4 {
  -webkit-perspective: 1300px;
  perspective: 1300px;
}

.grid.effect-4 li.animate {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: translateZ(400px) translateY(300px) rotateX(-90deg);
  transform: translateZ(400px) translateY(300px) rotateX(-90deg);
  -webkit-animation: fallPerspective .8s ease-in-out forwards;
  animation: fallPerspective .8s ease-in-out forwards;
}

@-webkit-keyframes fallPerspective {
  0% { }
  100% { -webkit-transform: translateZ(0px) translateY(0px) rotateX(0deg); opacity: 1; }
}

@keyframes fallPerspective {
  0% { }
  100% { -webkit-transform: translateZ(0px) translateY(0px) rotateX(0deg); transform: translateZ(0px) translateY(0px) rotateX(0deg); opacity: 1; }
}

/* Effect 5: fly (based on http://lab.hakim.se/scroll-effects/ by @hakimel) */
.grid.effect-5 {
  -webkit-perspective: 1300px;
  perspective: 1300px;
}

.grid.effect-5 li.animate {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 50% 50% -300px;
  transform-origin: 50% 50% -300px;
  -webkit-transform: rotateX(-180deg);
  transform: rotateX(-180deg);
  -webkit-animation: fly .8s ease-in-out forwards;
  animation: fly .8s ease-in-out forwards;
}

@-webkit-keyframes fly {
  0% { }
  100% { -webkit-transform: rotateX(0deg); opacity: 1; }
}

@keyframes fly {
  0% { }
  100% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 1; }
}

/* Effect 6: flip (based on http://lab.hakim.se/scroll-effects/ by @hakimel) */
.grid.effect-6 {
  -webkit-perspective: 1300px;
  perspective: 1300px;
}

.grid.effect-6 li.animate {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
  -webkit-transform: rotateX(-80deg);
  transform: rotateX(-80deg);
  -webkit-animation: flip .8s ease-in-out forwards;
  animation: flip .8s ease-in-out forwards;
}

@-webkit-keyframes flip {
  0% { }
  100% { -webkit-transform: rotateX(0deg); opacity: 1; }
}

@keyframes flip {
  0% { }
  100% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg); opacity: 1; }
}

/* Effect 7: helix (based on http://lab.hakim.se/scroll-effects/ by @hakimel) */
.grid.effect-7 {
  -webkit-perspective: 1300px;
  perspective: 1300px;
}

.grid.effect-7 li.animate {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  -webkit-animation: helix .8s ease-in-out forwards;
  animation: helix .8s ease-in-out forwards;
}

@-webkit-keyframes helix {
  0% { }
  100% { -webkit-transform: rotateY(0deg); opacity: 1; }
}

@keyframes helix {
  0% { }
  100% { -webkit-transform: rotateY(0deg); transform: rotateY(0deg); opacity: 1; }
}

/* Effect 8:  */
.grid.effect-8 {
  -webkit-perspective: 1300px;
  perspective: 1300px;
}

.grid.effect-8 li.animate {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: scale(0.4);
  transform: scale(0.4);
  -webkit-animation: popUp .8s ease-in forwards;
  animation: popUp .8s ease-in forwards;
}

@-webkit-keyframes popUp {
  0% { }
  70% { -webkit-transform: scale(1.1); opacity: .8; -webkit-animation-timing-function: ease-out; }
  100% { -webkit-transform: scale(1); opacity: 1; }
}

@keyframes popUp {
  0% { }
  70% { -webkit-transform: scale(1.1); transform: scale(1.1); opacity: .8; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; }
  100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}

@media screen and (max-width: 900px) {
  .grid li {
    width: 50%;
  }
}

@media screen and (max-width: 400px) {
  .grid li {
    width: 100%;
  }
}


/* =============================================================
    slick
 ==============================================================*/

 /* -----------------------------------
 * Slidebars
 * Version 0.10.3
 * http://plugins.adchsm.me/slidebars/
 *
 * Written by Adam Smith
 * http://www.adchsm.com/
 *
 * Released under MIT License
 * http://plugins.adchsm.me/slidebars/license.txt
 *
 * -------------------
 * Slidebars CSS Index
 *
 * 001 - Box Model, Html & Body
 * 002 - Site
 * 003 - Slidebars
 * 004 - Animation
 * 005 - Helper Classes
 *
 * ----------------------------
 * 001 - Box Model, Html & Body
 */

 #sb-site, .sb-site-container, .sb-slidebar {
  /* Set box model to prevent any user added margins or paddings from altering the widths or heights. */
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

html, body {
  width: 100%;
  overflow-x: hidden; /* Stops horizontal scrolling. */
}

html {
  height: 100%; /* Site is as tall as device. */
}

body {
  min-height: 100%;
  height: auto;
  position: relative; /* Required for static Slidebars to function properly. */
}

/* Site scroll locking - prevent site from scrolling when a Slidebar is open, except when static Slidebars are only available. */
html.sb-scroll-lock.sb-active:not(.sb-static) {
  overflow: hidden;
}

/* ----------
 * 002 - Site
 */

#sb-site, .sb-site-container {
  /* You may now use class .sb-site-container instead of #sb-site and use your own id. However please make sure you don't set any of the following styles any differently on your id. */
  width: 100%;
  min-height: 100vh;
  position: relative;
  z-index: 1; /* Site sits above Slidebars */
  background-color: #eee8dc; /* Default background colour, overwrite this with your own css. I suggest moving your html or body background styling here. Making this transparent will allow the Slidebars beneath to be visible. */
}

/* Micro clearfix by Nicolas Gallagher, ensures the site container hits the top and bottom of the screen. */
#sb-site:before, #sb-site:after, .sb-site-container:before, .sb-site-container:after {
  content: ' ';
  display: table;
}

#sb-site:before, #sb-site:after, .sb-site-container:before, .sb-site-container:after {
    clear: both;
}

/* ---------------
 * 003 - Slidebars
 */

.sb-slidebar {
  height: 100%;
  overflow-y: auto; /* Enable vertical scrolling on Slidebars when needed. */
  position: fixed;
  top: 0;
  z-index: 0; /* Slidebars sit behind sb-site. */
  display: none; /* Initially hide the Slidebars. Changed from visibility to display to allow -webkit-overflow-scrolling. */
  background-color: #222222; /* Default Slidebars background colour, overwrite this with your own css. */
}

.sb-slidebar, .sb-slidebar * {
  -webkit-transform: translateZ( 0px ); /* Fixes issues with translated and z-indexed elements on iOS 7. */
}

.sb-left {
  left: 0; /* Set Slidebar to the left. */
}

.sb-right {
  right: 0; /* Set Slidebar to the right. */
}

html.sb-static .sb-slidebar,
.sb-slidebar.sb-static {
  position: absolute; /* Makes Slidebars scroll naturally with the site, and unfixes them for Android Browser < 3 and iOS < 5. */
}

.sb-slidebar.sb-active {
  display: block; /* Makes Slidebars visibile when open. Changed from visibility to display to allow -webkit-overflow-scrolling. */
}

.sb-style-overlay {
  z-index: 9999; /* Set z-index high to ensure it overlays any other site elements. */
}

.sb-momentum-scrolling {
  -webkit-overflow-scrolling: touch; /* Adds native momentum scrolling for iOS & Android devices. */
}

/* Slidebar widths for browsers/devices that don't support media queries. */
  .sb-slidebar {
    width: 30%;
  }

  .sb-width-thin {
    width: 15%;
  }

  .sb-width-wide {
    width: 45%;
  }

@media (max-width: 480px) { /* Slidebar widths on extra small screens. */
  .sb-slidebar {
    width: 70%;
  }

  .sb-width-thin {
    width: 55%;
  }

  .sb-width-wide {
    width: 85%;
  }
}

@media (min-width: 481px) { /* Slidebar widths on small screens. */
  .sb-slidebar {
    width: 55%;
  }

  .sb-width-thin {
    width: 40%;
  }

  .sb-width-wide {
    width: 70%;
  }
}

@media (min-width: 768px) { /* Slidebar widths on medium screens. */
  .sb-slidebar {
    width: 40%;
  }

  .sb-width-thin {
    width: 25%;
  }

  .sb-width-wide {
    width: 55%;
  }
}

@media (min-width: 992px) { /* Slidebar widths on large screens. */
  .sb-slidebar {
    width: 30%;
  }

  .sb-width-thin {
    width: 15%;
  }

  .sb-width-wide {
    width: 45%;
  }
}

@media (min-width: 1200px) { /* Slidebar widths on extra large screens. */
  .sb-slidebar {
    width: 20%;
  }

  .sb-width-thin {
    width: 5%;
  }

  .sb-width-wide {
    width: 35%;
  }
}

/* ---------------
 * 004 - Animation
 */

.sb-slide, #sb-site, .sb-site-container, .sb-slidebar {
  -webkit-transform: translate( 0px );
     -moz-transform: translate( 0px );
       -o-transform: translate( 0px );
          transform: translate( 0px );

  -webkit-transition: -webkit-transform 400ms ease;
     -moz-transition:    -moz-transform 400ms ease;
       -o-transition:      -o-transform 400ms ease;
          transition:         transform 400ms ease;

  -webkit-transition-property: -webkit-transform, left, right; /* Add left/right for Android < 4.4. */
  -webkit-backface-visibility: hidden; /* Prevents flickering. This is non essential, and you may remove it if your having problems with fixed background images in Chrome. */
}

/* --------------------
 * 005 - Helper Classes
 */

.sb-hide {
  display: none; /* Optionally applied to control classes when Slidebars is disabled over a certain width. */
}


/* =============================================================
  #cssmenu
 ==============================================================*/

#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}


#cssmenu ul ul {
  display: none;
}
#cssmenu > ul > li.active > ul {
  display: block;
}
.align-right {
  float: right;
}
#cssmenu > ul > li > a {
  padding: 13px 22px 13px 27px;
  margin-bottom: 5px;
  cursor: pointer;
  z-index: 2;
  font-size: 16px;
  text-decoration: none;
  color: #ffffff !important;

  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  transition: color .2s ease;
}
#cssmenu > ul > li > a:hover {
  color: #d8f3f0;
}
#cssmenu ul > li.has-sub > a:after {
  position: absolute;
  right: 26px;
  top: 19px;
  z-index: 5;
  display: block;
  height: 10px;
  width: 2px;
  background: #ffffff;
  content: "";
  -webkit-transition: all 0.25s ease-out;
  -moz-transition: all 0.25s ease-out;
  -ms-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
#cssmenu ul > li.has-sub > a:before {
  position: absolute;
  right: 22px;
  top: 23px;
  display: block;
  width: 10px;
  height: 2px;
  background: #ffffff;
  content: "";
  -webkit-transition: all 0.25s ease-out;
  -moz-transition: all 0.25s ease-out;
  -ms-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}

#cssmenu ul > li.has-sub.open > a:after{
  opacity: 0;
}

#cssmenu ul > li.has-sub.open > a:after,
#cssmenu ul > li.has-sub.open > a:before {
  /*-webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);*/
}

#cssmenu ul ul li  {
  padding: 0px 0px 0px 20px;
  cursor: pointer;
  z-index: 2;
  font-size: 14px;
  text-decoration: none;
  color: #99b1cf;

  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  transition: color .2s ease;
}


/* ==========================================================================
   jquery.smartmenus.bootstrap
 ==========================================================================*/


 /*
 You probably do not need to edit this at all.

 Add some SmartMenus required styles not covered in Bootstrap 3's default CSS.
 These are theme independent and should work with any Bootstrap 3 theme mod.
*/
/* sub menus arrows */
.navbar-nav .sub-arrow, .navbar-nav .collapsible .sub-arrow {
  position:static;
  margin-top:0;
  margin-right:0;
  margin-left:0px;
  display:inline-block;
  width:0;
  height:0;
  overflow:hidden;
  vertical-align:middle;
  border-top:4px solid;
  border-right:4px dashed transparent;
  border-bottom:4px dashed transparent;
  border-left:4px dashed transparent;
}
.navbar-fixed-bottom .sub-arrow {
  margin-top:-5px;
  border-top:4px dashed transparent;
  border-bottom:4px solid;
}
.navbar-nav ul .sub-arrow {
  position:absolute;
  right:0;
  margin-top:6px;
  margin-right:15px;
  border-top:4px dashed transparent;
  border-bottom:4px dashed transparent;
  border-left:4px solid;
}
.navbar-nav ul a.has-submenu {
  padding-right:30px;
}
/* scrolling arrows for tall menus */
.navbar-nav span.scroll-up, .navbar-nav span.scroll-down {
  position:absolute;
  display:none;
  visibility:hidden;
  height:20px;
  overflow:hidden;
  text-align:center;
}
.navbar-nav span.scroll-up-arrow, .navbar-nav span.scroll-down-arrow {
  position:absolute;
  top:-2px;
  left:50%;
  margin-left:-8px;
  width:0;
  height:0;
  overflow:hidden;
  border-top:7px dashed transparent;
  border-right:7px dashed transparent;
  border-bottom:7px solid;
  border-left:7px dashed transparent;
}
.navbar-nav span.scroll-down-arrow {
  top:6px;
  border-top:7px solid;
  border-right:7px dashed transparent;
  border-bottom:7px dashed transparent;
  border-left:7px dashed transparent;
}
/* add more indentation for 2+ level sub in collapsible mode - Bootstrap normally supports just 1 level sub menus */
.navbar-nav .collapsible ul .dropdown-menu > li > a,
.navbar-nav .collapsible ul .dropdown-menu .dropdown-header {
  padding-left:35px;
}
.navbar-nav .collapsible ul ul .dropdown-menu > li > a,
.navbar-nav .collapsible ul ul .dropdown-menu .dropdown-header {
  padding-left:45px;
}
.navbar-nav .collapsible ul ul ul .dropdown-menu > li > a,
.navbar-nav .collapsible ul ul ul .dropdown-menu .dropdown-header {
  padding-left:55px;
}
.navbar-nav .collapsible ul ul ul ul .dropdown-menu > li > a,
.navbar-nav .collapsible ul ul ul ul .dropdown-menu .dropdown-header {
  padding-left:65px;
}
/* fix SmartMenus sub menus auto width (subMenusMinWidth and subMenusMaxWidth options) */
.navbar-nav .dropdown-menu > li > a {
  white-space:normal;
}
.navbar-nav ul.sm-nowrap > li > a {
  white-space:nowrap;
  outline: none;
}
/* fix .navbar-right subs alignment */
.navbar-right ul.dropdown-menu {
  left:0;
  right:auto;
}
/* The following will make the sub menus collapsible for small screen devices (it's not recommended editing these) */
.navbar-nav .collapsible ul {display:none;position:static !important;top:auto !important;left:auto !important;margin-left:0 !important;margin-top:0 !important;width:auto !important;min-width:0 !important;max-width:none !important;}
.navbar-nav .collapsible ul.sm-nowrap > li > a {
  white-space:normal;
  outline: none;
  }
.navbar-nav .collapsible iframe{display:none;}




/* =============================================================
   fancyBox
 ==============================================================*/

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top;
}

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020;
}

.fancybox-skin {
  position: relative;
  background: #f9f9f9;
  color: #444;
  text-shadow: none;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

.fancybox-opened {
  z-index: 8030;
}

.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
     -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
          box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
  position: relative;
}

.fancybox-inner {
  overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch;
}

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.fancybox-image {
  max-width: 100%;
  max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url('fancybox_sprite.png');
}

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060;
}

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url('fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040;
}

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url('blank.gif'); /* helps IE */
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  z-index: 8040;
}

.fancybox-prev {
  left: 0;
}

.fancybox-next {
  right: 0;
}

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden;
}

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px;
}

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px;
}

.fancybox-nav:hover span {
  visibility: visible;
}

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
    overflow: hidden !important;
    width: auto;
}

.fancybox-lock body {
    overflow: hidden !important;
}

.fancybox-lock-test {
    overflow-y: hidden !important;
}

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: url('fancybox_overlay.png');
}

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050;
}

.fancybox-opened .fancybox-title {
  visibility: visible;
}

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center;
}

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent; /* Fallback for web browsers that doesn't support RGBa */
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 15px;
     -moz-border-radius: 15px;
          border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap;
}

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff;
}

.fancybox-title-inside-wrap {
  padding-top: 10px;
}

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, .8);
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
     only screen and (min--moz-device-pixel-ratio: 1.5),
     only screen and (min-device-pixel-ratio: 1.5){

  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
    background-image: url('fancybox_sprite@2x.png');
    background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
  }

  #fancybox-loading div {
    background-image: url('fancybox_loading@2x.gif');
    background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
  }
}
