/**
 * Vendor
 */
/**
 * Variables
 */
/*******************************************************************************************************************************
 * URL's
 ***/
/*******************************************************************************************************************************
 * Text
 ***/
/* Font family */
/* Font weights and styles */
/* Font sizes */
/* Line height */
/* List margins */
/*******************************************************************************************************************************
 * Colors
 ***/
/* Font colors */
/* Background colors */
/* Social media colors */
/* Specific element colors */
/*******************************************************************************************************************************
 * Layout dimensions
 ***/
/* Header height */
/* Page element widths */
/* Gutter size between gallery browse images */
/**
 * Layout
 */
/**
 * HTML 5 reset
 */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
em,
img,
small,
strong,
sub,
sup,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
main,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
}
/**
 * Font definitions
 */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), url('../assets/fonts/OpenSans-Light.ttf') format('ttf');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Open Sans Light Italic'), url('../assets/fonts/OpenSans-LightItalic.ttf') format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), url('../assets/fonts/OpenSans.ttf') format('ttf');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local('Open Sans Italic'), url('../assets/fonts/OpenSans-Italic.ttf') format('woff');
}
/**
 * Fontello icon font
 */
@font-face {
  font-family: 'Fontello';
  src: url('../assets/fonts/fontello.eot?16648583');
  src: url('../assets/fonts/fontello.eot?16648583#iefix') format('embedded-opentype'), url('../assets/fonts/fontello.woff?16648583') format('woff'), url('../assets/fonts/fontello.ttf?16648583') format('truetype'), url('../assets/fonts/fontello.svg?16648583#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: 'fontello';
    src: url('../assets/fonts/fontello.svg?16648583#fontello') format('svg');
  }
}
/* Class definition */
[class^="icon-"]:before,
[class*=" icon-"]:before,
.with-icon {
  font-family: "Fontello";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-align: center;
  text-transform: none;
  text-decoration: none;
  speak: none;
  display: inline-block;
  margin-right: .2rem;
  font-size: 110%;
}
[class^="icon-"]:empty:before,
[class*=" icon-"]:empty:before {
  margin: 0 !important;
  width: auto;
}
.with-icon {
  margin: 0;
}
/* Icons */
.icon-spin:before {
  content: '\e800';
}
/* '' */
.icon-cancel:before {
  content: '\e801';
}
/* '' */
.icon-star:before {
  content: '\e802';
}
/* '' */
.icon-menu:before {
  content: '\e803';
}
/* '' */
.icon-share:before {
  content: '\e804';
}
/* '' */
.icon-gplus:before {
  content: '\e805';
}
/* '' */
.icon-twitter:before {
  content: '\e806';
}
/* '' */
.icon-cart:before {
  content: '\e807';
}
/* '' */
.icon-left:before {
  content: '\e808';
}
/* '' */
.icon-pinterest:before {
  content: '\e809';
}
/* '' */
.icon-camera:before {
  content: '\e80a';
}
/* '' */
.icon-thumbs:before {
  content: '\e80b';
}
/* '' */
.icon-comments:before {
  content: '\e80c';
}
/* '' */
.icon-link:before {
  content: '\e80d';
}
/* '' */
.icon-play:before {
  content: '\e80e';
}
/* '' */
.icon-stop:before {
  content: '\e80f';
}
/* '' */
.icon-quote:before {
  content: '\e810';
}
/* '' */
.icon-comment:before {
  content: '\e811';
}
/* '' */
.icon-facebook:before {
  content: '\e814';
}
/* '' */
.icon-linkedin:before {
  content: '\e815';
}
/* '' */
.icon-fullscreen:before {
  content: '\e816';
}
/* '' */
.icon-home:before {
  content: '\e817';
}
/* '' */
.icon-picture:before {
  content: '\e818';
}
/* '' */
.icon-right:before {
  content: '\e819';
}
/* '' */
/* Spinning animation */
.spinning::before {
  -webkit-animation: spin 1.5s infinite linear;
  -moz-animation: spin 1.5s infinite linear;
  animation: spin 1.5s infinite linear;
  /* Animation center compensation - margins should be symmetric */
  margin-left: .2rem;
}
/* Spin keyframes */
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
  }
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(359deg);
  }
}
@-ms-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
/**
 * Fade in
 */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/**
 * Fade out
 */
