diff --git a/Gruntfile.js b/Gruntfile.js
index f71e5ef..9a89b79 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -53,7 +53,7 @@ module.exports = function(grunt) {
       options: {
         syntax: "less"
       },
-      src: ["less/**/*.less"]
+      src: ["less/components-new/**/*.less"]
     },
 
     watch: {
diff --git a/css/style.css b/css/style.css
index 5ef2eb8..3fc3aff 100644
--- a/css/style.css
+++ b/css/style.css
@@ -7,1413 +7,1475 @@
 }
 /*
 
-  Stylopis pro Fancygallery (prototyp)
-  Knihovna pro zobrazovani galerii obrazku.
-  Verze z 20. 10. 2011
-  Autor: Martin Michalek, michalek@shortcat.cz
-
-  Obsah:
-  1) jquery.fancybox.mod_shortcat.css     Shortcat vzhled FancyBoxu
-  2) jquery.jcarousel.css                 Zakladni stylopis pro jCarousel
-  3) jquery.jcarousel.skin.shortcat.css   Shortcat vizual pro jCarousel
-  4) fancygallery.css                     Styly pro FancyGallery, ktere neobsahuje Fancybox Shortcat mod
-
-  Z-indexy:
-  1110	#fancybox-loading, #fancybox-thumbnails .jcarousel-item .hover-image (FB Gallery mouseover)
-  1109	#fancybox-inner:hover (Hover nad obrazkem)
-  1108	#fancybox-thumbnails (FB Gallery lista s thumbnaily)
-  1108	#fancybox-close
-  1107	#fancybox-left, #fancybox-right, #fancybox-left-ico, #fancybox-right-ico
-  1102	#fancybox-title
-  1101	#fancybox-wrap
-  1100	#fancybox-overlay
+Reset
+=====
 
 */
-/* =================================================================
-   1) jquery.fancybox.mod_shortcat.css
-   Shortcat vzhled FancyBoxu
-*/
-/*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- *
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- *
- * Version: 1.3.1 (05/03/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
- */
-/* Do not show scrollbars when FB is open */
-body.fancybox-active {
-  overflow: hidden;
-}
-#fancybox-loading {
-  position: fixed;
-  top: 50%;
-  left: 50%;
-  height: 40px;
-  width: 40px;
-  margin-top: -20px;
-  margin-left: -20px;
-  cursor: pointer;
-  overflow: hidden;
-  z-index: 1104;
-  display: none;
-}
-#fancybox-loading div {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 40px;
-  height: 480px;
-  background-image: url('../../images/fancygallery/fancybox.png');
-}
-#fancybox-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  right: 0;
-  background: #000;
-  z-index: 1100;
-  display: none;
-}
-#fancybox-tmp {
-  padding: 0;
+body {
   margin: 0;
+  padding: 0;
+}
+a img,
+img {
   border: 0;
-  overflow: auto;
-  display: none;
 }
-#fancybox-wrap {
-  position: absolute;
-  top: 0;
-  left: 0;
+form {
   margin: 0;
-  padding: 20px;
-  z-index: 1101;
-  display: none;
+  padding: 0;
 }
-#fancybox-outer {
-  position: relative;
-  width: 100%;
-  height: 100%;
-  background: #FFF;
+img {
+  -ms-interpolation-mode: bicubic;
+  max-width: 100%;
+  height: auto;
 }
-#fancybox-inner {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: 0;
-  outline: none;
-  overflow: hidden;
+/*
+
+Vzhled body
+===========
+
+*/
+body {
+  background: #eee;
+  color: #000;
 }
-#fancybox-inner:hover {
-  z-index: 1109;
+@media only screen and (min-width: 768px) {
+  body {
+    padding-bottom: 50px;
+  }
 }
-#fancybox-hide-sel-frame {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background: transparent;
+@media only screen and (min-width: 768px) {
+  body.ajax {
+    background: #fff;
+    padding: 0;
+  }
+  body.ajax .container {
+    -webkit-box-shadow: none;
+            box-shadow: none;
+  }
 }
-#fancybox-close {
-  position: fixed;
-  right: 22px;
-  top: 24px;
-  width: 37px;
-  height: 37px;
-  background-image: url('../../images/fancygallery/fancy_close.gif');
-  background-position: top left;
-  cursor: pointer;
-  z-index: 1108;
-  display: none;
+/*
+
+Typografie a linearni design
+============================
+
+*/
+body,
+input,
+textarea,
+option,
+select {
+  font: 12px / 18px Arial, Helvetica, sans-serif;
 }
-#fancybox-close:hover {
-  background-position: bottom left;
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-family: Arial, Helvetica, sans-serif;
 }
-#fancybox_error {
-  color: #444;
-  font: normal 12px/20px Arial;
-  padding: 7px;
-  margin: 0;
+a {
+  color: #0eb10e;
+  text-decoration: none;
 }
-#fancybox-content {
-  height: auto;
-  width: auto;
-  padding: 0;
-  margin: 0;
+a:hover,
+a:focus,
+a:active {
+  color: #075207;
+  text-decoration: underline;
 }
-#fancybox-img {
-  width: 100%;
-  height: 100%;
+p,
+ul,
+ol,
+table,
+blockquote {
   padding: 0;
   margin: 0;
-  border: none;
-  outline: none;
-  line-height: 0;
-  vertical-align: top;
-  -ms-interpolation-mode: bicubic;
+  margin-bottom: 18px;
 }
-#fancybox-frame {
-  position: relative;
-  width: 100%;
-  height: 100%;
-  border: none;
-  display: block;
+h1,
+.h1 {
+  font-size: 24px;
+  line-height: 28px;
+  margin: 0 0 27px 5px;
+  color: #666;
+  font-weight: normal;
 }
-#fancybox-title {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  z-index: 1102;
+@media only screen and (min-width: 768px) {
+  h1,
+  .h1 {
+    font-size: 24px;
+    line-height: 28px;
+  }
 }
-.fancybox-title-inside {
-  padding: 10px 0;
-  text-align: center;
-  color: #333;
+h2,
+.h2 {
+  font-size: 16px;
+  line-height: 20px;
+  margin: 0 0 9px 0;
+  padding: 0;
+  font-weight: normal;
+  color: #999;
 }
-.fancybox-title-outside {
-  padding-top: 5px;
-  color: #FFF;
-  text-align: center;
+@media only screen and (min-width: 768px) {
+  h2,
+  .h2 {
+    font-size: 18px;
+    line-height: 24px;
+  }
 }
-.fancybox-title-over {
-  color: #FFF;
-  text-align: left;
+h3,
+.h3 {
+  display: block;
+  font-size: 14px;
+  line-height: 18px;
+  margin: 0 0 4px 0;
+  padding: 0;
+  font-weight: normal;
+  color: #666;
 }
-#fancybox-title-over {
-  padding: 10px;
-  background-image: url('../../images/fancygallery/fancy_title_over.png');
+h4,
+.h4 {
   display: block;
+  font-size: 12px;
+  line-height: 18px;
+  margin: 0;
+  padding: 0;
+  font-weight: bold;
+  color: #666;
 }
-/* Outer title content */
-#fancybox-title-wrap {
-  position: fixed;
-  left: 22px;
-  top: 24px;
-  width: auto;
-  max-width: 400px;
-  max-height: 80%;
-  overflow-y: auto;
-  display: inline-block;
-  padding: 8px 10px;
-  background-image: url('../../images/fancygallery/fancy_title_over.png');
-}
-#fancybox-title-left,
-#fancybox-title-right {
-  display: none;
-}
-#fancybox-title-main {
-  color: #fff;
-  text-align: left;
-  display: block;
-  opacity: 1;
-}
-/* Left and right navigation arrows */
-#fancybox-left,
-#fancybox-right {
-  position: fixed;
-  bottom: 0px;
-  height: 100%;
-  width: 35%;
-  cursor: pointer;
-  outline: none;
-  background-image: url('../../images/fancygallery/blank.gif');
-  z-index: 1107;
-  display: none;
+h2 small,
+h3 small {
+  font-size: 12px;
+  line-height: 18px;
+  color: #999;
 }
-#fancybox-left {
-  left: 0px;
+big {
+  font-size: 14px;
+  line-height: 18px;
+  font-weight: bold;
 }
-#fancybox-right {
-  right: 0px;
+ul,
+ol {
+  margin: 0 0 18px 14px;
+  padding: 0 0 0 0;
+  color: #ccc;
 }
-#fancybox-left-ico,
-#fancybox-right-ico {
-  position: absolute;
-  top: 50%;
-  left: -9999px;
-  width: 61px;
-  height: 77px;
-  margin-top: -30px;
-  cursor: pointer;
-  z-index: 1107;
-  display: block;
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+  margin-bottom: 0;
 }
-#fancybox-left-ico {
-  background-image: url('../../images/fancygallery/fancy_nav_left.png');
-  left: 0px;
+ul {
+  list-style-type: square;
 }
-#fancybox-right-ico {
-  background-image: url('../../images/fancygallery/fancy_nav_right.png');
-  left: auto;
-  right: 0px;
-}
-#fancybox-left:hover #fancybox-left-ico,
-#fancybox-left:focus #fancybox-left-ico,
-#fancybox-left:active #fancybox-left-ico,
-#fancybox-right:hover #fancybox-right-ico,
-#fancybox-right:focus #fancybox-right-ico,
-#fancybox-right:active #fancybox-right-ico {
-  background-position: 0 -77px;
+ul li,
+ol li {
+  color: #000;
 }