@-webkit-keyframes fadeOut {
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  to {
    opacity: 0;
  }
}
html {
  overflow: hidden;
  font-size: 100%;
}
html,
body {
  height: 100%;
  width: 100%;
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: #333333;
  background: #ffffff;
  /* Mac font fix */
  -webkit-font-smoothing: subpixel-antialiased;
  /* Windows font fix */
  /*.text-shadow(0 0 1px rgba(0,0,0,.15));*/
}
/* Headers */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 300;
}
h1,
h2 {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}
h3 {
  color: #c1c1c1;
  letter-spacing: 2px;
  font-size: 0.8rem;
}
/* Text paragraphs */
p {
  font-size: 0.9rem;
  line-height: 1.5rem;
  margin-bottom: 1.5rem;
  text-align: justify;
}
/* Links */
a {
  color: #5692c6;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:hover,
a:active {
  outline: none;
}
/* Lists */
ul,
ol {
  margin-left: 1.75rem;
  line-height: 1.5rem;
  margin-bottom: 1.5rem;
}
ul li {
  list-style-type: square;
}
/* Images */
img {
  max-width: 100%;
}
/* Horizontal ruler */
hr {
  height: 0;
  border: 0;
  margin: 0;
  border-bottom: 1px solid #c1c1c1;
}
/***********************************************************************************************
 * Common classes
 ***/
/* Core */
.left {
  float: left;
}
.right {
  float: right;
}
.clear:after {
  content: "";
  display: table;
  clear: both;
}
/* Font styles */
b,
strong,
.bold {
  font-weight: 400;
}
i,
em,
.italic {
  font-style: italic;
}
/***********************************************************************************************
 * Main elements
 ***/
/* Headers */
header {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 5rem;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
header.is-scrolling {
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
}
.site-header,
.gallery-header {
  z-index: 11;
  position: absolute;
  width: 100%;
  height: 100%;
  background: #ffffff;
}
.gallery-header {
  background: #f6f6f6;
}
.site-header {
  z-index: 12;
  -webkit-transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  -ms-transition: all 0.5s linear;
  transition: all 0.5s linear;
}
.site-header.up-add,
.site-header.up-remove.up-remove-active {
  top: 0;
}
.site-header.up,
.site-header.up-remove,
.site-header.up-add.up-add-active {
  top: -5rem;
}
/* Banner */
hgroup {
  cursor: pointer;
  padding: 1rem;
  display: block;
  float: left;
  font-size: 1.7rem;
  line-height: 1.5rem;
  letter-spacing: 2px;
  color: #000000;
}
hgroup span {
  display: inline-block;
  padding-left: 10rem;
  font-size: .8rem;
  font-style: italic;
  color: #a7a7ae;
}
/* Navigation */
nav {
  position: absolute;
  height: 100%;
}
nav .trigger {
  float: right;
  line-height: 5rem;
  width: 5rem;
  height: 100%;
  font-size: 1.5rem;
  padding: 0 1.5rem;
  color: #333333;
  text-align: center;
  cursor: pointer;
  opacity: 1;
}
nav .trigger:hover {
  background: #ebebeb;
}
.site-navigation {
  right: 0;
}
.site-navigation menu {
  display: none;
  text-align: right;
}
.site-navigation menu a {
  padding: 0 2rem;
}
.mobile-navigation {
  z-index: 1;
  top: 0;
  right: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: #e1e1e1;
  width: 5rem;
}
.mobile-navigation.is-visible {
  width: 10rem;
}
/* Menu elements */
menu {
  font-size: 0;
}
menu li {
  list-style: none;
  vertical-align: top;
  line-height: 5rem;
}
menu li a,
menu li span {
  font-size: 1rem;
  position: relative;
}
menu li span {
  display: block;
  padding: 0 1rem;
  width: auto;
}
menu li a {
  display: block;
  height: 100%;
  cursor: pointer;
  color: #333333;
  -webkit-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  -ms-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
menu li a:hover {
  text-decoration: none;
  background: #ebebeb;
}
menu li a.active {
  background: #f5f5f5;
}
menu.in-header {
  height: 100%;
  text-align: center;
}
menu.in-header li {
  display: inline-block;
  height: 100%;
}
menu.in-header li a {
  height: 100%;
}
menu.mobile li a {
  font-size: 1.25rem;
  width: 100%;
  padding: 0 1.5rem;
}
/* Main */
main {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 5rem;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
main .wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 11;
  /*.box-shadow(0 0 10px rgba(0, 0, 0, 0.2));*/
}
main .state {
  width: 100%;
  height: 100%;
}
/* Pushed aside state for elements */
.is-pushed-aside {
  left: -10rem;
}
/* Page containers */
.page {
  background: #f5f5f5;
  height: 100%;
  overflow: auto;
}
.page.padded {
  padding: 1.5rem;
}
/* Footer */
footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 0.75rem;
  color: #c1c1c1;
  text-align: center;
  text-transform: lowercase;
  padding: 0.25rem;
  z-index: 0;
}
footer.full-screen {
  display: none;
}
/***********************************************************************************************
 * Photo samples
 ***/
.photo-samples {
  position: relative;
  width: 94%;
  margin: 3rem 0 0 3%;
}
.photo-samples img {
  position: absolute;
  top: 0;
  left: 0;
  border: 10px solid #ffffff;
  transition: border linear 0.3s;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .photo-samples img {
    border: 7px solid #ffffff;
  }
}
.photo-samples .one {
  -webkit-transform: rotateZ(5deg);
  -moz-transform: rotateZ(5deg);
  -ms-transform: rotateZ(5deg);
  -o-transform: rotateZ(5deg);
  transform: rotateZ(5deg);
}
.photo-samples .two {
  -webkit-transform: rotateZ(-3deg);
  -moz-transform: rotateZ(-3deg);
  -ms-transform: rotateZ(-3deg);
  -o-transform: rotateZ(-3deg);
  transform: rotateZ(-3deg);
}
.photo-samples:before {
  content: "";
  display: block;
  padding-top: 80%;
}
/***********************************************************************************************
 * Box elements
 ***/
/* Box elements */
/***********************************************************************************************
 * Dialog
 ***/
/* Close button */
.close {
  float: right;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  filter: alpha(opacity=20);
  opacity: .2;
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  filter: alpha(opacity=50);
  opacity: .5;
}
button.close {
  -webkit-appearance: none;
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
}
/* Dialog */
.dialog-open {
  overflow: hidden;
}
.dialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  outline: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  -ms-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.dialog .list {
  margin: 0 0 1.5rem 1.5rem;
}
.dialog.ng-enter,
.dialog.ng-leave.ng-leave-active {
  opacity: 0;
}
.dialog.ng-enter.ng-enter-active,
.dialog.ng-leave {
  opacity: 1;
}
.dialog-open .dialog {
  overflow-x: hidden;
  overflow-y: auto;
}
.dialog-wrapper {
  position: relative;
  width: auto;
  margin: 2rem;
}
.dialog-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  outline: 0;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
}
.dialog-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  opacity: .4;
  background-color: #000;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  -ms-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.dialog-backdrop.ng-enter,
.dialog-backdrop.ng-leave.ng-leave-active {
  opacity: 0;
}
.dialog-backdrop.ng-enter.ng-enter-active,
.dialog-backdrop.ng-leave {
  opacity: .4;
}
.dialog-header {
  min-height: 1rem;
  padding: 1rem;
  border-bottom: 1px solid #e1e1e1;
}
.dialog-header .close {
  margin-top: -2px;
}
.dialog-title {
  margin: 0;
  line-height: 1.5rem;
}
.dialog-body {
  position: relative;
  padding: 1rem;
  overflow: auto;
}
.dialog-footer {
  padding: 1rem;
  text-align: right;
  border-top: 1px solid #e1e1e1;
}
.dialog-footer .button + .button {
  margin-bottom: 0;
  margin-left: 5px;
}
@media (min-width: 768px) {
  .dialog-wrapper {
    width: 600px;
    margin: 4rem auto;
  }
  .dialog-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .dialog-small {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .dialog-large {
    width: 900px;
  }
}
/***********************************************************************************************
 * Input elements
 ***/
/* Form */
form {
  margin-bottom: 1.5rem;
}
input,
select,
textarea {
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: #333333;
}
::-webkit-input-placeholder {
  font-size: 0.9rem;
  color: #c1c1c1;
}
::-moz-placeholder {
  font-size: 0.9rem;
  color: #c1c1c1;
}
:-ms-input-placeholder {
  font-size: 0.9rem;
  color: #c1c1c1;
}
form label {
  display: block;
  clear: both;
  height: 1.5rem;
  line-height: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 0.8rem;
  color: #a7a7ae;
  text-transform: lowercase;
}
form input:not([type='submit']):not([type='file']):not([type='checkbox']):not([type='radio']),
form select,
form textarea {
  width: 100%;
  margin-bottom: 1.5rem;
  color: #333333;
  border: 1px solid #fff;
  padding: 0.975rem 1.5rem;
  background: #ffffff;
  -webkit-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
}
form textarea {
  height: 7.5rem;
}
form input:not([type='submit']):not([type='file']):not([type='checkbox']):not([type='radio']).half {
  float: left;
  width: 49%;
  margin-right: 2%;
}
form input:not([type='submit']):not([type='file']):not([type='checkbox']):not([type='radio']).half + form input:not([type='submit']):not([type='file']):not([type='checkbox']):not([type='radio']).half {
  margin: 0;
}
/* Buttons */
.button {
  border: 1px solid #e1e1e1;
  background: #f6f6f6;
  color: #333333;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 300;
  padding: 0.75rem 1.5rem;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
.button.primary {
  border: 1px solid #5692c6;
  background: #5692c6;
  color: #ffffff;
}
/*******************************************************************************************************************************
 * Tooltips
 ***/
.tooltip {
  position: absolute;
  background: #444;
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1.5rem;
  padding: 0.5rem;
  z-index: 1000;
  text-align: center;
  margin-top: 3px;
  white-space: nowrap;
  -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.35);
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.35);
  transition: opacity .2s linear;
}
.tooltip.ng-enter,
.tooltip.ng-leave,
.tooltip.ng-leave-active {
  opacity: 0;
}
.tooltip.ng-enter-active {
  opacity: 1;
}
.tooltip::before {
  position: absolute;
  width: 0;
  height: 0;
  left: 50%;
  margin: -13px 0 0 -5px;
  content: "";
  border-width: 0 5px 5px 5px;
  border-style: solid;
  border-color: transparent transparent #444 transparent;
}
/*******************************************************************************************************************************
 * Checkboxes and radio's
 ***/
/* Checkboxes/radio inputs */
input[type='checkbox'],
input[type='radio'] {
  float: left;
  opacity: 0;
  z-index: 3;
  margin: 0;
  width: 20px;
  /* Space for the faux checkbox */
}
input[type='checkbox'] + label,
input[type='radio'] + label {
  width: auto;
  float: left;
  clear: none;
  margin-right: 1rem;
  height: 1.5rem;
  cursor: pointer;
}
input[type='checkbox'] + label::before,
input[type='radio'] + label::before {
  display: block;
  position: absolute;
  content: '';
  border: 1px solid #ddd;
  border-radius: 2px;
  background: #fff;
  height: 14px;
  width: 14px;
  margin: 3px 0 0 -20px;
  transition: border 0.2s linear, box-shadow 0.2s linear;
}
input[type='radio'] + label::before {
  border-radius: 50%;
}
input[type='checkbox']:checked + label::after,
input[type='radio']:checked + label::after {
  display: block;
  position: absolute;
  content: '\e819';
  margin: -31px 0 0 -18px;
  font-size: 0.75rem;
  color: #555;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  text-align: center;
  text-shadow: none;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
input[type='radio']:checked + label::after {
  content: '\25cf';
  font-size: 20px;
  margin: -24px 0 0 -19px;
}
/* Checkbox/radio lists */
.list {
  overflow: auto;
}
.list input[type='checkbox'],
.list input[type='radio'] {
  clear: both;
}
.list input[type='checkbox'] + label,
.list input[type='radio'] + label {
  margin-right: 0;
}
p.note {
  margin: -0.5rem 0 1rem 0;
  color: #dc0000;
}
.error {
  clear: both;
}
.error.half {
  display: block;
  float: left;
  width: 49%;
  margin-right: 2%;
}
.error.half + .half {
  margin: 0;
  clear: none;
}
input.ng-dirty.ng-invalid,
.ng-submitted .ng-invalid {
  border: 1px solid #dc0000 !important;
}
/***********************************************************************************************
 * Definition lists
 ***/
dl {
  letter-spacing: 2px;
  font-size: 0.8rem;
  overflow: auto;
  margin-bottom: 1.5rem;
  padding: 0.975rem 1.5rem;
  background: #ffffff;
  -webkit-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
}
dl em {
  display: block;
  font-style: normal;
  color: #c1c1c1;
}
dt {
  float: left;
  clear: both;
  width: 45%;
  padding: 0.25rem 0;
}
dd {
  float: left;
  width: 55%;
  padding: 0.25rem 0;
}
/*****************************************************************************
 * Tables
 ***/
table {
  padding: 0.975rem 1.5rem;
  background: #ffffff;
  -webkit-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
  margin-bottom: 1.5rem;
  width: 100%;
}
table td,
table th {
  font-size: 0.8rem;
  letter-spacing: 2px;
  line-height: 1.5rem;
}
table th {
  color: #c1c1c1;
  font-style: normal;
  font-weight: 300;
  text-align: left;
}
/*******************************************************************************************************************************
 * Photo style for images
 ***/
/***********************************************************************************************
 * State navigation
 ***/
/* Animations between states */
.state.ng-enter,
.state.ng-leave {
  position: absolute;
  width: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.state.ng-enter {
  opacity: 0;
  left: -1500px;
}
.state.ng-enter-active,
.state.ng-leave {
  opacity: 1;
  left: 0;
}
.state.ng-leave-active {
  opacity: 0;
  left: 1500px;
}
/***********************************************************************************************
 * Media queries
 ***/
/* Tablet (portrait) */
@media only screen and (min-width: 768px) {
  .page.padded {
    padding: 3rem;
  }
  .photo-samples {
    margin-top: 1.5rem;
  }
  form input:not([type='submit']):not([type='file']):not([type='checkbox']):not([type='radio']),
  form select,
  form textarea {
    width: 80%;
    margin-right: 20%;
  }
  form input:not([type='submit']):not([type='file']):not([type='checkbox']):not([type='radio']).half {
    width: 39%;
  }
  footer {
    padding: 0.5rem 0.75rem;
  }
}
/* Tablet (landscape) */
@media only screen and (min-width: 1024px) {
  .mobile-navigation {
    display: none;
  }
  .site-navigation menu {
    display: block;
  }
  nav .trigger {
    display: none;
  }
}
/**
 * Modules
 */
.featured {
  height: 100%;
}
.featured .item {
  display: none;
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
}
.featured .item.active,
.featured .item.active-add,
.featured .item.active-remove {
  display: block;
}
.featured .item.active-remove {
  -webkit-animation: fadeOut 0.6s forwards;
  -moz-animation: fadeOut 0.6s forwards;
  -ms-animation: fadeOut 0.6s forwards;
  -o-animation: fadeOut 0.6s forwards;
  animation: fadeOut 0.6s forwards;
}
.featured .item.active-add {
  -webkit-animation: fadeIn 0.6s forwards;
  -moz-animation: fadeIn 0.6s forwards;
  -ms-animation: fadeIn 0.6s forwards;
  -o-animation: fadeIn 0.6s forwards;
  animation: fadeIn 0.6s forwards;
}
.featured .item.loading:after {
  -webkit-animation: spin 3s infinite linear;
  -moz-animation: spin 3s infinite linear;
  -ms-animation: spin 3s infinite linear;
  -o-animation: spin 3s infinite linear;
  animation: spin 3s infinite linear;
  content: '\e800';
  font-family: 'fontello';
  font-size: 9rem;
  line-height: 9rem;
  color: #333333;
  opacity: .3;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 9rem;
  width: 9rem;
  margin: -4.5rem 0 0 -4.5rem;
}
.featured .photo {
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.featured .photo.loading {
  opacity: 0;
}
.featured .photo.loading-remove {
  opacity: 0;
  -webkit-animation: fadeIn 0.5s forwards;
  -moz-animation: fadeIn 0.5s forwards;
  -ms-animation: fadeIn 0.5s forwards;
  -o-animation: fadeIn 0.5s forwards;
  animation: fadeIn 0.5s forwards;
}
.featured .navigation {
  position: absolute;
  width: 100%;
  bottom: 5%;
  text-align: center;
}
.featured .navigation .dot {
  display: inline-block;
  position: relative;
  height: 6vw;
  width: 6vw;
  margin: 0 1.5vw;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.2);
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-clip: padding-box;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.featured .navigation .dot.active {
  background: rgba(255, 255, 255, 0.2);
}
.featured .navigation .dot.active:before {
  position: absolute;
  content: "";
  display: block;
  width: 70%;
  height: 70%;
  margin: 15%;
  background: rgba(255, 255, 255, 0.25);
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-clip: padding-box;
}
.featured .navigation .dot:hover .preview {
  opacity: 1;
}
.featured .navigation .dot:hover:before {
  display: none;
}
.featured .navigation .preview {
  width: 70%;
  height: 70%;
  margin: 15%;
  opacity: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-clip: padding-box;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.page.gallery {
  overflow: hidden;
}
/*******************************************************************************************************************************
 * Animations
 ***/
/**
 * Favorite star rotation
 */
@-webkit-keyframes rotateIn {
  0% {
    opacity: 0;
    width: 0;
  }
  29% {
    opacity: 0;
    width: 30px;
  }
  30% {
    opacity: 0;
    -webkit-transform: rotateZ(-180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotateZ(0deg);
  }
}
@keyframes rotateIn {
  from {
    opacity: 0;
    transform: rotateZ(-180deg);
  }
  to {
    opacity: 1;
    transform: rotateZ(0deg);
  }
}
@-webkit-keyframes rotateOut {
  0% {
    opacity: 1;
    -webkit-transform: rotateZ(0deg);
  }
  70% {
    opacity: 0;
    -webkit-transform: rotateZ(-180deg);
  }
  71% {
    opacity: 0;
    width: 30px;
  }
  100% {
    opacity: 0;
    width: 0;
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
    transform: rotateZ(0deg);
  }
  to {
    opacity: 0;
    transform: rotateZ(-180deg);
  }
}
/**
 * Fall down effect
 */
@-webkit-keyframes fallDown {
  to {
    opacity: 0;
    -webkit-transform: translateY(70%);
  }
}
@keyframes fallDown {
  to {
    opacity: 0;
    transform: translateY(70%);
  }
}
/**
 * Scale up
 */
@-webkit-keyframes scaleUp {
  from {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
  }
}
@keyframes scaleUp {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
/**
 * Scale down
 */
@-webkit-keyframes scaleDown {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
}
@keyframes scaleDown {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}
/**
 * Go behind the stack
 */
@-webkit-keyframes goBehindStack {
  50% {
    opacity: 1;
    -webkit-transform: translateX(100%) rotateY(-35deg) rotateX(-10deg);
  }
  51% {
    z-index: -1;
  }
  /* To prevent flicker */
  99% {
    opacity: 1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }
  100% {
    opacity: 0;
  }
}
@keyframes goBehindStack {
  50% {
    opacity: 1;
    transform: translateX(100%) rotateY(-35deg) rotateX(-10deg);
  }
  51% {
    z-index: -1;
  }
  /* To prevent flicker */
  99% {
    opacity: 1;
    transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }
  100% {
    opacity: 0;
  }
}
/**
 * Go in front of the stack
 */
@-webkit-keyframes goInFrontOfStack {
  51% {
    opacity: 1;
    -webkit-transform: translateX(-100%) rotateY(35deg) rotateX(10deg);
  }
  50% {
    z-index: -1;
  }
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }
}
@keyframes goBehindStack {
  51% {
    opacity: 1;
    transform: translateX(-100%) rotateY(35deg) rotateX(10deg);
  }
  50% {
    z-index: -1;
  }
  0% {
    opacity: 1;
    transform: translateX(0%) rotateY(0deg) rotateX(0deg);
  }
}
/**
 * Move up in stack
 */
@-webkit-keyframes goUpInStack {
  0% {
    -webkit-transform: translateZ(-200px);
  }
  50% {
    z-index: -1;
  }
  51% {
    z-index: 2;
  }
  70% {
    z-index: 2;
    -webkit-transform: translateZ(50px);
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    z-index: 2;
    -webkit-transform: translateZ(0px);
  }
}
@keyframes goUpInStack {
  0% {
    transform: translateZ(-200px);
  }
  50% {
    z-index: -1;
  }
  51% {
    z-index: 2;
  }
  70% {
    z-index: 2;
    transform: translateZ(50px);
    animation-timing-function: ease-out;
  }
  100% {
    z-index: 2;
    transform: translateZ(0px);
  }
}
/**
 * Move down in stack
 */
@-webkit-keyframes goDownInStack {
  100% {
    -webkit-transform: translateZ(-200px);
  }
  51% {
    z-index: -1;
  }
  50% {
    z-index: 2;
  }
  30% {
    z-index: 2;
    -webkit-transform: translateZ(50px);
    -webkit-animation-timing-function: ease-out;
  }
  0% {
    z-index: 2;
    -webkit-transform: translateZ(0px);
  }
}
@keyframes goDownInStack {
  100% {
    transform: translateZ(-200px);
  }
  51% {
    z-index: -1;
  }
  50% {
    z-index: 2;
  }
  30% {
    z-index: 2;
    transform: translateZ(50px);
    animation-timing-function: ease-out;
  }
  0% {
    z-index: 2;
    transform: translateZ(0px);
  }
}
/**
 * Flip away effect
 */
@-webkit-keyframes flipAway {
  from {
    opacity: 1;
    z-index: 5;
  }
  to {
    opacity: 0;
    -webkit-transform-origin: right top -150px;
    -webkit-transform: rotateX(50deg) rotateY(30deg);
  }
}
@keyframes flipAway {
  from {
    opacity: 1;
    z-index: 5;
  }
  to {
    opacity: 0;
    transform-origin: right top -150px;
    transform: rotateX(50deg) rotateY(30deg);
  }
}
/**
 * Flip return effect
 */
@-webkit-keyframes flipReturn {
  from {
    opacity: 0;
    z-index: 5;
    -webkit-transform-origin: right top -150px;
    -webkit-transform: rotateX(50deg) rotateY(30deg);
  }
  to {
    opacity: 1;
  }
}
@keyframes flipReturn {
  from {
    opacity: 0;
    z-index: 5;
    transform-origin: right top -150px;
    transform: rotateX(50deg) rotateY(30deg);
  }
  to {
    opacity: 1;
  }
}
/*******************************************************************************************************************************
 * Import child module CSS
 ***/
.gallery-header.up menu li a:hover {
  background: none !important;
  color: #c1c1c1 !important;
}
.gallery-controls menu li a {
  width: 5rem;
  font-size: 1.25rem;
  color: #a8a8a8;
}
.gallery-controls menu li a:hover {
  color: #333333;
}
.photo-controls {
  left: 50%;
}
.photo-controls menu {
  position: relative;
  left: -50%;
  text-align: center;
}
.photo-controls menu li a {
  width: 5rem;
  font-size: 1.25rem;
  color: #c1c1c1;
}
.photo-controls menu li a:hover {
  color: #333333;
}
.cart-controls {
  right: 10rem;
}
.cart-controls menu li a {
  width: 5rem;
  font-size: 1.25rem;
  color: #333333;
  text-align: center;
}
.cart-controls .count {
  position: absolute;
  z-index: 10;
  margin-top: -2.25rem;
  margin-left: 3.125rem;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50%;
  font-size: 0.7rem;
  background: #d1d1d1;
  color: #ffffff;
  transition: all 0.2s linear;
}
.cart-controls :hover .count,
.cart-controls .count.updated {
  background: #6b6b6b;
  width: 20px;
  height: 20px;
  line-height: 20px;
}
.tag-controls {
  right: 0;
}
.tag-controls menu li a {
  width: 10rem;
  color: #333333;
  text-align: center;
}
.tag-controls input {
  border: 0;
  padding: .5rem 1.5rem;
  width: 100%;
  height: 100%;
}
.tag-controls input.no-results {
  color: #cc0000;
}
menu.browseable-tags {
  position: absolute;
  z-index: 20;
  top: 5rem;
  right: 0;
  width: 10rem;
  height: auto;
  background: #ffffff;
  border: 1px solid #e1e1e1;
}
menu.browseable-tags li {
  display: block;
  height: 2.25rem;
  line-height: 2.25rem;
}
menu.browseable-tags li a {
  font-size: 0.9rem;
  text-align: left;
  padding: 0 2rem;
}
menu.browseable-tags li.divider {
  border-bottom: 1px solid #e1e1e1;
}
/* Sharing options */
.share-options {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-left: 5rem;
  white-space: nowrap;
  z-index: 15;
}
.share-options li {
  background: #f6f6f6;
}
.share-options li:last-child {
  padding-right: 100rem;
}
.share-options .share.zeroclipboard-is-hover {
  color: #333333;
  background: #f6f6f6;
  cursor: pointer;
}
.share-options .share.icon-facebook:hover {
  color: #3b5998 !important;
}
.share-options .share.icon-twitter:hover {
  color: #55acee !important;
}
.share-options .share.icon-gplus:hover {
  color: #dd4b39 !important;
}
.share-options .share.icon-pinterest:hover {
  color: #cb2027 !important;
}
.share-options .share.icon-linkedin:hover {
  color: #007bb6 !important;
}
/* Animation */
.share-options.ng-hide-remove,
.share-options.ng-hide-add {
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear;
  display: block !important;
}
.share-options.ng-hide-remove,
.share-options.ng-hide-add.ng-hide-add-active {
  opacity: 0;
  -webkit-transform: scale(0.01);
  -moz-transform: scale(0.01);
  -ms-transform: scale(0.01);
  -o-transform: scale(0.01);
  transform: scale(0.01);
}
.share-options.ng-hide-add,
.share-options.ng-hide-remove.ng-hide-remove-active {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
/* Media queries */
@media only screen and (max-width: 479px) {
  .gallery-controls menu li a {
    width: 3.33333333rem;
  }
}
@media only screen and (max-width: 767px) {
  .not-mobile {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  .not-tablet {
    display: none;
  }
}
.scrollbar-measure {
  width: 100px;
  height: 100px;
  overflow: scroll;
  position: absolute;
  top: -9999px;
}
.thumbs {
  height: 100%;
  position: relative;
  padding: 0.75rem 0 0 0.75rem;
  overflow-y: auto;
}
.thumbs .thumb {
  margin: 0 0.75rem 0.75rem 0;
  float: left;
  font-size: 0;
  cursor: pointer;
  display: none;
  opacity: 0;
  position: relative;
  background: #333333;
}
.thumbs .thumb img {
  height: 100%;
  width: 100%;
  transition: .4s linear all;
}
.thumbs .thumb.masonry-sized {
  display: block;
  opacity: 1;
}
.thumbs .thumb.masonry-sized-add {
  -webkit-animation: scaleUp 0.6s forwards;
  -moz-animation: scaleUp 0.6s forwards;
  -ms-animation: scaleUp 0.6s forwards;
  -o-animation: scaleUp 0.6s forwards;
  animation: scaleUp 0.6s forwards;
}
.thumbs .thumb.ng-leave {
  -webkit-animation: scaleDown 0.6s forwards;
  -moz-animation: scaleDown 0.6s forwards;
  -ms-animation: scaleDown 0.6s forwards;
  -o-animation: scaleDown 0.6s forwards;
  animation: scaleDown 0.6s forwards;
}
.thumbs .thumb.loading img {
  opacity: 0;
}
.thumbs .thumb.loading:after {
  -webkit-animation: spin 3s infinite linear;
  -moz-animation: spin 3s infinite linear;
  -ms-animation: spin 3s infinite linear;
  -o-animation: spin 3s infinite linear;
  animation: spin 3s infinite linear;
  content: '\e800';
  font-family: 'fontello';
  font-size: 3rem;
  line-height: 3rem;
  position: absolute;
  left: 50%;
  top: 50%;
  color: #ffffff;
  opacity: 0.3;
  height: 3rem;
  width: 3rem;
  margin: -1.5rem 0 0 -1.5rem;
}
.gallery {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
  -ms-perspective: 1000px;
  -o-perspective: 1000px;
  perspective: 1000px;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.gallery .photo-caption {
  position: absolute;
  z-index: 100;
  padding: 0;
  text-align: center;
  width: 100%;
  height: 1.5rem;
  letter-spacing: 1px;
}
.gallery .photo-caption h1 {
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.75rem;
  margin: 0;
}
.gallery .photo-caption strong {
  display: inline-block;
  padding-right: 0.5rem;
  font-size: 0.9rem;
}
.gallery .photo-caption time {
  color: #a7a7ae;
  text-transform: lowercase;
  font-size: 0.8rem;
  line-height: 1.5rem;
  margin-right: 0.5rem;
}
.gallery .photo-caption .favorite {
  width: 30px;
  margin-right: 0;
}
.gallery .photo-caption .favorite.ng-hide {
  opacity: 0;
}
.gallery .photo-caption .favorite.ng-hide-remove,
.gallery .photo-caption .favorite.ng-hide-add {
  display: inline-block !important;
}
.gallery .photo-caption .favorite.ng-hide-add {
  -webkit-animation: rotateOut 0.5s forwards;
  -moz-animation: rotateOut 0.5s forwards;
  -ms-animation: rotateOut 0.5s forwards;
  -o-animation: rotateOut 0.5s forwards;
  animation: rotateOut 0.5s forwards;
}
.gallery .photo-caption .favorite.ng-hide-remove {
  -webkit-animation: rotateIn 0.5s forwards;
  -moz-animation: rotateIn 0.5s forwards;
  -ms-animation: rotateIn 0.5s forwards;
  -o-animation: rotateIn 0.5s forwards;
  animation: rotateIn 0.5s forwards;
}
.gallery .tags,
.gallery .tag {
  display: inline-block;
  font-size: 0.8rem;
  color: #c1c1c1;
}
.gallery .tag {
  margin: 0 0.25rem;
  cursor: pointer;
}
.gallery .photo-nav {
  position: absolute;
  right: 0;
  z-index: 100;
}
.gallery .photo-nav li a {
  width: 5rem;
}
.gallery .photo-container {
  position: absolute;
  height: 100%;
  width: 100%;
  padding: 1.5rem 0 1rem 0;
}
.gallery .photo-container .left,
.gallery .photo-container .right {
  position: absolute;
  height: 100%;
  width: 50%;
  cursor: pointer;
  z-index: 20;
}
.gallery .photo-container .left {
  left: 0;
}
.gallery .photo-container .right {
  right: 0;
}
.gallery .photo-padding {
  position: relative;
  height: 100%;
  width: 100%;
}
.gallery .item {
  display: none;
  position: absolute;
  height: 100%;
  width: 100%;
  padding: 0.75rem;
}
.gallery .item.active,
.gallery .item.active-add,
.gallery .item.active-remove {
  display: block;
}
.gallery .item.loading:after {
  -webkit-animation: spin 3s infinite linear;
  -moz-animation: spin 3s infinite linear;
  -ms-animation: spin 3s infinite linear;
  -o-animation: spin 3s infinite linear;
  animation: spin 3s infinite linear;
  content: '\e800';
  font-family: 'fontello';
  font-size: 9rem;
  line-height: 9rem;
  color: #333333;
  opacity: .3;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  height: 9rem;
  width: 9rem;
  margin: -4.5rem 0 0 -4.5rem;
}
.gallery .photo {
  height: 100%;
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.gallery .photo.loading {
  opacity: 0;
}
.gallery .photo.loading-remove {
  opacity: 0;
  -webkit-animation: fadeIn 0.5s forwards;
  -moz-animation: fadeIn 0.5s forwards;
  -ms-animation: fadeIn 0.5s forwards;
  -o-animation: fadeIn 0.5s forwards;
  animation: fadeIn 0.5s forwards;
}
.gallery.full-screen {
  background: #000000;
}
.gallery.full-screen .photo-caption {
  color: #ffffff;
}
.gallery.full-screen .item {
  padding: 0;
}
.forward .item.active-remove {
  -webkit-animation: flipAway 0.6s forwards;
  -moz-animation: flipAway 0.6s forwards;
  -ms-animation: flipAway 0.6s forwards;
  -o-animation: flipAway 0.6s forwards;
  animation: flipAway 0.6s forwards;
}
.forward .item.active-add {
  -webkit-animation: scaleUp 0.6s forwards;
  -moz-animation: scaleUp 0.6s forwards;
  -ms-animation: scaleUp 0.6s forwards;
  -o-animation: scaleUp 0.6s forwards;
  animation: scaleUp 0.6s forwards;
}
.backward .item.active-remove {
  -webkit-animation: scaleDown 0.6s forwards;
  -moz-animation: scaleDown 0.6s forwards;
  -ms-animation: scaleDown 0.6s forwards;
  -o-animation: scaleDown 0.6s forwards;
  animation: scaleDown 0.6s forwards;
}
.backward .item.active-add {
  -webkit-animation: flipReturn 0.6s forwards;
  -moz-animation: flipReturn 0.6s forwards;
  -ms-animation: flipReturn 0.6s forwards;
  -o-animation: flipReturn 0.6s forwards;
  animation: flipReturn 0.6s forwards;
}
@media only screen and (max-width: 479px) {
  .gallery .photo-caption {
    height: 3.5rem;
  }
  .gallery .photo-caption h1 span {
    display: block;
  }
  .gallery .photo-caption h1 strong {
    padding: 0;
  }
  .gallery .photo-container {
    padding: 3.5rem 0 1.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .gallery .photo-caption h1 span {
    font-size: 0.8rem;
  }
  .gallery .tags,
  .gallery time {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .gallery .photo-caption {
    padding: 0.75rem 0 0;
    height: 4.5rem;
  }
  .gallery .photo-caption h1 {
    font-size: 1rem;
    line-height: 1.75rem;
  }
  .gallery .photo-caption strong {
    font-size: 1.25rem;
  }
  .gallery .photo-container {
    padding: 4.5rem 0 1.5rem 0;
  }
}
.about-photo {
  text-align: center;
  padding-bottom: 1.5rem;
}
.about-photo img {
  width: 80%;
  margin: 0 10%;
  border: 10px solid #ffffff;
  transition: border linear 0.3s;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-transform: rotateZ(-3deg);
  -moz-transform: rotateZ(-3deg);
  -ms-transform: rotateZ(-3deg);
  -o-transform: rotateZ(-3deg);
  transform: rotateZ(-3deg);
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .about-photo img {
    border: 7px solid #ffffff;
  }
}
@media only screen and (min-width: 480px) {
  .about-photo img {
    width: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .about-text {
    float: right;
    width: 60%;
  }
  .about-photo {
    float: left;
    width: 35%;
  }
  .about-photo img {
    width: 80%;
  }
}
@media only screen and (min-width: 768px) {
  .prints-text {
    float: right;
    width: 60%;
  }
  .prints-text table {
    width: 80%;
  }
  .prints-samples {
    float: left;
    width: 35%;
  }
}
.contact-text dt {
  width: 30%;
}
.contact-text dd {
  width: 70%;
}
@media only screen and (min-width: 768px) {
  .contact-text {
    float: right;
    width: 60%;
  }
  .contact-text dl {
    width: 80%;
  }
  .contact-samples {
    float: left;
    width: 35%;
  }
}
/* Cart */
.cart button {
  float: right;
  margin: 1.5rem 0 0 1.5rem;
}
.cart p {
  margin-top: 1.5rem;
}
.cart .item {
  position: relative;
  overflow: auto;
  padding: 0 0 1rem;
  padding: 0.975rem 1.5rem;
  background: #ffffff;
  -webkit-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
}
.cart .item div {
  height: 3.5rem;
}
.cart .photo {
  width: 6.75rem;
  padding-right: 1.5rem;
  cursor: pointer;
  float: left;
}
.cart .name {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-weight: 400;
  font-size: 0.9rem;
  letter-spacing: 2px;
  line-height: 1.75rem;
}
.cart .name a {
  color: #333333;
  cursor: pointer;
}
.cart .name span {
  font-weight: 300;
  font-size: 0.8rem;
  color: #c1c1c1;
}
.cart .pricing {
  width: 345px;
  line-height: 3.5rem;
}
.cart .price,
.cart .amount,
.cart .total,
.cart .options {
  display: inline-block;
  width: 100px;
}
.cart .options {
  width: 25px;
  text-align: center;
  vertical-align: -5px;
}
.cart .options .remove {
  font-size: 1.5rem;
  color: #e1e1e1;
  cursor: pointer;
  display: block;
}
.cart .options .remove:hover {
  color: #c1c1c1;
}
.cart .amount input {
  width: 2.5rem;
  text-align: center;
  border: 0;
  padding: .25rem;
  background: #e9e9e9;
  -webkit-box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.1);
}
.cart .amount input[type=number]::-webkit-inner-spin-button,
.cart .amount input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Media queries */
@media only screen and (max-width: 1023px) {
  .cart .name {
    padding-right: 1.5rem;
  }
  .cart .pricing {
    width: auto;
    float: right;
  }
  .cart .price,
  .cart .amount,
  .cart .total {
    width: auto;
    margin-left: .75rem;
  }
  .cart .options {
    width: 0;
    height: 0 !important;
  }
  .cart .options .remove {
    position: absolute;
    top: -0.25rem;
    right: 1rem;
  }
}
@media only screen and (max-width: 479px) {
  .cart .pricing {
    margin-left: 0;
  }
}
@media only screen and (min-width: 1024px) {
  .cart .item {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
  }
  .cart .name {
    -webkit-flex: 1;
    flex-grow: 1;
  }
}
.checkout-thumbs {
  overflow: auto;
  padding-bottom: 1.5rem;
}
.checkout-thumbs .thumb {
  float: left;
  width: 11.5%;
  padding-bottom: 11.5%;
  margin: 0 1% 1% 0;
  background-size: cover;
  background-position: 50% 50%;
}
@media only screen and (min-width: 768px) {
  .error.half {
    width: 39%;
  }
  .checkout-text {
    float: right;
    width: 60%;
  }
  .checkout-thumbs {
    float: left;
    width: 35%;
  }
  .checkout-thumbs .thumb {
    width: 48%;
    padding-bottom: 48%;
    margin: 0 2% 2% 0;
  }
}
/**
 * Dialogs
 */
#dialog-printsize label {
  width: 11rem;
}
#dialog-printsize .price {
  display: block;
  float: left;
  margin-left: .5rem;
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: #c1c1c1;
}
/**
 * Overrides
 */
/**
 * No bottom margin for last elements
 */
*:last-child {
  margin-bottom: 0;
}
/**
 * Angular cloaking
 */
[ng-cloak],
.ng-cloak {
  display: none !important;
}