-/* Shadows are off */
-.fancy-bg {
-  display: none;
+@media only screen and (min-width: 768px) {
+  h2 small.float_right {
+    margin-top: 5px;
+  }
 }
-/* =================================================================
-   2) jquery.jcarousel.css
-   Zakladni stylopis pro jCarousel
+/*
+Kontejner layoutu
+=================
 */
-/**
- * This <div> element is wrapped by jCarousel around the list
- * and has the classname "jcarousel-container".
- */
-.jcarousel-container {
+.container {
+  width: 1000px;
+  max-width: 100%;
+  background: #fff url(../../images/layout/sidebox-bg.gif) repeat-y right top;
+  margin: 0 auto;
+  margin-bottom: 15px;
   position: relative;
+  -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
+          box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
 }
-.jcarousel-clip {
-  z-index: 2;
-  padding: 0;
-  margin: 0;
-  overflow: hidden;
-  position: relative;
+/* # Layout
+
+Obsah ma celkem 940px (1000px + 30px paddingy).
+
+## TODO
+
+- refaktor po prechodu na novou strukturu, viz dole
+- % jednotky
+
+## Struktura layoutu
+
+Stará:
+
+```
+#container
+  .head
+  #content
+    #content_head
+    #content_body
+      (.row)
+        .column|.double_column|.triple_column|.half_column
+  #footNew
+  #footBottom
+```
+
+Nová (od 12/2015)
+
+```
+.container
+  .head
+  .content
+    .content__head
+    .content__body
+      (.row)
+        .column|.double_column|.triple_column|.half_column
+  #footNew
+  #footBottom
+```
+
+*/
+.container {
+  background-image: none !important;
+  /* DEPRECATED if newlayout */
 }
-.jcarousel-list {
-  z-index: 1;
-  overflow: hidden;
-  position: relative;
-  top: 0;
-  left: 0;
+.container.ajax {
+  -webkit-box-shadow: none;
+          box-shadow: none;
   margin: 0;
-  padding: 0;
-}
-.jcarousel-list li,
-.jcarousel-item {
-  float: left;
-  list-style: none;
-  /* We set the width/height explicitly. No width/height causes infinite loops. */
-  width: 75px;
-  height: 75px;
 }
-/**
- * The buttons are added dynamically by jCarousel before
- * the <ul> list (inside the <div> described above) and
- * have the classnames "jcarousel-next" and "jcarousel-prev".
- */
-.jcarousel-next {
-  z-index: 3;
-  display: none;
+.content {
+  padding: 13px 7px 36px;
 }
-.jcarousel-prev {
-  z-index: 3;
-  display: none;
+@media only screen and (min-width: 1180px) {
+  .content {
+    padding: 22px 23px 36px;
+  }
 }
-/* =================================================================
-   3) jquery.jcarousel.skin.shortcat.css
-   Shortcat vizual pro jCarousel
-*/
-/*
-Stylesheet for jQuery carousel - Shortcat skin
-Author:        Martin Michalek, Studio Shortcat, michalek@shortcat.cz
-*/
-.jcarousel-skin-shortcat .jcarousel-container {
-  top: -2px;
-  left: -2px;
-  position: relative;
-  margin: 0 10px;
-  width: 897px;
+.show_grid .container {
+  background: #fff url(grid.png) repeat-y 0 0;
 }
-.jcarousel-skin-shortcat .jcarousel-container-horizontal {
-  padding: 0 40px;
-  width: auto;
+@media only screen and (max-width: 767px) {
+  /*
+  Layout obsahu (#content)
+  - 7px levy margin
+
+  Zakladni obsahovy sloupec (.column):
+  - 304px width
+
+  Obrazky maji pomer 16/9
+  - jeden sloupec: 304x171
+  */
+  .container {
+    width: auto;
+    background-image: none !important;
+    /* DEPRECATED if newlayout */
+  }
+  .show_grid .container {
+    background-position: -20px 0;
+  }
 }
-.jcarousel-skin-shortcat .jcarousel-clip-horizontal {
-  height: 40px;
-  width: auto;
+/* --- Telo dokumentu - hlavni informace, jez se budou prenaset do Fancyboxu --- */
+.content__body {
+  *zoom: 1;
+  margin-bottom: 18px;
 }
-.jcarousel-skin-shortcat .jcarousel-item,
-.jcarousel-skin-shortcat .jcarousel-item img {
-  width: 40px;
-  height: 40px;
+.content__body:before,
+.content__body:after {
+  content: " ";
+  display: table;
 }
-.jcarousel-skin-shortcat .jcarousel-item img {
-  opacity: .5;
-  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
-  filter: alpha(opacity=50);
+.content__body:after {
+  clear: both;
 }
-.jcarousel-skin-shortcat .jcarousel-item.active img,
-.jcarousel-skin-shortcat .jcarousel-item:hover img {
-  opacity: 1;
-  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-  filter: alpha(opacity=100);
+.content__body:before,
+.content__body:after {
+  display: table;
+  content: "";
+  line-height: 0;
 }
-.jcarousel-skin-shortcat .jcarousel-item-horizontal {
-  margin-right: 3px;
+.content__body:after {
+  clear: both;
 }
-.jcarousel-skin-shortcat .jcarousel-item-placeholder {
-  background: #fff;
-  color: #000;
+.content__body h1 {
+  margin-left: 0;
+  color: #999;
 }
-/**
- *  Horizontal Buttons
- */
-.jcarousel-skin-shortcat .jcarousel-next-horizontal {
-  position: absolute;
-  top: 0px;
-  right: 10px;
-  width: 33px;
-  height: 40px;
-  cursor: pointer;
-  background: transparent url(../../images/fancygallery/fancygallery_next.gif) no-repeat top right;
+/*
+## Řádka layoutu je `.row`
+*/
+.row {
+  margin-bottom: 18px;
+  *zoom: 1;
 }
-.jcarousel-skin-shortcat .jcarousel-next-horizontal:hover,
-.jcarousel-skin-shortcat .jcarousel-next-horizontal.hover,
-.jcarousel-skin-shortcat .jcarousel-next-horizontal:active {
-  background-position: top right;
+.row:before,
+.row:after {
+  content: " ";
+  display: table;
 }
-.jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal,
-.jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal:hover,
-.jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal:active {
-  cursor: default;
-  background-image: none;
+.row:after {
+  clear: both;
 }
-.jcarousel-skin-shortcat .jcarousel-prev-horizontal {
-  position: absolute;
-  top: 0px;
-  left: 10px;
-  width: 33px;
-  height: 40px;
-  cursor: pointer;
-  background: transparent url(../../images/fancygallery/fancygallery_prev.gif) no-repeat 0 0;
+.row:before,
+.row:after {
+  display: table;
+  content: "";
+  line-height: 0;
 }
-.jcarousel-skin-shortcat .jcarousel-prev-horizontal:hover,
-.jcarousel-skin-shortcat .jcarousel-prev-horizontal.hover,
-.jcarousel-skin-shortcat .jcarousel-prev-horizontal:active {
-  background-position: 0 0;
-}
-.jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal,
-.jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal:hover,
-.jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal:active {
-  cursor: default;
-  background-image: none;
-}
-/* =================================================================
-   4) fancygallery.css
-   Styly pro FancyGallery, ktere neobsahuje Fancybox Shortcat mod
-*/
-/* Vrstva s thumbnaily  */
-#fancybox-thumbnails {
-  position: fixed;
-  z-index: 1108;
-  bottom: 20px;
-  left: 0px;
-  width: 100%;
-  height: 40px;
-}
-/* == Vrstva s thumbnaily v pripade kdy zobrazujeme vetsi obrazek na mouseover == */
-#fancybox-thumbnails,
-#fancybox-thumbnails .jcarousel-skin-shortcat .jcarousel-clip-horizontal {
-  height: 129px;
-  /* 40px maly nahled + 75px mouseover nahled + 4px border + 10px sipka */
-}
-/* Vetsi obrazek zobrazovany na mouseover */
-#fancybox-thumbnails .jcarousel-item .hover-image {
-  width: 75px;
-  height: 86px;
-  padding: 2px;
-  position: relative;
-  top: -129px;
-  left: -20px;
-  display: none;
-  background-image: url(../../images/fancygallery/fancygallery_thumbnail_hover.gif);
-  background-repeat: no-repeat;
-}
-#fancybox-thumbnails .jcarousel-item .hover-image img {
-  width: 75px;
-  height: 75px;
-  opacity: 1;
-  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-  filter: alpha(opacity=100);
-}
-#fancybox-thumbnails .jcarousel-item:hover .hover-image {
-  display: block;
-}
-#fancybox-thumbnails .jcarousel-item,
-#fancybox-thumbnails .jcarousel-next-horizontal,
-#fancybox-thumbnails .jcarousel-prev-horizontal {
-  margin-top: 89px;
-  /* 75px mouseover nahled + 4px border + 10px sipka */
+.row:after {
+  clear: both;
 }
 /*
-Zkousime dostat mouseover ven z rodicovskeho overflow:hidden prvku:
-Rodicum nastavime position: static a synovi pak position: absolute.
-(Viz http://www.vzhurudolu.cz/test/override-overflow-hidden/)
+`.row.row-limited` nemá zprava díru pro poslední column. Využíváme ho pak například
+pro block grid komponentu.
+
+Vyšší specifičnost kvůli kolizím např. s `.out-of-box`.
 */
-#fancybox-thumbnails .jcarousel-clip,
-#fancybox-thumbnails .jcarousel-list {
-  position: static;
-}
-#fancybox-thumbnails .jcarousel-item .hover-image {
-  position: absolute;
-  top: auto;
-  left: auto;
-  margin-top: -129px;
-  margin-left: -20px;
-  z-index: 1110;
-}
-#fancybox-thumbnails.scrolling .jcarousel-clip,
-#fancybox-thumbnails.scrolling .jcarousel-list {
-  position: relative;
-}
-/* Pokud v titulku fotky zobrazujeme i titulek setu, zmenime jeho barvu */
-#fancybox-title-main .set {
-  color: #999;
+@media only screen and (min-width: 768px) {
+  .row.row-limited {
+    margin-right: 22px;
+  }
 }
 /*
+## Základní layout je 3sloupcový (s 6sloupcovou alternativou)
 
-Reset
-=====
+Mikrosloupec (v obsahu je jich 6, .half_column): 145px a 14px pravy margin
+
+Zakladni obsahovy sloupec (v obsahu jsou 3, tridy .column, .double_column):
+304px width a 14px pravy margin, na mobilech 7px margin ze stran a auto sirka
 
+Obrazky maji pomer 16/9  (?? TODO:  realne v .figure pozame 4:3,
+v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
 */
-body {
-  margin: 0;
-  padding: 0;
-}
-a img,
-img {
-  border: 0;
-}
-form {
-  margin: 0;
-  padding: 0;
+@media only screen and (min-width: 768px) {
+  .column {
+    float: left;
+    width: calc(97% / 3);
+    margin-right: 1.5%;
+    overflow: hidden;
+  }
 }
-img {
-  -ms-interpolation-mode: bicubic;
-  max-width: 100%;
-  height: auto;
+@media only screen and (min-width: 768px) {
+  .double_column {
+    float: left;
+    width: calc((97% / 3) * 2);
+    margin-right: 1.5%;
+  }
 }
-/*
-
-Vzhled body
-===========
-
-*/
-body {
-  background: #eee;
-  color: #000;
+@media only screen and (min-width: 768px) {
+  .triple_column {
+    width: 100%;
+  }
 }
 @media only screen and (min-width: 768px) {
-  body {
-    padding-bottom: 50px;
+  .half_column {
+    float: left;
+    width: 138px;
+    margin-right: 14px;
   }
 }
+.column--last {
+  margin-right: 0;
+}
 @media only screen and (min-width: 768px) {
-  body.ajax {
-    background: #fff;
-    padding: 0;
+  .content.without_top_pad {
+    padding-top: 0;
+    margin-top: -1px;
   }
-  body.ajax .container {
-    -webkit-box-shadow: none;
-            box-shadow: none;
+  .row {
+    margin-bottom: 36px;
+  }
+  .column.centered,
+  .half_column.centered,
+  .double_column.centered {
+    margin-left: auto;
+    margin-right: auto;
+    float: none;
+  }
+  .offset_half {
+    margin-left: 159px;
+  }
+  .offset_one {
+    margin-left: 318px;
+  }
+  .double_column.with_text img {
+    max-width: 100%;
   }
 }
-/*
+/* ================================================================================
+   Vrstva pro mobilni zarizeni
+   ...........................
 
-Typografie a linearni design
-============================
+   Obsahuje:
+   - Layout vsech webu
+   - Layout uvnitr stranky
+   - Stary layout uvnitr stranky (docasny)
 
 */
-body,
-input,
-textarea,
-option,
-select {
-  font: 12px/18px Arial, Helvetica, sans-serif;
-}
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-family: Arial, Helvetica, sans-serif;
+@media only screen and (max-width: 767px) {
+  /* Nezobrazujeme cely Likebox, jen maly buttonek */
+  #facebookLikeBox {
+    display: none;
+  }
+  #facebookButton {
+    display: block;
+    text-align: center;
+  }
+  /* --- Layout uvnitr stranky --- */
+  .column,
+  .double_column {
+    margin-right: 0;
+    width: auto;
+  }
 }
-a {
-  color: #0EB10E;
-  text-decoration: none;
+/* @media screen and (max-width: 640px) */
+.columns_as_list_item {
+  padding-top: 9px;
 }
-a:hover,
-a:focus,
-a:active {
-  color: #075207;
-  text-decoration: underline;
+.column.as_list_item {
+  position: relative;
+  overflow: hidden;
+  margin-bottom: 14px;
 }
-p,
-ul,
-ol,
-table,
-blockquote {
-  padding: 0;
-  margin: 0;
-  margin-bottom: 18px;
+.column.as_list_item .image {
+  margin-bottom: -4px;
 }
-h1,
-.h1 {
-  font-size: 24px;
-  line-height: 28px;
-  margin: 0 0 27px 5px;
-  color: #666;
-  font-weight: normal;
+.column.as_list_item .image img {
+  width: 100%;
+  max-width: auto;
 }
-@media only screen and (min-width: 768px) {
-  h1,
-  .h1 {
-    font-size: 24px;
-    line-height: 28px;
-  }
+.column.as_list_item .text {
+  position: absolute;
+  margin-top: -38px;
+  top: 100%;
+  background: #000000;
+  background: rgba(0, 0, 0, 0.66);
+  color: #fff;
+  padding: 1px 9px 9px 9px;
+  -webkit-transition: all 0.15s ease-out;
+  transition: all 0.15s ease-out;
 }
-h2,
-.h2 {
-  font-size: 16px;
-  line-height: 20px;
-  margin: 0 0 9px 0;
-  padding: 0;
-  font-weight: normal;
-  color: #999;
+.column.as_list_item:hover .text,
+.column.as_list_item:focus .text,
+.column.as_list_item:active .text {
+  top: 0;
+  margin-top: 0;
+  height: 100%;
+  overflow: hidden;
 }
-@media only screen and (min-width: 768px) {
-  h2,
-  .h2 {
-    font-size: 18px;
-    line-height: 24px;
-  }
+.column.as_list_item .text h2 {
+  margin-bottom: 0;
 }
-h3,
-.h3 {
+.column.as_list_item .text h2 a {
+  font-weight: bold;
+  text-decoration: none;
   display: block;
-  font-size: 14px;
-  line-height: 18px;
-  margin: 0 0 4px 0;
-  padding: 0;
-  font-weight: normal;
-  color: #666;
+  padding-bottom: 8px;
+  padding-top: 8px;
 }
-h4,
-.h4 {
-  display: block;
-  font-size: 12px;
-  line-height: 18px;
-  margin: 0;
-  padding: 0;
-  font-weight: bold;
-  color: #666;
+.column.as_list_item .text a {
+  color: #fff;
+  text-decoration: underline;
 }
-h2 small,
-h3 small {
-  font-size: 12px;
-  line-height: 18px;
-  color: #999;
+.column.as_list_item .text p {
+  margin-bottom: 4px;
+  margin-top: 0;
 }
-big {
-  font-size: 14px;
-  line-height: 18px;
-  font-weight: bold;
+/* Modul About
+   ===========
+
+   Stránka "O nás".
+*/
+.about-perex {
+  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
 }
-ul,
-ol {
-  margin: 0 0 18px 14px;
-  padding: 0 0 0 0;
-  color: #ccc;
+@media only screen and (min-width: 360px) and (max-width: 767px) {
+  .about-perex {
+    padding-left: 50px;
+    padding-right: 50px;
+  }
 }
-ul ul,
-ul ol,
-ol ol,
-ol ul {
-  margin-bottom: 0;
+@media only screen and (min-width: 768px) {
+  .about-perex {
+    padding-left: 250px;
+    padding-right: 250px;
+  }
 }
-ul {
-  list-style-type: square;
+.about-person {
+  text-align: center;
 }
-ul li,
-ol li {
-  color: #000;
+.about-person-image img {
+  border-radius: 50%;
+  overflow: hidden;
+  max-width: 138px;
+  display: block;
+  margin: 0 auto;
+}
+.about-person-short-text {
+  max-width: 200px;
+  margin-left: auto;
+  margin-right: auto;
 }
 @media only screen and (min-width: 768px) {
-  h2 small.float_right {
-    margin-top: 5px;
+  .about-person-full-text,
+  .about-person-full-contact {
+    margin-top: 9px;
   }
 }
-/*
-
-Helpery
-=======
-
-*/
-.clearfix {
-  *zoom: 1;
+.about-history {
+  background-color: #d8dbd8;
+  background-position: center center;
 }
-.clearfix:before,
-.clearfix:after {
-  display: table;
-  content: "";
-  line-height: 0;
+@media only screen and (max-width: 767px) {
+  .about-history {
+    background-image: url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-small.jpg);
+  }
 }
-.clearfix:after {
-  clear: both;
+@media only screen and (min-width: 768px) {
+  .about-history {
+    background-image: url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-medium.jpg);
+    background-attachment: fixed;
+  }
 }
-.container .margin_bottom {
-  margin-bottom: 18px;
+.about-history-perex {
+  background: #fff;
+  background: rgba(255, 255, 255, 0.95);
+  padding: 3em 2em 2em 2em;
+  margin-top: 5em;
+  margin-bottom: 5em;
 }
-.container .margin_bottom_half {
-  margin-bottom: 9px;
+.about-history-perex .h1 {
+  margin-bottom: 10px;
 }
-.container .margin_bottom_double {
-  margin-bottom: 36px;
+.about-history-perex .h2 {
+  margin-bottom: 20px;
 }
-.without_margin_bottom {
+@media only screen and (min-width: 768px) {
+  .about-history-perex {
+    width: 55%;
+    margin-left: auto;
+    margin-right: auto;
+  }
+}
+.about-web-item {
+  padding: 10px;
+  text-align: center;
   margin-bottom: 0;
+  border-bottom: 2px solid #999;
 }
-.margin_top_negative {
-  margin-top: -18px;
+.about-web-item-eslovensko {
+  border-color: #0eb10e;
 }
-.container .margin_top {
-  margin-top: 18px;
+.about-web-item-velkymeder {
+  border-color: #06f;
 }
-.container .margin_top_double {
-  margin-top: 36px;
+.about-web-item-tuzemskadovolena {
+  border-color: #f60;
 }
-.margin_top_half {
-  margin-top: 9px;
+.about-web-item-epodhajska {
+  border-color: #c00;
 }
-.desktop_only {
-  display: none !important;
+.about-web-item-besenova {
+  border-color: #06f;
 }
 @media only screen and (min-width: 768px) {
-  .desktop_only {
-    display: block !important;
+  .about-web-etc {
+    text-align: center;
+    padding-left: 260px;
+    padding-right: 260px;
   }
 }
-.dumb_only {
-  display: none !important;
+@media only screen and (min-width: 1180px) {
+  .about-legal {
+    padding-left: 300px;
+    padding-right: 300px;
+  }
 }
-.center,
-.text-center {
+/*
+
+Hlavička obsahu stránky
+=======================
+
+*/
+.content__head {
   text-align: center;
+  padding: 12px 20px;
 }
-.right {
-  text-align: right;
-}
-.left {
-  text-align: left;
+@media only screen and (min-width: 768px) {
+  .content__head {
+    text-align: left;
+  }
 }
-.clear_both {
-  clear: both;
+/*
+   Fancybox
+   ========
+*/
+.fancybox:hover img,
+.fancybox:active img,
+.fancybox:focus img {
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
+  filter: alpha(opacity=90);
+  opacity: 0.9;
 }
-.block_center {
-  margin-left: auto !important;
-  margin-right: auto !important;
-  float: none !important;
+/*
+Flag - priznaky slev, Last Minute atd.
+=========================================
+*/
+.flag {
+  display: inline-block;
+  font-weight: normal;
+  text-transform: uppercase;
+  text-decoration: none;
+  color: white;
+  padding: 5px 8px;
 }
-.suppress {
-  opacity: 0.5;
-  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
-  filter: alpha(opacity=50);
+a.flag:hover,
+a.flag:focus,
+a.flag:active {
+  color: white;
+  text-decoration: underline;
 }
-.float_right {
-  float: right;
+.flag--sm {
+  font-size: 9px;
+  padding: 2px 3px;
+  letter-spacing: 0.02em;
 }
-.float_left {
-  float: left;
+@media only screen and (max-width: 420px) {
+  .flag {
+    font-size: 9px;
+    padding: 2px 3px;
+    letter-spacing: 0.02em;
+  }
 }
 @media only screen and (min-width: 768px) {
-  .last {
-    margin-right: 0 !important;
+  .flag--lg {
+    font-size: 14px;
+    padding: 9px 12px;
   }
 }
-.tabbed_text {
-  padding-left: 15px;
-  padding-right: 45px;
+.flag--bestseller {
+  background: rgba(16, 201, 16, 0.91);
 }
-.small {
-  font-size: 11px;
-  line-height: 13px;
-  color: #999;
+.flag--ratings {
+  background: rgba(16, 201, 16, 0.91);
 }
-.small a {
-  color: #999;
-  text-decoration: underline;
-}
-.small a:hover,
-.small a:focus,
-.small a:active {
-  color: #666;
-}
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  margin: -1px;
-  padding: 0;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  border: 0;
-}
-.floatLeft50 {
-  float: left;
-  width: 48%;
+.flag--lastminute {
+  background: #f90;
+  background: rgba(255, 153, 0, 0.91);
 }
-.floatRight50 {
-  float: right;
-  width: 48%;
+.flag--hottip {
+  background: #fc0;
+  background: rgba(255, 204, 0, 0.91);
 }
-.clearBothZero,
-.clear_zero {
-  display: block;
-  clear: both;
-  font-size: 1px;
-  line-height: 1px;
-  height: 1px;
+.flag--new {
+  background: #1eed1e;
+  background: rgba(30, 237, 30, 0.91);
 }
-.marginBottom3 {
-  margin-bottom: 3em;
+.flag--discount {
+  background: #f60;
+  background: rgba(255, 102, 0, 0.91);
 }
-.marginBottom1half {
-  margin-bottom: 1.5em;
+.flags .flag {
+  position: absolute;
+  top: 2px;
+  left: 2px;
 }
-.marginRight15 {
-  margin-right: 15px;
+.flags .flag + .flag {
+  top: 32px;
 }
-.floatLeft {
-  float: left;
+@media only screen and (min-width: 768px) {
+  .flags .flag + .flag.flag--lg {
+    top: 40px;
+  }
 }
-.floatRight {
-  float: right;
+.flags .flag + .flag.flag--sm {
+  top: 28px;
 }
-.displayNone {
-  display: none;
+@media only screen and (max-width: 420px) {
+  .flags .flag + .flag {
+    top: 28px;
+  }
 }
-.marginTopNo {
-  margin-top: 0;
+.flags .flag + .flag + .flag {
+  top: 62px;
 }
-.sideOne .marginTopNo {
-  margin-top: -1.5em;
+@media only screen and (min-width: 768px) {
+  .flags .flag + .flag + .flag.flag--lg {
+    top: 78px;
+  }
 }
-.alignLeft {
-  text-align: left;
+.flags .flag + .flag + .flag.flag--sm {
+  top: 54px;
 }
-.alignRight {
-  text-align: right;
+@media only screen and (max-width: 420px) {
+  .flags .flag + .flag + .flag {
+    top: 54px;
+  }
 }
-.alignCenter {
-  text-align: center;
+.flags .flag + .flag + .flag + .flag {
+  top: 92px;
 }
-.alignMiddle {
-  vertical-align: middle;
+@media only screen and (min-width: 768px) {
+  .flags .flag + .flag + .flag + .flag.flag--lg {
+    top: 116px;
+  }
 }
-.required {
-  font-size: 1.2em;
-  font-weight: bold;
-  color: #f60;
+.flags .flag + .flag + .flag + .flag.flag--sm {
+  top: 80px;
 }
-p.submit {
-  text-align: right;
+@media only screen and (max-width: 420px) {
+  .flags .flag + .flag + .flag + .flag {
+    top: 80px;
+  }
 }
-.big {
-  font-size: 1.5em;
-  font-weight: bold;
-  vertical-align: middle;
+.flags .flag + .flag + .flag + .flag + .flag {
+  top: 122px;
 }
-.fontSmall {
-  font-size: .5em;
-  font-weight: normal;
+@media only screen and (min-width: 768px) {
+  .flags .flag + .flag + .flag + .flag + .flag.flag--lg {
+    top: 154px;
+  }
 }
-small.fontSmall {
-  font-size: .6em;
-  font-weight: normal;
+.flags .flag + .flag + .flag + .flag + .flag.flag--sm {
+  top: 106px;
 }
-table.fontSmall td,
-table.fontSmall th {
-  font-size: 1.4em;
-  font-weight: normal;
+@media only screen and (max-width: 420px) {
+  .flags .flag + .flag + .flag + .flag + .flag {
+    top: 106px;
+  }
 }
-.clearBoth {
-  clear: both;
+/*
+
+Foot - stara paticka
+====================
+
+*/
+#foot {
+  background: #024e40;
+  padding: 0.75em 30px;
+  color: #fff;
+  margin: 0;
+  margin-bottom: -18px;
 }
-.container .alignRight {
-  text-align: right;
+@media print {
+  #foot {
+    display: none;
+  }
 }
-.container .alignLeft {
-  text-align: left;
+#foot a {
+  color: #fff;
 }
-.container .alignCenter {
-  text-align: center;
+/*
+
+Ceny, datumy - velke "cenovky"
+===============================
+
+*/
+.price {
+  display: inline-block;
+  width: auto;
+  color: #444;
 }
-.testRed {
-  border: 1px solid red;
+.price strong {
+  font-weight: normal;
+  color: #888;
 }
-.displayInline {
-  display: inline;
+.price.price--big {
+  background-color: #ddd;
+  padding: 3px;
+  margin: 0 6px 18px 0;
 }
-.displayNone {
-  display: none;
+.date.date--big {
+  display: inline-block;
+  width: auto;
+  color: #444;
+  background-color: #ddd;
+  padding: 3px;
+  margin: 0 6px 18px 0;
 }
-.hide {
-  display: none;
+.date.date--big strong {
+  font-weight: normal;
+  color: #888;
 }
-.width100 {
-  width: 100%;
+.big_label {
+  display: inline-block;
+  width: auto;
+  color: #444;
+  background-color: #ddd;
+  padding: 3px;
+  margin: 0 6px 18px 0;
 }
-.width50 {
-  width: 50%;
+.big_label strong {
+  font-weight: normal;
+  color: #888;
 }
-.display_block {
-  display: block;
+@media only screen and (min-width: 768px) {
+  .price.price--big {
+    font-size: 16px;
+    padding: 7px;
+  }
+  .date.date--big {
+    font-size: 16px;
+    padding: 7px;
+  }
+  .big_label {
+    font-size: 16px;
+    padding: 7px;
+  }
 }
-.more_link {
-  margin: 2em 0;
+/* # Modul Site Logo
+
+Na velkých displejích nalevo, na malých veprostřed nahoře.
+
+*/
+.site-logo {
+  padding: 18px 0;
+  margin: 0;
+  width: auto;
   text-align: center;
+  font-size: 24px;
+  font-weight: bold;
+  color: #9bd04e;
 }
-.accommodation_big_item {
-  margin-bottom: 36px;
-}
-.unveil {
-  opacity: 0;
-  -webkit-transition: opacity 0.5s ease-in;
-  transition: opacity 0.5s ease-in;
-}
-.more_info {
-  color: #666;
+@media only screen and (min-width: 768px) {
+  .site-logo {
+    float: left;
+    margin-left: 30px;
+    text-align: left;
+    width: 300px;
+    margin-top: 12px;
+    margin-bottom: 12px;
+  }
+  .site-logo a:hover {
+    text-decoration: none;
+  }
 }
-.legend {
-  color: #999;
-  text-align: right;
-}
-.similar_items {
-  margin-top: 54px;
-}
-#map_container {
-  margin: -35px -8px 27px -30px;
-  width: auto;
-  height: 562px;
-}
-#mapa_okoli {
-  margin-top: 8px;
-}
-#subdivisions {
-  max-width: 940px;
-  margin-bottom: 36px;
-}
-#subdivisions h3 {
-  margin-bottom: 9px;
-  border-bottom: 1px solid #ccc;
-}
-.more_photos a {
-  border-top: 1px solid #ccc;
-  border-bottom: 1px solid #ccc;
-  margin-left: 0;
-  padding-left: 0;
-  padding: 5px 7px;
-  display: block;
-}
-.more_photos a:hover,
-.more_photos a:focus,
-.more_photos a:active {
-  background-color: #eee;
-  cursor: pointer;
-}
-input.input--border {
-  border: 1px solid #000;
-}
-textarea.textarea--border {
-  border: 1px solid #000;
-}
-/*
-Kontejner layoutu
-=================
-*/
-.container {
-  width: 1000px;
-  max-width: 100%;
-  background: #fff url(../../images/layout/sidebox-bg.gif) repeat-y right top;
-  margin: 0 auto;
-  margin-bottom: 15px;
-  position: relative;
-  -webkit-box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.1);
-          box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.1);
-}
-/* # Layout
-
-Obsah ma celkem 940px (1000px + 30px paddingy).
-
-## TODO
+/* # Modul Site Nav
 
-- refaktor po prechodu na novou strukturu, viz dole
-- % jednotky
+Hlavní navigace webu.
 
-## Struktura layoutu
+Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
 
-Stará:
+## Tři části navigace
 
-```
-#container
-  .head
-  #content
-    #content_head
-    #content_body
-      (.row)
-        .column|.double_column|.triple_column|.half_column
-  #footNew
-  #footBottom
-```
+* `.site-nav__accom-search-link` – odkaz na vyhledávač ubytování
+* `.site-nav__main` – hlavní navigace, zobrazuje se jen na velkých displejích (řízeno Pine.JS)
+* `.site-nav__small-screen` – zobrazuje se jen na malých displejích
 
-Nová (od 12/2015)
+## Příklad
 
 ```
-.container
-  .head
-  .content
-    .content__head
-    .content__body
-      (.row)
-        .column|.double_column|.triple_column|.half_column
-  #footNew
-  #footBottom
+<div role="navigation" class="site-nav">
+  <ul class="site-nav__accom-search-link">
+    <li><strong><a class="item" href="/">Najít ubytování</a></strong></li>
+  </ul>
+  <div id="navigace" class="site-nav__main pine pine-horizontal">
+    <ul class="pine-level-1">
+      <li><a class="item" href="/">Oblasti</a>
+        <ul class="pine-level-2">
+          <li><a class="item" href="/oblast/belianske-tatry/">Belianské Tatry</a></li>
+          <li><a class="item" href="/oblast/belianske-tatry/">Bratislava</a></li>
+          <li><a class="item" href="/oblast/belianske-tatry/">Jižní Slovensko</a></li>
+          <li><a class="item" href="/oblast/belianske-tatry/">Liptov</a></li>
+          <li><a class="item" href="/oblast/belianske-tatry/">Malá a Velká Fatra, Kysuca</a></li>
+        </ul>
+      </li>
+      <li><a class="item" href="/last-minute/">Last Minute</a></li>
+      <li><a class="item" href="/novinky/">Novinky</a></li>
+      <li><a class="item" href="/o/">O nás</a></li>
+      <li><a class="item" href="/kontakt/">Kontakt</a></li>
+    </ul>
+   </div>
+   <ul class="site-nav__small-screen">
+     <li><a href="#vyhledavani" class="site-nav__small-screen-search">Vyhledávání</a></li>
+     <li><a data-pine="toggle" class="site-nav__small-screen-nav" href="#navigace">Menu</a></li>
+   </ul>
+</div>
 ```
 
 */
-.container {
-  background-image: none !important;
-  /* DEPRECATED if newlayout */
-}
-.container.ajax {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  margin: 0;
-}
-.content {
-  padding: 13px 7px 36px;
-}
-@media only screen and (min-width: 1180px) {
-  .content {
-    padding: 22px 23px 36px;
-  }
-}
-.show_grid .container {
-  background: #fff url(grid.png) repeat-y 0 0;
-}
-@media only screen and (max-width: 767px) {
-  /*
-  Layout obsahu (#content)
-  - 7px levy margin
-
-  Zakladni obsahovy sloupec (.column):
-  - 304px width
-
-  Obrazky maji pomer 16/9
-  - jeden sloupec: 304x171
-  */
-  .container {
-    width: auto;
-    background-image: none !important;
-    /* DEPRECATED if newlayout */
-  }
-  .show_grid .container {
-    background-position: -20px 0;
-  }
-}
-/* --- Telo dokumentu - hlavni informace, jez se budou prenaset do Fancyboxu --- */
-.content__body {
-  *zoom: 1;
+/* ## Využívá Pine.JS responzivní navigaci */
+.pine {
+  z-index: 100;
   margin-bottom: 18px;
+  background: #024e40;
+  *zoom: 1;
 }
-.content__body:before,
-.content__body:after {
-  display: table;
-  content: "";
-  line-height: 0;
-}
-.content__body:after {
-  clear: both;
-}
-.content__body:before,
-.content__body:after {
+.pine:before,
+.pine:after {
   content: " ";
   display: table;
 }
-.content__body:after {
+.pine:after {
   clear: both;
 }
-.content__body h1 {
-  margin-left: 0;
-  color: #999;
-}
-/*
-## Řádka layoutu je `.row`
-*/
-.row {
-  margin-bottom: 18px;
-  *zoom: 1;
-}
-.row:before,
-.row:after {
+.pine:before,
+.pine:after {
   display: table;
   content: "";
   line-height: 0;
 }
-.row:after {
-  clear: both;
-}
-.row:before,
-.row:after {
-  content: " ";
-  display: table;
-}
-.row:after {
+.pine:after {
   clear: both;
 }
-/*
-`.row.row-limited` nemá zprava díru pro poslední column. Využíváme ho pak například
-pro block grid komponentu.
-
-Vyšší specifičnost kvůli kolizím např. s `.out-of-box`.
-*/
-@media only screen and (min-width: 768px) {
-  .row.row-limited {
-    margin-right: 22px;
-  }
-}
-/*
-## Základní layout je 3sloupcový (s 6sloupcovou alternativou)
-
-Mikrosloupec (v obsahu je jich 6, .half_column): 145px a 14px pravy margin
-
-Zakladni obsahovy sloupec (v obsahu jsou 3, tridy .column, .double_column):
-304px width a 14px pravy margin, na mobilech 7px margin ze stran a auto sirka
-
-Obrazky maji pomer 16/9  (?? TODO:  realne v .figure pozame 4:3,
-v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
-*/
-@media only screen and (min-width: 768px) {
-  .column {
-    float: left;
-    width: calc(97% / 3);
-    margin-right: 1.5%;
-    overflow: hidden;
+@media (min-width: 768px) {
+  .pine {
+    border-radius: 0;
   }
 }
-@media only screen and (min-width: 768px) {
-  .double_column {
-    float: left;
-    width: calc((97% / 3) * 2);
-    margin-right: 1.5%;
+@media print {
+  .pine {
+    display: none;
   }
 }
-@media only screen and (min-width: 768px) {
-  .triple_column {
-    width: 100%;
-  }
+.pine ul,
+.pine li {
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
 }
-@media only screen and (min-width: 768px) {
-  .half_column {
-    float: left;
-    width: 138px;
-    margin-right: 14px;
-  }
+.pine li > a,
+.pine li > strong {
+  display: block;
+  padding: 9px 12px;
+  color: white;
+  font-weight: normal;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  text-decoration: none;
+  background: #024e40;
 }
-.column--last {
-  margin-right: 0;
+.pine li.pine-level-open > a,
+.pine li strong {
+  background: #9bd04e;
 }
-@media only screen and (min-width: 768px) {
-  .content.without_top_pad {
-    padding-top: 0;
-    margin-top: -1px;
+.pine li a:hover,
+.pine li a:focus,
+.pine li a:active {
+  background: #9bd04e;
+}
+.pine .pine-level-2 > li > a,
+.pine .pine-level-2 > li > strong {
+  text-indent: 1em;
+}
+.pine .pine-level-3 > li > a,
+.pine .pine-level-3 > li > strong {
+  text-indent: 2em;
+}
+@media (max-width: 767px) {
+  .js .pine {
+    max-height: 0;
+    position: absolute;
+    top: 146px;
+    left: 0;
+    overflow: hidden;
+    width: 100%;
+    -webkit-transition: max-height 0.1s ease-in-out;
+    transition: max-height 0.1s ease-in-out;
   }
-  .row {
-    margin-bottom: 36px;
+  .js .pine.pine-visible {
+    max-height: none;
+    overflow-y: auto;
   }
-  .column.centered,
-  .half_column.centered,
-  .double_column.centered {
-    margin-left: auto;
-    margin-right: auto;
-    float: none;
+}
+@media (min-width: 768px) {
+  .pine {
+    background: #024e40;
+    border: none;
   }
-  .offset_half {
-    margin-left: 159px;
+  .pine li {
+    position: relative;
   }
-  .offset_one {
-    margin-left: 318px;
+  .pine a,
+  .pine strong {
+    display: block;
+    border-bottom: 0;
+    text-indent: 0;
   }
-  .double_column.with_text img {
-    max-width: 100%;
+}
+@media (min-width: 768px) {
+  .pine-horizontal ul > li {
+    display: inline-block;
+    position: relative;
+    float: left;
+  }
+  .pine-horizontal ul > li > a,
+  .pine-horizontal ul > li > strong {
+    text-align: center;
+    display: block;
+  }
+  .pine-horizontal ul a {
+    position: relative;
   }
 }
-/* ================================================================================
-   Vrstva pro mobilni zarizeni
-   ...........................
-
-   Obsahuje:
-   - Layout vsech webu
-   - Layout uvnitr stranky
-   - Stary layout uvnitr stranky (docasny)
-
-*/
-@media only screen and (max-width: 767px) {
-  /* Nezobrazujeme cely Likebox, jen maly buttonek */
-  #facebookLikeBox {
-    display: none;
+@media (min-width: 768px) {
+  .pine-horizontal .pine-level-2,
+  .pine-horizontal .pine-level-3 {
+    position: absolute;
   }
-  #facebookButton {
+  .pine-horizontal .pine-level-2 li,
+  .pine-horizontal .pine-level-3 li {
     display: block;
-    text-align: center;
+    float: none;
   }
-  /* --- Layout uvnitr stranky --- */
-  .column,
-  .double_column {
-    margin-right: 0;
-    width: auto;
+  .pine-horizontal .pine-level-2 > li > a,
+  .pine-horizontal .pine-level-3 > li > a,
+  .pine-horizontal .pine-level-2 > li > strong,
+  .pine-horizontal .pine-level-3 > li > strong {
+    text-align: left;
+  }
+  .js .pine-horizontal .pine-level-2,
+  .js .pine-horizontal .pine-level-3 {
+    visibility: hidden;
+  }
+  .pine-horizontal .pine-level-3 {
+    padding-top: 0;
+    padding-bottom: 0;
   }
 }
-/* @media screen and (max-width: 640px) */
-.columns_as_list_item {
-  padding-top: 9px;
+@media (min-width: 768px) {
+  .pine-horizontal .pine-level-2 {
+    z-index: 50001;
+    visibility: visible;
+    left: 0;
+    top: 100%;
+    width: 200px;
+  }
+  .pine-horizontal .pine-level-3 {
+    z-index: 50002;
+    visibility: visible;
+    left: 100%;
+    top: 0;
+    width: 200px;
+  }
 }
-.column.as_list_item {
-  position: relative;
-  overflow: hidden;
-  margin-bottom: 14px;
+@media (min-width: 768px) {
+  .pine-horizontal .pine-level-open > .pine-level-2 {
+    z-index: 50001;
+    visibility: visible;
+    left: 0;
+    top: 100%;
+    width: 200px;
+  }
+  .pine-horizontal .pine-level-open > .pine-level-3 {
+    z-index: 50002;
+    visibility: visible;
+    left: 100%;
+    top: 0;
+    width: 200px;
+  }
 }
-.column.as_list_item .image {
-  margin-bottom: -4px;
+@media (min-width: 768px) {
+  .pine-vertical a,
+  .pine-vertical strong {
+    padding-top: 8px;
+    padding-bottom: 8px;
+  }
 }
-.column.as_list_item .image img {
-  width: 100%;
-  max-width: auto;
+@media (min-width: 768px) {
+  .pine-vertical .pine-level-2,
+  .pine-vertical .pine-level-3 {
+    top: 0;
+    position: absolute;
+  }
+  .js .pine-vertical .pine-level-2,
+  .js .pine-vertical .pine-level-3 {
+    visibility: hidden;
+  }
 }
-.column.as_list_item .text {
-  position: absolute;
-  margin-top: -38px;
-  top: 100%;
-  background: #000000;
-  background: rgba(0, 0, 0, 0.66);
-  color: #fff;
-  padding: 1px 9px 9px 9px;
-  -webkit-transition: all 0.15s ease-out;
-  transition: all 0.15s ease-out;
+@media (min-width: 768px) {
+  .pine-vertical .pine-level-2 {
+    z-index: 50001;
+    visibility: visible;
+    left: 100%;
+    width: 200px;
+  }
+  .pine-vertical .pine-level-3 {
+    z-index: 50002;
+    visibility: visible;
+    left: 100%;
+    width: 200px;
+  }
 }
-.column.as_list_item:hover .text,
-.column.as_list_item:focus .text,
-.column.as_list_item:active .text {
-  top: 0;
-  margin-top: 0;
-  height: 100%;
-  overflow: hidden;
+@media (min-width: 768px) {
+  .pine-vertical .pine-level-open > .pine-level-2 {
+    z-index: 50001;
+    visibility: visible;
+    left: 100%;
+    width: 200px;
+  }
+  .pine-vertical .pine-level-open > .pine-level-3 {
+    z-index: 50002;
+    visibility: visible;
+    left: 100%;
+    width: 200px;
+  }
 }
-.column.as_list_item .text h2 {
-  margin-bottom: 0;
+.js .pine-fixed {
+  top: 0;
+  left: 0;
+  position: fixed;
+  width: 100%;
 }
-.column.as_list_item .text h2 a {
-  font-weight: bold;
-  text-decoration: none;
-  display: block;
-  padding-bottom: 8px;
-  padding-top: 8px;
+@media (max-width: 767px) {
+  .js .pine-fixed {
+    top: 146px;
+  }
 }
-.column.as_list_item .text a {
-  color: #fff;
-  text-decoration: underline;
+@media (max-width: 767px) {
+  .js .pine-fixed-small {
+    top: 146px;
+    left: 0;
+    position: fixed;
+    width: 100%;
+  }
 }
-.column.as_list_item .text p {
-  margin-bottom: 4px;
-  margin-top: 0;
-}
-/*
-
-Hlavička obsahu stránky
-=======================
-
-*/
-.content__head {
-  text-align: center;
-  padding: 12px 20px;
-}
-@media only screen and (min-width: 768px) {
-  .content__head {
-    text-align: left;
+@media (min-width: 768px) {
+  .js .pine-fixed-large {
+    top: 0;
+    left: 0;
+    position: fixed;
+    width: 100%;
   }
 }
-/*
-   Fancybox
-   ========
-*/
-.fancybox:hover img,
-.fancybox:active img,
-.fancybox:focus img {
-  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
-  filter: alpha(opacity=90);
-  opacity: .9;
-}
-/*
-Flag - priznaky slev, Last Minute atd.
-=========================================
-*/
-.flag {
-  display: inline-block;
-  font-weight: normal;
-  text-transform: uppercase;
-  text-decoration: none;
-  color: white;
-  padding: 5px 8px;
+.pine-has-subnav > a,
+.pine-has-subnav > strong {
+  position: relative;
 }
-a.flag:hover,
-a.flag:focus,
-a.flag:active {
-  color: white;
-  text-decoration: underline;
+.pine-has-subnav > a,
+.pine .pine-level-open .pine-has-subnav > a {
+  padding-right: 30px;
 }
-.flag--sm {
-  font-size: 9px;
-  padding: 2px 3px;
-  letter-spacing: .02em;
+.pine-has-subnav > a:before,
+.pine .pine-level-open .pine-has-subnav > a:before {
+  z-index: 100;
+  content: "";
+  position: absolute;
+  right: 15px;
+  top: 50%;
+  display: inline-block;
+  width: 0;
+  height: 0;
+  border-style: solid;
+  border-width: 4px 0 4px 6px;
+  margin-top: -4px;
+  border-color: transparent transparent transparent white;
 }
-@media only screen and (max-width: 420px) {
-  .flag {
-    font-size: 9px;
-    padding: 2px 3px;
-    letter-spacing: .02em;
+@media (max-width: 767px) {
+  .pine-has-subnav > a:before,
+  .pine .pine-level-open .pine-has-subnav > a:before {
+    right: 12px;
   }
 }
-@media only screen and (min-width: 768px) {
-  .flag--lg {
-    font-size: 14px;
-    padding: 9px 12px;
+@media (max-width: 767px) {
+  .pine-has-subnav > a:before,
+  .pine .pine-level-open .pine-has-subnav > a:before {
+    border-color: transparent transparent transparent white;
   }
 }
-.flag--bestseller {
-  background: rgba(16, 201, 16, 0.91);
-}
-.flag--ratings {
-  background: rgba(16, 201, 16, 0.91);
-}
-.flag--lastminute {
-  background: #FF9900;
-  background: rgba(255, 153, 0, 0.91);
-}
-.flag--hottip {
-  background: #FFCC00;
-  background: rgba(255, 204, 0, 0.91);
-}
-.flag--new {
-  background: #1eed1e;
-  background: rgba(30, 237, 30, 0.91);
-}
-.flag--discount {
-  background: #FF6600;
-  background: rgba(255, 102, 0, 0.91);
-}
-.flags .flag {
-  position: absolute;
-  top: 2px;
-  left: 2px;
+.pine-horizontal .pine-has-subnav > a {
+  padding-right: 30px;
 }
-.flags .flag + .flag {
-  top: 32px;
+.pine-horizontal .pine-has-subnav > a:before {
+  border-width: 6px 4px 0 4px;
+  margin-top: -2px;
+  border-color: white transparent transparent transparent;
 }
-@media only screen and (min-width: 768px) {
-  .flags .flag + .flag.flag--lg {
-    top: 40px;
+@media (max-width: 767px) {
+  .pine-horizontal .pine-has-subnav > a:before {
+    border-color: white transparent transparent transparent;
   }
 }
-.flags .flag + .flag.flag--sm {
-  top: 28px;
+@media (max-width: 767px) {
+  .pine-horizontal .pine-has-subnav > a:before {
+    border-width: 4px 0 4px 6px;
+    margin-top: -4px;
+    border-color: transparent transparent transparent white;
+  }
 }
-@media only screen and (max-width: 420px) {
-  .flags .flag + .flag {
-    top: 28px;
+@media (max-width: 767px) and (max-width: 767px) {
+  .pine-horizontal .pine-has-subnav > a:before {
+    border-color: transparent transparent transparent white;
   }
 }
-.flags .flag + .flag + .flag {
-  top: 62px;
+.pine-trigger {
+  display: none;
+  padding: 9px 12px;
+  color: white;
+  font-weight: normal;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  background: #024e40;
+  text-decoration: none;
 }
-@media only screen and (min-width: 768px) {
-  .flags .flag + .flag + .flag.flag--lg {
-    top: 78px;
+@media (max-width: 767px) {
+  .js .pine-trigger {
+    display: inline-block;
   }
 }
-.flags .flag + .flag + .flag.flag--sm {
-  top: 54px;
+.pine-trigger .icon-bar {
+  position: relative;
+  vertical-align: middle;
+  margin-top: -2px;
 }
-@media only screen and (max-width: 420px) {
-  .flags .flag + .flag + .flag {
-    top: 54px;
-  }
+.pine-trigger .icon-bar,
+.pine-trigger .icon-bar:before,
+.pine-trigger .icon-bar:after {
+  display: inline-block;
+  width: 18px;
+  height: 2px;
+  background-color: black;
+  border-radius: 1px;
+  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+          box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
-.flags .flag + .flag + .flag + .flag {
-  top: 92px;
+.pine-trigger .icon-bar:before,
+.pine-trigger .icon-bar:after {
+  position: absolute;
+  top: -4px;
+  content: '';
 }
-@media only screen and (min-width: 768px) {
-  .flags .flag + .flag + .flag + .flag.flag--lg {
-    top: 116px;
-  }
+.pine-trigger .icon-bar:after {
+  top: 4px;
 }
-.flags .flag + .flag + .flag + .flag.flag--sm {
-  top: 80px;
+.pine-trigger-title {
+  display: inline-block;
 }
-@media only screen and (max-width: 420px) {
-  .flags .flag + .flag + .flag + .flag {
-    top: 80px;
-  }
+.fx-collapse ul ul {
+  overflow: hidden;
+  max-height: 0;
 }
-.flags .flag + .flag + .flag + .flag + .flag {
-  top: 122px;
+.fx-collapse .pine-level-open > .pine-level-2,
+.fx-collapse .pine-level-open > .pine-level-3 {
+  overflow: visible;
+  max-height: none;
 }
-@media only screen and (min-width: 768px) {
-  .flags .flag + .flag + .flag + .flag + .flag.flag--lg {
-    top: 154px;
+@media (max-width: 767px) {
+  .fx-collapse .pine-level-1 > .pine-has-subnav > a:before,
+  .fx-collapse .pine-level-2 > .pine-has-subnav > a:before,
+  .fx-collapse .pine-level-3 > .pine-has-subnav > a:before {
+    border-width: 6px 4px 0 4px;
+    margin-top: -2px;
+    border-color: white transparent transparent transparent;
   }
 }
-.flags .flag + .flag + .flag + .flag + .flag.flag--sm {
-  top: 106px;
-}
-@media only screen and (max-width: 420px) {
-  .flags .flag + .flag + .flag + .flag + .flag {
-    top: 106px;
+@media (max-width: 767px) and (max-width: 767px) {
+  .fx-collapse .pine-level-1 > .pine-has-subnav > a:before,
+  .fx-collapse .pine-level-2 > .pine-has-subnav > a:before,
+  .fx-collapse .pine-level-3 > .pine-has-subnav > a:before {
+    border-color: white transparent transparent transparent;
   }
 }
-/*
-
-Foot - stara paticka
-====================
-
-*/
-#foot {
-  background: #024E40;
-  padding: .75em 30px;
-  color: #fff;
-  margin: 0;
-  margin-bottom: -18px;
+.fx-hover-fade .pine-level-2,
+.fx-hover-fade .pine-level-3 {
+  opacity: 0;
+  -webkit-transition: visibility 0s 0.1s, opacity 0.1s ease-in-out;
+  transition: visibility 0s 0.1s, opacity 0.1s ease-in-out;
 }
-@media print {
-  #foot {
-    display: none;
-  }
+.fx-hover-fade .pine-level-2 > li > a,
+.fx-hover-fade .pine-level-3 > li > a,
+.fx-hover-fade .pine-level-2 > li > strong,
+.fx-hover-fade .pine-level-3 > li > strong {
+  text-indent: 0;
 }
-#foot a {
-  color: #fff;
+.fx-hover-fade .pine-level-1 > li > a,
+.fx-hover-fade .pine-level-1 > li > strong {
+  -webkit-transition: background .1s;
+  transition: background .1s;
 }
-/*
+.fx-hover-fade .pine-level-open > .pine-level-2,
+.fx-hover-fade .pine-level-open > .pine-level-3 {
+  opacity: 1;
+  -webkit-transition: opacity 0.1s ease-in-out;
+  transition: opacity 0.1s ease-in-out;
+}
+.fx-hover-fade .noanim {
+  -webkit-transition: none !important;
+  transition: none !important;
+}
+.fx-right-to-left .pine-level-1 {
+  position: relative;
+  left: 0;
+}
+.fx-right-to-left ul ul {
+  position: absolute;
+  top: 0;
+  left: 100%;
+}
+.js .fx-right-to-left ul ul {
+  visibility: hidden;
+  -webkit-transition: visibility 0s .2s;
+  transition: visibility 0s .2s;
+}
+.fx-right-to-left ul li > a,
+.fx-right-to-left ul li > strong {
+  text-indent: 0 !important;
+}
+.fx-right-to-left .pine-level-2 > ul {
+  left: 200%;
+}
+.fx-right-to-left .pine-level-3 > ul {
+  left: 300%;
+}
+.fx-right-to-left ul .pine-level-open > ul {
+  visibility: visible;
+}
+.fx-right-to-left .pine-level-1 > .pine-level-open > ul {
+  -webkit-transition: visibility 0s 0s;
+  transition: visibility 0s 0s;
+}
+.fx-right-to-left .pine-back > a {
+  position: relative;
+  background: #9bd04e;
+  text-align: center;
+}
+.fx-right-to-left .pine-back > a:before {
+  z-index: 100;
+  content: "";
+  position: absolute;
+  top: 50%;
+  left: 12px;
+  display: inline-block;
+  width: 0;
+  height: 0;
+  border-style: solid;
+  border-width: 4px 6px 4px 0;
+  margin-top: -4px;
+  border-color: transparent white transparent transparent;
+}
+.pine-has-subnav > a:before {
+  border-style: inset;
+}
+.site-nav {
+  clear: both;
+  background: #024e40;
+  border-bottom: #9bd04e 10px solid;
+  border-top: #e0e9e8 10px solid;
+}
+@media only screen and (min-width: 768px) {
+  .site-nav {
+    padding-left: 15px;
+    padding-right: 15px;
+    height: 41px;
+  }
+}
+@media print {
+  .site-nav {
+    display: none;
+  }
+}
+.site-nav__main .pine-level-1 {
+  margin: 0;
+  padding: 0;
+}
+@media only screen and (min-width: 768px) {
+  .site-nav__main .pine-level-1 {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+  }
+}
+.site-nav__main .pine-level-1 > li {
+  text-align: center;
+}
+@media only screen and (min-width: 768px) {
+  .site-nav__main .pine-level-1 > li {
+    -webkit-box-flex: 1;
+        -ms-flex: 1;
+            flex: 1;
+  }
+}
+.site-nav li {
+  list-style-type: none;
+}
+.site-nav__accom-search-link,
+.site-nav__main,
+.site-nav__small-screen {
+  display: block;
+}
+@media only screen and (min-width: 768px) {
+  .site-nav__accom-search-link,
+  .site-nav__main,
+  .site-nav__small-screen {
+    width: 100%;
+  }
+}
+.site-nav__accom-search-link {
+  margin: 0;
+  padding: 0;
+}
+@media only screen and (min-width: 768px) {
+  .site-nav__accom-search-link {
+    display: none;
+  }
+}
+.site-nav__accom-search-link-desktop {
+  display: none;
+}
+@media only screen and (min-width: 768px) {
+  .site-nav__accom-search-link-desktop {
+    display: block;
+  }
+}
+.site-nav__small-screen {
+  padding: 0;
+  margin: 0;
+  display: none;
+}
+@media only screen and (max-width: 767px) {
+  .site-nav__small-screen {
+    display: block;
+    width: 130px;
+    margin-right: -2px;
+    float: right;
+  }
+}
+.site-nav__small-screen li {
+  display: inline-block;
+}
+.site-nav__small-screen a.active {
+  background-color: #9bd04e;
+}
+.container .site-nav a {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  display: block;
+  padding: 12px 12px 11px;
+  color: #fff;
+  font-weight: normal;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  text-decoration: none;
+}
+.container .site-nav a:hover,
+.container .site-nav a:focus,
+.container .site-nav a:active,
+.container .site-nav a.active {
+  color: white;
+  text-decoration: none;
+  background-color: #9bd04e;
+}
+.container .pine-level-2 a {
+  padding: 9px 15px 10px;
+}
+@media only screen and (min-width: 768px) {
+  .pine-level-1 > li {
+    display: inline-block;
+    position: relative;
+    float: left;
+  }
+  .container .pine-level-1 > .pine-has-subnav > a {
+    padding-right: 25px;
+  }
+  .container .pine-level-1 > .pine-has-subnav > a:before {
+    top: 19px;
+    right: 50%;
+    margin-right: -27px;
+    border-top-color: rgba(255, 255, 255, 0.5);
+  }
+}
+/*
   Inline list
   ===========
 */
@@ -1446,7 +1508,7 @@ Foot - stara paticka
   display: inline-block;
   padding: 5px;
   border-radius: 5px;
-  background: #024E40;
+  background: #024e40;
 }
 .inline-list__item--two-stars,
 .inline-list__item--three-stars {
@@ -1464,18 +1526,31 @@ Foot - stara paticka
   cursor: pointer;
   border: 1px solid #ddd;
 }
-/* # Komponenta Velka polozka seznamu
+/* @define list-item; weak
+
+# Komponenta Velka polozka seznamu
 
 Napr. seznamy ubytovatelu, pobytu, last-minute atd.
 
+.list-item
+  __image
+    __image-img
+    __flags
+  __content
+    __heading
+    __perex
+    __price
+
 */
 .list-item {
   position: relative;
-  padding: 9px 0;
-  border: 1px solid transparent;
-  color: #66;
   -webkit-box-sizing: border-box;
           box-sizing: border-box;
+  padding: 9px 0;
+  border: 1px solid transparent;
+  color: #666;
+  /* stylelint-disable  plugin/selector-bem-pattern */
+  /* stylelint-enable  */
 }
 @media only screen and (min-width: 768px) {
   .list-item {
@@ -1486,14 +1561,17 @@ Napr. seznamy ubytovatelu, pobytu, last-minute atd.
     margin: 0 7px 0 7px;
   }
 }
-.list-item .image {
+.cart .list-item {
+  font-size: 11px;
+}
+.list-item__image {
   position: relative;
   float: left;
   width: 36%;
   margin-right: 4%;
 }
 @media only screen and (min-width: 768px) {
-  .list-item .image {
+  .list-item__image {
     width: auto;
     float: none;
     height: 165px;
@@ -1503,50 +1581,50 @@ Napr. seznamy ubytovatelu, pobytu, last-minute atd.
   }
 }
 @media only screen and (min-width: 1180px) {
-  .list-item .image {
+  .list-item__image {
     height: 215px;
   }
 }
-.list-item .image img {
+.list-item__image-img {
   max-width: 100%;
 }
-.list-item .content {
+.list-item__content {
   float: left;
   width: 60%;
   padding: 0;
 }
 @media only screen and (min-width: 768px) {
-  .list-item .content {
+  .list-item__content {
     float: none;
     width: auto;
   }
 }
-.list-item .content p {
+.list-item__perex {
   margin-bottom: 0;
 }
-.list-item .content h2 {
+.list-item__heading {
   font-size: 120%;
   margin-bottom: 0;
 }
 @media only screen and (min-width: 768px) {
-  .list-item .content .price {
+  .list-item__price {
     position: absolute;
     right: 3px;
     top: 150px;
   }
 }
 @media only screen and (min-width: 1180px) {
-  .list-item .content .price {
+  .list-item__price {
     top: 200px;
   }
 }
-.list-item.without_border {
+.list-item--without-border {
   border-bottom: 0;
 }
-.list-item.bordered {
+.list-item--bordered {
   border: 1px solid #ddd;
 }
-.list-item.active,
+.list-item--active,
 .list-item:hover,
 .list-item:focus,
 .list-item:active {
@@ -1554,876 +1632,818 @@ Napr. seznamy ubytovatelu, pobytu, last-minute atd.
   cursor: pointer;
   color: #333;
   border: 1px solid #ddd;
+  /* stylelint-disable  plugin/selector-bem-pattern */
+  /* stylelint-enable  */
 }
-.list-item.active h2 a,
-.list-item:hover h2 a,
-.list-item:focus h2 a,
-.list-item:active h2 a {
+.list-item--active .list-item__heading-anchor,
+.list-item:hover .list-item__heading-anchor,
+.list-item:focus .list-item__heading-anchor,
+.list-item:active .list-item__heading-anchor {
   color: #075207;
   text-decoration: underline;
 }
-.js .list-item.active,
-.js .list-item:hover,
-.js .list-item:focus,
-.js .list-item:active {
+.no-flexbox .list-item--active,
+.no-flexbox .list-item:hover,
+.no-flexbox .list-item:focus,
+.no-flexbox .list-item:active {
   background-color: #dedede;
 }
-/*
+.fancygallery {
+  /*
 
-Ceny, datumy - velke "cenovky"
-===============================
+  Stylopis pro Fancygallery (prototyp)
+  Knihovna pro zobrazovani galerii obrazku.
+  Verze z 20. 10. 2011
+  Autor: Martin Michalek, michalek@shortcat.cz
+
+  Obsah:
+  1) jquery.fancybox.mod_shortcat.css     Shortcat vzhled FancyBoxu
+  2) jquery.jcarousel.css                 Zakladni stylopis pro jCarousel
+  3) jquery.jcarousel.skin.shortcat.css   Shortcat vizual pro jCarousel
+  4) fancygallery.css                     Styly pro FancyGallery, ktere neobsahuje Fancybox Shortcat mod
+
+  Z-indexy:
+  1110	#fancybox-loading, #fancybox-thumbnails .jcarousel-item .hover-image (FB Gallery mouseover)
+  1109	#fancybox-inner:hover (Hover nad obrazkem)
+  1108	#fancybox-thumbnails (FB Gallery lista s thumbnaily)
+  1108	#fancybox-close
+  1107	#fancybox-left, #fancybox-right, #fancybox-left-ico, #fancybox-right-ico
+  1102	#fancybox-title
+  1101	#fancybox-wrap
+  1100	#fancybox-overlay
 
 */
-.price {
-  display: inline-block;
-  width: auto;
-  color: #444;
-}
-.price strong {
-  font-weight: normal;
-  color: #888;
-}
-.price.price--big {
-  background-color: #ddd;
-  padding: 3px;
-  margin: 0 6px 18px 0;
-}
-.date.date--big {
-  display: inline-block;
-  width: auto;
-  color: #444;
-  background-color: #ddd;
-  padding: 3px;
-  margin: 0 6px 18px 0;
-}
-.date.date--big strong {
-  font-weight: normal;
-  color: #888;
-}
-.big_label {
-  display: inline-block;
-  width: auto;
-  color: #444;
-  background-color: #ddd;
-  padding: 3px;
-  margin: 0 6px 18px 0;
-}
-.big_label strong {
-  font-weight: normal;
-  color: #888;
+  /* =================================================================
+   1) jquery.fancybox.mod_shortcat.css
+   Shortcat vzhled FancyBoxu
+*/
+  /*
+ * FancyBox - jQuery Plugin
+ * Simple and fancy lightbox alternative
+ *
+ * Examples and documentation at: http://fancybox.net
+ *
+ * Copyright (c) 2008 - 2010 Janis Skarnelis
+ *
+ * Version: 1.3.1 (05/03/2010)
+ * Requires: jQuery v1.3+
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ */
+  /* Do not show scrollbars when FB is open */
+  /* Outer title content */
+  /* Left and right navigation arrows */
+  /* Shadows are off */
+  /* =================================================================
+   2) jquery.jcarousel.css
+   Zakladni stylopis pro jCarousel
+*/
+  /**
+ * This <div> element is wrapped by jCarousel around the list
+ * and has the classname "jcarousel-container".
+ */
+  /**
+ * The buttons are added dynamically by jCarousel before
+ * the <ul> list (inside the <div> described above) and
+ * have the classnames "jcarousel-next" and "jcarousel-prev".
+ */
+  /* =================================================================
+   3) jquery.jcarousel.skin.shortcat.css
+   Shortcat vizual pro jCarousel
+*/
+  /*
+Stylesheet for jQuery carousel - Shortcat skin
+Author:        Martin Michalek, Studio Shortcat, michalek@shortcat.cz
+*/
+  /**
+ *  Horizontal Buttons
+ */
+  /* =================================================================
+   4) fancygallery.css
+   Styly pro FancyGallery, ktere neobsahuje Fancybox Shortcat mod
+*/
+  /* Vrstva s thumbnaily  */
+  /* == Vrstva s thumbnaily v pripade kdy zobrazujeme vetsi obrazek na mouseover == */
+  /* Vetsi obrazek zobrazovany na mouseover */
+  /*
+Zkousime dostat mouseover ven z rodicovskeho overflow:hidden prvku:
+Rodicum nastavime position: static a synovi pak position: absolute.
+(Viz http://www.vzhurudolu.cz/test/override-overflow-hidden/)
+*/
+  /* Pokud v titulku fotky zobrazujeme i titulek setu, zmenime jeho barvu */
 }
-@media only screen and (min-width: 768px) {
-  .price.price--big {
-    font-size: 16px;
-    padding: 7px;
-  }
-  .date.date--big {
-    font-size: 16px;
-    padding: 7px;
-  }
-  .big_label {
-    font-size: 16px;
-    padding: 7px;
-  }
+.fancygallery body.fancybox-active {
+  overflow: hidden;
 }
-/* # Modul Site Logo
-
-Na velkých displejích nalevo, na malých veprostřed nahoře.
-
-*/
-.site-logo {
-  padding: 18px 0;
+.fancygallery #fancybox-loading {
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  height: 40px;
+  width: 40px;
+  margin-top: -20px;
+  margin-left: -20px;
+  cursor: pointer;
+  overflow: hidden;
+  z-index: 1104;
+  display: none;
+}
+.fancygallery #fancybox-loading div {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 40px;
+  height: 480px;
+  background-image: url('../../images/fancygallery/fancybox.png');
+}
+.fancygallery #fancybox-overlay {
+  position: fixed;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  background: #000;
+  z-index: 1100;
+  display: none;
+}
+.fancygallery #fancybox-tmp {
+  padding: 0;
   margin: 0;
-  width: auto;
-  text-align: center;
-  font-size: 24px;
-  font-weight: bold;
-  color: #9BD04E;
+  border: 0;
+  overflow: auto;
+  display: none;
 }
-@media only screen and (min-width: 768px) {
-  .site-logo {
-    float: left;
-    margin-left: 30px;
-    text-align: left;
-    width: 300px;
-    margin-top: 12px;
-    margin-bottom: 12px;
-  }
-  .site-logo a:hover {
-    text-decoration: none;
-  }
+.fancygallery #fancybox-wrap {
+  position: absolute;
+  top: 0;
+  left: 0;
+  margin: 0;
+  padding: 20px;
+  z-index: 1101;
+  display: none;
 }
-/* # Modul Site Nav
-
-Hlavní navigace webu.
-
-Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
-
-## Tři části navigace
-
-* `.site-nav__accom-search-link` – odkaz na vyhledávač ubytování
-* `.site-nav__main` – hlavní navigace, zobrazuje se jen na velkých displejích (řízeno Pine.JS)
-* `.site-nav__small-screen` – zobrazuje se jen na malých displejích
-
-## Příklad
-
-```
-<div role="navigation" class="site-nav">
-  <ul class="site-nav__accom-search-link">
-    <li><strong><a class="item" href="/">Najít ubytování</a></strong></li>
-  </ul>
-  <div id="navigace" class="site-nav__main pine pine-horizontal">
-    <ul class="pine-level-1">
-      <li><a class="item" href="/">Oblasti</a>
-        <ul class="pine-level-2">
-          <li><a class="item" href="/oblast/belianske-tatry/">Belianské Tatry</a></li>
-          <li><a class="item" href="/oblast/belianske-tatry/">Bratislava</a></li>
-          <li><a class="item" href="/oblast/belianske-tatry/">Jižní Slovensko</a></li>
-          <li><a class="item" href="/oblast/belianske-tatry/">Liptov</a></li>
-          <li><a class="item" href="/oblast/belianske-tatry/">Malá a Velká Fatra, Kysuca</a></li>
-        </ul>
-      </li>
-      <li><a class="item" href="/last-minute/">Last Minute</a></li>
-      <li><a class="item" href="/novinky/">Novinky</a></li>
-      <li><a class="item" href="/o/">O nás</a></li>
-      <li><a class="item" href="/kontakt/">Kontakt</a></li>
-    </ul>
-   </div>
-   <ul class="site-nav__small-screen">
-     <li><a href="#vyhledavani" class="site-nav__small-screen-search">Vyhledávání</a></li>
-     <li><a data-pine="toggle" class="site-nav__small-screen-nav" href="#navigace">Menu</a></li>
-   </ul>
-</div>
-```
-
-*/
-/* ## Využívá Pine.JS responzivní navigaci */
-.pine {
-  z-index: 100;
-  margin-bottom: 18px;
-  background: #024E40;
-  *zoom: 1;
+.fancygallery #fancybox-outer {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  background: #fff;
 }
-.pine:before,
-.pine:after {
-  display: table;
-  content: "";
-  line-height: 0;
+.fancygallery #fancybox-inner {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  margin: 0;
+  outline: none;
+  overflow: hidden;
 }
-.pine:after {
-  clear: both;
+.fancygallery #fancybox-inner:hover {
+  z-index: 1109;
 }
-.pine:before,
-.pine:after {
-  content: " ";
-  display: table;
+.fancygallery #fancybox-hide-sel-frame {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: transparent;
 }
-.pine:after {
-  clear: both;
+.fancygallery #fancybox-close {
+  position: fixed;
+  right: 22px;
+  top: 24px;
+  width: 37px;
+  height: 37px;
+  background-image: url('../../images/fancygallery/fancy_close.gif');
+  background-position: top left;
+  cursor: pointer;
+  z-index: 1108;
+  display: none;
 }
-@media (min-width: 768px) {
-  .pine {
-    border-radius: 0;
-  }
+.fancygallery #fancybox-close:hover {
+  background-position: bottom left;
 }
-@media print {
-  .pine {
-    display: none;
-  }
+.fancygallery #fancybox_error {
+  color: #444;
+  font: normal 12px/20px Arial;
+  padding: 7px;
+  margin: 0;
 }
-.pine ul,
-.pine li {
+.fancygallery #fancybox-content {
+  height: auto;
+  width: auto;
+  padding: 0;
   margin: 0;
+}
+.fancygallery #fancybox-img {
+  width: 100%;
+  height: 100%;
   padding: 0;
-  list-style-type: none;
+  margin: 0;
+  border: none;
+  outline: none;
+  line-height: 0;
+  vertical-align: top;
+  -ms-interpolation-mode: bicubic;
 }
-.pine li > a,
-.pine li > strong {
+.fancygallery #fancybox-frame {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  border: none;
   display: block;
-  padding: 9px 12px;
-  color: white;
-  font-weight: normal;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  text-decoration: none;
-  background: #024E40;
 }
-.pine li.pine-level-open > a,
-.pine li strong {
-  background: #9BD04E;
+.fancygallery #fancybox-title {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  z-index: 1102;
 }
-.pine li a:hover,
-.pine li a:focus,
-.pine li a:active {
-  background: #9BD04E;
+.fancygallery .fancybox-title-inside {
+  padding: 10px 0;
+  text-align: center;
+  color: #333;
 }
-.pine .pine-level-2 > li > a,
-.pine .pine-level-2 > li > strong {
-  text-indent: 1em;
+.fancygallery .fancybox-title-outside {
+  padding-top: 5px;
+  color: #fff;
+  text-align: center;
 }
-.pine .pine-level-3 > li > a,
-.pine .pine-level-3 > li > strong {
-  text-indent: 2em;
+.fancygallery .fancybox-title-over {
+  color: #fff;
+  text-align: left;
 }
-@media (max-width: 767px) {
-  .js .pine {
-    max-height: 0;
-    position: absolute;
-    top: 146px;
-    left: 0;
-    overflow: hidden;
-    width: 100%;
-    -webkit-transition: max-height 0.1s ease-in-out;
-    transition: max-height 0.1s ease-in-out;
-  }
-  .js .pine.pine-visible {
-    max-height: none;
-    overflow-y: auto;
-  }
+.fancygallery #fancybox-title-over {
+  padding: 10px;
+  background-image: url('../../images/fancygallery/fancy_title_over.png');
+  display: block;
 }
-@media (min-width: 768px) {
-  .pine {
-    background: #024E40;
-    border: none;
-  }
-  .pine li {
-    position: relative;
-  }
-  .pine a,
-  .pine strong {
-    display: block;
-    border-bottom: 0;
-    text-indent: 0;
-  }
+.fancygallery #fancybox-title-wrap {
+  position: fixed;
+  left: 22px;
+  top: 24px;
+  width: auto;
+  max-width: 400px;
+  max-height: 80%;
+  overflow-y: auto;
+  display: inline-block;
+  padding: 8px 10px;
+  background-image: url('../../images/fancygallery/fancy_title_over.png');
 }
-@media (min-width: 768px) {
-  .pine-horizontal ul > li {
-    display: inline-block;
-    position: relative;
-    float: left;
-  }
-  .pine-horizontal ul > li > a,
-  .pine-horizontal ul > li > strong {
-    text-align: center;
-    display: block;
-  }
-  .pine-horizontal ul a {
-    position: relative;
-  }
+.fancygallery #fancybox-title-left,
+.fancygallery #fancybox-title-right {
+  display: none;
 }
-@media (min-width: 768px) {
-  .pine-horizontal .pine-level-2,
-  .pine-horizontal .pine-level-3 {
-    position: absolute;
-  }
-  .pine-horizontal .pine-level-2 li,
-  .pine-horizontal .pine-level-3 li {
-    display: block;
-    float: none;
-  }
-  .pine-horizontal .pine-level-2 > li > a,
-  .pine-horizontal .pine-level-3 > li > a,
-  .pine-horizontal .pine-level-2 > li > strong,
-  .pine-horizontal .pine-level-3 > li > strong {
-    text-align: left;
-  }
-  .js .pine-horizontal .pine-level-2,
-  .js .pine-horizontal .pine-level-3 {
-    visibility: hidden;
-  }
-  .pine-horizontal .pine-level-3 {
-    padding-top: 0;
-    padding-bottom: 0;
-  }
+.fancygallery #fancybox-title-main {
+  color: #fff;
+  text-align: left;
+  display: block;
+  opacity: 1;
 }
-@media (min-width: 768px) {
-  .pine-horizontal .pine-level-2 {
-    z-index: 50001;
-    visibility: visible;
-    left: 0;
-    top: 100%;
-    width: 200px;
-  }
-  .pine-horizontal .pine-level-3 {
-    z-index: 50002;
-    visibility: visible;
-    left: 100%;
-    top: 0;
-    width: 200px;
-  }
+.fancygallery #fancybox-left,
+.fancygallery #fancybox-right {
+  position: fixed;
+  bottom: 0;
+  height: 100%;
+  width: 35%;
+  cursor: pointer;
+  outline: none;
+  background-image: url('../../images/fancygallery/blank.gif');
+  z-index: 1107;
+  display: none;
 }
-@media (min-width: 768px) {
-  .pine-horizontal .pine-level-open > .pine-level-2 {
-    z-index: 50001;
-    visibility: visible;
-    left: 0;
-    top: 100%;
-    width: 200px;
-  }
-  .pine-horizontal .pine-level-open > .pine-level-3 {
-    z-index: 50002;
-    visibility: visible;
-    left: 100%;
-    top: 0;
-    width: 200px;
-  }
+.fancygallery #fancybox-left {
+  left: 0;
 }
-@media (min-width: 768px) {
-  .pine-vertical a,
-  .pine-vertical strong {
-    padding-top: 8px;
-    padding-bottom: 8px;
-  }
+.fancygallery #fancybox-right {
+  right: 0;
 }
-@media (min-width: 768px) {
-  .pine-vertical .pine-level-2,
-  .pine-vertical .pine-level-3 {
-    top: 0;
-    position: absolute;
-  }
-  .js .pine-vertical .pine-level-2,
-  .js .pine-vertical .pine-level-3 {
-    visibility: hidden;
-  }
+.fancygallery #fancybox-left-ico,
+.fancygallery #fancybox-right-ico {
+  position: absolute;
+  top: 50%;
+  left: -9999px;
+  width: 61px;
+  height: 77px;
+  margin-top: -30px;
+  cursor: pointer;
+  z-index: 1107;
+  display: block;
+}
+.fancygallery #fancybox-left-ico {
+  background-image: url('../../images/fancygallery/fancy_nav_left.png');
+  left: 0;
+}
+.fancygallery #fancybox-right-ico {
+  background-image: url('../../images/fancygallery/fancy_nav_right.png');
+  left: auto;
+  right: 0;
+}
+.fancygallery #fancybox-left:hover #fancybox-left-ico,
+.fancygallery #fancybox-left:focus #fancybox-left-ico,
+.fancygallery #fancybox-left:active #fancybox-left-ico,
+.fancygallery #fancybox-right:hover #fancybox-right-ico,
+.fancygallery #fancybox-right:focus #fancybox-right-ico,
+.fancygallery #fancybox-right:active #fancybox-right-ico {
+  background-position: 0 -77px;
 }
-@media (min-width: 768px) {
-  .pine-vertical .pine-level-2 {
-    z-index: 50001;
-    visibility: visible;
-    left: 100%;
-    width: 200px;
-  }
-  .pine-vertical .pine-level-3 {
-    z-index: 50002;
-    visibility: visible;
-    left: 100%;
-    width: 200px;
-  }
+.fancygallery .fancy-bg {
+  display: none;
 }
-@media (min-width: 768px) {
-  .pine-vertical .pine-level-open > .pine-level-2 {
-    z-index: 50001;
-    visibility: visible;
-    left: 100%;
-    width: 200px;
-  }
-  .pine-vertical .pine-level-open > .pine-level-3 {
-    z-index: 50002;
-    visibility: visible;
-    left: 100%;
-    width: 200px;
-  }
+.fancygallery .jcarousel-container {
+  position: relative;
 }
-.js .pine-fixed {
+.fancygallery .jcarousel-clip {
+  z-index: 2;
+  padding: 0;
+  margin: 0;
+  overflow: hidden;
+  position: relative;
+}
+.fancygallery .jcarousel-list {
+  z-index: 1;
+  overflow: hidden;
+  position: relative;
   top: 0;
   left: 0;
-  position: fixed;
-  width: 100%;
+  margin: 0;
+  padding: 0;
 }
-@media (max-width: 767px) {
-  .js .pine-fixed {
-    top: 146px;
-  }
+.fancygallery .jcarousel-list li,
+.fancygallery .jcarousel-item {
+  float: left;
+  list-style: none;
+  /* We set the width/height explicitly. No width/height causes infinite loops. */
+  width: 75px;
+  height: 75px;
 }
-@media (max-width: 767px) {
-  .js .pine-fixed-small {
-    top: 146px;
-    left: 0;
-    position: fixed;
-    width: 100%;
-  }
+.fancygallery .jcarousel-next {
+  z-index: 3;
+  display: none;
 }
-@media (min-width: 768px) {
-  .js .pine-fixed-large {
-    top: 0;
-    left: 0;
-    position: fixed;
-    width: 100%;
-  }
+.fancygallery .jcarousel-prev {
+  z-index: 3;
+  display: none;
 }
-.pine-has-subnav > a,
-.pine-has-subnav > strong {
+.fancygallery .jcarousel-skin-shortcat .jcarousel-container {
+  top: -2px;
+  left: -2px;
   position: relative;
+  margin: 0 10px;
+  width: 897px;
 }
-.pine-has-subnav > a,
-.pine .pine-level-open .pine-has-subnav > a {
-  padding-right: 30px;
+.fancygallery .jcarousel-skin-shortcat .jcarousel-container-horizontal {
+  padding: 0 40px;
+  width: auto;
 }
-.pine-has-subnav > a:before,
-.pine .pine-level-open .pine-has-subnav > a:before {
-  z-index: 100;
-  content: "";
+.fancygallery .jcarousel-skin-shortcat .jcarousel-clip-horizontal {
+  height: 40px;
+  width: auto;
+}
+.fancygallery .jcarousel-skin-shortcat .jcarousel-item,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-item img {
+  width: 40px;
+  height: 40px;
+}
+.fancygallery .jcarousel-skin-shortcat .jcarousel-item img {
+  opacity: 0.5;
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+  filter: alpha(opacity=50);
+}
+.fancygallery .jcarousel-skin-shortcat .jcarousel-item.active img,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-item:hover img {
+  opacity: 1;
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+  filter: alpha(opacity=100);
+}
+.fancygallery .jcarousel-skin-shortcat .jcarousel-item-horizontal {
+  margin-right: 3px;
+}
+.fancygallery .jcarousel-skin-shortcat .jcarousel-item-placeholder {
+  background: #fff;
+  color: #000;
+}
+.fancygallery .jcarousel-skin-shortcat .jcarousel-next-horizontal {
   position: absolute;
-  right: 15px;
-  top: 50%;
-  display: inline-block;
-  width: 0;
-  height: 0;
-  border-style: solid;
-  border-width: 4px 0 4px 6px;
-  margin-top: -4px;
-  border-color: transparent transparent transparent white;
+  top: 0;
+  right: 10px;
+  width: 33px;
+  height: 40px;
+  cursor: pointer;
+  background: transparent url(../../images/fancygallery/fancygallery_next.gif) no-repeat top right;
 }
-@media (max-width: 767px) {
-  .pine-has-subnav > a:before,
-  .pine .pine-level-open .pine-has-subnav > a:before {
-    right: 12px;
-  }
+.fancygallery .jcarousel-skin-shortcat .jcarousel-next-horizontal:hover,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-next-horizontal.hover,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-next-horizontal:active {
+  background-position: top right;
 }
-@media (max-width: 767px) {
-  .pine-has-subnav > a:before,
-  .pine .pine-level-open .pine-has-subnav > a:before {
-    border-color: transparent transparent transparent white;
-  }
+.fancygallery .jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal:hover,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal:active {
+  cursor: default;
+  background-image: none;
 }
-.pine-horizontal .pine-has-subnav > a {
-  padding-right: 30px;
+.fancygallery .jcarousel-skin-shortcat .jcarousel-prev-horizontal {
+  position: absolute;
+  top: 0;
+  left: 10px;
+  width: 33px;
+  height: 40px;
+  cursor: pointer;
+  background: transparent url(../../images/fancygallery/fancygallery_prev.gif) no-repeat 0 0;
 }
-.pine-horizontal .pine-has-subnav > a:before {
-  border-width: 6px 4px 0 4px;
-  margin-top: -2px;
-  border-color: white transparent transparent transparent;
+.fancygallery .jcarousel-skin-shortcat .jcarousel-prev-horizontal:hover,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-prev-horizontal.hover,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-prev-horizontal:active {
+  background-position: 0 0;
 }
-@media (max-width: 767px) {
-  .pine-horizontal .pine-has-subnav > a:before {
-    border-color: white transparent transparent transparent;
-  }
+.fancygallery .jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal:hover,
+.fancygallery .jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal:active {
+  cursor: default;
+  background-image: none;
 }
-@media (max-width: 767px) {
-  .pine-horizontal .pine-has-subnav > a:before {
-    border-width: 4px 0 4px 6px;
-    margin-top: -4px;
-    border-color: transparent transparent transparent white;
-  }
+.fancygallery #fancybox-thumbnails {
+  position: fixed;
+  z-index: 1108;
+  bottom: 20px;
+  left: 0;
+  width: 100%;
+  height: 40px;
 }
-@media (max-width: 767px) and (max-width: 767px) {
-  .pine-horizontal .pine-has-subnav > a:before {
-    border-color: transparent transparent transparent white;
-  }
+.fancygallery #fancybox-thumbnails,
+.fancygallery #fancybox-thumbnails .jcarousel-skin-shortcat .jcarousel-clip-horizontal {
+  height: 129px;
+  /* 40px maly nahled + 75px mouseover nahled + 4px border + 10px sipka */
 }
-.pine-trigger {
+.fancygallery #fancybox-thumbnails .jcarousel-item .hover-image {
+  width: 75px;
+  height: 86px;
+  padding: 2px;
+  position: relative;
+  top: -129px;
+  left: -20px;
   display: none;
-  padding: 9px 12px;
-  color: white;
-  font-weight: normal;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  background: #024E40;
-  text-decoration: none;
+  background-image: url(../../images/fancygallery/fancygallery_thumbnail_hover.gif);
+  background-repeat: no-repeat;
 }
-@media (max-width: 767px) {
-  .js .pine-trigger {
-    display: inline-block;
-  }
+.fancygallery #fancybox-thumbnails .jcarousel-item .hover-image img {
+  width: 75px;
+  height: 75px;
+  opacity: 1;
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+  filter: alpha(opacity=100);
 }
-.pine-trigger .icon-bar {
-  position: relative;
-  vertical-align: middle;
-  margin-top: -2px;
+.fancygallery #fancybox-thumbnails .jcarousel-item:hover .hover-image {
+  display: block;
 }
-.pine-trigger .icon-bar,
-.pine-trigger .icon-bar:before,
-.pine-trigger .icon-bar:after {
-  display: inline-block;
-  width: 18px;
-  height: 2px;
-  background-color: black;
-  border-radius: 1px;
-  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-          box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+.fancygallery #fancybox-thumbnails .jcarousel-item,
+.fancygallery #fancybox-thumbnails .jcarousel-next-horizontal,
+.fancygallery #fancybox-thumbnails .jcarousel-prev-horizontal {
+  margin-top: 89px;
+  /* 75px mouseover nahled + 4px border + 10px sipka */
 }
-.pine-trigger .icon-bar:before,
-.pine-trigger .icon-bar:after {
+.fancygallery #fancybox-thumbnails .jcarousel-clip,
+.fancygallery #fancybox-thumbnails .jcarousel-list {
+  position: static;
+}
+.fancygallery #fancybox-thumbnails .jcarousel-item .hover-image {
   position: absolute;
-  top: -4px;
-  content: '';
+  top: auto;
+  left: auto;
+  margin-top: -129px;
+  margin-left: -20px;
+  z-index: 1110;
+}
+.fancygallery #fancybox-thumbnails.scrolling .jcarousel-clip,
+.fancygallery #fancybox-thumbnails.scrolling .jcarousel-list {
+  position: relative;
+}
+.fancygallery #fancybox-title-main .set {
+  color: #999;
+}
+/* # Tmave barevne schema
+
+dark.html
+
+*/
+.theme-dark {
+  background: #444;
+}
+.theme-dark {
+  color: white !important;
+}
+.theme-dark h1,
+.theme-dark h2,
+.theme-dark h3 {
+  color: white !important;
+}
+.theme-dark .list-item.active,
+.theme-dark .list-item:hover,
+.theme-dark .list-item:focus,
+.theme-dark .list-item:active {
+  background-color: #555;
+  border-color: #eee;
+  color: white;
+}
+.theme-dark .list-item.active h2 a,
+.theme-dark .list-item:hover h2 a,
+.theme-dark .list-item:focus h2 a,
+.theme-dark .list-item:active h2 a {
+  color: white;
+  text-decoration: underline;
 }
-.pine-trigger .icon-bar:after {
-  top: 4px;
+.js .theme-dark .list-item.active,
+.js .theme-dark .list-item:hover,
+.js .theme-dark .list-item:focus,
+.js .theme-dark .list-item:active {
+  background-color: #666;
 }
-.pine-trigger-title {
-  display: inline-block;
+/*
+
+Helpery
+=======
+
+*/
+.clearfix {
+  *zoom: 1;
 }
-.fx-collapse ul ul {
-  overflow: hidden;
-  max-height: 0;
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  content: "";
+  line-height: 0;
 }
-.fx-collapse .pine-level-open > .pine-level-2,
-.fx-collapse .pine-level-open > .pine-level-3 {
-  overflow: visible;
-  max-height: none;
+.clearfix:after {
+  clear: both;
 }
-@media (max-width: 767px) {
-  .fx-collapse .pine-level-1 > .pine-has-subnav > a:before,
-  .fx-collapse .pine-level-2 > .pine-has-subnav > a:before,
-  .fx-collapse .pine-level-3 > .pine-has-subnav > a:before {
-    border-width: 6px 4px 0 4px;
-    margin-top: -2px;
-    border-color: white transparent transparent transparent;
-  }
+.container .margin_bottom {
+  margin-bottom: 18px;
 }
-@media (max-width: 767px) and (max-width: 767px) {
-  .fx-collapse .pine-level-1 > .pine-has-subnav > a:before,
-  .fx-collapse .pine-level-2 > .pine-has-subnav > a:before,
-  .fx-collapse .pine-level-3 > .pine-has-subnav > a:before {
-    border-color: white transparent transparent transparent;
-  }
+.container .margin_bottom_half {
+  margin-bottom: 9px;
 }
-.fx-hover-fade .pine-level-2,
-.fx-hover-fade .pine-level-3 {
-  opacity: 0;
-  -webkit-transition: visibility 0s 0.1s, opacity 0.1s ease-in-out;
-  transition: visibility 0s 0.1s, opacity 0.1s ease-in-out;
+.container .margin_bottom_double {
+  margin-bottom: 36px;
 }
-.fx-hover-fade .pine-level-2 > li > a,
-.fx-hover-fade .pine-level-3 > li > a,
-.fx-hover-fade .pine-level-2 > li > strong,
-.fx-hover-fade .pine-level-3 > li > strong {
-  text-indent: 0;
+.without_margin_bottom {
+  margin-bottom: 0;
 }
-.fx-hover-fade .pine-level-1 > li > a,
-.fx-hover-fade .pine-level-1 > li > strong {
-  -webkit-transition: background .1s;
-  transition: background .1s;
+.margin_top_negative {
+  margin-top: -18px;
 }
-.fx-hover-fade .pine-level-open > .pine-level-2,
-.fx-hover-fade .pine-level-open > .pine-level-3 {
-  opacity: 1;
-  -webkit-transition: opacity 0.1s ease-in-out;
-  transition: opacity 0.1s ease-in-out;
+.container .margin_top {
+  margin-top: 18px;
 }
-.fx-hover-fade .noanim {
-  -webkit-transition: none !important;
-  transition: none !important;
+.container .margin_top_double {
+  margin-top: 36px;
 }
-.fx-right-to-left .pine-level-1 {
-  position: relative;
-  left: 0;
+.margin_top_half {
+  margin-top: 9px;
 }
-.fx-right-to-left ul ul {
-  position: absolute;
-  top: 0;
-  left: 100%;
+.desktop_only {
+  display: none !important;
 }
-.js .fx-right-to-left ul ul {
-  visibility: hidden;
-  -webkit-transition: visibility 0s .2s;
-  transition: visibility 0s .2s;
+@media only screen and (min-width: 768px) {
+  .desktop_only {
+    display: block !important;
+  }
 }
-.fx-right-to-left ul li > a,
-.fx-right-to-left ul li > strong {
-  text-indent: 0 !important;
+.dumb_only {
+  display: none !important;
 }
-.fx-right-to-left .pine-level-2 > ul {
-  left: 200%;
+.center,
+.text-center {
+  text-align: center;
 }
-.fx-right-to-left .pine-level-3 > ul {
-  left: 300%;
+.right {
+  text-align: right;
 }
-.fx-right-to-left ul .pine-level-open > ul {
-  visibility: visible;
+.left {
+  text-align: left;
 }
-.fx-right-to-left .pine-level-1 > .pine-level-open > ul {
-  -webkit-transition: visibility 0s 0s;
-  transition: visibility 0s 0s;
+.clear_both {
+  clear: both;
 }
-.fx-right-to-left .pine-back > a {
-  position: relative;
-  background: #9BD04E;
-  text-align: center;
+.block_center {
+  margin-left: auto !important;
+  margin-right: auto !important;
+  float: none !important;
 }
-.fx-right-to-left .pine-back > a:before {
-  z-index: 100;
-  content: "";
-  position: absolute;
-  top: 50%;
-  left: 12px;
-  display: inline-block;
-  width: 0;
-  height: 0;
-  border-style: solid;
-  border-width: 4px 6px 4px 0;
-  margin-top: -4px;
-  border-color: transparent white transparent transparent;
+.suppress {
+  opacity: 0.5;
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+  filter: alpha(opacity=50);
 }
-.pine-has-subnav > a:before {
-  border-style: inset;
+.float_right {
+  float: right;
 }
-.site-nav {
-  clear: both;
-  background: #024E40;
-  border-bottom: #9BD04E 10px solid;
-  border-top: #E0E9E8 10px solid;
+.float_left {
+  float: left;
 }
 @media only screen and (min-width: 768px) {
-  .site-nav {
-    padding-left: 15px;
-    padding-right: 15px;
-    height: 41px;
+  .last {
+    margin-right: 0 !important;
   }
 }
-@media print {
-  .site-nav {
-    display: none;
-  }
+.tabbed_text {
+  padding-left: 15px;
+  padding-right: 45px;
 }
-.site-nav__main .pine-level-1 {
-  margin: 0;
-  padding: 0;
+.small {
+  font-size: 11px;
+  line-height: 13px;
+  color: #999;
 }
-@media only screen and (min-width: 768px) {
-  .site-nav__main .pine-level-1 {
-    display: -webkit-box;
-    display: -ms-flexbox;
-    display: flex;
-  }
+.small a {
+  color: #999;
+  text-decoration: underline;
 }
-.site-nav__main .pine-level-1 > li {
-  text-align: center;
+.small a:hover,
+.small a:focus,
+.small a:active {
+  color: #666;
 }
-@media only screen and (min-width: 768px) {
-  .site-nav__main .pine-level-1 > li {
-    -webkit-box-flex: 1;
-        -ms-flex: 1;
-            flex: 1;
-  }
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
 }
-.site-nav li {
-  list-style-type: none;
+.floatLeft50 {
+  float: left;
+  width: 48%;
 }
-.site-nav__accom-search-link,
-.site-nav__main,
-.site-nav__small-screen {
+.floatRight50 {
+  float: right;
+  width: 48%;
+}
+.clearBothZero,
+.clear_zero {
   display: block;
+  clear: both;
+  font-size: 1px;
+  line-height: 1px;
+  height: 1px;
 }
-@media only screen and (min-width: 768px) {
-  .site-nav__accom-search-link,
-  .site-nav__main,
-  .site-nav__small-screen {
-    width: 100%;
-  }
+.marginBottom3 {
+  margin-bottom: 3em;
 }
-.site-nav__accom-search-link {
-  margin: 0;
-  padding: 0;
+.marginBottom1half {
+  margin-bottom: 1.5em;
 }
-@media only screen and (min-width: 768px) {
-  .site-nav__accom-search-link {
-    display: none;
-  }
+.marginRight15 {
+  margin-right: 15px;
 }
-.site-nav__accom-search-link-desktop {
-  display: none;
+.floatLeft {
+  float: left;
 }
-@media only screen and (min-width: 768px) {
-  .site-nav__accom-search-link-desktop {
-    display: block;
-  }
+.floatRight {
+  float: right;
 }
-.site-nav__small-screen {
-  padding: 0;
-  margin: 0;
+.displayNone {
   display: none;
 }
-@media only screen and (max-width: 767px) {
-  .site-nav__small-screen {
-    display: block;
-    width: 130px;
-    margin-right: -2px;
-    float: right;
-  }
+.marginTopNo {
+  margin-top: 0;
 }
-.site-nav__small-screen li {
-  display: inline-block;
+.sideOne .marginTopNo {
+  margin-top: -1.5em;
 }
-.site-nav__small-screen a.active {
-  background-color: #9BD04E;
+.alignLeft {
+  text-align: left;
 }
-.container .site-nav a {
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-  display: block;
-  padding: 12px 12px 11px;
-  color: #fff;
-  font-weight: normal;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  text-decoration: none;
+.alignRight {
+  text-align: right;
 }
-.container .site-nav a:hover,
-.container .site-nav a:focus,
-.container .site-nav a:active,
-.container .site-nav a.active {
-  color: white;
-  text-decoration: none;
-  background-color: #9BD04E;
+.alignCenter {
+  text-align: center;
 }
-.container .pine-level-2 a {
-  padding: 9px 15px 10px;
+.alignMiddle {
+  vertical-align: middle;
 }
-@media only screen and (min-width: 768px) {
-  .pine-level-1 > li {
-    display: inline-block;
-    position: relative;
-    float: left;
-  }
-  .container .pine-level-1 > .pine-has-subnav > a {
-    padding-right: 25px;
-  }
-  .container .pine-level-1 > .pine-has-subnav > a:before {
-    top: 19px;
-    right: 50%;
-    margin-right: -27px;
-    border-top-color: rgba(255, 255, 255, 0.5);
-  }
+.required {
+  font-size: 1.2em;
+  font-weight: bold;
+  color: #f60;
 }
-/* Modul About
-   ===========
-
-   Stránka "O nás".
-*/
-.about-perex {
-  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
+p.submit {
+  text-align: right;
 }
-@media only screen and (min-width: 360px) and (max-width: 767px) {
-  .about-perex {
-    padding-left: 50px;
-    padding-right: 50px;
-  }
+.big {
+  font-size: 1.5em;
+  font-weight: bold;
+  vertical-align: middle;
 }
-@media only screen and (min-width: 768px) {
-  .about-perex {
-    padding-left: 250px;
-    padding-right: 250px;
-  }
+.fontSmall {
+  font-size: 0.5em;
+  font-weight: normal;
 }
-.about-person {
-  text-align: center;
+small.fontSmall {
+  font-size: 0.6em;
+  font-weight: normal;
 }
-.about-person-image img {
-  border-radius: 50%;
-  overflow: hidden;
-  max-width: 138px;
-  display: block;
-  margin: 0 auto;
+table.fontSmall td,
+table.fontSmall th {
+  font-size: 1.4em;
+  font-weight: normal;
 }
-.about-person-short-text {
-  max-width: 200px;
-  margin-left: auto;
-  margin-right: auto;
+.clearBoth {
+  clear: both;
 }
-@media only screen and (min-width: 768px) {
-  .about-person-full-text,
-  .about-person-full-contact {
-    margin-top: 9px;
-  }
+.container .alignRight {
+  text-align: right;
 }
-.about-history {
-  background-color: #d8dbd8;
-  background-position: center center;
+.container .alignLeft {
+  text-align: left;
 }
-@media only screen and (max-width: 767px) {
-  .about-history {
-    background-image: url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-small.jpg);
-  }
+.container .alignCenter {
+  text-align: center;
 }
-@media only screen and (min-width: 768px) {
-  .about-history {
-    background-image: url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-medium.jpg);
-    background-attachment: fixed;
-  }
+.testRed {
+  border: 1px solid red;
 }
-.about-history-perex {
-  background: #fff;
-  background: rgba(255, 255, 255, 0.95);
-  padding: 3em 2em 2em 2em;
-  margin-top: 5em;
-  margin-bottom: 5em;
+.displayInline {
+  display: inline;
 }
-.about-history-perex .h1 {
-  margin-bottom: 10px;
+.displayNone {
+  display: none;
 }
-.about-history-perex .h2 {
-  margin-bottom: 20px;
+.hide {
+  display: none;
 }
-@media only screen and (min-width: 768px) {
-  .about-history-perex {
-    width: 55%;
-    margin-left: auto;
-    margin-right: auto;
-  }
+.width100 {
+  width: 100%;
 }
-.about-web-item {
-  padding: 10px;
+.width50 {
+  width: 50%;
+}
+.display_block {
+  display: block;
+}
+.more_link {
+  margin: 2em 0;
   text-align: center;
-  margin-bottom: 0;
-  border-bottom: 2px solid #999;
 }
-.about-web-item-eslovensko {
-  border-color: #0EB10E;
+.accommodation_big_item {
+  margin-bottom: 36px;
 }
-.about-web-item-velkymeder {
-  border-color: #06F;
+.unveil {
+  opacity: 0;
+  -webkit-transition: opacity 0.5s ease-in;
+  transition: opacity 0.5s ease-in;
 }
-.about-web-item-tuzemskadovolena {
-  border-color: #F60;
+.more_info {
+  color: #666;
 }
-.about-web-item-epodhajska {
-  border-color: #c00;
+.legend {
+  color: #999;
+  text-align: right;
 }
-.about-web-item-besenova {
-  border-color: #06F;
+.similar_items {
+  margin-top: 54px;
 }
-@media only screen and (min-width: 768px) {
-  .about-web-etc {
-    text-align: center;
-    padding-left: 260px;
-    padding-right: 260px;
-  }
+#map_container {
+  margin: -35px -8px 27px -30px;
+  width: auto;
+  height: 562px;
 }
-@media only screen and (min-width: 1180px) {
-  .about-legal {
-    padding-left: 300px;
-    padding-right: 300px;
-  }
+#mapa_okoli {
+  margin-top: 8px;
 }
-/* # Tmave barevne schema
-
-dark.html
-
-*/
-.theme-dark {
-  background: #444;
+#subdivisions {
+  max-width: 940px;
+  margin-bottom: 36px;
 }
-.theme-dark {
-  color: white !important;
+#subdivisions h3 {
+  margin-bottom: 9px;
+  border-bottom: 1px solid #ccc;
 }
-.theme-dark h1,
-.theme-dark h2,
-.theme-dark h3 {
-  color: white !important;
+.more_photos a {
+  border-top: 1px solid #ccc;
+  border-bottom: 1px solid #ccc;
+  margin-left: 0;
+  padding-left: 0;
+  padding: 5px 7px;
+  display: block;
 }
-.theme-dark .list-item.active,
-.theme-dark .list-item:hover,
-.theme-dark .list-item:focus,
-.theme-dark .list-item:active {
-  background-color: #555;
-  border-color: #eee;
-  color: white;
+.more_photos a:hover,
+.more_photos a:focus,
+.more_photos a:active {
+  background-color: #eee;
+  cursor: pointer;
 }
-.theme-dark .list-item.active h2 a,
-.theme-dark .list-item:hover h2 a,
-.theme-dark .list-item:focus h2 a,
-.theme-dark .list-item:active h2 a {
-  color: white;
-  text-decoration: underline;
+input.input--border {
+  border: 1px solid #000;
 }
-.js .theme-dark .list-item.active,
-.js .theme-dark .list-item:hover,
-.js .theme-dark .list-item:focus,
-.js .theme-dark .list-item:active {
-  background-color: #666;
+textarea.textarea--border {
+  border: 1px solid #000;
 }
\ No newline at end of file
diff --git a/css/style.css.map b/css/style.css.map
index 7d8c0fe..3564d5e 100644
--- a/css/style.css.map
+++ b/css/style.css.map
@@ -1 +1 @@
-{"version":3,"sources":["less/lib/mixins.less","less/lib/fancygallery.less","less/base/reset.less","less/base/body.less","less/base/typo.less","less/base/helpers.less","less/layout/container.less","less/layout/layout.less","less/lib/pine/core/mixins.less","less/components/content_head.less","less/components/fancybox.less","less/components/flag.less","less/components/foot.less","less/components/inline-list.less","less/components/list-item.less","less/components/price-date.less","less/components/site_logo.less","less/lib/pine/core/base.less","less/lib/pine/core/base-large-display.less","less/lib/pine/core/base-horizontal.less","less/lib/pine/core/base-vertical.less","less/lib/pine/core/base-fixed.less","less/lib/pine/modules/caret.less","less/lib/pine/modules/trigger.less","less/lib/pine/modules/fx/collapse.less","less/lib/pine/modules/fx/hover-fade.less","less/lib/pine/modules/fx/right-to-left.less","less/components/site_nav.less","less/components/page/about.less","less/themes/dark.less"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"sources":["less/lib/mixins.less","less/base/reset.less","less/base/body.less","less/base/typo.less","less/layout/container.less","less/layout/layout.less","less/base/helpers.less","less/lib/pine/core/mixins.less","less/components/page/about.less","less/components/content_head.less","less/components/fancybox.less","less/components/flag.less","less/components/foot.less","less/components/price-date.less","less/components/site_logo.less","less/lib/pine/core/base.less","less/lib/pine/core/base-large-display.less","less/lib/pine/core/base-horizontal.less","less/lib/pine/core/base-vertical.less","less/lib/pine/core/base-fixed.less","less/lib/pine/modules/caret.less","less/lib/pine/modules/trigger.less","less/lib/pine/modules/fx/collapse.less","less/lib/pine/modules/fx/hover-fade.less","less/lib/pine/modules/fx/right-to-left.less","less/components/site_nav.less","less/components-new/inline-list.less","less/components-new/list-item.less","less/index.less","less/lib/fancygallery.less","less/themes/dark.less"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/index.html b/index.html
index c9dac0d..28e98ab 100644
--- a/index.html
+++ b/index.html
@@ -90,7 +90,7 @@ <h2 class="inline-list__heading inline-list__heading--invisible">
         <div class="row">
 
           <article class="list-item bordered">
-            <p class="image">
+            <p class="list-item__image">
               <a href="#">
                 <img alt="Minirelax v lázních AKCE -20%" src="http://www.ck-rekrea.cz/katalogy-data/images/mista/614/Hotel_Pohoda_Luhacovice1_s.jpg" height="215" width="286">
               </a>
@@ -100,16 +100,16 @@ <h2 class="inline-list__heading inline-list__heading--invisible">
               </span>
             </p>
             <!-- .image -->
-            <div class="content">
-              <h2>
+            <div class="list-item__content">
+              <h2 class="list-item__heading">
                 <a href="#">Minirelax v lázních AKCE -20%</a>
               </h2>
-              <p>
+              <p class="list-item__perex">
                 WELLNESS HOTEL POHODA, Luhačovice, Jižní Morava, Česká republika
                 <br>
                 <strong>termíny:</strong> 02.04.2018 - 20.04.2018
               </p>
-              <p class="price price--big">
+              <p class="list-item__price price price--big">
                 <strong>4 noci od</strong> 5 570 Kč
               </p>
             </div>
@@ -119,7 +119,7 @@ <h2>
           <!-- .list-item -->
 
           <article class="list-item">
-            <p class="image">
+            <p class="list-item__image">
               <a href="#">
                 <img alt="Mandloňový pobyt" src="http://www.ck-rekrea.cz/katalogy-data/images/mista/885/Hotel_Cento0_s.jpg" height="215" width="286">
               </a>
@@ -128,14 +128,14 @@ <h2>
               </span>
             </p>
             <!-- .image -->
-            <div class="content">
-              <h2>
+            <div class="list-item__content">
+              <h2 class="list-item__heading">
                 <a href="#">Mandloňový pobyt</a>
               </h2>
-              <p>
+              <p class="list-item__perex">
                 <strong>termíny:</strong> 23.03.2018 - 25.03.2018
               </p>
-              <p class="price price--big">
+              <p class="list-item__price price price--big">
                 <strong>2 noci od</strong> 2 975 Kč
               </p>
             </div>
@@ -145,7 +145,7 @@ <h2>
           <!-- .list-item -->
 
           <article class="list-item">
-            <p class="image">
+            <p class="list-item__image">
               <a href="#">
                 <img alt="Velikonoční gurmánský pobyt" src="http://www.ck-rekrea.cz/katalogy-data/images/mista/885/Hotel_Cento0_s.jpg" height="215" width="286">
               </a>
@@ -154,14 +154,14 @@ <h2>
               </span>
             </p>
             <!-- .image -->
-            <div class="content">
-              <h2>
+            <div class="list-item__content">
+              <h2 class="list-item__heading">
                 <a href="#">Velikonoční gurmánský pobyt</a>
               </h2>
-              <p>
+              <p class="list-item__perex">
                 <strong>termíny:</strong> 30.03.2018 - 02.04.2018
               </p>
-              <p class="price price--big">
+              <p class="list-item__price price price--big">
                 <strong>2-3 noci od</strong> 3 245 Kč
               </p>
             </div>
@@ -171,7 +171,7 @@ <h2>
           <!-- .list-item -->
 
           <article class="list-item">
-            <p class="image">
+            <p class="list-item__image">
               <a href="#">
                 <img alt="Jarovín Rosé pobytový balíček" src="http://www.ck-rekrea.cz/katalogy-data/images/mista/885/Hotel_Cento0_s.jpg" height="215" width="286">
               </a>
@@ -180,14 +180,14 @@ <h2>
               </span>
             </p>
             <!-- .image -->
-            <div class="content">
-              <h2>
+            <div class="list-item__content">
+              <h2 class="list-item__heading">
                 <a href="#">Jarovín Rosé pobytový balíček</a>
               </h2>
-              <p>
+              <p class="list-item__perex">
                 <strong>termíny:</strong> 06.04.2018 - 08.04.2018
               </p>
-              <p class="price price--big">
+              <p class="list-item__price price price--big">
                 <strong>2 noci od </strong>2 595 Kč
               </p>
             </div>
@@ -197,7 +197,7 @@ <h2>
           <!-- .list-item -->
 
           <article class="list-item">
-            <p class="image">
+            <p class="list-item__image">
               <a href="#">
                 <img alt="Relax v Pohodě AKCE -20%" src="http://www.ck-rekrea.cz/katalogy-data/images/mista/614/Hotel_Pohoda_Luhacovice1_s.jpg" height="215" width="286">
               </a>
@@ -207,14 +207,14 @@ <h2>
               </span>
             </p>
             <!-- .image -->
-            <div class="content">
-              <h2>
+            <div class="list-item__content">
+              <h2 class="list-item__heading">
                 <a href="#">Relax v Pohodě AKCE -20%</a>
               </h2>
-              <p>
+              <p class="list-item__perex">
                 <strong>termíny:</strong> 15.04.2018 - 20.04.2018
               </p>
-              <p class="price price--big">
+              <p class="list-item__price price price--big">
                 <strong>3 noci od</strong> 4 560 Kč
               </p>
             </div>
@@ -224,23 +224,23 @@ <h2>
           <!-- .list-item -->
 
           <article class="list-item">
-            <p class="image">
+            <p class="list-item__image">
               <a href="#">
                 <img alt="PENZION ONYX foto" src="http://www.ck-rekrea.cz/katalogy-data/images/mista/413/Penzion_onyx0_s.jpg" height="215" width="286">
               </a>
               <span class="flags"></span>
             </p>
             <!-- .image -->
-            <div class="content">
-              <h2>
+            <div class="list-item__content">
+              <h2 class="list-item__heading">
                 <a href="#">PENZION ONYX</a>
               </h2>
-              <p>
+              <p class="list-item__perex">
                 Lednice
                 <br>
                 Penzion Onyx se nachází v klidové zóně obce Lednice. Je vzdálený jen 800 m od centra obce.
               </p>
-              <p class="price price--big">
+              <p class="list-item__price price price--big">
                 <strong>1 noc od</strong> 595 Kč
               </p>
             </div>
diff --git a/js/rekrea-footer.js b/js/rekrea-footer.js
index 8dc6e13..31802ab 100644
--- a/js/rekrea-footer.js
+++ b/js/rekrea-footer.js
@@ -16,393 +16,790 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ========================================================= */
- 
-!function( $ ) {
-	
-	// Picker object
-	
-	var Datepicker = function(element, options){
-		this.element = $(element);
-		this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy');
-		this.picker = $(DPGlobal.template)
-							.appendTo('body')
-							.on({
-								click: $.proxy(this.click, this),
-								mousedown: $.proxy(this.mousedown, this)
-							});
-		this.isInput = this.element.is('input');
-		this.component = this.element.is('.date') ? this.element.find('.add-on') : false;
-		
-		if (this.isInput) {
-			this.element.on({
-				focus: $.proxy(this.show, this),
-				blur: $.proxy(this.hide, this),
-				keyup: $.proxy(this.update, this)
-			});
-		} else {
-			if (this.component){
-				this.component.on('click', $.proxy(this.show, this));
-			} else {
-				this.element.on('click', $.proxy(this.show, this));
-			}
-		}
-		
-		this.viewMode = 0;
-		this.weekStart = options.weekStart||this.element.data('date-weekstart')||0;
-		this.weekEnd = this.weekStart == 0 ? 6 : this.weekStart - 1;
-		this.fillDow();
-		this.fillMonths();
-		this.update();
-		this.showMode();
-	};
-	
-	Datepicker.prototype = {
-		constructor: Datepicker,
-		
-		show: function(e) {
-			this.picker.show();
-			this.height = this.component ? this.component.outerHeight() : this.element.outerHeight();
-			this.place();
-			$(window).on('resize', $.proxy(this.place, this));
-			if (e ) {
-				e.stopPropagation();
-				e.preventDefault();
-			}
-			if (!this.isInput) {
-				$(document).on('mousedown', $.proxy(this.hide, this));
-			}
-			this.element.trigger({
-				type: 'show',
-				date: this.date
-			});
-		},
-		
-		hide: function(){
-			this.picker.hide();
-			$(window).off('resize', this.place);
-			this.viewMode = 0;
-			this.showMode();
-			if (!this.isInput) {
-				$(document).off('mousedown', this.hide);
-			}
-			this.setValue();
-			this.element.trigger({
-				type: 'hide',
-				date: this.date
-			});
-		},
-		
-		setValue: function() {
-			var formated = DPGlobal.formatDate(this.date, this.format);
-			if (!this.isInput) {
-				if (this.component){
-					this.element.find('input').prop('value', formated);
-				}
-				this.element.data('date', formated);
-			} else {
-				this.element.prop('value', formated);
-			}
-		},
-		
-		place: function(){
-			var offset = this.component ? this.component.offset() : this.element.offset();
-			this.picker.css({
-				top: offset.top + this.height,
-				left: offset.left
-			});
-		},
-		
-		update: function(){
-			this.date = DPGlobal.parseDate(
-				this.isInput ? this.element.prop('value') : this.element.data('date'),
-				this.format
-			);
-			this.viewDate = new Date(this.date);
-			this.fill();
-		},
-		
-		fillDow: function(){
-			var dowCnt = this.weekStart;
-			var html = '<tr>';
-			while (dowCnt < this.weekStart + 7) {
-				html += '<th class="dow">'+DPGlobal.dates.daysMin[(dowCnt++)%7]+'</th>';
-			}
-			html += '</tr>';
-			this.picker.find('.datepicker-days thead').append(html);
-		},
-		
-		fillMonths: function(){
-			var html = '';
-			var i = 0
-			while (i < 12) {
-				html += '<span class="month">'+DPGlobal.dates.monthsShort[i++]+'</span>';
-			}
-			this.picker.find('.datepicker-months td').append(html);
-		},
-		
-		fill: function() {
-			var d = new Date(this.viewDate),
-				year = d.getFullYear(),
-				month = d.getMonth(),
-				currentDate = this.date.valueOf();
-			this.picker.find('.datepicker-days th:eq(1)')
-						.text(DPGlobal.dates.months[month]+' '+year);
-			var prevMonth = new Date(year, month-1, 28,0,0,0,0),
-				day = DPGlobal.getDaysInMonth(prevMonth.getFullYear(), prevMonth.getMonth());
-			prevMonth.setDate(day);
-			prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7)%7);
-			var nextMonth = new Date(prevMonth);
-			nextMonth.setDate(nextMonth.getDate() + 42);
-			nextMonth = nextMonth.valueOf();
-			html = [];
-			var clsName;
-			while(prevMonth.valueOf() < nextMonth) {
-				if (prevMonth.getDay() == this.weekStart) {
-					html.push('<tr>');
-				}
-				clsName = '';
-				if (prevMonth.getMonth() < month) {
-					clsName += ' old';
-				} else if (prevMonth.getMonth() > month) {
-					clsName += ' new';
-				}
-				if (prevMonth.valueOf() == currentDate) {
-					clsName += ' active';
-				}
-				html.push('<td class="day'+clsName+'">'+prevMonth.getDate() + '</td>');
-				if (prevMonth.getDay() == this.weekEnd) {
-					html.push('</tr>');
-				}
-				prevMonth.setDate(prevMonth.getDate()+1);
-			}
-			this.picker.find('.datepicker-days tbody').empty().append(html.join(''));
-			var currentYear = this.date.getFullYear();
-			
-			var months = this.picker.find('.datepicker-months')
-						.find('th:eq(1)')
-							.text(year)
-							.end()
-						.find('span').removeClass('active');
-			if (currentYear == year) {
-				months.eq(this.date.getMonth()).addClass('active');
-			}
-			
-			html = '';
-			year = parseInt(year/10, 10) * 10;
-			var yearCont = this.picker.find('.datepicker-years')
-								.find('th:eq(1)')
-									.text(year + '-' + (year + 9))
-									.end()
-								.find('td');
-			year -= 1;
-			for (var i = -1; i < 11; i++) {
-				html += '<span class="year'+(i == -1 || i == 10 ? ' old' : '')+(currentYear == year ? ' active' : '')+'">'+year+'</span>';
-				year += 1;
-			}
-			yearCont.html(html);
-		},
-		
-		click: function(e) {
-			e.stopPropagation();
-			e.preventDefault();
-			var target = $(e.target).closest('span, td, th');
-			if (target.length == 1) {
-				switch(target[0].nodeName.toLowerCase()) {
-					case 'th':
-						switch(target[0].className) {
-							case 'switch':
-								this.showMode(1);
-								break;
-							case 'prev':
-							case 'next':
-								this.viewDate['set'+DPGlobal.modes[this.viewMode].navFnc].call(
-									this.viewDate,
-									this.viewDate['get'+DPGlobal.modes[this.viewMode].navFnc].call(this.viewDate) + 
-									DPGlobal.modes[this.viewMode].navStep * (target[0].className == 'prev' ? -1 : 1)
-								);
-								this.fill();
-								break;
-						}
-						break;
-					case 'span':
-						if (target.is('.month')) {
-							var month = target.parent().find('span').index(target);
-							this.viewDate.setMonth(month);
-						} else {
-							var year = parseInt(target.text(), 10)||0;
-							this.viewDate.setFullYear(year);
-						}
-						this.showMode(-1);
-						this.fill();
-						break;
-					case 'td':
-						if (target.is('.day')){
-							var day = parseInt(target.text(), 10)||1;
-							var month = this.viewDate.getMonth();
-							if (target.is('.old')) {
-								month -= 1;
-							} else if (target.is('.new')) {
-								month += 1;
-							}
-							var year = this.viewDate.getFullYear();
-							this.date = new Date(year, month, day,0,0,0,0);
-							this.viewDate = new Date(year, month, day,0,0,0,0);
-							this.fill();
-							this.setValue();
-							this.element.trigger({
-								type: 'changeDate',
-								date: this.date
-							});
-						}
-						break;
-				}
-			}
-		},
-		
-		mousedown: function(e){
-			e.stopPropagation();
-			e.preventDefault();
-		},
-		
-		showMode: function(dir) {
-			if (dir) {
-				this.viewMode = Math.max(0, Math.min(2, this.viewMode + dir));
-			}
-			this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
-		}
-	};
-	
-	$.fn.datepicker = function ( option ) {
-		return this.each(function () {
-			var $this = $(this),
-				data = $this.data('datepicker'),
-				options = typeof option == 'object' && option;
-			if (!data) {
-				$this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults,options))));
-			}
-			if (typeof option == 'string') data[option]();
-		});
-	};
-
-	$.fn.datepicker.defaults = {
-	};
-	$.fn.datepicker.Constructor = Datepicker;
-	
-	var DPGlobal = {
-		modes: [
-			{
-				clsName: 'days',
-				navFnc: 'Month',
-				navStep: 1
-			},
-			{
-				clsName: 'months',
-				navFnc: 'FullYear',
-				navStep: 1
-			},
-			{
-				clsName: 'years',
-				navFnc: 'FullYear',
-				navStep: 10
-		}],
-		dates:{
-			days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"],
-			daysShort: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
-			daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
-			months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
-			monthsShort: ["1.", "2.", "3.", "4.", "5.", "6.", "7.", "8.", "9.", "10.", "11.", "12."]
-		},
-		isLeapYear: function (year) {
-			return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0))
-		},
-		getDaysInMonth: function (year, month) {
-			return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]
-		},
-		parseFormat: function(format){
-			var separator = format.match(/[.\/-].*?/),
-				parts = format.split(/\W+/);
-			if (!separator || !parts || parts.length == 0){
-				throw new Error("Chybný formát data.");
-			}
-			return {separator: separator, parts: parts};
-		},
-		parseDate: function(date, format) {
-			var parts = date.split(format.separator),
-				date = new Date(1970, 1, 1, 0, 0, 0),
-				val;
-			if (parts.length == format.parts.length) {
-				for (var i=0, cnt = format.parts.length; i < cnt; i++) {
-					val = parseInt(parts[i], 10)||1;
-					switch(format.parts[i]) {
-						case 'dd':
-						case 'd':
-							date.setDate(val);
-							break;
-						case 'mm':
-						case 'm':
-							date.setMonth(val - 1);
-							break;
-						case 'yy':
-							date.setFullYear(2000 + val);
-							break;
-						case 'yyyy':
-							date.setFullYear(val);
-							break;
-					}
-				}
-			}
-			return date;
-		},
-		formatDate: function(date, format){
-			var val = {
-				d: date.getDate(),
-				m: date.getMonth() + 1,
-				yy: date.getFullYear().toString().substring(2),
-				yyyy: date.getFullYear()
-			};
-			val.dd = (val.d < 10 ? '0' : '') + val.d;
-			val.mm = (val.m < 10 ? '0' : '') + val.m;
-			var date = [];
-			for (var i=0, cnt = format.parts.length; i < cnt; i++) {
-				date.push(val[format.parts[i]]);
-			}
-			return date.join(format.separator);
-		},
-		headTemplate: '<thead>'+
-							'<tr>'+
-								'<th class="prev"><i class="icon-arrow-left"/></th>'+
-								'<th colspan="5" class="switch"></th>'+
-								'<th class="next"><i class="icon-arrow-right"/></th>'+
-							'</tr>'+
-						'</thead>',
-		contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>'
-	};
-	DPGlobal.template = '<div class="datepicker dropdown-menu">'+
-							'<div class="datepicker-days">'+
-								'<table class=" table-condensed">'+
-									DPGlobal.headTemplate+
-									'<tbody></tbody>'+
-								'</table>'+
-							'</div>'+
-							'<div class="datepicker-months">'+
-								'<table class="table-condensed">'+
-									DPGlobal.headTemplate+
-									DPGlobal.contTemplate+
-								'</table>'+
-							'</div>'+
-							'<div class="datepicker-years">'+
-								'<table class="table-condensed">'+
-									DPGlobal.headTemplate+
-									DPGlobal.contTemplate+
-								'</table>'+
-							'</div>'+
-						'</div>';
-
-}( window.jQuery )
+
+!(function($) {
+  // Picker object
+
+  var Datepicker = function(element, options) {
+    this.element = $(element);
+    this.format = DPGlobal.parseFormat(
+      options.format || this.element.data("date-format") || "mm/dd/yyyy"
+    );
+    this.picker = $(DPGlobal.template)
+      .appendTo("body")
+      .on({
+        click: $.proxy(this.click, this),
+        mousedown: $.proxy(this.mousedown, this)
+      });
+    this.isInput = this.element.is("input");
+    this.component = this.element.is(".date")
+      ? this.element.find(".add-on")
+      : false;
+
+    if (this.isInput) {
+      this.element.on({
+        focus: $.proxy(this.show, this),
+        blur: $.proxy(this.hide, this),
+        keyup: $.proxy(this.update, this)
+      });
+    } else {
+      if (this.component) {
+        this.component.on("click", $.proxy(this.show, this));
+      } else {
+        this.element.on("click", $.proxy(this.show, this));
+      }
+    }
+
+    this.viewMode = 0;
+    this.weekStart =
+      options.weekStart || this.element.data("date-weekstart") || 0;
+    this.weekEnd = this.weekStart == 0 ? 6 : this.weekStart - 1;
+    this.fillDow();
+    this.fillMonths();
+    this.update();
+    this.showMode();
+  };
+
+  Datepicker.prototype = {
+    constructor: Datepicker,
+
+    show: function(e) {
+      this.picker.show();
+      this.height = this.component
+        ? this.component.outerHeight()
+        : this.element.outerHeight();
+      this.place();
+      $(window).on("resize", $.proxy(this.place, this));
+      if (e) {
+        e.stopPropagation();
+        e.preventDefault();
+      }
+      if (!this.isInput) {
+        $(document).on("mousedown", $.proxy(this.hide, this));
+      }
+      this.element.trigger({
+        type: "show",
+        date: this.date
+      });
+    },
+
+    hide: function() {
+      this.picker.hide();
+      $(window).off("resize", this.place);
+      this.viewMode = 0;
+      this.showMode();
+      if (!this.isInput) {
+        $(document).off("mousedown", this.hide);
+      }
+      this.setValue();
+      this.element.trigger({
+        type: "hide",
+        date: this.date
+      });
+    },
+
+    setValue: function() {
+      var formated = DPGlobal.formatDate(this.date, this.format);
+      if (!this.isInput) {
+        if (this.component) {
+          this.element.find("input").prop("value", formated);
+        }
+        this.element.data("date", formated);
+      } else {
+        this.element.prop("value", formated);
+      }
+    },
+
+    place: function() {
+      var offset = this.component
+        ? this.component.offset()
+        : this.element.offset();
+      this.picker.css({
+        top: offset.top + this.height,
+        left: offset.left
+      });
+    },
+
+    update: function() {
+      this.date = DPGlobal.parseDate(
+        this.isInput ? this.element.prop("value") : this.element.data("date"),
+        this.format
+      );
+      this.viewDate = new Date(this.date);
+      this.fill();
+    },
+
+    fillDow: function() {
+      var dowCnt = this.weekStart;
+      var html = "<tr>";
+      while (dowCnt < this.weekStart + 7) {
+        html +=
+          '<th class="dow">' + DPGlobal.dates.daysMin[dowCnt++ % 7] + "</th>";
+      }
+      html += "</tr>";
+      this.picker.find(".datepicker-days thead").append(html);
+    },
+
+    fillMonths: function() {
+      var html = "";
+      var i = 0;
+      while (i < 12) {
+        html +=
+          '<span class="month">' + DPGlobal.dates.monthsShort[i++] + "</span>";
+      }
+      this.picker.find(".datepicker-months td").append(html);
+    },
+
+    fill: function() {
+      var d = new Date(this.viewDate),
+        year = d.getFullYear(),
+        month = d.getMonth(),
+        currentDate = this.date.valueOf();
+      this.picker
+        .find(".datepicker-days th:eq(1)")
+        .text(DPGlobal.dates.months[month] + " " + year);
+      var prevMonth = new Date(year, month - 1, 28, 0, 0, 0, 0),
+        day = DPGlobal.getDaysInMonth(
+          prevMonth.getFullYear(),
+          prevMonth.getMonth()
+        );
+      prevMonth.setDate(day);
+      prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7) % 7);
+      var nextMonth = new Date(prevMonth);
+      nextMonth.setDate(nextMonth.getDate() + 42);
+      nextMonth = nextMonth.valueOf();
+      html = [];
+      var clsName;
+      while (prevMonth.valueOf() < nextMonth) {
+        if (prevMonth.getDay() == this.weekStart) {
+          html.push("<tr>");
+        }
+        clsName = "";
+        if (prevMonth.getMonth() < month) {
+          clsName += " old";
+        } else if (prevMonth.getMonth() > month) {
+          clsName += " new";
+        }
+        if (prevMonth.valueOf() == currentDate) {
+          clsName += " active";
+        }
+        html.push(
+          '<td class="day' + clsName + '">' + prevMonth.getDate() + "</td>"
+        );
+        if (prevMonth.getDay() == this.weekEnd) {
+          html.push("</tr>");
+        }
+        prevMonth.setDate(prevMonth.getDate() + 1);
+      }
+      this.picker
+        .find(".datepicker-days tbody")
+        .empty()
+        .append(html.join(""));
+      var currentYear = this.date.getFullYear();
+
+      var months = this.picker
+        .find(".datepicker-months")
+        .find("th:eq(1)")
+        .text(year)
+        .end()
+        .find("span")
+        .removeClass("active");
+      if (currentYear == year) {
+        months.eq(this.date.getMonth()).addClass("active");
+      }
+
+      html = "";
+      year = parseInt(year / 10, 10) * 10;
+      var yearCont = this.picker
+        .find(".datepicker-years")
+        .find("th:eq(1)")
+        .text(year + "-" + (year + 9))
+        .end()
+        .find("td");
+      year -= 1;
+      for (var i = -1; i < 11; i++) {
+        html +=
+          '<span class="year' +
+          (i == -1 || i == 10 ? " old" : "") +
+          (currentYear == year ? " active" : "") +
+          '">' +
+          year +
+          "</span>";
+        year += 1;
+      }
+      yearCont.html(html);
+    },
+
+    click: function(e) {
+      e.stopPropagation();
+      e.preventDefault();
+      var target = $(e.target).closest("span, td, th");
+      if (target.length == 1) {
+        switch (target[0].nodeName.toLowerCase()) {
+          case "th":
+            switch (target[0].className) {
+              case "switch":
+                this.showMode(1);
+                break;
+              case "prev":
+              case "next":
+                this.viewDate[
+                  "set" + DPGlobal.modes[this.viewMode].navFnc
+                ].call(
+                  this.viewDate,
+                  this.viewDate[
+                    "get" + DPGlobal.modes[this.viewMode].navFnc
+                  ].call(this.viewDate) +
+                    DPGlobal.modes[this.viewMode].navStep *
+                      (target[0].className == "prev" ? -1 : 1)
+                );
+                this.fill();
+                break;
+            }
+            break;
+          case "span":
+            if (target.is(".month")) {
+              var month = target
+                .parent()
+                .find("span")
+                .index(target);
+              this.viewDate.setMonth(month);
+            } else {
+              var year = parseInt(target.text(), 10) || 0;
+              this.viewDate.setFullYear(year);
+            }
+            this.showMode(-1);
+            this.fill();
+            break;
+          case "td":
+            if (target.is(".day")) {
+              var day = parseInt(target.text(), 10) || 1;
+              var month = this.viewDate.getMonth();
+              if (target.is(".old")) {
+                month -= 1;
+              } else if (target.is(".new")) {
+                month += 1;
+              }
+              var year = this.viewDate.getFullYear();
+              this.date = new Date(year, month, day, 0, 0, 0, 0);
+              this.viewDate = new Date(year, month, day, 0, 0, 0, 0);
+              this.fill();
+              this.setValue();
+              this.element.trigger({
+                type: "changeDate",
+                date: this.date
+              });
+            }
+            break;
+        }
+      }
+    },
+
+    mousedown: function(e) {
+      e.stopPropagation();
+      e.preventDefault();
+    },
+
+    showMode: function(dir) {
+      if (dir) {
+        this.viewMode = Math.max(0, Math.min(2, this.viewMode + dir));
+      }
+      this.picker
+        .find(">div")
+        .hide()
+        .filter(".datepicker-" + DPGlobal.modes[this.viewMode].clsName)
+        .show();
+    }
+  };
+
+  $.fn.datepicker = function(option) {
+    return this.each(function() {
+      var $this = $(this),
+        data = $this.data("datepicker"),
+        options = typeof option == "object" && option;
+      if (!data) {
+        $this.data(
+          "datepicker",
+          (data = new Datepicker(
+            this,
+            $.extend({}, $.fn.datepicker.defaults, options)
+          ))
+        );
+      }
+      if (typeof option == "string") data[option]();
+    });
+  };
+
+  $.fn.datepicker.defaults = {};
+  $.fn.datepicker.Constructor = Datepicker;
+
+  var DPGlobal = {
+    modes: [
+      {
+        clsName: "days",
+        navFnc: "Month",
+        navStep: 1
+      },
+      {
+        clsName: "months",
+        navFnc: "FullYear",
+        navStep: 1
+      },
+      {
+        clsName: "years",
+        navFnc: "FullYear",
+        navStep: 10
+      }
+    ],
+    dates: {
+      days: [
+        "Neděle",
+        "Pondělí",
+        "Úterý",
+        "Středa",
+        "Čtvrtek",
+        "Pátek",
+        "Sobota",
+        "Neděle"
+      ],
+      daysShort: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
+      daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
+      months: [
+        "Leden",
+        "Únor",
+        "Březen",
+        "Duben",
+        "Květen",
+        "Červen",
+        "Červenec",
+        "Srpen",
+        "Září",
+        "Říjen",
+        "Listopad",
+        "Prosinec"
+      ],
+      monthsShort: [
+        "1.",
+        "2.",
+        "3.",
+        "4.",
+        "5.",
+        "6.",
+        "7.",
+        "8.",
+        "9.",
+        "10.",
+        "11.",
+        "12."
+      ]
+    },
+    isLeapYear: function(year) {
+      return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+    },
+    getDaysInMonth: function(year, month) {
+      return [
+        31,
+        DPGlobal.isLeapYear(year) ? 29 : 28,
+        31,
+        30,
+        31,
+        30,
+        31,
+        31,
+        30,
+        31,
+        30,
+        31
+      ][month];
+    },
+    parseFormat: function(format) {
+      var separator = format.match(/[.\/-].*?/),
+        parts = format.split(/\W+/);
+      if (!separator || !parts || parts.length == 0) {
+        throw new Error("Chybný formát data.");
+      }
+      return { separator: separator, parts: parts };
+    },
+    parseDate: function(date, format) {
+      var parts = date.split(format.separator),
+        date = new Date(1970, 1, 1, 0, 0, 0),
+        val;
+      if (parts.length == format.parts.length) {
+        for (var i = 0, cnt = format.parts.length; i < cnt; i++) {
+          val = parseInt(parts[i], 10) || 1;
+          switch (format.parts[i]) {
+            case "dd":
+            case "d":
+              date.setDate(val);
+              break;
+            case "mm":
+            case "m":
+              date.setMonth(val - 1);
+              break;
+            case "yy":
+              date.setFullYear(2000 + val);
+              break;
+            case "yyyy":
+              date.setFullYear(val);
+              break;
+          }
+        }
+      }
+      return date;
+    },
+    formatDate: function(date, format) {
+      var val = {
+        d: date.getDate(),
+        m: date.getMonth() + 1,
+        yy: date
+          .getFullYear()
+          .toString()
+          .substring(2),
+        yyyy: date.getFullYear()
+      };
+      val.dd = (val.d < 10 ? "0" : "") + val.d;
+      val.mm = (val.m < 10 ? "0" : "") + val.m;
+      var date = [];
+      for (var i = 0, cnt = format.parts.length; i < cnt; i++) {
+        date.push(val[format.parts[i]]);
+      }
+      return date.join(format.separator);
+    },
+    headTemplate:
+      "<thead>" +
+      "<tr>" +
+      '<th class="prev"><i class="icon-arrow-left"/></th>' +
+      '<th colspan="5" class="switch"></th>' +
+      '<th class="next"><i class="icon-arrow-right"/></th>' +
+      "</tr>" +
+      "</thead>",
+    contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>'
+  };
+  DPGlobal.template =
+    '<div class="datepicker dropdown-menu">' +
+    '<div class="datepicker-days">' +
+    '<table class=" table-condensed">' +
+    DPGlobal.headTemplate +
+    "<tbody></tbody>" +
+    "</table>" +
+    "</div>" +
+    '<div class="datepicker-months">' +
+    '<table class="table-condensed">' +
+    DPGlobal.headTemplate +
+    DPGlobal.contTemplate +
+    "</table>" +
+    "</div>" +
+    '<div class="datepicker-years">' +
+    '<table class="table-condensed">' +
+    DPGlobal.headTemplate +
+    DPGlobal.contTemplate +
+    "</table>" +
+    "</div>" +
+    "</div>";
+})(window.jQuery);
 /**
-* pine-navigation.js v0.5.0
-*/
-!function(a){a.log=function(a){window.log&&window.console&&window.console.log&&console.log(a)}}(window.jQuery||window.Zepto),window.matchMq=window.matchMedia||function(a){var b=a.documentElement,c=b.firstElementChild||b.firstChild,d=a.createElement("body"),e=a.createElement("div");e.id="mq-test-1",e.style.cssText="position:absolute;top:-100em",d.style.background="none",d.appendChild(e);var f,g=function(a){return e.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',b.insertBefore(d,c),bool=42===e.offsetWidth,b.removeChild(d),{matches:bool,media:a}},h=function(){var c,d=b.body,g=!1;return e.style.cssText="position:absolute;font-size:1em;width:1em",d||(d=g=a.createElement("body"),d.style.background="none"),d.appendChild(e),b.insertBefore(d,b.firstChild),g?b.removeChild(d):d.removeChild(e),c=f=parseFloat(e.offsetWidth)},i=g("(min-width: 0px)").matches;return function(b){if(i)return g(b);var c=b.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),d=b.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),e=null===c,j=null===d,k=a.body.offsetWidth,l="em";return c&&(c=parseFloat(c)*(c.indexOf(l)>-1?f||h():1)),d&&(d=parseFloat(d)*(d.indexOf(l)>-1?f||h():1)),bool=(!e||!j)&&(e||k>=c)&&(j||d>=k),{matches:bool,media:b}}}(document);var Pine=window.Pine||{};Pine.Submenu=function(a){"use strict";var b={};return b.toggle=function(b){var c=a(b.currentTarget).closest(".pine-has-subnav"),d=this.activeTransition&&this.activeTransition.beforeToggle,e=b.data&&b.data.isActive||c.hasClass("pine-level-open");b.preventDefault(),d&&"function"==typeof d&&d.call(b.currentTarget,e),e?(c.trigger(b=a.Event("hide")),c.removeClass("pine-level-open").trigger("hidden"),a.log("Event: hide")):(c.trigger(b=a.Event("show")),c.addClass("pine-level-open").trigger("shown"),a.log("Event: show"))},b}(window.jQuery,window);var Pine=window.Pine||{};Pine.Navbar=function(a,b){"use strict";var c={};return c.isLargeDisplay=null,c.element=null,c.DEFAULTS={largeDisplayStart:"600px",fxSmallDisplay:"fx-right-to-left",fxLargeDisplay:"fx-hover-fade"},c.NAVBAR_TOGGLE="[data-pine=toggle]",c.SUBMENU=".pine-has-subnav",c.options=null,c.transitions={},c.activeTransition={},c.init=function(c,d){this.options=a.extend({},this.DEFAULTS,d),this.element=a(c),this.isLargeDisplay=b.matchMq("(min-width: "+this.options.largeDisplayStart+")").matches,this.setActiveTransition(this.isLargeDisplay?this.options.fxLargeDisplay:this.options.fxSmallDisplay),this.element.find("li").has("ul").addClass("pine-has-subnav"),this.element.find("a").on("focus",this.focus),a(document).on("click.pine",this.SUBMENU+" > a",a.proxy(Pine.Submenu.toggle,Pine.Navbar)),a(this.NAVBAR_TOGGLE).on("click.pine",Pine.Navbar.toggle),a(this.SUBMENU).removeClass("pine-level-open"),a(b).on({load:a.proxy(this.api,this),resize:a.proxy(this.api,this)})},c.api=function(a){var b=this.checkMedia(a);return null===b?!1:(this.activeTransition&&"function"==typeof this.activeTransition.onSwitch&&this.activeTransition.onSwitch.call(this,!1),this.switchView(b),void(this.activeTransition&&"function"==typeof this.activeTransition.onSwitch&&this.activeTransition.onSwitch.call(this,!0)))},c.checkMedia=function(a){var c=b.matchMq("(min-width: "+this.options.largeDisplayStart+")").matches,d=a.type&&"load"==a.type;return!d&&(!this.isLargeDisplay&&!c||this.isLargeDisplay&&c)?null:this.isLargeDisplay=c},c.switchView=function(b){var c=this.getTransitionName(b),d=this.getTransitionName(!b);this.element.removeClass(d).addClass(c),this.setActiveTransition(c),a.log("Transition: "+c),this.resetNav()},c.focus=function(){var b=a(this),c=b.parent();c.hasClass("pine-has-subnav")&&!c.hasClass("pine-level-open")&&b.trigger(a.Event("mouseover"));var d=a(".pine-level-open");0!=d.length&&d.filter(function(){return 0===a(this).find(b).length}).removeClass("pine-level-open")},c.toggle=function(c){c.preventDefault();var d=a(document).find(a(this).attr("href")),e=a(b).height();a(this).toggleClass("is-active"),d.toggleClass("pine-visible"),d.hasClass("pine-visible")?(d.css({"max-height":e}),a("body").css({overflow:"hidden"})):(d.css({"max-height":0}),a("body").removeAttr("style")),a.log("Event: Toggle Navbar")},c.resetNav=function(){a(this.SUBMENU).removeClass("pine-level-open")},c.setActiveTransition=function(a){this.activeTransition=this.transitions[a]||!1},c.getTransitionName=function(a){return a?this.options.fxLargeDisplay:this.options.fxSmallDisplay},c.registerTransition=function(a,b){this.transitions[a]=b},c.beforeTransition=function(a,b){var c=this.activeTransition&&this.activeTransition.beforeToggle;c&&"function"==typeof c&&c.call(a,b)},c}(window.jQuery,window);var pine_fx_hover={onSwitch:function(a){a?$(document).on("mouseenter.pine",this.SUBMENU,{isActive:!1},$.proxy(Pine.Submenu.toggle,this)).on("mouseleave.pine",this.SUBMENU,{isActive:!0},$.proxy(Pine.Submenu.toggle,this)).off("click.pine"):$(document).off("mouseenter.pine").off("mouseleave.pine").on("click.pine",this.SUBMENU+" > a",$.proxy(Pine.Submenu.toggle,this))},beforeToggle:function(){}};Pine.Navbar.registerTransition("fx-hover",pine_fx_hover),Pine.Navbar.registerTransition("fx-hover-fade",$.extend({},pine_fx_hover)),Pine.Navbar.registerTransition("fx-right-to-left",{onSwitch:function(a){var b=this.element,c=b.find("li").has("ul"),d=function(){$(".fx-right-to-left ul").css("width",$(window).width())};a?(c.each(function(){$(this).find("ul").first().prepend($('<li class="pine-back"><a href="#">'+$(this).find("a").first().text()+"</a></li>"))}),$(document).on("click.pine",".pine-back",$.proxy(Pine.Submenu.toggle,this)),b.find("ul").css("width",$(window).width()),$(window).on({resize:d,orientationchange:d}),$.log("ENTER small view")):(b.find("ul").removeAttr("style"),c.find("li.pine-back").remove(),$(window).off("resize",d),$.log("LEAVE small view"))},beforeToggle:function(a){var b=$(this),c=b.parents("ul"),d=a?c.length-2:c.length;c.last().animate({left:-100*d+"%"},300)}}),window.jQuery&&function(a,b){"use strict";var c=a.fn.pine;a.fn.pine=function(c){return this.each(function(){var d=a(this),e=d.data("pine"),f=a.extend({},d.data(),"object"==typeof c&&c);e||d.data("pine",e=b.Navbar.init(this,f))})},a.fn.pine.Module=b.Navbar,a.fn.pine.noConflict=function(){return a.fn.pine=c,this}}(window.jQuery,Pine),function(a){"use strict";a("[data-pine=navbar]").pine()}(window.Zepto||window.jQuery);
+ * pine-navigation.js v0.5.0
+ */
+!(function(a) {
+  a.log = function(a) {
+    window.log && window.console && window.console.log && console.log(a);
+  };
+})(window.jQuery || window.Zepto),
+  (window.matchMq =
+    window.matchMedia ||
+    (function(a) {
+      var b = a.documentElement,
+        c = b.firstElementChild || b.firstChild,
+        d = a.createElement("body"),
+        e = a.createElement("div");
+      (e.id = "mq-test-1"),
+        (e.style.cssText = "position:absolute;top:-100em"),
+        (d.style.background = "none"),
+        d.appendChild(e);
+      var f,
+        g = function(a) {
+          return (
+            (e.innerHTML =
+              '&shy;<style media="' +
+              a +
+              '"> #mq-test-1 { width: 42px; }</style>'),
+            b.insertBefore(d, c),
+            (bool = 42 === e.offsetWidth),
+            b.removeChild(d),
+            { matches: bool, media: a }
+          );
+        },
+        h = function() {
+          var c,
+            d = b.body,
+            g = !1;
+          return (
+            (e.style.cssText = "position:absolute;font-size:1em;width:1em"),
+            d ||
+              ((d = g = a.createElement("body")),
+              (d.style.background = "none")),
+            d.appendChild(e),
+            b.insertBefore(d, b.firstChild),
+            g ? b.removeChild(d) : d.removeChild(e),
+            (c = f = parseFloat(e.offsetWidth))
+          );
+        },
+        i = g("(min-width: 0px)").matches;
+      return function(b) {
+        if (i) return g(b);
+        var c =
+            b.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/) &&
+            parseFloat(RegExp.$1) + (RegExp.$2 || ""),
+          d =
+            b.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/) &&
+            parseFloat(RegExp.$1) + (RegExp.$2 || ""),
+          e = null === c,
+          j = null === d,
+          k = a.body.offsetWidth,
+          l = "em";
+        return (
+          c && (c = parseFloat(c) * (c.indexOf(l) > -1 ? f || h() : 1)),
+          d && (d = parseFloat(d) * (d.indexOf(l) > -1 ? f || h() : 1)),
+          (bool = (!e || !j) && (e || k >= c) && (j || d >= k)),
+          { matches: bool, media: b }
+        );
+      };
+    })(document));
+var Pine = window.Pine || {};
+Pine.Submenu = (function(a) {
+  "use strict";
+  var b = {};
+  return (
+    (b.toggle = function(b) {
+      var c = a(b.currentTarget).closest(".pine-has-subnav"),
+        d = this.activeTransition && this.activeTransition.beforeToggle,
+        e = (b.data && b.data.isActive) || c.hasClass("pine-level-open");
+      b.preventDefault(),
+        d && "function" == typeof d && d.call(b.currentTarget, e),
+        e
+          ? (c.trigger((b = a.Event("hide"))),
+            c.removeClass("pine-level-open").trigger("hidden"),
+            a.log("Event: hide"))
+          : (c.trigger((b = a.Event("show"))),
+            c.addClass("pine-level-open").trigger("shown"),
+            a.log("Event: show"));
+    }),
+    b
+  );
+})(window.jQuery, window);
+var Pine = window.Pine || {};
+Pine.Navbar = (function(a, b) {
+  "use strict";
+  var c = {};
+  return (
+    (c.isLargeDisplay = null),
+    (c.element = null),
+    (c.DEFAULTS = {
+      largeDisplayStart: "600px",
+      fxSmallDisplay: "fx-right-to-left",
+      fxLargeDisplay: "fx-hover-fade"
+    }),
+    (c.NAVBAR_TOGGLE = "[data-pine=toggle]"),
+    (c.SUBMENU = ".pine-has-subnav"),
+    (c.options = null),
+    (c.transitions = {}),
+    (c.activeTransition = {}),
+    (c.init = function(c, d) {
+      (this.options = a.extend({}, this.DEFAULTS, d)),
+        (this.element = a(c)),
+        (this.isLargeDisplay = b.matchMq(
+          "(min-width: " + this.options.largeDisplayStart + ")"
+        ).matches),
+        this.setActiveTransition(
+          this.isLargeDisplay
+            ? this.options.fxLargeDisplay
+            : this.options.fxSmallDisplay
+        ),
+        this.element
+          .find("li")
+          .has("ul")
+          .addClass("pine-has-subnav"),
+        this.element.find("a").on("focus", this.focus),
+        a(document).on(
+          "click.pine",
+          this.SUBMENU + " > a",
+          a.proxy(Pine.Submenu.toggle, Pine.Navbar)
+        ),
+        a(this.NAVBAR_TOGGLE).on("click.pine", Pine.Navbar.toggle),
+        a(this.SUBMENU).removeClass("pine-level-open"),
+        a(b).on({
+          load: a.proxy(this.api, this),
+          resize: a.proxy(this.api, this)
+        });
+    }),
+    (c.api = function(a) {
+      var b = this.checkMedia(a);
+      return null === b
+        ? !1
+        : (this.activeTransition &&
+            "function" == typeof this.activeTransition.onSwitch &&
+            this.activeTransition.onSwitch.call(this, !1),
+          this.switchView(b),
+          void (
+            this.activeTransition &&
+            "function" == typeof this.activeTransition.onSwitch &&
+            this.activeTransition.onSwitch.call(this, !0)
+          ));
+    }),
+    (c.checkMedia = function(a) {
+      var c = b.matchMq("(min-width: " + this.options.largeDisplayStart + ")")
+          .matches,
+        d = a.type && "load" == a.type;
+      return !d && ((!this.isLargeDisplay && !c) || (this.isLargeDisplay && c))
+        ? null
+        : (this.isLargeDisplay = c);
+    }),
+    (c.switchView = function(b) {
+      var c = this.getTransitionName(b),
+        d = this.getTransitionName(!b);
+      this.element.removeClass(d).addClass(c),
+        this.setActiveTransition(c),
+        a.log("Transition: " + c),
+        this.resetNav();
+    }),
+    (c.focus = function() {
+      var b = a(this),
+        c = b.parent();
+      c.hasClass("pine-has-subnav") &&
+        !c.hasClass("pine-level-open") &&
+        b.trigger(a.Event("mouseover"));
+      var d = a(".pine-level-open");
+      0 != d.length &&
+        d
+          .filter(function() {
+            return 0 === a(this).find(b).length;
+          })
+          .removeClass("pine-level-open");
+    }),
+    (c.toggle = function(c) {
+      c.preventDefault();
+      var d = a(document).find(a(this).attr("href")),
+        e = a(b).height();
+      a(this).toggleClass("is-active"),
+        d.toggleClass("pine-visible"),
+        d.hasClass("pine-visible")
+          ? (d.css({ "max-height": e }), a("body").css({ overflow: "hidden" }))
+          : (d.css({ "max-height": 0 }), a("body").removeAttr("style")),
+        a.log("Event: Toggle Navbar");
+    }),
+    (c.resetNav = function() {
+      a(this.SUBMENU).removeClass("pine-level-open");
+    }),
+    (c.setActiveTransition = function(a) {
+      this.activeTransition = this.transitions[a] || !1;
+    }),
+    (c.getTransitionName = function(a) {
+      return a ? this.options.fxLargeDisplay : this.options.fxSmallDisplay;
+    }),
+    (c.registerTransition = function(a, b) {
+      this.transitions[a] = b;
+    }),
+    (c.beforeTransition = function(a, b) {
+      var c = this.activeTransition && this.activeTransition.beforeToggle;
+      c && "function" == typeof c && c.call(a, b);
+    }),
+    c
+  );
+})(window.jQuery, window);
+var pine_fx_hover = {
+  onSwitch: function(a) {
+    a
+      ? $(document)
+          .on(
+            "mouseenter.pine",
+            this.SUBMENU,
+            { isActive: !1 },
+            $.proxy(Pine.Submenu.toggle, this)
+          )
+          .on(
+            "mouseleave.pine",
+            this.SUBMENU,
+            { isActive: !0 },
+            $.proxy(Pine.Submenu.toggle, this)
+          )
+          .off("click.pine")
+      : $(document)
+          .off("mouseenter.pine")
+          .off("mouseleave.pine")
+          .on(
+            "click.pine",
+            this.SUBMENU + " > a",
+            $.proxy(Pine.Submenu.toggle, this)
+          );
+  },
+  beforeToggle: function() {}
+};
+Pine.Navbar.registerTransition("fx-hover", pine_fx_hover),
+  Pine.Navbar.registerTransition("fx-hover-fade", $.extend({}, pine_fx_hover)),
+  Pine.Navbar.registerTransition("fx-right-to-left", {
+    onSwitch: function(a) {
+      var b = this.element,
+        c = b.find("li").has("ul"),
+        d = function() {
+          $(".fx-right-to-left ul").css("width", $(window).width());
+        };
+      a
+        ? (c.each(function() {
+            $(this)
+              .find("ul")
+              .first()
+              .prepend(
+                $(
+                  '<li class="pine-back"><a href="#">' +
+                    $(this)
+                      .find("a")
+                      .first()
+                      .text() +
+                    "</a></li>"
+                )
+              );
+          }),
+          $(document).on(
+            "click.pine",
+            ".pine-back",
+            $.proxy(Pine.Submenu.toggle, this)
+          ),
+          b.find("ul").css("width", $(window).width()),
+          $(window).on({ resize: d, orientationchange: d }),
+          $.log("ENTER small view"))
+        : (b.find("ul").removeAttr("style"),
+          c.find("li.pine-back").remove(),
+          $(window).off("resize", d),
+          $.log("LEAVE small view"));
+    },
+    beforeToggle: function(a) {
+      var b = $(this),
+        c = b.parents("ul"),
+        d = a ? c.length - 2 : c.length;
+      c.last().animate({ left: -100 * d + "%" }, 300);
+    }
+  }),
+  window.jQuery &&
+    (function(a, b) {
+      "use strict";
+      var c = a.fn.pine;
+      (a.fn.pine = function(c) {
+        return this.each(function() {
+          var d = a(this),
+            e = d.data("pine"),
+            f = a.extend({}, d.data(), "object" == typeof c && c);
+          e || d.data("pine", (e = b.Navbar.init(this, f)));
+        });
+      }),
+        (a.fn.pine.Module = b.Navbar),
+        (a.fn.pine.noConflict = function() {
+          return (a.fn.pine = c), this;
+        });
+    })(window.jQuery, Pine),
+  (function(a) {
+    "use strict";
+    a("[data-pine=navbar]").pine();
+  })(window.Zepto || window.jQuery);
 /*
  * FancyBox - jQuery Plugin
  * Simple and fancy lightbox alternative
@@ -419,34 +816,817 @@
  *   http://www.gnu.org/licenses/gpl.html
  */
 
-(function(b){var m,u,x,g,D,i,z,A,B,p=0,e={},q=[],n=0,c={},j=[],E=null,s=new Image,G=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,S=/[^\.]\.(swf)\s*$/i,H,I=1,k,l,h=false,y=b.extend(b("<div/>")[0],{prop:0}),v=0,O=!b.support.opacity&&!window.XMLHttpRequest,J=function(){u.hide();s.onerror=s.onload=null;E&&E.abort();m.empty()},P=function(){b.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>',{scrolling:"no",padding:20,transitionIn:"none",transitionOut:"none"})},
-K=function(){return[b(window).width(),b(window).height(),b(document).scrollLeft(),b(document).scrollTop()]},T=function(){var a=K(),d={},f=c.margin,o=c.autoScale,t=(20+f)*2,w=(20+f)*2,r=c.padding*2;if(c.width.toString().indexOf("%")>-1){d.width=a[0]*parseFloat(c.width)/100-40;o=false}else d.width=c.width+r;if(c.height.toString().indexOf("%")>-1){d.height=a[1]*parseFloat(c.height)/100-40;o=false}else d.height=c.height+r;if(o&&(d.width>a[0]-t||d.height>a[1]-w))if(e.type=="image"||e.type=="swf"){t+=r;
-w+=r;o=Math.min(Math.min(a[0]-t,c.width)/c.width,Math.min(a[1]-w,c.height)/c.height);d.width=Math.round(o*(d.width-r))+r;d.height=Math.round(o*(d.height-r))+r}else{d.width=Math.min(d.width,a[0]-t);d.height=Math.min(d.height,a[1]-w)}d.top=a[3]+(a[1]-(d.height+40))*0.5;d.left=a[2]+(a[0]-(d.width+40))*0.5;if(c.autoScale===false){d.top=Math.max(a[3]+f,d.top);d.left=Math.max(a[2]+f,d.left)}return d},U=function(a){if(a&&a.length)switch(c.titlePosition){case "inside":return a;case "over":return'<span id="fancybox-title-over">'+
-a+"</span>";default:return'<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">'+a+'</span><span id="fancybox-title-right"></span></span>'}return false},V=function(){var a=c.title,d=l.width-c.padding*2,f="fancybox-title-"+c.titlePosition;b("#fancybox-title").remove();v=0;if(c.titleShow!==false){a=b.isFunction(c.titleFormat)?c.titleFormat(a,j,n,c):U(a);if(!(!a||a==="")){b('<div id="fancybox-title" class="'+f+'" />').css({width:d,paddingLeft:c.padding,
-paddingRight:c.padding}).html(a).appendTo("body");switch(c.titlePosition){case "inside":v=b("#fancybox-title").outerHeight(true)-c.padding;l.height+=v;break;case "over":b("#fancybox-title").css("bottom",c.padding);break;default:b("#fancybox-title").css("bottom",b("#fancybox-title").outerHeight(true)*-1);break}b("#fancybox-title").appendTo(D).hide()}}},W=function(){b(document).unbind("keydown.fb").bind("keydown.fb",function(a){if(a.keyCode==27&&c.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if(a.keyCode==
-37){a.preventDefault();b.fancybox.prev()}else if(a.keyCode==39){a.preventDefault();b.fancybox.next()}});if(b.fn.mousewheel){g.unbind("mousewheel.fb");j.length>1&&g.bind("mousewheel.fb",function(a,d){a.preventDefault();h||d===0||(d>0?b.fancybox.prev():b.fancybox.next())})}if(c.showNavArrows){if(c.cyclic&&j.length>1||n!==0)A.show();if(c.cyclic&&j.length>1||n!=j.length-1)B.show()}},X=function(){var a,d;if(j.length-1>n){a=j[n+1].href;if(typeof a!=="undefined"&&a.match(G)){d=new Image;d.src=a}}if(n>0){a=
-j[n-1].href;if(typeof a!=="undefined"&&a.match(G)){d=new Image;d.src=a}}},L=function(){i.css("overflow",c.scrolling=="auto"?c.type=="image"||c.type=="iframe"||c.type=="swf"?"hidden":"auto":c.scrolling=="yes"?"auto":"visible");if(!b.support.opacity){i.get(0).style.removeAttribute("filter");g.get(0).style.removeAttribute("filter")}b("#fancybox-title").show();c.hideOnContentClick&&i.one("click",b.fancybox.close);c.hideOnOverlayClick&&x.one("click",b.fancybox.close);c.showCloseButton&&z.show();W();b(window).bind("resize.fb",
-b.fancybox.center);c.centerOnScroll?b(window).bind("scroll.fb",b.fancybox.center):b(window).unbind("scroll.fb");b.isFunction(c.onComplete)&&c.onComplete(j,n,c);h=false;X()},M=function(a){var d=Math.round(k.width+(l.width-k.width)*a),f=Math.round(k.height+(l.height-k.height)*a),o=Math.round(k.top+(l.top-k.top)*a),t=Math.round(k.left+(l.left-k.left)*a);g.css({width:d+"px",height:f+"px",top:o+"px",left:t+"px"});d=Math.max(d-c.padding*2,0);f=Math.max(f-(c.padding*2+v*a),0);i.css({width:d+"px",height:f+
-"px"});if(typeof l.opacity!=="undefined")g.css("opacity",a<0.5?0.5:a)},Y=function(a){var d=a.offset();d.top+=parseFloat(a.css("paddingTop"))||0;d.left+=parseFloat(a.css("paddingLeft"))||0;d.top+=parseFloat(a.css("border-top-width"))||0;d.left+=parseFloat(a.css("border-left-width"))||0;d.width=a.width();d.height=a.height();return d},Q=function(){var a=e.orig?b(e.orig):false,d={};if(a&&a.length){a=Y(a);d={width:a.width+c.padding*2,height:a.height+c.padding*2,top:a.top-c.padding-20,left:a.left-c.padding-
-20}}else{a=K();d={width:1,height:1,top:a[3]+a[1]*0.5,left:a[2]+a[0]*0.5}}return d},N=function(){u.hide();if(g.is(":visible")&&b.isFunction(c.onCleanup))if(c.onCleanup(j,n,c)===false){b.event.trigger("fancybox-cancel");h=false;return}j=q;n=p;c=e;i.get(0).scrollTop=0;i.get(0).scrollLeft=0;if(c.overlayShow){O&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});
-x.css({"background-color":c.overlayColor,opacity:c.overlayOpacity}).unbind().show()}l=T();V();if(g.is(":visible")){b(z.add(A).add(B)).hide();var a=g.position(),d;k={top:a.top,left:a.left,width:g.width(),height:g.height()};d=k.width==l.width&&k.height==l.height;i.fadeOut(c.changeFade,function(){var f=function(){i.html(m.contents()).fadeIn(c.changeFade,L)};b.event.trigger("fancybox-change");i.empty().css("overflow","hidden");if(d){i.css({top:c.padding,left:c.padding,width:Math.max(l.width-c.padding*
-2,1),height:Math.max(l.height-c.padding*2-v,1)});f()}else{i.css({top:c.padding,left:c.padding,width:Math.max(k.width-c.padding*2,1),height:Math.max(k.height-c.padding*2,1)});y.prop=0;b(y).animate({prop:1},{duration:c.changeSpeed,easing:c.easingChange,step:M,complete:f})}})}else{g.css("opacity",1);if(c.transitionIn=="elastic"){k=Q();i.css({top:c.padding,left:c.padding,width:Math.max(k.width-c.padding*2,1),height:Math.max(k.height-c.padding*2,1)}).html(m.contents());g.css(k).show();if(c.opacity)l.opacity=
-0;y.prop=0;b(y).animate({prop:1},{duration:c.speedIn,easing:c.easingIn,step:M,complete:L})}else{i.css({top:c.padding,left:c.padding,width:Math.max(l.width-c.padding*2,1),height:Math.max(l.height-c.padding*2-v,1)}).html(m.contents());g.css(l).fadeIn(c.transitionIn=="none"?0:c.speedIn,L)}}},F=function(){m.width(e.width);m.height(e.height);if(e.width=="auto")e.width=m.width();if(e.height=="auto")e.height=m.height();N()},Z=function(){h=true;e.width=s.width;e.height=s.height;b("<img />").attr({id:"fancybox-img",
-src:s.src,alt:e.title}).appendTo(m);N()},C=function(){J();var a=q[p],d,f,o,t,w;e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));o=a.title||b(a).title||e.title||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(o===""&&e.orig)o=e.orig.attr("alt");d=a.nodeName&&/^(?:javascript|#)/i.test(a.href)?e.href||null:e.href||a.href||null;if(e.type){f=e.type;if(!d)d=e.content}else if(e.content)f="html";else if(d)if(d.match(G))f=
-"image";else if(d.match(S))f="swf";else if(b(a).hasClass("iframe"))f="iframe";else if(d.match(/#/)){a=d.substr(d.indexOf("#"));f=b(a).length>0?"inline":"ajax"}else f="ajax";else f="inline";e.type=f;e.href=d;e.title=o;if(e.autoDimensions&&e.type!=="iframe"&&e.type!=="swf"){e.width="auto";e.height="auto"}if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=false;e.enableEscapeButton=false;e.showCloseButton=false}if(b.isFunction(e.onStart))if(e.onStart(q,p,e)===false){h=false;
-return}m.css("padding",20+e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(i.children())});switch(f){case "html":m.html(e.content);F();break;case "inline":b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(i.children())}).bind("fancybox-cancel",function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();
-s=new Image;s.onerror=function(){P()};s.onload=function(){s.onerror=null;s.onload=null;Z()};s.src=d;break;case "swf":t='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+d+'"></param>';w="";b.each(e.swf,function(r,R){t+='<param name="'+r+'" value="'+R+'"></param>';w+=" "+r+'="'+R+'"'});t+='<embed src="'+d+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+w+"></embed></object>";m.html(t);
-F();break;case "ajax":a=d.split("#",2);f=e.ajax.data||{};if(a.length>1){d=a[0];if(typeof f=="string")f+="&selector="+a[1];else f.selector=a[1]}h=false;b.fancybox.showActivity();E=b.ajax(b.extend(e.ajax,{url:d,data:f,error:P,success:function(r){if(E.status==200){m.html(r);F()}}}));break;case "iframe":b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" scrolling="'+e.scrolling+'" src="'+e.href+'"></iframe>').appendTo(m);N();break}},$=function(){if(u.is(":visible")){b("div",
-u).css("top",I*-40+"px");I=(I+1)%12}else clearInterval(H)},aa=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),u=b('<div id="fancybox-loading"><div></div></div>'),x=b('<div id="fancybox-overlay"></div>'),g=b('<div id="fancybox-wrap"></div>'));if(!b.support.opacity){g.addClass("fancybox-ie");u.addClass("fancybox-ie")}D=b('<div id="fancybox-outer"></div>').append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>').appendTo(g);
-D.append(i=b('<div id="fancybox-inner"></div>'),z=b('<a id="fancybox-close"></a>'),A=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),B=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));z.click(b.fancybox.close);u.click(b.fancybox.cancel);A.click(function(a){a.preventDefault();b.fancybox.prev()});B.click(function(a){a.preventDefault();b.fancybox.next()});if(O){x.get(0).style.setExpression("height",
-"document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");u.get(0).style.setExpression("top","(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");D.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>')}}};
-b.fn.fancybox=function(a){b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(d){d.preventDefault();if(!h){h=true;b(this).blur();q=[];p=0;d=b(this).attr("rel")||"";if(!d||d==""||d==="nofollow")q.push(this);else{q=b("a[rel="+d+"], area[rel="+d+"]");p=q.index(this)}C();return false}});return this};b.fancybox=function(a,d){if(!h){h=true;d=typeof d!=="undefined"?d:{};q=[];p=d.index||0;if(b.isArray(a)){for(var f=0,o=a.length;f<o;f++)if(typeof a[f]==
-"object")b(a[f]).data("fancybox",b.extend({},d,a[f]));else a[f]=b({}).data("fancybox",b.extend({content:a[f]},d));q=jQuery.merge(q,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},d,a));else a=b({}).data("fancybox",b.extend({content:a},d));q.push(a)}if(p>q.length||p<0)p=0;C()}};b.fancybox.showActivity=function(){clearInterval(H);u.show();H=setInterval($,66)};b.fancybox.hideActivity=function(){u.hide()};b.fancybox.next=function(){return b.fancybox.pos(n+1)};b.fancybox.prev=function(){return b.fancybox.pos(n-
-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a,10);if(a>-1&&j.length>a){p=a;C()}if(c.cyclic&&j.length>1&&a<0){p=j.length-1;C()}if(c.cyclic&&j.length>1&&a>=j.length){p=0;C()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");J();e&&b.isFunction(e.onCancel)&&e.onCancel(q,p,e);h=false}};b.fancybox.close=function(){function a(){x.fadeOut("fast");g.hide();b.event.trigger("fancybox-cleanup");i.empty();b.isFunction(c.onClosed)&&c.onClosed(j,n,c);j=e=[];n=p=0;c=e={};h=false}
-if(!(h||g.is(":hidden"))){h=true;if(c&&b.isFunction(c.onCleanup))if(c.onCleanup(j,n,c)===false){h=false;return}J();b(z.add(A).add(B)).hide();b("#fancybox-title").remove();g.add(i).add(x).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");i.css("overflow","hidden");if(c.transitionOut=="elastic"){k=Q();var d=g.position();l={top:d.top,left:d.left,width:g.width(),height:g.height()};if(c.opacity)l.opacity=1;y.prop=1;b(y).animate({prop:0},{duration:c.speedOut,easing:c.easingOut,
-step:M,complete:a})}else g.fadeOut(c.transitionOut=="none"?0:c.speedOut,a)}};b.fancybox.resize=function(){var a,d;if(!(h||g.is(":hidden"))){h=true;a=i.wrapInner("<div style='overflow:auto'></div>").children();d=a.height();g.css({height:d+c.padding*2+v});i.css({height:d});a.replaceWith(a.children());b.fancybox.center()}};b.fancybox.center=function(){h=true;var a=K(),d=c.margin,f={};f.top=a[3]+(a[1]-(g.height()-v+40))*0.5;f.left=a[2]+(a[0]-(g.width()+40))*0.5;f.top=Math.max(a[3]+d,f.top);f.left=Math.max(a[2]+
-d,f.left);g.css(f);h=false};b.fn.fancybox.defaults={padding:10,margin:20,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.3,overlayColor:"#666",titleShow:true,titlePosition:"outside",titleFormat:null,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",
-easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,onStart:null,onCancel:null,onComplete:null,onCleanup:null,onClosed:null};b(document).ready(function(){aa()})})(jQuery);
+(function(b) {
+  var m,
+    u,
+    x,
+    g,
+    D,
+    i,
+    z,
+    A,
+    B,
+    p = 0,
+    e = {},
+    q = [],
+    n = 0,
+    c = {},
+    j = [],
+    E = null,
+    s = new Image(),
+    G = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,
+    S = /[^\.]\.(swf)\s*$/i,
+    H,
+    I = 1,
+    k,
+    l,
+    h = false,
+    y = b.extend(b("<div/>")[0], { prop: 0 }),
+    v = 0,
+    O = !b.support.opacity && !window.XMLHttpRequest,
+    J = function() {
+      u.hide();
+      s.onerror = s.onload = null;
+      E && E.abort();
+      m.empty();
+    },
+    P = function() {
+      b.fancybox(
+        '<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>',
+        {
+          scrolling: "no",
+          padding: 20,
+          transitionIn: "none",
+          transitionOut: "none"
+        }
+      );
+    },
+    K = function() {
+      return [
+        b(window).width(),
+        b(window).height(),
+        b(document).scrollLeft(),
+        b(document).scrollTop()
+      ];
+    },
+    T = function() {
+      var a = K(),
+        d = {},
+        f = c.margin,
+        o = c.autoScale,
+        t = (20 + f) * 2,
+        w = (20 + f) * 2,
+        r = c.padding * 2;
+      if (c.width.toString().indexOf("%") > -1) {
+        d.width = a[0] * parseFloat(c.width) / 100 - 40;
+        o = false;
+      } else d.width = c.width + r;
+      if (c.height.toString().indexOf("%") > -1) {
+        d.height = a[1] * parseFloat(c.height) / 100 - 40;
+        o = false;
+      } else d.height = c.height + r;
+      if (o && (d.width > a[0] - t || d.height > a[1] - w))
+        if (e.type == "image" || e.type == "swf") {
+          t += r;
+          w += r;
+          o = Math.min(
+            Math.min(a[0] - t, c.width) / c.width,
+            Math.min(a[1] - w, c.height) / c.height
+          );
+          d.width = Math.round(o * (d.width - r)) + r;
+          d.height = Math.round(o * (d.height - r)) + r;
+        } else {
+          d.width = Math.min(d.width, a[0] - t);
+          d.height = Math.min(d.height, a[1] - w);
+        }
+      d.top = a[3] + (a[1] - (d.height + 40)) * 0.5;
+      d.left = a[2] + (a[0] - (d.width + 40)) * 0.5;
+      if (c.autoScale === false) {
+        d.top = Math.max(a[3] + f, d.top);
+        d.left = Math.max(a[2] + f, d.left);
+      }
+      return d;
+    },
+    U = function(a) {
+      if (a && a.length)
+        switch (c.titlePosition) {
+          case "inside":
+            return a;
+          case "over":
+            return '<span id="fancybox-title-over">' + a + "</span>";
+          default:
+            return (
+              '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">' +
+              a +
+              '</span><span id="fancybox-title-right"></span></span>'
+            );
+        }
+      return false;
+    },
+    V = function() {
+      var a = c.title,
+        d = l.width - c.padding * 2,
+        f = "fancybox-title-" + c.titlePosition;
+      b("#fancybox-title").remove();
+      v = 0;
+      if (c.titleShow !== false) {
+        a = b.isFunction(c.titleFormat) ? c.titleFormat(a, j, n, c) : U(a);
+        if (!(!a || a === "")) {
+          b('<div id="fancybox-title" class="' + f + '" />')
+            .css({
+              width: d,
+              paddingLeft: c.padding,
+              paddingRight: c.padding
+            })
+            .html(a)
+            .appendTo("body");
+          switch (c.titlePosition) {
+            case "inside":
+              v = b("#fancybox-title").outerHeight(true) - c.padding;
+              l.height += v;
+              break;
+            case "over":
+              b("#fancybox-title").css("bottom", c.padding);
+              break;
+            default:
+              b("#fancybox-title").css(
+                "bottom",
+                b("#fancybox-title").outerHeight(true) * -1
+              );
+              break;
+          }
+          b("#fancybox-title")
+            .appendTo(D)
+            .hide();
+        }
+      }
+    },
+    W = function() {
+      b(document)
+        .unbind("keydown.fb")
+        .bind("keydown.fb", function(a) {
+          if (a.keyCode == 27 && c.enableEscapeButton) {
+            a.preventDefault();
+            b.fancybox.close();
+          } else if (a.keyCode == 37) {
+            a.preventDefault();
+            b.fancybox.prev();
+          } else if (a.keyCode == 39) {
+            a.preventDefault();
+            b.fancybox.next();
+          }
+        });
+      if (b.fn.mousewheel) {
+        g.unbind("mousewheel.fb");
+        j.length > 1 &&
+          g.bind("mousewheel.fb", function(a, d) {
+            a.preventDefault();
+            h || d === 0 || (d > 0 ? b.fancybox.prev() : b.fancybox.next());
+          });
+      }
+      if (c.showNavArrows) {
+        if ((c.cyclic && j.length > 1) || n !== 0) A.show();
+        if ((c.cyclic && j.length > 1) || n != j.length - 1) B.show();
+      }
+    },
+    X = function() {
+      var a, d;
+      if (j.length - 1 > n) {
+        a = j[n + 1].href;
+        if (typeof a !== "undefined" && a.match(G)) {
+          d = new Image();
+          d.src = a;
+        }
+      }
+      if (n > 0) {
+        a = j[n - 1].href;
+        if (typeof a !== "undefined" && a.match(G)) {
+          d = new Image();
+          d.src = a;
+        }
+      }
+    },
+    L = function() {
+      i.css(
+        "overflow",
+        c.scrolling == "auto"
+          ? c.type == "image" || c.type == "iframe" || c.type == "swf"
+            ? "hidden"
+            : "auto"
+          : c.scrolling == "yes"
+            ? "auto"
+            : "visible"
+      );
+      if (!b.support.opacity) {
+        i.get(0).style.removeAttribute("filter");
+        g.get(0).style.removeAttribute("filter");
+      }
+      b("#fancybox-title").show();
+      c.hideOnContentClick && i.one("click", b.fancybox.close);
+      c.hideOnOverlayClick && x.one("click", b.fancybox.close);
+      c.showCloseButton && z.show();
+      W();
+      b(window).bind("resize.fb", b.fancybox.center);
+      c.centerOnScroll
+        ? b(window).bind("scroll.fb", b.fancybox.center)
+        : b(window).unbind("scroll.fb");
+      b.isFunction(c.onComplete) && c.onComplete(j, n, c);
+      h = false;
+      X();
+    },
+    M = function(a) {
+      var d = Math.round(k.width + (l.width - k.width) * a),
+        f = Math.round(k.height + (l.height - k.height) * a),
+        o = Math.round(k.top + (l.top - k.top) * a),
+        t = Math.round(k.left + (l.left - k.left) * a);
+      g.css({
+        width: d + "px",
+        height: f + "px",
+        top: o + "px",
+        left: t + "px"
+      });
+      d = Math.max(d - c.padding * 2, 0);
+      f = Math.max(f - (c.padding * 2 + v * a), 0);
+      i.css({
+        width: d + "px",
+        height: f + "px"
+      });
+      if (typeof l.opacity !== "undefined") g.css("opacity", a < 0.5 ? 0.5 : a);
+    },
+    Y = function(a) {
+      var d = a.offset();
+      d.top += parseFloat(a.css("paddingTop")) || 0;
+      d.left += parseFloat(a.css("paddingLeft")) || 0;
+      d.top += parseFloat(a.css("border-top-width")) || 0;
+      d.left += parseFloat(a.css("border-left-width")) || 0;
+      d.width = a.width();
+      d.height = a.height();
+      return d;
+    },
+    Q = function() {
+      var a = e.orig ? b(e.orig) : false,
+        d = {};
+      if (a && a.length) {
+        a = Y(a);
+        d = {
+          width: a.width + c.padding * 2,
+          height: a.height + c.padding * 2,
+          top: a.top - c.padding - 20,
+          left: a.left - c.padding - 20
+        };
+      } else {
+        a = K();
+        d = {
+          width: 1,
+          height: 1,
+          top: a[3] + a[1] * 0.5,
+          left: a[2] + a[0] * 0.5
+        };
+      }
+      return d;
+    },
+    N = function() {
+      u.hide();
+      if (g.is(":visible") && b.isFunction(c.onCleanup))
+        if (c.onCleanup(j, n, c) === false) {
+          b.event.trigger("fancybox-cancel");
+          h = false;
+          return;
+        }
+      j = q;
+      n = p;
+      c = e;
+      i.get(0).scrollTop = 0;
+      i.get(0).scrollLeft = 0;
+      if (c.overlayShow) {
+        O &&
+          b("select:not(#fancybox-tmp select)")
+            .filter(function() {
+              return this.style.visibility !== "hidden";
+            })
+            .css({ visibility: "hidden" })
+            .one("fancybox-cleanup", function() {
+              this.style.visibility = "inherit";
+            });
+        x
+          .css({
+            "background-color": c.overlayColor,
+            opacity: c.overlayOpacity
+          })
+          .unbind()
+          .show();
+      }
+      l = T();
+      V();
+      if (g.is(":visible")) {
+        b(z.add(A).add(B)).hide();
+        var a = g.position(),
+          d;
+        k = { top: a.top, left: a.left, width: g.width(), height: g.height() };
+        d = k.width == l.width && k.height == l.height;
+        i.fadeOut(c.changeFade, function() {
+          var f = function() {
+            i.html(m.contents()).fadeIn(c.changeFade, L);
+          };
+          b.event.trigger("fancybox-change");
+          i.empty().css("overflow", "hidden");
+          if (d) {
+            i.css({
+              top: c.padding,
+              left: c.padding,
+              width: Math.max(l.width - c.padding * 2, 1),
+              height: Math.max(l.height - c.padding * 2 - v, 1)
+            });
+            f();
+          } else {
+            i.css({
+              top: c.padding,
+              left: c.padding,
+              width: Math.max(k.width - c.padding * 2, 1),
+              height: Math.max(k.height - c.padding * 2, 1)
+            });
+            y.prop = 0;
+            b(y).animate(
+              { prop: 1 },
+              {
+                duration: c.changeSpeed,
+                easing: c.easingChange,
+                step: M,
+                complete: f
+              }
+            );
+          }
+        });
+      } else {
+        g.css("opacity", 1);
+        if (c.transitionIn == "elastic") {
+          k = Q();
+          i
+            .css({
+              top: c.padding,
+              left: c.padding,
+              width: Math.max(k.width - c.padding * 2, 1),
+              height: Math.max(k.height - c.padding * 2, 1)
+            })
+            .html(m.contents());
+          g.css(k).show();
+          if (c.opacity) l.opacity = 0;
+          y.prop = 0;
+          b(y).animate(
+            { prop: 1 },
+            { duration: c.speedIn, easing: c.easingIn, step: M, complete: L }
+          );
+        } else {
+          i
+            .css({
+              top: c.padding,
+              left: c.padding,
+              width: Math.max(l.width - c.padding * 2, 1),
+              height: Math.max(l.height - c.padding * 2 - v, 1)
+            })
+            .html(m.contents());
+          g.css(l).fadeIn(c.transitionIn == "none" ? 0 : c.speedIn, L);
+        }
+      }
+    },
+    F = function() {
+      m.width(e.width);
+      m.height(e.height);
+      if (e.width == "auto") e.width = m.width();
+      if (e.height == "auto") e.height = m.height();
+      N();
+    },
+    Z = function() {
+      h = true;
+      e.width = s.width;
+      e.height = s.height;
+      b("<img />")
+        .attr({
+          id: "fancybox-img",
+          src: s.src,
+          alt: e.title
+        })
+        .appendTo(m);
+      N();
+    },
+    C = function() {
+      J();
+      var a = q[p],
+        d,
+        f,
+        o,
+        t,
+        w;
+      e = b.extend(
+        {},
+        b.fn.fancybox.defaults,
+        typeof b(a).data("fancybox") == "undefined" ? e : b(a).data("fancybox")
+      );
+      o = a.title || b(a).title || e.title || "";
+      if (a.nodeName && !e.orig)
+        e.orig = b(a).children("img:first").length
+          ? b(a).children("img:first")
+          : b(a);
+      if (o === "" && e.orig) o = e.orig.attr("alt");
+      d =
+        a.nodeName && /^(?:javascript|#)/i.test(a.href)
+          ? e.href || null
+          : e.href || a.href || null;
+      if (e.type) {
+        f = e.type;
+        if (!d) d = e.content;
+      } else if (e.content) f = "html";
+      else if (d)
+        if (d.match(G)) f = "image";
+        else if (d.match(S)) f = "swf";
+        else if (b(a).hasClass("iframe")) f = "iframe";
+        else if (d.match(/#/)) {
+          a = d.substr(d.indexOf("#"));
+          f = b(a).length > 0 ? "inline" : "ajax";
+        } else f = "ajax";
+      else f = "inline";
+      e.type = f;
+      e.href = d;
+      e.title = o;
+      if (e.autoDimensions && e.type !== "iframe" && e.type !== "swf") {
+        e.width = "auto";
+        e.height = "auto";
+      }
+      if (e.modal) {
+        e.overlayShow = true;
+        e.hideOnOverlayClick = false;
+        e.hideOnContentClick = false;
+        e.enableEscapeButton = false;
+        e.showCloseButton = false;
+      }
+      if (b.isFunction(e.onStart))
+        if (e.onStart(q, p, e) === false) {
+          h = false;
+          return;
+        }
+      m.css("padding", 20 + e.padding + e.margin);
+      b(".fancybox-inline-tmp")
+        .unbind("fancybox-cancel")
+        .bind("fancybox-change", function() {
+          b(this).replaceWith(i.children());
+        });
+      switch (f) {
+        case "html":
+          m.html(e.content);
+          F();
+          break;
+        case "inline":
+          b('<div class="fancybox-inline-tmp" />')
+            .hide()
+            .insertBefore(b(a))
+            .bind("fancybox-cleanup", function() {
+              b(this).replaceWith(i.children());
+            })
+            .bind("fancybox-cancel", function() {
+              b(this).replaceWith(m.children());
+            });
+          b(a).appendTo(m);
+          F();
+          break;
+        case "image":
+          h = false;
+          b.fancybox.showActivity();
+          s = new Image();
+          s.onerror = function() {
+            P();
+          };
+          s.onload = function() {
+            s.onerror = null;
+            s.onload = null;
+            Z();
+          };
+          s.src = d;
+          break;
+        case "swf":
+          t =
+            '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' +
+            e.width +
+            '" height="' +
+            e.height +
+            '"><param name="movie" value="' +
+            d +
+            '"></param>';
+          w = "";
+          b.each(e.swf, function(r, R) {
+            t += '<param name="' + r + '" value="' + R + '"></param>';
+            w += " " + r + '="' + R + '"';
+          });
+          t +=
+            '<embed src="' +
+            d +
+            '" type="application/x-shockwave-flash" width="' +
+            e.width +
+            '" height="' +
+            e.height +
+            '"' +
+            w +
+            "></embed></object>";
+          m.html(t);
+          F();
+          break;
+        case "ajax":
+          a = d.split("#", 2);
+          f = e.ajax.data || {};
+          if (a.length > 1) {
+            d = a[0];
+            if (typeof f == "string") f += "&selector=" + a[1];
+            else f.selector = a[1];
+          }
+          h = false;
+          b.fancybox.showActivity();
+          E = b.ajax(
+            b.extend(e.ajax, {
+              url: d,
+              data: f,
+              error: P,
+              success: function(r) {
+                if (E.status == 200) {
+                  m.html(r);
+                  F();
+                }
+              }
+            })
+          );
+          break;
+        case "iframe":
+          b(
+            '<iframe id="fancybox-frame" name="fancybox-frame' +
+              new Date().getTime() +
+              '" frameborder="0" hspace="0" scrolling="' +
+              e.scrolling +
+              '" src="' +
+              e.href +
+              '"></iframe>'
+          ).appendTo(m);
+          N();
+          break;
+      }
+    },
+    $ = function() {
+      if (u.is(":visible")) {
+        b("div", u).css("top", I * -40 + "px");
+        I = (I + 1) % 12;
+      } else clearInterval(H);
+    },
+    aa = function() {
+      if (!b("#fancybox-wrap").length) {
+        b("body").append(
+          (m = b('<div id="fancybox-tmp"></div>')),
+          (u = b('<div id="fancybox-loading"><div></div></div>')),
+          (x = b('<div id="fancybox-overlay"></div>')),
+          (g = b('<div id="fancybox-wrap"></div>'))
+        );
+        if (!b.support.opacity) {
+          g.addClass("fancybox-ie");
+          u.addClass("fancybox-ie");
+        }
+        D = b('<div id="fancybox-outer"></div>')
+          .append(
+            '<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>'
+          )
+          .appendTo(g);
+        D.append(
+          (i = b('<div id="fancybox-inner"></div>')),
+          (z = b('<a id="fancybox-close"></a>')),
+          (A = b(
+            '<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'
+          )),
+          (B = b(
+            '<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'
+          ))
+        );
+        z.click(b.fancybox.close);
+        u.click(b.fancybox.cancel);
+        A.click(function(a) {
+          a.preventDefault();
+          b.fancybox.prev();
+        });
+        B.click(function(a) {
+          a.preventDefault();
+          b.fancybox.next();
+        });
+        if (O) {
+          x
+            .get(0)
+            .style.setExpression(
+              "height",
+              "document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'"
+            );
+          u
+            .get(0)
+            .style.setExpression(
+              "top",
+              "(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'"
+            );
+          D.prepend(
+            '<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>'
+          );
+        }
+      }
+    };
+  b.fn.fancybox = function(a) {
+    b(this)
+      .data("fancybox", b.extend({}, a, b.metadata ? b(this).metadata() : {}))
+      .unbind("click.fb")
+      .bind("click.fb", function(d) {
+        d.preventDefault();
+        if (!h) {
+          h = true;
+          b(this).blur();
+          q = [];
+          p = 0;
+          d = b(this).attr("rel") || "";
+          if (!d || d == "" || d === "nofollow") q.push(this);
+          else {
+            q = b("a[rel=" + d + "], area[rel=" + d + "]");
+            p = q.index(this);
+          }
+          C();
+          return false;
+        }
+      });
+    return this;
+  };
+  b.fancybox = function(a, d) {
+    if (!h) {
+      h = true;
+      d = typeof d !== "undefined" ? d : {};
+      q = [];
+      p = d.index || 0;
+      if (b.isArray(a)) {
+        for (var f = 0, o = a.length; f < o; f++)
+          if (typeof a[f] == "object")
+            b(a[f]).data("fancybox", b.extend({}, d, a[f]));
+          else a[f] = b({}).data("fancybox", b.extend({ content: a[f] }, d));
+        q = jQuery.merge(q, a);
+      } else {
+        if (typeof a == "object") b(a).data("fancybox", b.extend({}, d, a));
+        else a = b({}).data("fancybox", b.extend({ content: a }, d));
+        q.push(a);
+      }
+      if (p > q.length || p < 0) p = 0;
+      C();
+    }
+  };
+  b.fancybox.showActivity = function() {
+    clearInterval(H);
+    u.show();
+    H = setInterval($, 66);
+  };
+  b.fancybox.hideActivity = function() {
+    u.hide();
+  };
+  b.fancybox.next = function() {
+    return b.fancybox.pos(n + 1);
+  };
+  b.fancybox.prev = function() {
+    return b.fancybox.pos(n - 1);
+  };
+  b.fancybox.pos = function(a) {
+    if (!h) {
+      a = parseInt(a, 10);
+      if (a > -1 && j.length > a) {
+        p = a;
+        C();
+      }
+      if (c.cyclic && j.length > 1 && a < 0) {
+        p = j.length - 1;
+        C();
+      }
+      if (c.cyclic && j.length > 1 && a >= j.length) {
+        p = 0;
+        C();
+      }
+    }
+  };
+  b.fancybox.cancel = function() {
+    if (!h) {
+      h = true;
+      b.event.trigger("fancybox-cancel");
+      J();
+      e && b.isFunction(e.onCancel) && e.onCancel(q, p, e);
+      h = false;
+    }
+  };
+  b.fancybox.close = function() {
+    function a() {
+      x.fadeOut("fast");
+      g.hide();
+      b.event.trigger("fancybox-cleanup");
+      i.empty();
+      b.isFunction(c.onClosed) && c.onClosed(j, n, c);
+      j = e = [];
+      n = p = 0;
+      c = e = {};
+      h = false;
+    }
+    if (!(h || g.is(":hidden"))) {
+      h = true;
+      if (c && b.isFunction(c.onCleanup))
+        if (c.onCleanup(j, n, c) === false) {
+          h = false;
+          return;
+        }
+      J();
+      b(z.add(A).add(B)).hide();
+      b("#fancybox-title").remove();
+      g
+        .add(i)
+        .add(x)
+        .unbind();
+      b(window).unbind("resize.fb scroll.fb");
+      b(document).unbind("keydown.fb");
+      i.css("overflow", "hidden");
+      if (c.transitionOut == "elastic") {
+        k = Q();
+        var d = g.position();
+        l = { top: d.top, left: d.left, width: g.width(), height: g.height() };
+        if (c.opacity) l.opacity = 1;
+        y.prop = 1;
+        b(y).animate(
+          { prop: 0 },
+          {
+            duration: c.speedOut,
+            easing: c.easingOut,
+            step: M,
+            complete: a
+          }
+        );
+      } else g.fadeOut(c.transitionOut == "none" ? 0 : c.speedOut, a);
+    }
+  };
+  b.fancybox.resize = function() {
+    var a, d;
+    if (!(h || g.is(":hidden"))) {
+      h = true;
+      a = i.wrapInner("<div style='overflow:auto'></div>").children();
+      d = a.height();
+      g.css({ height: d + c.padding * 2 + v });
+      i.css({ height: d });
+      a.replaceWith(a.children());
+      b.fancybox.center();
+    }
+  };
+  b.fancybox.center = function() {
+    h = true;
+    var a = K(),
+      d = c.margin,
+      f = {};
+    f.top = a[3] + (a[1] - (g.height() - v + 40)) * 0.5;
+    f.left = a[2] + (a[0] - (g.width() + 40)) * 0.5;
+    f.top = Math.max(a[3] + d, f.top);
+    f.left = Math.max(a[2] + d, f.left);
+    g.css(f);
+    h = false;
+  };
+  b.fn.fancybox.defaults = {
+    padding: 10,
+    margin: 20,
+    opacity: false,
+    modal: false,
+    cyclic: false,
+    scrolling: "auto",
+    width: 560,
+    height: 340,
+    autoScale: true,
+    autoDimensions: true,
+    centerOnScroll: false,
+    ajax: {},
+    swf: { wmode: "transparent" },
+    hideOnOverlayClick: true,
+    hideOnContentClick: false,
+    overlayShow: true,
+    overlayOpacity: 0.3,
+    overlayColor: "#666",
+    titleShow: true,
+    titlePosition: "outside",
+    titleFormat: null,
+    transitionIn: "fade",
+    transitionOut: "fade",
+    speedIn: 300,
+    speedOut: 300,
+    changeSpeed: 300,
+    changeFade: "fast",
+    easingIn: "swing",
+    easingOut: "swing",
+    showCloseButton: true,
+    showNavArrows: true,
+    enableEscapeButton: true,
+    onStart: null,
+    onCancel: null,
+    onComplete: null,
+    onCleanup: null,
+    onClosed: null
+  };
+  b(document).ready(function() {
+    aa();
+  });
+})(jQuery);
 /**
  * jQuery Unveil
  * A very lightweight jQuery plugin to lazy load images
@@ -457,16 +1637,14 @@ easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enabl
  * https://github.com/luis-almeida
  */
 
-;(function($) {
-
+(function($) {
   $.fn.unveil = function(threshold, callback) {
-
     var $w = $(window),
-        th = threshold || 0,
-        retina = window.devicePixelRatio > 1,
-        attrib = retina? "data-src-retina" : "data-src",
-        images = this,
-        loaded;
+      th = threshold || 0,
+      retina = window.devicePixelRatio > 1,
+      attrib = retina ? "data-src-retina" : "data-src",
+      images = this,
+      loaded;
 
     this.one("unveil", function() {
       var source = this.getAttribute(attrib);
@@ -483,9 +1661,9 @@ easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enabl
         if ($e.is(":hidden")) return;
 
         var wt = $w.scrollTop(),
-            wb = wt + $w.height(),
-            et = $e.offset().top,
-            eb = et + $e.height();
+          wb = wt + $w.height(),
+          et = $e.offset().top,
+          eb = et + $e.height();
 
         return eb >= wt - th && et <= wb + th;
       });
@@ -500,9 +1678,7 @@ easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enabl
     unveil();
 
     return this;
-
   };
-
 })(window.jQuery || window.Zepto);
 
 /* =============================================================
@@ -524,123 +1700,117 @@ easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enabl
  * limitations under the License.
  * ============================================================ */
 
-!function( $ ){
-
-  "use strict"
+!(function($) {
+  "use strict";
 
-  var Collapse = function ( element, options ) {
-  	this.$element = $(element)
-    this.options = $.extend({}, $.fn.collapse.defaults, options)
+  var Collapse = function(element, options) {
+    this.$element = $(element);
+    this.options = $.extend({}, $.fn.collapse.defaults, options);
 
     if (this.options["parent"]) {
-      this.$parent = $(this.options["parent"])
+      this.$parent = $(this.options["parent"]);
     }
 
-    this.options.toggle && this.toggle()
-  }
+    this.options.toggle && this.toggle();
+  };
 
   Collapse.prototype = {
+    constructor: Collapse,
 
-    constructor: Collapse
+    dimension: function() {
+      var hasWidth = this.$element.hasClass("width");
+      return hasWidth ? "width" : "height";
+    },
 
-  , dimension: function () {
-      var hasWidth = this.$element.hasClass('width')
-      return hasWidth ? 'width' : 'height'
-    }
-
-  , show: function () {
-      var dimension = this.dimension()
-        , scroll = $.camelCase(['scroll', dimension].join('-'))
-        , actives = this.$parent && this.$parent.find('.in')
-        , hasData
+    show: function() {
+      var dimension = this.dimension(),
+        scroll = $.camelCase(["scroll", dimension].join("-")),
+        actives = this.$parent && this.$parent.find(".in"),
+        hasData;
 
       if (actives && actives.length) {
-        hasData = actives.data('collapse')
-        actives.collapse('hide')
-        hasData || actives.data('collapse', null)
+        hasData = actives.data("collapse");
+        actives.collapse("hide");
+        hasData || actives.data("collapse", null);
       }
 
-      this.$element[dimension](0)
-      this.transition('addClass', 'show', 'shown')
-      this.$element[dimension](this.$element[0][scroll])
-
-    }
-
-  , hide: function () {
-      var dimension = this.dimension()
-      this.reset(this.$element[dimension]())
-      this.transition('removeClass', 'hide', 'hidden')
-      this.$element[dimension](0)
-    }
+      this.$element[dimension](0);
+      this.transition("addClass", "show", "shown");
+      this.$element[dimension](this.$element[0][scroll]);
+    },
 
-  , reset: function ( size ) {
-      var dimension = this.dimension()
+    hide: function() {
+      var dimension = this.dimension();
+      this.reset(this.$element[dimension]());
+      this.transition("removeClass", "hide", "hidden");
+      this.$element[dimension](0);
+    },
 
-      this.$element
-        .removeClass('collapse')
-        [dimension](size || 'auto')
-        [0].offsetWidth
+    reset: function(size) {
+      var dimension = this.dimension();
 
-      this.$element.addClass('collapse')
-    }
+      this.$element.removeClass("collapse")[dimension](size || "auto")[0]
+        .offsetWidth;
 
-  , transition: function ( method, startEvent, completeEvent ) {
-      var that = this
-        , complete = function () {
-            if (startEvent == 'show') that.reset()
-            that.$element.trigger(completeEvent)
-          }
+      this.$element.addClass("collapse");
+    },
 
-      this.$element
-        .trigger(startEvent)
-        [method]('in')
+    transition: function(method, startEvent, completeEvent) {
+      var that = this,
+        complete = function() {
+          if (startEvent == "show") that.reset();
+          that.$element.trigger(completeEvent);
+        };
 
-      $.support.transition && this.$element.hasClass('collapse') ?
-        this.$element.one($.support.transition.end, complete) :
-        complete()
-  	}
+      this.$element.trigger(startEvent)[method]("in");
 
-  , toggle: function () {
-      this[this.$element.hasClass('in') ? 'hide' : 'show']()
-  	}
+      $.support.transition && this.$element.hasClass("collapse")
+        ? this.$element.one($.support.transition.end, complete)
+        : complete();
+    },
 
-  }
+    toggle: function() {
+      this[this.$element.hasClass("in") ? "hide" : "show"]();
+    }
+  };
 
   /* COLLAPSIBLE PLUGIN DEFINITION
   * ============================== */
 
-  $.fn.collapse = function ( option ) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('collapse')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
+  $.fn.collapse = function(option) {
+    return this.each(function() {
+      var $this = $(this),
+        data = $this.data("collapse"),
+        options = typeof option == "object" && option;
+      if (!data) $this.data("collapse", (data = new Collapse(this, options)));
+      if (typeof option == "string") data[option]();
+    });
+  };
 
   $.fn.collapse.defaults = {
     toggle: true
-  }
-
-  $.fn.collapse.Constructor = Collapse
+  };
 
+  $.fn.collapse.Constructor = Collapse;
 
- /* COLLAPSIBLE DATA-API
+  /* COLLAPSIBLE DATA-API
   * ==================== */
 
-  $(function () {
-    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
-      var $this = $(this), href
-        , target = $this.attr('data-target')
-          || e.preventDefault()
-          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
-        , option = $(target).data('collapse') ? 'toggle' : $this.data()
-      $(target).collapse(option)
-    })
-  })
-
-}( window.jQuery );
+  $(function() {
+    $("body").on("click.collapse.data-api", "[data-toggle=collapse]", function(
+      e
+    ) {
+      var $this = $(this),
+        href,
+        target =
+          $this.attr("data-target") ||
+          e.preventDefault() ||
+          ((href = $this.attr("href")) && href.replace(/.*(?=#[^\s]+$)/, "")), //strip for ie7
+        option = $(target).data("collapse") ? "toggle" : $this.data();
+      $(target).collapse(option);
+    });
+  });
+})(window.jQuery);
 /*
   Centrani javascript pro DCK Rekrea Ostrava
   a pridruzene weby
@@ -654,196 +1824,180 @@ easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enabl
   Autor: Martin Michalek, webmaster@eslovensko.cz
 */
 
-
-
 /* ================================================================================
    1) Udalosti
 */
 
-
 /* --------------------------------------------------------------------------------
    a) Po nacteni dokumentu
 */
 
 $(document).ready(function() {
-
   // Nastaveni globalnich promennych do objektu
   window.rekrea_config = {
-    version : 'desktop',
-    version_switch_window_width : 768
-  }
+    version: "desktop",
+    version_switch_window_width: 768
+  };
 
   // Pine.JS inicializace
-  $('.pine').pine({
-      largeDisplayStart: '768px'
-    });
+  $(".pine").pine({
+    largeDisplayStart: "768px"
+  });
 
   // Podle velikosti displeje nastavujeme verzi
   set_config_version();
 
-	// Fancybox: Osetreni otevirani detailu fotek
-	$(".fancybox").fancybox({
-    'overlayOpacity': .8,
-    'overlayColor': '#000',
-    'padding': '0'
-	});
+  // Fancybox: Osetreni otevirani detailu fotek
+  $(".fancybox").fancybox({
+    overlayOpacity: 0.8,
+    overlayColor: "#000",
+    padding: "0"
+  });
 
-	// Fancybox: Osetreni otevirani #content_body casti cizich stranek
-  $(".fancybox_content").click(function(e){
-      e.preventDefault();
-      $.ajax({
-         url: $(this).attr('href'),
-         cache: false,
-         async: false,
-         dataType: "html",
-         success: function(data){
-            html = $(data).find("#content");
-             $.fancybox({
-               'overlayOpacity': .8,
-               'overlayColor': '#000',
-               'padding': '0',
-               'scrolling': 'no',
-               'content': html
-            });
-         }
-      });
-      return false;
+  // Fancybox: Osetreni otevirani #content_body casti cizich stranek
+  $(".fancybox_content").click(function(e) {
+    e.preventDefault();
+    $.ajax({
+      url: $(this).attr("href"),
+      cache: false,
+      async: false,
+      dataType: "html",
+      success: function(data) {
+        html = $(data).find("#content");
+        $.fancybox({
+          overlayOpacity: 0.8,
+          overlayColor: "#000",
+          padding: "0",
+          scrolling: "no",
+          content: html
+        });
+      }
+    });
+    return false;
   });
 
-	// Fancybox: Osetreni otevirani info okynek do iframu na desktopu
-	// Napr. atrakce na seznamu atrakci na malych webech
-	$(".fancybox_iframe").click(function() {
-	  if (rekrea_config.version == 'desktop') {
-  		$.fancybox(ajaxize_url($(this).find('.text. strong a').attr('href')),{
-  		    'overlayOpacity': .8,
-  		    'overlayColor': '#000',
-  		    'padding': 0,
-  		    'type': 'iframe',
-  		    'width': 1000,
-  		    'height': 575
-  			});
+  // Fancybox: Osetreni otevirani info okynek do iframu na desktopu
+  // Napr. atrakce na seznamu atrakci na malych webech
+  $(".fancybox_iframe").click(function() {
+    if (rekrea_config.version == "desktop") {
+      $.fancybox(
+        ajaxize_url(
+          $(this)
+            .find(".text. strong a")
+            .attr("href")
+        ),
+        {
+          overlayOpacity: 0.8,
+          overlayColor: "#000",
+          padding: 0,
+          type: "iframe",
+          width: 1000,
+          height: 575
+        }
+      );
       return false;
     }
-	});
+  });
 
   // Fancygallery
   // Nyni jen otevirani Flickru do noveho okna.
   // Puvodne: Prohlizec fotek stahovanych primo z Flickru postaveny na Fancyboxu.
-  $('.fancygallery').click(function() {
-    window.open($(this).attr('href'));
+  $(".fancygallery").click(function() {
+    window.open($(this).attr("href"));
     return false;
   });
 
   // Handler pro nove last minute
-  if (!!$('.lmItem').length)
-    handleLastMinute ()
+  if (!!$(".lmItem").length) handleLastMinute();
 
   // Univerzalni informativni hlaska
-  if (!!$('.message').length)
-    handle_message_fadeout()
+  if (!!$(".message").length) handle_message_fadeout();
 
   // Osetrime zoomovani na orientacni mapce v atrakcich atd.
-  if (!!$('.landmark_map .zoom_2').length)
-    handle_landmark_map()
+  if (!!$(".landmark_map .zoom_2").length) handle_landmark_map();
 
   // Hovery na stylovenem seznamu .images_list
-  if (!!$('.images_list li').length)
-    handle_images_list()
+  if (!!$(".images_list li").length) handle_images_list();
 
   // Placeholder do "patickoveho" formulare pro prihlaseni k newsletteru
-  if (!!$('#footNewsletter').length)
-    add_placeholder()
+  if (!!$("#footNewsletter").length) add_placeholder();
 
   // Osetrime akce v seznamu ubytovani
-  if (!!$('.list_item').length)
-    handle_list_item()
+  if (!!$(".list_item").length) handle_list_item();
 
   // Osetrime rozklikavani .details/.summary
-  if (!!$('.details .summary').length)
-    handle_details_summary()
+  if (!!$(".details .summary").length) handle_details_summary();
 
   // Detail kapacity: trackovani rezervacniho procesu pro Google Analytics
-  if (!!$('#otevrit_rezervaci').length)
-    handle_reservation_ga_tracking()
+  if (!!$("#otevrit_rezervaci").length) handle_reservation_ga_tracking();
 
-	// Nacitame iOS slider - napr. titulky HL.cz a HJ.cz
-	if (!!$('.iosSlider').length)
-		handle_ios_slider();
+  // Nacitame iOS slider - napr. titulky HL.cz a HJ.cz
+  if (!!$(".iosSlider").length) handle_ios_slider();
 
   // Smoothscrolling na kotvach uvnitr stranek
-  if (!!$('#container a[href*=#]:not([href=#])').length)
-    handle_smooth_scroll();
+  if (!!$("#container a[href*=#]:not([href=#])").length) handle_smooth_scroll();
 
   // Otevirani a zavirani fulltextu na malych displejich
-  if ( (!!$('.site-search').length) && (rekrea_config.version == 'mobile') )
+  if (!!$(".site-search").length && rekrea_config.version == "mobile")
     handle_small_screen_nav();
 
   $(".unveil").unveil(100, function() {
-      $(this).load(function() {
-          this.style.opacity = 1;
-      });
+    $(this).load(function() {
+      this.style.opacity = 1;
+    });
   });
-
 });
 
-
 /* --------------------------------------------------------------------------------
    b) Po nacteni DOM i obrazku
 */
-$(window).load(function() {
-
-
-});
-
-
+$(window).load(function() {});
 
 /* --------------------------------------------------------------------------------
    c) Po zmene velikosti okna
 */
 
 $(window).resize(function() {
-
   // Podle velikosti displeje nastavujeme verzi
   set_config_version();
-
 });
 
-
-
-
 /* ================================================================================
    2) Funkce
 */
 
 // Handler pro nove last minute
-function handleLastMinute () {
-
-  $('.lmItem').click(function() {
-    window.location = $(this).find('a:first').attr('href').toString();
+function handleLastMinute() {
+  $(".lmItem").click(function() {
+    window.location = $(this)
+      .find("a:first")
+      .attr("href")
+      .toString();
     return false;
   });
 
-  $('.lmItem .hotels a').click(function(event) {
+  $(".lmItem .hotels a").click(function(event) {
     event.stopPropagation();
   });
-
 }
 
-
 // Fadeout univerzalni info hlasky
 function handle_message_fadeout() {
-	if ($('.message:visible').hasClass('lasting_message')) {
-  	setTimeout(blind_up, 10000,'.message');
-	} else {
-  	setTimeout(blind_up, 5000,'.message');
-	}
+  if ($(".message:visible").hasClass("lasting_message")) {
+    setTimeout(blind_up, 10000, ".message");
+  } else {
+    setTimeout(blind_up, 5000, ".message");
+  }
 }
 
 function blind_up(element) {
-  $(element).animate({
-    top: '-400px'
-  }, 600 )
-  $(element).remove()
+  $(element).animate(
+    {
+      top: "-400px"
+    },
+    600
+  );
+  $(element).remove();
 }
 
 /*
@@ -854,30 +2008,31 @@ function blind_up(element) {
    if (!Modernizr.input.placeholder) { }
 */
 function add_placeholder() {
-  $('#footNewsletter').find("input[placeholder]").each(function(){
+  $("#footNewsletter")
+    .find("input[placeholder]")
+    .each(function() {
       var $this = $(this);
-      var placeholder = $this.attr('placeholder');
+      var placeholder = $this.attr("placeholder");
       if ($this.val() == "" && placeholder != "") {
-          $this.val(placeholder);
+        $this.val(placeholder);
       }
-      $this.focus(function(){
-          if ($this.val() == placeholder) $this.val("");
+      $this.focus(function() {
+        if ($this.val() == placeholder) $this.val("");
       });
-      $this.blur(function(){
-          if ($this.val() == "") $this.val(placeholder);
+      $this.blur(function() {
+        if ($this.val() == "") $this.val(placeholder);
       });
-  });
+    });
 }
 
-
 /*
    Detekujeme mobil/desktop verzi podle sirky obrazovky
 */
 function set_config_version() {
   if ($(window).width() < rekrea_config.version_switch_window_width) {
-    rekrea_config.version = 'mobile';
+    rekrea_config.version = "mobile";
   } else {
-    rekrea_config.version = 'desktop';
+    rekrea_config.version = "desktop";
   }
 }
 
@@ -888,22 +2043,27 @@ function set_config_version() {
    http://www.e-slovensko.cz/ajax/atrakce/1148-thermal-park-besenova/
 */
 function ajaxize_url(url) {
-  return url.replace('.cz/','.cz/ajax/').replace('.local/','.local/ajax/');
+  return url.replace(".cz/", ".cz/ajax/").replace(".local/", ".local/ajax/");
 }
 
-
 /*
   Osetrime zoomovani na orientacni mapce v atrakcich atd.
 */
 function handle_landmark_map() {
-  var $landmark_maps = $('.landmark_map .maps');
-  $landmark_maps.hover(function() {
-     $landmark_maps.find('.zoom_1').fadeOut('slow', function() {
-       setTimeout("$('.landmark_map .maps').find('.zoom_2').fadeOut('slow')", 1000);
-     });
-  }, function() {
-    $landmark_maps.find('.zoom_2, .zoom_1').fadeIn();
-  });
+  var $landmark_maps = $(".landmark_map .maps");
+  $landmark_maps.hover(
+    function() {
+      $landmark_maps.find(".zoom_1").fadeOut("slow", function() {
+        setTimeout(
+          "$('.landmark_map .maps').find('.zoom_2').fadeOut('slow')",
+          1000
+        );
+      });
+    },
+    function() {
+      $landmark_maps.find(".zoom_2, .zoom_1").fadeIn();
+    }
+  );
 }
 
 /*
@@ -912,29 +2072,35 @@ function handle_landmark_map() {
   do Fancyboxu na desktopu. Tam navesujeme klikaci udalost uz na <li> - viz vyse.
 */
 function handle_images_list() {
-	if (rekrea_config.version == 'desktop') {
-    $('.images_list li:not(.fancybox_iframe)').click(function() {
-      window.location = $(this).find('a:first').attr('href');
+  if (rekrea_config.version == "desktop") {
+    $(".images_list li:not(.fancybox_iframe)").click(function() {
+      window.location = $(this)
+        .find("a:first")
+        .attr("href");
     });
   } else {
-    $('.images_list li').click(function() {
-      window.location = $(this).find('a:first').attr('href');
+    $(".images_list li").click(function() {
+      window.location = $(this)
+        .find("a:first")
+        .attr("href");
     });
   }
   return false;
 }
 
-
 /*
   Osetrime akce v seznamu ubytovani
 */
 function handle_list_item() {
-  $('.list_item').click(function() {
-    window.location = $(this).find('h2 a').attr('href').toString();
+  $(".list_item").click(function() {
+    window.location = $(this)
+      .find("h2 a")
+      .attr("href")
+      .toString();
     return false;
   });
   // Kliknutim na obec nebo na ikonu LM/FM nechceme skocit na detail ubytovani
-  $('.list_item .place a, .list_item .icon').click(function(event) {
+  $(".list_item .place a, .list_item .icon").click(function(event) {
     event.stopPropagation();
   });
 }
@@ -943,10 +2109,14 @@ function handle_list_item() {
   Osetrime rozklikavani .details/.summary
 */
 function handle_details_summary() {
-  $('.details .details_content').hide();
-  $('.details .summary').click(function() {
-		$(this).closest('.details').toggleClass('open');
-		$(this).siblings('.details_content').toggle(200);
+  $(".details .details_content").hide();
+  $(".details .summary").click(function() {
+    $(this)
+      .closest(".details")
+      .toggleClass("open");
+    $(this)
+      .siblings(".details_content")
+      .toggle(200);
   });
 }
 
@@ -954,20 +2124,20 @@ function handle_details_summary() {
   Detail kapacity: trackovani rezervacniho procesu pro Google Analytics
 */
 function handle_reservation_ga_tracking() {
-	$('#otevrit_rezervaci').click(function() {
-		try {
-	    var myTracker=_gat._getTrackerByName();
-			_gaq.push(['_trackPageview', '/ubytovani/rezervace/']);
-      ga('send', 'pageview', '/ubytovani/rezervace/'); // Universal Analytics
-		 } catch(err) {}
-	});
-	$('#rezerv_submit').click(function() {
-		try {
-	    var myTracker=_gat._getTrackerByName();
-			_gaq.push(['_trackPageview', '/ubytovani/rezervace/dekujeme/']);
-      ga('send', 'pageview', '/ubytovani/rezervace/dekujeme/'); // Universal Analytics
-		 } catch(err) {}
-	});
+  $("#otevrit_rezervaci").click(function() {
+    try {
+      var myTracker = _gat._getTrackerByName();
+      _gaq.push(["_trackPageview", "/ubytovani/rezervace/"]);
+      ga("send", "pageview", "/ubytovani/rezervace/"); // Universal Analytics
+    } catch (err) {}
+  });
+  $("#rezerv_submit").click(function() {
+    try {
+      var myTracker = _gat._getTrackerByName();
+      _gaq.push(["_trackPageview", "/ubytovani/rezervace/dekujeme/"]);
+      ga("send", "pageview", "/ubytovani/rezervace/dekujeme/"); // Universal Analytics
+    } catch (err) {}
+  });
 }
 
 /*
@@ -976,26 +2146,26 @@ function handle_reservation_ga_tracking() {
 	Vyuziva http://iosscripts.com/iosslider/
 */
 function handle_ios_slider() {
+  $(".iosSlider").iosSlider({
+    // desktopClickDrag: true, <-- bug?
+    snapToChildren: true,
+    infiniteSlider: true,
+    navSlideSelector: ".slideSelectors .item",
+    onSlideChange: slideChange,
+    autoSlide: true,
+    scrollbar: true,
+    scrollbarContainer: ".scrollbarContainer",
+    scrollbarMargin: "0",
+    scrollbarBorderRadius: "0",
+    keyboardControls: true
+  });
 
- 	$('.iosSlider').iosSlider({
- 		// desktopClickDrag: true, <-- bug?
- 		snapToChildren: true,
- 		infiniteSlider: true,
- 		navSlideSelector: '.slideSelectors .item',
- 		onSlideChange: slideChange,
- 		autoSlide: true,
- 		scrollbar: true,
- 		scrollbarContainer: '.scrollbarContainer',
- 		scrollbarMargin: '0',
- 		scrollbarBorderRadius: '0',
- 		keyboardControls: true
- 	});
-
- function slideChange(args) {
- 	$('.slideSelectors .item').removeClass('selected');
- 	$('.slideSelectors .item:eq(' + (args.currentSlideNumber - 1) + ')').addClass('selected');
- }
-
+  function slideChange(args) {
+    $(".slideSelectors .item").removeClass("selected");
+    $(
+      ".slideSelectors .item:eq(" + (args.currentSlideNumber - 1) + ")"
+    ).addClass("selected");
+  }
 }
 
 /*
@@ -1009,14 +2179,21 @@ function handle_ios_slider() {
 */
 
 function handle_smooth_scroll() {
-  $('#container a[href*=#]:not([href=#])').click(function() {
-    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
+  $("#container a[href*=#]:not([href=#])").click(function() {
+    if (
+      location.pathname.replace(/^\//, "") ==
+        this.pathname.replace(/^\//, "") &&
+      location.hostname == this.hostname
+    ) {
       var target = $(this.hash);
-      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
+      target = target.length ? target : $("[name=" + this.hash.slice(1) + "]");
       if (target.length) {
-        $('html,body').animate({
-          scrollTop: target.offset().top
-        }, 1000);
+        $("html,body").animate(
+          {
+            scrollTop: target.offset().top
+          },
+          1000
+        );
         return false;
       }
     }
@@ -1027,23 +2204,20 @@ function handle_smooth_scroll() {
   Osetreni klikani na navigaci na malych displejich
 */
 function handle_small_screen_nav() {
-
   // Klikani na ikonu vyhledavani
-  $('.site-nav__small-screen-search').click(function(event) {
+  $(".site-nav__small-screen-search").click(function(event) {
     // Schovame navigaci
-    $('.pine').removeClass('pine-visible');
-    $('.site-nav__small-screen-nav').removeClass('active');
+    $(".pine").removeClass("pine-visible");
+    $(".site-nav__small-screen-nav").removeClass("active");
     // Zobrazime vyhledavani
-    $('.site-search').toggle();
-    $(this).toggleClass('active');
+    $(".site-search").toggle();
+    $(this).toggleClass("active");
     return false;
   });
 
   // Klikani na ikonu navigace
   // (Zbytek resi Pine.js)
-  $('.site-nav__small-screen-nav').click(function(event) {
-    $('.site-nav__small-screen-search').removeClass('active');
+  $(".site-nav__small-screen-nav").click(function(event) {
+    $(".site-nav__small-screen-search").removeClass("active");
   });
-
 }
-
diff --git a/less/base/body.less b/less/base/body.less
index 166af10..d9b9352 100644
--- a/less/base/body.less
+++ b/less/base/body.less
@@ -18,7 +18,6 @@ body {
 // Napr. http://e-slovensko.local/ajax/atrakce/1148-thermal-park-besenova/
 
 @media @large-start {
-
   body.ajax {
     background: #fff;
     padding: 0;
diff --git a/less/base/helpers.less b/less/base/helpers.less
index 64e2062..d736590 100644
--- a/less/base/helpers.less
+++ b/less/base/helpers.less
@@ -5,13 +5,13 @@ Helpery
 
 */
 
-
 // Clearfix
 // --------
 // For clearing floats like a boss h5bp.com/q
 .clearfix {
   *zoom: 1;
-  &:before, &:after {
+  &:before,
+  &:after {
     display: table;
     content: "";
     // Fixes Opera/contenteditable bug:
@@ -63,12 +63,12 @@ Helpery
   }
 }
 
-
 .dumb_only {
   display: none !important;
 }
 
-.center, .text-center {
+.center,
+.text-center {
   text-align: center;
 }
 
@@ -126,7 +126,9 @@ Helpery
     color: #999;
     text-decoration: underline;
 
-    &:hover, &:focus, &:active {
+    &:hover,
+    &:focus,
+    &:active {
       color: #666;
     }
   }
@@ -146,7 +148,6 @@ Helpery
   border: 0;
 }
 
-
 // Z old_layout.less
 // -----------------
 
@@ -162,7 +163,8 @@ Helpery
   width: 48%;
 }
 
-.clearBothZero, .clear_zero {
+.clearBothZero,
+.clear_zero {
   display: block;
   clear: both;
   font-size: 1px;
@@ -170,7 +172,6 @@ Helpery
   height: 1px;
 }
 
-
 .marginBottom3 {
   margin-bottom: 3em;
 }
@@ -236,16 +237,17 @@ p.submit {
 }
 
 .fontSmall {
-  font-size: .5em;
+  font-size: 0.5em;
   font-weight: normal;
 }
 
 small.fontSmall {
-  font-size: .6em;
+  font-size: 0.6em;
   font-weight: normal;
 }
 
-table.fontSmall td, table.fontSmall th {
+table.fontSmall td,
+table.fontSmall th {
   font-size: 1.4em;
   font-weight: normal;
 }
@@ -282,7 +284,6 @@ table.fontSmall td, table.fontSmall th {
   display: none;
 }
 
-
 // Nove helpery (verze 2012)
 // Presunout do noveho layoutu (if newlayout TODO)
 
@@ -298,7 +299,6 @@ table.fontSmall td, table.fontSmall th {
   display: block;
 }
 
-
 // Presunuto z new_layout.less
 // ---------------------------
 
@@ -323,7 +323,7 @@ table.fontSmall td, table.fontSmall th {
 
 .unveil {
   opacity: 0;
-  transition: opacity .5s ease-in;
+  transition: opacity 0.5s ease-in;
 }
 
 // Odkaz na vice informaci
@@ -380,7 +380,9 @@ table.fontSmall td, table.fontSmall th {
   display: block;
 }
 
-.more_photos a:hover, .more_photos a:focus, .more_photos a:active {
+.more_photos a:hover,
+.more_photos a:focus,
+.more_photos a:active {
   background-color: #eee;
   cursor: pointer;
 }
diff --git a/less/base/reset.less b/less/base/reset.less
index 188af52..d8a922b 100644
--- a/less/base/reset.less
+++ b/less/base/reset.less
@@ -6,15 +6,15 @@ Reset
 */
 
 body {
-  margin:0;
-  padding:0;
+  margin: 0;
+  padding: 0;
 }
 
-a img, img {
+a img,
+img {
   border: 0;
 }
 
-
 form {
   margin: 0;
   padding: 0;
diff --git a/less/base/typo.less b/less/base/typo.less
index efc7f93..fdccfcb 100644
--- a/less/base/typo.less
+++ b/less/base/typo.less
@@ -12,11 +12,20 @@ Typografie a linearni design
 // Typografie
 // ----------
 
-body, input, textarea, option, select {
-  font: @base-font-size/@base-line-height Arial, Helvetica, sans-serif;
+body,
+input,
+textarea,
+option,
+select {
+  font: @base-font-size / @base-line-height Arial, Helvetica, sans-serif;
 }
 
-h1,h2,h3,h4,h5,h6 {
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
   font-family: Arial, Helvetica, sans-serif;
 }
 
@@ -38,8 +47,11 @@ a {
 // Linearni design
 // ---------------
 
-
-p, ul, ol, table, blockquote {
+p,
+ul,
+ol,
+table,
+blockquote {
   padding: 0;
   margin: 0;
   margin-bottom: @base-line-height;
@@ -76,7 +88,7 @@ h2,
 
 h3,
 .h3 {
-	display: block;
+  display: block;
   font-size: 14px;
   line-height: 18px;
   margin: 0 0 4px 0;
@@ -87,7 +99,7 @@ h3,
 
 h4,
 .h4 {
-	display: block;
+  display: block;
   font-size: @base-font-size;
   line-height: @base-line-height;
   margin: 0;
@@ -96,12 +108,11 @@ h4,
   color: #666;
 }
 
-
 h2 small,
 h3 small {
   font-size: @base-font-size;
   line-height: @base-line-height;
-	color: #999;
+  color: #999;
 }
 
 big {
@@ -121,7 +132,7 @@ ul ul,
 ul ol,
 ol ol,
 ol ul {
-	margin-bottom: 0;
+  margin-bottom: 0;
 }
 
 ul {
@@ -134,7 +145,6 @@ ol li {
 }
 
 @media @large-start {
-
   h2 small.float_right {
     margin-top: 5px;
   }
diff --git a/less/components/inline-list.less b/less/components-new/inline-list.less
similarity index 95%
rename from less/components/inline-list.less
rename to less/components-new/inline-list.less
index 7d2e50e..82adf6c 100644
--- a/less/components/inline-list.less
+++ b/less/components-new/inline-list.less
@@ -6,6 +6,7 @@
 // - seznam polozek v bublinach - napr. staty
 
 .inline-list {
+
   margin-left: 23px;
   line-height: 36px;
   margin-bottom: 12px;
@@ -49,7 +50,9 @@
       // .inline-list--large-items .inline-list__item--three-stars { … }
     }
 
-    &--no-margin-bottom { margin-bottom: 0; }
+    &--no-margin-bottom {
+      margin-bottom: 0;
+    }
 
     &.active,
     &:hover,
diff --git a/less/components-new/list-item.less b/less/components-new/list-item.less
new file mode 100644
index 0000000..cd3a0ce
--- /dev/null
+++ b/less/components-new/list-item.less
@@ -0,0 +1,145 @@
+/* @define list-item; weak
+
+# Komponenta Velka polozka seznamu
+
+Napr. seznamy ubytovatelu, pobytu, last-minute atd.
+
+.list-item
+  __image
+    __image-img
+    __flags
+  __content
+    __heading
+    __perex
+    __price
+
+*/
+
+.list-item {
+  position: relative;
+  box-sizing: border-box;
+  padding: (@base-line-height / 2) 0;
+  border: 1px solid transparent;
+  color: #666; // TODO promenna
+
+  @media @large-start {
+    float: left;
+    width: ~"calc((100% - 42px) / 3)"; // TODO magic number
+    height: 352px; // TODO magic number
+    padding: @base-line-height (@base-line-height / 2) (@base-line-height / 2);
+    margin: 0 7px 0 7px; // TODO magic number
+  }
+
+  /* stylelint-disable  plugin/selector-bem-pattern */
+
+  // Ukazka kontextoveho pristupu,
+  // kdy muze byt v poradku porusit BEM syntaxi:
+
+  .cart & {
+    font-size: 11px; // TODO magic number
+  }
+
+  /* stylelint-enable  */
+}
+
+.list-item__image {
+  position: relative;
+  float: left;
+  width: 36%;
+  margin-right: 4%;
+
+  @media @large-start {
+    width: auto;
+    float: none;
+    height: 165px; // 4:3
+    overflow: hidden; // Obrazek nesmi pretekat
+    margin-bottom: 12px;
+    margin-right: 0;
+  }
+
+  @media @extra-large-start {
+    height: 215px; // 4:3
+  }
+
+  &-img {
+    max-width: 100%; // Prizpusobuje se vysce
+  }
+}
+
+// Textovy obsah
+
+.list-item__content {
+  float: left;
+  width: 60%;
+  padding: 0; // reset .content
+
+  @media @large-start {
+    float: none;
+    width: auto;
+  }
+}
+
+.list-item__perex {
+  margin-bottom: 0; // TODO zobecnit do utility = .mb-0
+}
+
+.list-item__heading {
+  font-size: 120%; // TODO promenna
+  margin-bottom: 0;
+}
+
+.list-item__price {
+  // TODO proc uvedene hodnoty?
+  @media @large-start {
+    position: absolute;
+    right: 3px;
+    top: 150px;
+  }
+
+  @media @extra-large-start {
+    top: 200px;
+  }
+}
+
+// Varianta bez spodniho ramecku
+// Napr. na homepages verze 2014
+
+.list-item--without-border {
+  border-bottom: 0;
+}
+
+// Varianta s rameckem
+
+.list-item--bordered {
+  border: 1px solid #ddd; // TODO promenna
+}
+
+// Aktivni stavy
+
+.list-item--active,
+.list-item:hover,
+.list-item:focus,
+.list-item:active {
+  background-color: #eee;  // TODO promenna
+  cursor: pointer;
+  color: #333;  // TODO promenna
+  border: 1px solid #ddd;  // TODO promenna
+
+  .list-item__heading-anchor {
+    color: darken(@color-alpha, 20%);
+    text-decoration: underline;
+  }
+
+  // Funkcnost s povolenym JS
+
+  /* stylelint-disable  plugin/selector-bem-pattern */
+
+  // Ukazka kontextoveho pristupu,
+  // kdy muze byt v poradku porusit BEM syntaxi:
+
+  .no-flexbox & {
+    background-color: #dedede;
+  }
+
+  /* stylelint-enable  */
+}
diff --git a/less/components/fancybox.less b/less/components/fancybox.less
index 581c353..cd747bc 100644
--- a/less/components/fancybox.less
+++ b/less/components/fancybox.less
@@ -8,7 +8,7 @@
 .fancybox:hover img,
 .fancybox:active img,
 .fancybox:focus img {
-  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
   filter: alpha(opacity=90);
-  opacity: .9;
+  opacity: 0.9;
 }
diff --git a/less/components/flag.less b/less/components/flag.less
index 5172be4..34355c4 100644
--- a/less/components/flag.less
+++ b/less/components/flag.less
@@ -27,7 +27,7 @@ a.flag:active {
 .mixin-flag-sm() {
   font-size: 9px;
   padding: 2px 3px;
-  letter-spacing: .02em;
+  letter-spacing: 0.02em;
 }
 
 .flag--sm {
@@ -45,8 +45,8 @@ a.flag:active {
 
 @media @large-start {
   .flag--lg {
-   font-size: @larger-font-size;
-   padding: @padding-lg-y @padding-lg-x;
+    font-size: @larger-font-size;
+    padding: @padding-lg-y @padding-lg-x;
   }
 }
 
@@ -56,45 +56,43 @@ a.flag:active {
 // "Oblibeny ubytovatel"
 
 .flag--bestseller {
-  background: fadeout(lighten(@color-alpha, 5%),9%);
+  background: fadeout(lighten(@color-alpha, 5%), 9%);
 }
 
 // "Skvele hodnoceni"
 
 .flag--ratings {
-  background: fadeout(lighten(@color-alpha, 5%),9%);
+  background: fadeout(lighten(@color-alpha, 5%), 9%);
 }
 
 // "Last Minute"
 
 .flag--lastminute {
-  background: #FF9900;
-  background: fadeout(#FF9900,9%);
+  background: #f90;
+  background: fadeout(#f90, 9%);
 }
 
 // "Horky tip"
 
 .flag--hottip {
-  background: #FFCC00;
-  background: fadeout(#FFCC00,9%);
+  background: #fc0;
+  background: fadeout(#fc0, 9%);
 }
 
 // "Novinka"
 
 .flag--new {
   background: lighten(@color-alpha, 15%);
-  background: fadeout(lighten(@color-alpha, 15%),9%);
+  background: fadeout(lighten(@color-alpha, 15%), 9%);
 }
 
 // "Sleva"
 
 .flag--discount {
-  background: #FF6600;
-  background: fadeout(#FF6600, 9%);
+  background: #f60;
+  background: fadeout(#f60, 9%);
 }
 
-
-
 // Pozicovani ikon, pokud jich je vice
 // -----------------------------------
 
@@ -103,7 +101,6 @@ a.flag:active {
 // * Zatim vzdy prekryvaji obrazek (.image_item v detailu a .list_item .image v seznamu)
 
 .flags {
-
   .flag {
     position: absolute;
     top: 2px;
@@ -114,13 +111,13 @@ a.flag:active {
   // * Zaroven je .flag--lg jen na velkych displejich.
 
   // Vyska .flag:
-  @flag-height: 2*@padding-y + @base-line-height + 2px;
+  @flag-height: 2 * @padding-y + @base-line-height + 2px;
 
   // Vyska .flag--lg:
-  @flag-large-height: 2*@padding-lg-y + @base-line-height + 2px;
+  @flag-large-height: 2 * @padding-lg-y + @base-line-height + 2px;
 
   // Vyska .flag--sm:
-  @flag-small-height: 2*@padding-sm-y + @base-line-height + 2px;
+  @flag-small-height: 2 * @padding-sm-y + @base-line-height + 2px;
 
   // TODO plus selektory kvuli podpore IE8
   // casem nahradit pomoci .flag:nth-child(2) atd.
@@ -144,57 +141,56 @@ a.flag:active {
   }
 
   .flag + .flag + .flag {
-    top: (2*@flag-height + 2px);
+    top: (2 * @flag-height + 2px);
 
     &.flag--lg {
       @media @large-start {
-        top: (2*@flag-large-height + 2px);
+        top: (2 * @flag-large-height + 2px);
       }
     }
 
     &.flag--sm {
-      top: (2*@flag-small-height + 2px);
+      top: (2 * @flag-small-height + 2px);
     }
 
     @media @media-for-smaller-flag {
-      top: (2*@flag-small-height + 2px);
+      top: (2 * @flag-small-height + 2px);
     }
   }
 
   .flag + .flag + .flag + .flag {
-    top: (3*@flag-height + 2px);
+    top: (3 * @flag-height + 2px);
 
     &.flag--lg {
       @media @large-start {
-        top: (3*@flag-large-height + 2px);
+        top: (3 * @flag-large-height + 2px);
       }
     }
 
     &.flag--sm {
-      top: (3*@flag-small-height + 2px);
+      top: (3 * @flag-small-height + 2px);
     }
 
     @media @media-for-smaller-flag {
-      top: (3*@flag-small-height + 2px);
+      top: (3 * @flag-small-height + 2px);
     }
   }
 
   .flag + .flag + .flag + .flag + .flag {
-    top: (4*@flag-height + 2px);
+    top: (4 * @flag-height + 2px);
 
     &.flag--lg {
       @media @large-start {
-        top: (4*@flag-large-height + 2px);
+        top: (4 * @flag-large-height + 2px);
       }
     }
 
     &.flag--sm {
-      top: (4*@flag-small-height + 2px);
+      top: (4 * @flag-small-height + 2px);
     }
 
     @media @media-for-smaller-flag {
-      top: (4*@flag-small-height + 2px);
+      top: (4 * @flag-small-height + 2px);
     }
   }
-
 } // .flags
diff --git a/less/components/foot.less b/less/components/foot.less
index dc7eeb6..240ae18 100644
--- a/less/components/foot.less
+++ b/less/components/foot.less
@@ -10,9 +10,9 @@ Foot - stara paticka
 
 #foot {
   background: @color-beta;
-  padding:.75em 30px;
-  color:#fff;
-  margin:0;
+  padding: 0.75em 30px;
+  color: #fff;
+  margin: 0;
   // Fix kvuli toplistu a spol napr pro velkymeder.cz/ubytovani/apartmany-kovacs/
   margin-bottom: -18px;
 
@@ -22,5 +22,5 @@ Foot - stara paticka
 }
 
 #foot a {
-  color:#fff;
+  color: #fff;
 }
diff --git a/less/components/form.less b/less/components/form.less
index 2084722..5b02be1 100644
--- a/less/components/form.less
+++ b/less/components/form.less
@@ -11,98 +11,105 @@ Formulare ze stareho old_layout.less
 // TODO uplne znova
 
 table.form {
-  width:100%;
+  width: 100%;
 }
 
-table.form th, table.form td {
-  padding:.45em .2em .45em 0;
-  vertical-align:top;
+table.form th,
+table.form td {
+  padding: 0.45em 0.2em 0.45em 0;
+  vertical-align: top;
 }
 
 table.form th {
-  text-align:left;
-  width:31%;
-  font-weight:normal;
+  text-align: left;
+  width: 31%;
+  font-weight: normal;
 }
 
 table.form td {
-  text-align:left;
-  width:69%;
+  text-align: left;
+  width: 69%;
 }
 
-table tr.rowOne td, table tr.rowOne th {
-  background:#efefef;
+table tr.rowOne td,
+table tr.rowOne th {
+  background: #efefef;
 }
 
-table tr.rowTwo td, table tr.rowTwo th {
-  background:#f8f8f8;
+table tr.rowTwo td,
+table tr.rowTwo th {
+  background: #f8f8f8;
 }
 
-table tr.rowThree td, table tr.rowThree th {
-  background:#dfdfdf;
+table tr.rowThree td,
+table tr.rowThree th {
+  background: #dfdfdf;
 }
 
 table tr.rowCena td {
-  background:#FDFECF;
-  font-weight:bold;
+  background: #fdfecf;
+  font-weight: bold;
 }
 
-table tr.error td, table tr.error th {
-  background:#FED0D0;
-  color:red;
+table tr.error td,
+table tr.error th {
+  background: #fed0d0;
+  color: red;
 }
 
 table.form small {
-  color:#666;
+  color: #666;
 }
 
-.sendOK, #contentBox p.sendOK {
-  border:2px solid #213630;
-  padding:.5em 8px;
-  margin:2.5em 0;
+.sendOK,
+#contentBox p.sendOK {
+  border: 2px solid #213630;
+  padding: 0.5em 8px;
+  margin: 2.5em 0;
 }
 
-.sendKO, #contentBox p.sendKO {
-  background:#FF0;
-  padding:1.5em 8px;
-  margin:2.5em 0;
+.sendKO,
+#contentBox p.sendKO {
+  background: #ff0;
+  padding: 1.5em 8px;
+  margin: 2.5em 0;
 }
 
-
 // Velikosti formularovych policek
 // -------------------------------
 
-input, textarea {
+input,
+textarea {
   //border: 1px solid;
   padding: 5px;
 }
 
 input.s {
-  width:4em;
+  width: 4em;
 }
 
 input.xs {
-  width:6em;
+  width: 6em;
 }
 
 input.l {
-  width:10em;
+  width: 10em;
 }
 
 input.m {
-  width:8em;
+  width: 8em;
 }
 
 input.xl {
-  width:15em;
+  width: 15em;
 }
 
 input.xxl {
-  width:20em;
+  width: 20em;
 }
 
 input.maxxxl {
-  width:445px;
+  width: 445px;
 }
 
 textarea {
@@ -111,20 +118,20 @@ textarea {
 }
 
 textarea.l {
-  width:95%;
-  height:5em;
+  width: 95%;
+  height: 5em;
 }
 
 textarea.xl {
-  height:5em;
+  height: 5em;
 }
 
 input.inputBigger {
-  font-size:1em;
-  font-weight:bold;
+  font-size: 1em;
+  font-weight: bold;
 }
 
 select.inputBigger {
-  font-size:1em;
-  font-weight:bold;
+  font-size: 1em;
+  font-weight: bold;
 }
diff --git a/less/components/freestyle_grid.less b/less/components/freestyle_grid.less
index e8b22d4..43ab32c 100644
--- a/less/components/freestyle_grid.less
+++ b/less/components/freestyle_grid.less
@@ -10,8 +10,8 @@ Třída `.fgrid`
 
 @import "../../../../../../bower_components/freestyle-grid/less/freestyle-grid.less";
 
-@fgrid-small-grid-start:      480px;
-@fgrid-large-grid-start:      @large-start-value;
+@fgrid-small-grid-start: 480px;
+@fgrid-large-grid-start: @large-start-value;
 
 // TODO kvuli specificnosti
 .fgrid {
diff --git a/less/components/list-item.less b/less/components/list-item.less
deleted file mode 100644
index fe1aad4..0000000
--- a/less/components/list-item.less
+++ /dev/null
@@ -1,120 +0,0 @@
-/* # Komponenta Velka polozka seznamu
-
-Napr. seznamy ubytovatelu, pobytu, last-minute atd.
-
-*/
-
-
-.list-item {
-  position: relative;
-  padding: 9px 0;
-  border: 1px solid transparent;
-  color: #66;
-
-  box-sizing: border-box;
-
-
-  @media @large-start {
-    float: left;
-    width:  ~"calc((100% - 42px) / 3)";   // 304
-    height: 352px;
-    padding: 18px 9px 9px;
-    margin: 0 7px 0 7px;
-  }
-}
-
-.list-item  .image {
-  position: relative;
-  float: left;
-  width: 36%;
-  margin-right: 4%;
-
-  @media @large-start {
-    width: auto;
-    float: none;
-    height: 165px; // 4:3
-    overflow: hidden;
-    margin-bottom: 12px;
-    margin-right: 0;
-  }
-
-  @media @extra-large-start {
-    height: 215px; // 4:3
-  }
-
-  img {
-    max-width: 100%;
-  }
-}
-
-
-
-// Textovy obsah
-
-.list-item .content {
-  float: left;
-  width: 60%;
-  padding: 0; // reset .content
-
-  @media @large-start {
-    float: none;
-    width: auto;
-  }
-
-  p {
-    margin-bottom: 0;
-  }
-
-  h2 {
-    font-size: 120%;
-    margin-bottom: 0;
-  }
-}
-
-.list-item .content .price {
-  @media @large-start {
-    position: absolute;
-    right: 3px;
-    top: 150px;
-  }
-
-  @media @extra-large-start {
-    top: 200px;
-  }
-}
-
-// Varianta bez spodniho ramecku
-// Napr. na homepages verze 2014
-
-.list-item.without_border {
-  border-bottom: 0;
-}
-
-.list-item.bordered {
-  border: 1px solid #ddd;
-}
-
-
-// Aktivni stavy
-.list-item.active,
-.list-item:hover,
-.list-item:focus,
-.list-item:active {
-  background-color: #eee;
-  cursor: pointer;
-  color: #333;
-  border: 1px solid #ddd;
-
-  h2 a {
-    color: darken(@color-alpha, 20%);
-    text-decoration: underline;
-  }
-
-  // Funkcnost s povolenym JS
-
-  .js & {
-    background-color: #dedede;
-  }
-}
-
-
diff --git a/less/components/page/about.less b/less/components/page/about.less
index 0cd776e..942d078 100644
--- a/less/components/page/about.less
+++ b/less/components/page/about.less
@@ -8,7 +8,7 @@
 // -----------------------------
 
 .about-perex {
-  text-shadow: 1px 1px 1px rgba(0,0,0,.3);
+  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
 
   @media only screen and (min-width: 360px) and (max-width: @small-end-value) {
     padding-left: 50px;
@@ -30,7 +30,7 @@
 .about-person-image img {
   border-radius: 50%;
   overflow: hidden;
-  max-width: (@column-width/2 - @gutter); // 145px
+  max-width: (@column-width / 2 - @gutter); // 145px
   display: block;
   margin: 0 auto;
 }
@@ -44,7 +44,7 @@
 .about-person-full-text,
 .about-person-full-contact {
   @media @large-start {
-    margin-top: @base-line-height/2;
+    margin-top: @base-line-height / 2;
   }
 }
 
@@ -56,13 +56,11 @@
   background-position: center center;
 
   @media @small-end {
-    background-image:
-      url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-small.jpg);
+    background-image: url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-small.jpg);
   }
 
   @media @large-start {
-    background-image:
-      url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-medium.jpg);
+    background-image: url(http://dovolena.ck-rekrea.cz/images/about/rekrea-katalogy-medium.jpg);
     // Na mobilech bud nefunguje (iOS)
     // nebo se trha (WinPhone).
     background-attachment: fixed;
@@ -71,7 +69,7 @@
 
 .about-history-perex {
   background: #fff;
-  background: rgba(255,255,255,.95);
+  background: rgba(255, 255, 255, 0.95);
   padding: 3em 2em 2em 2em;
   margin-top: 5em;
   margin-bottom: 5em;
@@ -101,11 +99,21 @@
   border-bottom: 2px solid #999;
 }
 
-.about-web-item-eslovensko { border-color: #0EB10E; }
-.about-web-item-velkymeder { border-color: #06F; }
-.about-web-item-tuzemskadovolena { border-color: #F60; }
-.about-web-item-epodhajska { border-color: #c00; }
-.about-web-item-besenova { border-color: #06F; }
+.about-web-item-eslovensko {
+  border-color: #0eb10e;
+}
+.about-web-item-velkymeder {
+  border-color: #06f;
+}
+.about-web-item-tuzemskadovolena {
+  border-color: #f60;
+}
+.about-web-item-epodhajska {
+  border-color: #c00;
+}
+.about-web-item-besenova {
+  border-color: #06f;
+}
 
 .about-web-etc {
   @media @large-start {
@@ -124,5 +132,3 @@
     padding-right: 300px;
   }
 }
-
-
diff --git a/less/components/page/slovnik.less b/less/components/page/slovnik.less
index ef64104..0f19a93 100644
--- a/less/components/page/slovnik.less
+++ b/less/components/page/slovnik.less
@@ -5,41 +5,38 @@
 */
 
 .slovnik-input {
-    text-align: center;
+  text-align: center;
 }
 
 .slovnik-radios {
-    text-align: center;
+  text-align: center;
 }
 
 .slovnik-message {
-    margin-top: 18px;
+  margin-top: 18px;
 }
 
-
 // --- Stranka ESK/Slovnik ---
 
 @media @large-start {
-
   .slovnik-input {
-      text-align: left;
-      width: 320px;
-      float: left;
+    text-align: left;
+    width: 320px;
+    float: left;
 
-      input[type="text"] {
-          width: 220px;
-      }
+    input[type="text"] {
+      width: 220px;
+    }
   }
 
   .slovnik-radios {
-      text-align: left;
-      width: 250px;
-      float: left;
-      margin-top: 5px;
+    text-align: left;
+    width: 250px;
+    float: left;
+    margin-top: 5px;
   }
 
   .slovnik-message {
-      margin-top: 36px;
+    margin-top: 36px;
   }
-
 } // @media @large-start
diff --git a/less/components/price-date.less b/less/components/price-date.less
index b0dd383..bf37a96 100644
--- a/less/components/price-date.less
+++ b/less/components/price-date.less
@@ -9,7 +9,6 @@ Ceny, datumy - velke "cenovky"
 // Dole pak velke displeje
 // TODO sjednotit? Jaky je vztah k .flag?
 
-
 // --- Modul Cena ---
 // Uziva se v polozce seznamu ubytovatelu, last minute, v malych nahledech last minute atd.
 // <p class="price"><strong>5 nocí od</strong> 2 690 Kč</p>
@@ -19,24 +18,24 @@ Ceny, datumy - velke "cenovky"
   width: auto;
   color: #444;
 
-    strong {
-      font-weight: normal;
-      color: #888;
-    }
+  strong {
+    font-weight: normal;
+    color: #888;
+  }
 }
 
 .price.price--big {
   background-color: #ddd;
   padding: 3px;
-    margin: 0 6px 18px 0;
+  margin: 0 6px 18px 0;
 }
 
-
 // --- Modul Boxik s terminy ---
 // Uziva se v detailu last minute, v seznamu LM nebo seznamu ubytovni
 // <p class="date"><strong>Termíny:</strong> 28. 10. 2012 - 16. 11. 2012</p>
 
-.date { }
+.date {
+}
 
 // Varianta: Velky boxik pro detail last minute
 .date.date--big {
@@ -45,15 +44,14 @@ Ceny, datumy - velke "cenovky"
   color: #444;
   background-color: #ddd;
   padding: 3px;
-    margin: 0 6px 18px 0;
+  margin: 0 6px 18px 0;
 
-    strong {
-      font-weight: normal;
-      color: #888;
-    }
+  strong {
+    font-weight: normal;
+    color: #888;
+  }
 }
 
-
 // --- Modul univerzalni velke navesti ---
 // Uziva se v detailu last minute, pobytu, nebo v seznamech
 // <p class="big_label">Polopenze</p>
@@ -65,21 +63,18 @@ Ceny, datumy - velke "cenovky"
   color: #444;
   background-color: #ddd;
   padding: 3px;
-    margin: 0 6px 18px 0;
+  margin: 0 6px 18px 0;
 
-    strong {
-      font-weight: normal;
-      color: #888;
-    }
+  strong {
+    font-weight: normal;
+    color: #888;
+  }
 }
 
-
 // Velke displeje
 // --------------
 
 @media @large-start {
-
-
   // --- Modul Cena ---
 
   .price.price--big {
@@ -100,6 +95,4 @@ Ceny, datumy - velke "cenovky"
     font-size: 16px;
     padding: 7px;
   }
-
-
 } // @large-start
diff --git a/less/components/sister-websites.less b/less/components/sister-websites.less
index d3ed69c..4e7f738 100644
--- a/less/components/sister-websites.less
+++ b/less/components/sister-websites.less
@@ -1,13 +1,12 @@
 /* === Sesterske weby v zahlavi === */
 
-#sisterWebsites
-{
-  background-color:#efefef;
-  font-family:Verdana, sans-serif;
-  font-size:9px;
-  line-height:16px;
-  height:22px;
-  margin:0;
+#sisterWebsites {
+  background-color: #efefef;
+  font-family: Verdana, sans-serif;
+  font-size: 9px;
+  line-height: 16px;
+  height: 22px;
+  margin: 0;
 
   // Na malych displejich a v tisku nezobrazujeme
   @media @small-end, print {
@@ -23,13 +22,14 @@
   }
 }
 
-.container #sisterWebsites a, #sisterWebsites strong {
-  display:block;
+.container #sisterWebsites a,
+#sisterWebsites strong {
+  display: block;
   width: 20%;
-  float:left;
-  text-align:center;
-  padding:3px 0;
-  color:#ccc;
+  float: left;
+  text-align: center;
+  padding: 3px 0;
+  color: #ccc;
 
   @media @extra-large-start {
     width: 10%;
@@ -41,16 +41,14 @@
 }
 
 .container #sisterWebsites a:hover,
-.container #sisterWebsites a:focus
-{
-  text-decoration:none;
-  background-color:#e8e8e8;
-  color:#bbb;
+.container #sisterWebsites a:focus {
+  text-decoration: none;
+  background-color: #e8e8e8;
+  color: #bbb;
 }
 
-#sisterWebsites strong
-{
-  background:#fff;
-  color:#bbb;
-  font-weight:normal;
+#sisterWebsites strong {
+  background: #fff;
+  color: #bbb;
+  font-weight: normal;
 }
diff --git a/less/components/site_logo.less b/less/components/site_logo.less
index 2a522d4..5d9e3c9 100644
--- a/less/components/site_logo.less
+++ b/less/components/site_logo.less
@@ -5,29 +5,26 @@ Na velkých displejích nalevo, na malých veprostřed nahoře.
 */
 
 .site-logo {
-	padding: @base-line-height 0;
+  padding: @base-line-height 0;
   margin: 0;
-	width: auto;
-	text-align: center;
-	font-size: 24px;
-	font-weight: bold;
-	color: @color-gamma;	
+  width: auto;
+  text-align: center;
+  font-size: 24px;
+  font-weight: bold;
+  color: @color-gamma;
 }
 
-
 @media @large-start {
-	.site-logo {
-		float: left;
-		margin-left: 30px;
-		text-align: left;
-		width: 300px;
-		margin-top: 12px;
-		margin-bottom: 12px;
-	}
+  .site-logo {
+    float: left;
+    margin-left: 30px;
+    text-align: left;
+    width: 300px;
+    margin-top: 12px;
+    margin-bottom: 12px;
+  }
 
   .site-logo a:hover {
     text-decoration: none;
   }
 }
-
-
diff --git a/less/components/site_nav.less b/less/components/site_nav.less
index cff76b0..0d7e766 100644
--- a/less/components/site_nav.less
+++ b/less/components/site_nav.less
@@ -51,13 +51,13 @@ Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
 // - s timto v prohlizeci kompiluju 10s, bez toho 3s :-( --> vzit jen jako CSS?
 @import "../lib/pine/pine.less";
 
-@p-base-font-size				  				: @base-font-size;
-@p-color                          : white;
-@p-background                     : @color-beta;
-@p-active-background              : @color-gamma;
-@p-hover-background               : @color-gamma;
-@p-small-screen-top               : 146px;
-@p-large-display-start						: @large-start-value;
+@p-base-font-size : @base-font-size;
+@p-color : white;
+@p-background : @color-beta;
+@p-active-background : @color-gamma;
+@p-hover-background : @color-gamma;
+@p-small-screen-top : 146px;
+@p-large-display-start : @large-start-value;
 
 // Fix spatneho vyhlazovani caretu na FF
 .pine-has-subnav > a:before {
@@ -70,16 +70,16 @@ Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
 // - .container mess
 
 .site-nav {
-	clear: both;
-	background: @color-beta;
+  clear: both;
+  background: @color-beta;
   border-bottom: @color-gamma 10px solid;
-	border-top: @color-delta 10px solid;
+  border-top: @color-delta 10px solid;
 
-	@media @large-start {
-		padding-left: 15px;
-		padding-right: 15px;
+  @media @large-start {
+    padding-left: 15px;
+    padding-right: 15px;
     height: 41px;
-	}
+  }
 
   @media print {
     display: none;
@@ -90,9 +90,9 @@ Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
   margin: 0;
   padding: 0;
 
-    @media @large-start {
-      display: flex;
-    }
+  @media @large-start {
+    display: flex;
+  }
 }
 
 .site-nav__main .pine-level-1 > li {
@@ -103,7 +103,7 @@ Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
 }
 
 .site-nav li {
-	list-style-type: none;
+  list-style-type: none;
 }
 
 //  Layout: Všechny tři subnavigace  jsou na malých displejích vedle sebe
@@ -166,7 +166,7 @@ Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
 
 // Položka navigace obecně
 .container .site-nav a {
-  box-sizing:border-box;
+  box-sizing: border-box;
   display: block;
   padding: 12px 12px 11px;
   color: #fff;
@@ -189,20 +189,18 @@ Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
 
 // Stylování od 2. úrovně dál
 .container .pine-level-2 a {
-  padding: @base-font-size*.75 15px (@base-font-size*.75 + 1px);
+  padding: @base-font-size*0.75 15px (@base-font-size*0.75 + 1px);
 }
 
-
 // ## Velké displeje
 
 @media @large-start {
-
-	// Položky navigací jsou na velkých vedle sebe
-	.pine-level-1 > li {
-		display: inline-block;
-		position: relative;
-		float: left;
-	}
+  // Položky navigací jsou na velkých vedle sebe
+  .pine-level-1 > li {
+    display: inline-block;
+    position: relative;
+    float: left;
+  }
 
   // Položka navigace se subnavigací
   // Zobáček jinak než výchozí v Pine.js
@@ -213,8 +211,7 @@ Na velkých displejích vedle sebe, na malých většina schovaná do ikonek.
       top: 19px;
       right: 50%;
       margin-right: -27px;
-      border-top-color: rgba(255, 255, 255, .5)
+      border-top-color: rgba(255, 255, 255, 0.5);
     }
   }
-
 }
diff --git a/less/components/text.less b/less/components/text.less
index eb51247..6792c06 100644
--- a/less/components/text.less
+++ b/less/components/text.less
@@ -42,31 +42,31 @@ http://stackoverflow.com/questions/710158/why-do-my-list-item-bullets-overlap-fl
 */
 
 .text_larger {
-	font-size: @larger-font-size;
-	line-height: @larger-line-height;
+  font-size: @larger-font-size;
+  line-height: @larger-line-height;
 
-	// .text ma inline-block, protoze se zobrazuje i uvnitr komponent
-	// v tehle variante to ovsem kvuli obtekani musime zrusit
-	&.text {
-		display: block;
-	}
+  // .text ma inline-block, protoze se zobrazuje i uvnitr komponent
+  // v tehle variante to ovsem kvuli obtekani musime zrusit
+  &.text {
+    display: block;
+  }
 
-	// Kvuli obtekani .images_column:
+  // Kvuli obtekani .images_column:
 
-	ul {
-		list-style-position: inside; // IE10 nezvlada outside pri obtekani floatu
-	}
+  ul {
+    list-style-position: inside; // IE10 nezvlada outside pri obtekani floatu
+  }
 
-	ul li,
-	ol li {
-	  position: relative;
+  ul li,
+  ol li {
+    position: relative;
   }
 
-	ul ul li,
-	ol ul li,
-	ol ol li,
-	ul ol li {
-	  left: 18px;
+  ul ul li,
+  ol ul li,
+  ol ol li,
+  ul ol li {
+    left: 18px;
   }
 }
 
@@ -86,4 +86,3 @@ Například text v detailu kapacity.
 </div>
 ```
 */
-
diff --git a/less/index.less b/less/index.less
index 96824bd..2f8a75b 100644
--- a/less/index.less
+++ b/less/index.less
@@ -1,34 +1,45 @@
-
 // Promenne
 @import "variables/variables";
 
 // Knihovny a styly pro externi kod
 @import "lib/mixins";
-@import "lib/fancygallery";
+
 
 // Zakladna
 @import "base/reset";
 @import "base/body";
 @import "base/typo";
-@import "base/helpers";
+
 
 // Layout
 @import "layout/container";
 @import "layout/layout";
 
+// Unikatni moduly - strankove
+@import "components/page/about";
+
+
 // Moduly
 @import "components/content_head";
 @import "components/fancybox";
 @import "components/flag";
 @import "components/foot";
-@import "components/inline-list";
-@import "components/list-item";
 @import "components/price-date";
 @import "components/site_logo";
 @import "components/site_nav";
 
-// Unikatni moduly - strankove
-@import "components/page/about";
+// Zrefaktorovane komponenty
+@import "components-new/inline-list";
+@import "components-new/list-item";
+
+// Kod treti strany
+.fancygallery {
+  // Libraries
+  @import "lib/fancygallery";
+}
 
 // Tmave tema
 @import "themes/dark";
+
+// Helpery
+@import "base/helpers";
diff --git a/less/layout/container.less b/less/layout/container.less
index 8b946fd..0b385a3 100644
--- a/less/layout/container.less
+++ b/less/layout/container.less
@@ -10,5 +10,5 @@ Kontejner layoutu
   margin: 0 auto;
   margin-bottom: 15px;
   position: relative;
-  box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.1);
+  box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
 }
diff --git a/less/layout/layout.less b/less/layout/layout.less
index 80bb0ea..00e4ded 100644
--- a/less/layout/layout.less
+++ b/less/layout/layout.less
@@ -80,7 +80,6 @@ Nová (od 12/2015)
   .show_grid .container {
     background-position: -20px 0;
   }
-
 }
 
 /* --- Telo dokumentu - hlavni informace, jez se budou prenaset do Fancyboxu --- */
@@ -95,14 +94,13 @@ Nová (od 12/2015)
   color: #999;
 }
 
-
 /*
 ## Řádka layoutu je `.row`
 */
 
 .row {
-	margin-bottom: @base-line-height;
-	.clearfix();
+  margin-bottom: @base-line-height;
+  .clearfix();
 }
 
 /*
@@ -156,7 +154,7 @@ v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
 .half_column {
   @media @large-start {
     float: left;
-    width: (@column-width/2 - @gutter); // 145px
+    width: (@column-width / 2 - @gutter); // 145px
     margin-right: @gutter;
   }
 }
@@ -166,30 +164,29 @@ v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
 }
 
 @media @large-start {
+  .content.without_top_pad {
+    padding-top: 0;
+    margin-top: -1px;
+  }
 
-	.content.without_top_pad {
-		padding-top: 0;
-		margin-top: -1px;
-	}
-
-	// Radka layoutu
-	.row {
-		margin-bottom: 36px;
-	}
-
-	// Centrovany sloupec
-	.column,
-	.half_column,
-	.double_column {
-		&.centered {
-			margin-left: auto;
-			margin-right: auto;
-			float: none;
-		}
-	}
-
-	// Offsety
-	.offset_half {
+  // Radka layoutu
+  .row {
+    margin-bottom: 36px;
+  }
+
+  // Centrovany sloupec
+  .column,
+  .half_column,
+  .double_column {
+    &.centered {
+      margin-left: auto;
+      margin-right: auto;
+      float: none;
+    }
+  }
+
+  // Offsety
+  .offset_half {
     margin-left: 145px+14px;
   }
 
@@ -197,10 +194,9 @@ v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
     margin-left: 304px+14px;
   }
 
-	.double_column.with_text img {
-		max-width: 100%;
-	}
-
+  .double_column.with_text img {
+    max-width: 100%;
+  }
 }
 
 /* ================================================================================
@@ -214,24 +210,23 @@ v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
 
 */
 @media @small-end {
+  /* Nezobrazujeme cely Likebox, jen maly buttonek */
+  #facebookLikeBox {
+    display: none;
+  }
+  #facebookButton {
+    display: block;
+    text-align: center;
+  }
 
-    /* Nezobrazujeme cely Likebox, jen maly buttonek */
-    #facebookLikeBox
-      { display: none; }
-    #facebookButton
-      { display: block; text-align: center; }
-
-    /* --- Layout uvnitr stranky --- */
-    .column,
-    .double_column {
-      margin-right: 0;
-      width: auto;
-    }
-
+  /* --- Layout uvnitr stranky --- */
+  .column,
+  .double_column {
+    margin-right: 0;
+    width: auto;
+  }
 } /* @media screen and (max-width: 640px) */
 
-
-
 // Varianta .column - sloupec jako polozka rozcestniku (napr. e-slovensko.cz/atrakce/)
 // ------------------------------------------------------------------------------------
 
@@ -277,7 +272,6 @@ v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
   overflow: hidden;
 }
 
-
 .column.as_list_item .text h2 {
   margin-bottom: 0;
 }
@@ -290,7 +284,6 @@ v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
   padding-top: 8px;
 }
 
-
 .column.as_list_item .text a {
   color: #fff;
   text-decoration: underline;
@@ -300,4 +293,3 @@ v .list_item neco podobneho) =jeden sloupec: 304x171 (?? TODO)
   margin-bottom: 4px;
   margin-top: 0;
 }
-
diff --git a/less/lib/fancygallery.less b/less/lib/fancygallery.less
index b5d05ee..a4d3e52 100644
--- a/less/lib/fancygallery.less
+++ b/less/lib/fancygallery.less
@@ -49,7 +49,7 @@
 
 /* Do not show scrollbars when FB is open */
 body.fancybox-active {
-   overflow: hidden;
+  overflow: hidden;
 }
 
 #fancybox-loading {
@@ -108,7 +108,7 @@ body.fancybox-active {
   position: relative;
   width: 100%;
   height: 100%;
-  background: #FFF;
+  background: #fff;
 }
 
 #fancybox-inner {
@@ -202,12 +202,12 @@ body.fancybox-active {
 
 .fancybox-title-outside {
   padding-top: 5px;
-  color: #FFF;
+  color: #fff;
   text-align: center;
 }
 
 .fancybox-title-over {
-  color: #FFF;
+  color: #fff;
   text-align: left;
 }
 
@@ -249,7 +249,7 @@ body.fancybox-active {
 #fancybox-left,
 #fancybox-right {
   position: fixed;
-  bottom: 0px;
+  bottom: 0;
   height: 100%;
   width: 35%;
   cursor: pointer;
@@ -260,11 +260,11 @@ body.fancybox-active {
 }
 
 #fancybox-left {
-  left: 0px;
+  left: 0;
 }
 
 #fancybox-right {
-  right: 0px;
+  right: 0;
 }
 
 #fancybox-left-ico,
@@ -282,13 +282,13 @@ body.fancybox-active {
 
 #fancybox-left-ico {
   background-image: url('../../images/fancygallery/fancy_nav_left.png');
-  left: 0px;
+  left: 0;
 }
 
 #fancybox-right-ico {
   background-image: url('../../images/fancygallery/fancy_nav_right.png');
   left: auto;
-  right: 0px;
+  right: 0;
 }
 
 #fancybox-left:hover #fancybox-left-ico,
@@ -297,7 +297,7 @@ body.fancybox-active {
 #fancybox-right:hover #fancybox-right-ico,
 #fancybox-right:focus #fancybox-right-ico,
 #fancybox-right:active #fancybox-right-ico {
- background-position: 0 -77px;
+  background-position: 0 -77px;
 }
 
 /* Shadows are off */
@@ -319,34 +319,35 @@ body.fancybox-active {
  * and has the classname "jcarousel-container".
  */
 .jcarousel-container {
-    position: relative;
+  position: relative;
 }
 
 .jcarousel-clip {
-    z-index: 2;
-    padding: 0;
-    margin: 0;
-    overflow: hidden;
-    position: relative;
+  z-index: 2;
+  padding: 0;
+  margin: 0;
+  overflow: hidden;
+  position: relative;
 }
 
 .jcarousel-list {
-    z-index: 1;
-    overflow: hidden;
-    position: relative;
-    top: 0;
-    left: 0;
-    margin: 0;
-    padding: 0;
+  z-index: 1;
+  overflow: hidden;
+  position: relative;
+  top: 0;
+  left: 0;
+  margin: 0;
+  padding: 0;
 }
 
 .jcarousel-list li,
 .jcarousel-item {
-    float: left;
-    list-style: none;
-    /* We set the width/height explicitly. No width/height causes infinite loops. */
-    width: 75px;
-    height: 75px;
+  float: left;
+  list-style: none;
+
+  /* We set the width/height explicitly. No width/height causes infinite loops. */
+  width: 75px;
+  height: 75px;
 }
 
 /**
@@ -355,13 +356,13 @@ body.fancybox-active {
  * have the classnames "jcarousel-next" and "jcarousel-prev".
  */
 .jcarousel-next {
-    z-index: 3;
-    display: none;
+  z-index: 3;
+  display: none;
 }
 
 .jcarousel-prev {
-    z-index: 3;
-    display: none;
+  z-index: 3;
+  display: none;
 }
 
 
@@ -392,85 +393,85 @@ Author:        Martin Michalek, Studio Shortcat, michalek@shortcat.cz
 }
 
 .jcarousel-skin-shortcat .jcarousel-clip-horizontal {
-    height: 40px;
-    width: auto;
+  height: 40px;
+  width: auto;
 }
 
 .jcarousel-skin-shortcat .jcarousel-item,
 .jcarousel-skin-shortcat .jcarousel-item img  {
-    width: 40px;
-    height: 40px;
+  width: 40px;
+  height: 40px;
 }
 
 .jcarousel-skin-shortcat .jcarousel-item img  {
-    opacity: .5;
-    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
-    filter: alpha(opacity=50);
+  opacity: 0.5;
+  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+  filter: alpha(opacity=50);
 }
 
 .jcarousel-skin-shortcat .jcarousel-item.active img,
 .jcarousel-skin-shortcat .jcarousel-item:hover img {
-    opacity: 1;
-    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-    filter: alpha(opacity=100);
+  opacity: 1;
+  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+  filter: alpha(opacity=100);
 }
 
 .jcarousel-skin-shortcat .jcarousel-item-horizontal {
-    margin-right: 3px;
+  margin-right: 3px;
 }
 
 .jcarousel-skin-shortcat .jcarousel-item-placeholder {
-    background: #fff;
-    color: #000;
+  background: #fff;
+  color: #000;
 }
 
 /**
  *  Horizontal Buttons
  */
 .jcarousel-skin-shortcat .jcarousel-next-horizontal {
-    position: absolute;
-    top: 0px;
-    right: 10px;
-    width: 33px;
-    height: 40px;
-    cursor: pointer;
-    background: transparent url(../../images/fancygallery/fancygallery_next.gif) no-repeat top right;
+  position: absolute;
+  top: 0;
+  right: 10px;
+  width: 33px;
+  height: 40px;
+  cursor: pointer;
+  background: transparent url(../../images/fancygallery/fancygallery_next.gif) no-repeat top right;
 }
 
 .jcarousel-skin-shortcat .jcarousel-next-horizontal:hover,
 .jcarousel-skin-shortcat .jcarousel-next-horizontal.hover,
 .jcarousel-skin-shortcat .jcarousel-next-horizontal:active {
-    background-position: top right;
+  background-position: top right;
 }
 
 .jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal,
 .jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal:hover,
 .jcarousel-skin-shortcat .jcarousel-next-disabled-horizontal:active {
-    cursor: default;
-    background-image: none;
+  cursor: default;
+  background-image: none;
 }
 
 .jcarousel-skin-shortcat .jcarousel-prev-horizontal {
-    position: absolute;
-    top: 0px;
-    left: 10px;
-    width: 33px;
-    height: 40px;
-    cursor: pointer;
-    background: transparent url(../../images/fancygallery/fancygallery_prev.gif) no-repeat 0 0;
+  position: absolute;
+  top: 0;
+  left: 10px;
+  width: 33px;
+  height: 40px;
+  cursor: pointer;
+  background: transparent url(../../images/fancygallery/fancygallery_prev.gif) no-repeat 0 0;
 }
 
 .jcarousel-skin-shortcat .jcarousel-prev-horizontal:hover,
 .jcarousel-skin-shortcat .jcarousel-prev-horizontal.hover,
 .jcarousel-skin-shortcat .jcarousel-prev-horizontal:active {
-    background-position: 0 0;
+  background-position: 0 0;
 }
 
 .jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal,
 .jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal:hover,
 .jcarousel-skin-shortcat .jcarousel-prev-disabled-horizontal:active {
-    cursor: default;
-    background-image: none;
+  cursor: default;
+  background-image: none;
 }
 
 
@@ -487,7 +488,7 @@ Author:        Martin Michalek, Studio Shortcat, michalek@shortcat.cz
   position: fixed;
   z-index: 1108;
   bottom: 20px;
-  left: 0px;
+  left: 0;
   width: 100%;
   height: 40px;
 }
diff --git a/less/lib/mixins.less b/less/lib/mixins.less
index af3129d..d50870f 100644
--- a/less/lib/mixins.less
+++ b/less/lib/mixins.less
@@ -38,7 +38,7 @@
 // mean that space between those elements will be .6em (~2 space characters) in IE7,
 // instead of the 1 space in other browsers.
 .ie7-restore-left-whitespace() {
-  *margin-left: .3em;
+  *margin-left: 0.3em;
 
   &:first-child {
     *margin-left: 0;
@@ -46,7 +46,7 @@
 }
 
 .ie7-restore-right-whitespace() {
-  *margin-right: .3em;
+  *margin-right: 0.3em;
 }
 
 // Sizing shortcuts
diff --git a/less/themes/dark.less b/less/themes/dark.less
index a5b3aa9..9bfe163 100644
--- a/less/themes/dark.less
+++ b/less/themes/dark.less
@@ -11,15 +11,16 @@ dark.html
 .theme-dark {
   color: white !important;
 
-  h1, h2, h3 {
+  h1,
+  h2,
+  h3 {
     color: white !important;
   }
 }
 
-
 // List Item
 
-.theme-dark  {
+.theme-dark {
   .list-item.active,
   .list-item:hover,
   .list-item:focus,
@@ -40,5 +41,3 @@ dark.html
     }
   }
 }
-
-
diff --git a/less/variables/variables.less b/less/variables/variables.less
index 6a9b82c..a07680d 100644
--- a/less/variables/variables.less
+++ b/less/variables/variables.less
@@ -1,13 +1,12 @@
-
 // Pismo
 // -----
 
-@base-font-size: 		   12px;
-@base-line-height: 		 18px;
-@smaller-font-size: 	 11px;
-@smaller-line-height:  13px;
-@larger-font-size: 		 14px;
-@larger-line-height: 	 20px;
+@base-font-size: 12px;
+@base-line-height: 18px;
+@smaller-font-size: 11px;
+@smaller-line-height: 13px;
+@larger-font-size: 14px;
+@larger-line-height: 20px;
 
 // Barvy
 // -----
@@ -16,9 +15,9 @@
 //- Zde jen pro ESK, pridat vychozi sedive schema
 //- Proc anchor a jeste color-alpha?
 
-@anchor-color: 	#0EB10E;
-@active-color: 	darken(@anchor-color, 20%);
-@text-color: 	#000;
+@anchor-color: #0eb10e;
+@active-color: darken(@anchor-color, 20%);
+@text-color: #000;
 
 // Svetla barva pro pozadi prvku
 // Smichana hlavni barva se svetle sedivou.
@@ -31,14 +30,13 @@
 @color-dark-plus: mix(darken(@color-alpha, 20%), #666, 30%);
 
 // Odkazy v textu
-@color-alpha: #0EB10E;
+@color-alpha: #0eb10e;
 // Pozadí navigace a paticky
-@color-beta: #024E40;
+@color-beta: #024e40;
 // Proužek pod navigací
-@color-gamma: #9BD04E;
+@color-gamma: #9bd04e;
 // Proužek nad navigací
-@color-delta: #E0E9E8;
-
+@color-delta: #e0e9e8;
 
 // Layout
 // ------
@@ -46,23 +44,21 @@
 @gutter: 14px;
 @column-width: 304px;
 
-
 // Breakpointy
 // -----------
 
 // Hodnoty
-@large-start-value:         768px;
-@extra-large-start-value:   1180px;
+@large-start-value: 768px;
+@extra-large-start-value: 1180px;
 
 // Odvozene hodnoty
-@small-end-value:     (@large-start-value - 1);
+@small-end-value: (@large-start-value - 1);
 
 // Media Queries
 // (Pouzivame napr. jako @media @medium-start { … }
-@small-end:           ~"only screen and (max-width: @{small-end-value})";
-@large-start:         ~"only screen and (min-width: @{large-start-value})";
-@extra-large-start:   ~"only screen and (min-width: @{extra-large-start-value})";
-
+@small-end: ~"only screen and (max-width: @{small-end-value})";
+@large-start: ~"only screen and (min-width: @{large-start-value})";
+@extra-large-start: ~"only screen and (min-width: @{extra-large-start-value})";
 
 // Padding
 // -------