@import url(https://fonts.googleapis.com/css?family=Julius+Sans+One);
@import url(https://fonts.googleapis.com/css?family=Lato:300);
body {
  font-family: 'Lato', sans-serif; }

.fade {
  opacity: 1;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  -ms-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear; }

.fade.ng-hide {
  opacity: 0; }

.slide-in-out {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  overflow: hidden; }

.router-outlet {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .router-outlet .layout-container {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%; }

.content {
  position: absolute;
  overflow-y: scroll;
  -ms-overflow-style: none; }

.content::-webkit-scrollbar {
  width: 0 !important; }

@media only screen and (min-width: 1600px) {
  .content {
    top: 145px;
    right: 80px;
    bottom: 30px;
    left: 80px; } }

[class*="col-"] {
  padding-left: 5px;
  padding-right: 5px; }

.row {
  margin-left: -5px;
  margin-right: -5px; }

@media only screen and (max-width: 600px) {
  .content {
    top: 60px;
    right: 10px;
    bottom: 10px;
    left: 10px; } }

@media only screen and (min-width: 600px) and (max-width: 992px) {
  .content {
    top: 60px;
    right: 10px;
    bottom: 10px;
    left: 10px; } }

@media only screen and (min-width: 992px) and (max-width: 1200px) {
  .content {
    top: 80px;
    right: 20px;
    bottom: 20px;
    left: 20px; } }

@media only screen and (min-width: 1200px) and (max-width: 1600px) {
  .content {
    top: 120px;
    right: 40px;
    bottom: 40px;
    left: 40px; } }

@media only screen and (min-width: 1600px) {
  .content {
    top: 120px;
    right: 60px;
    bottom: 60px;
    left: 60px; } }

.header.desktop {
  font-family: 'Julius Sans One', sans-serif;
  position: absolute; }
  .header.desktop h1 {
    margin-right: 15px; }
  .header.desktop h1, .header.desktop nav {
    display: block;
    float: left; }
  .header.desktop nav {
    display: block;
    float: left; }
    .header.desktop nav a {
      display: inline-block; }
      .header.desktop nav a.selected {
        color: #bbb; }

.header.mobile {
  font-family: 'Julius Sans One', sans-serif; }
  .header.mobile .brand,
  .header.mobile .toggle {
    display: block; }
  .header.mobile .brand {
    font-size: 1.2em;
    padding: 20px 0 10px 0; }
  .header.mobile .toggle {
    position: relative;
    font-size: 0.9em;
    padding: 23px 0 10px 0; }
    .header.mobile .toggle span {
      position: absolute;
      right: 0; }
  .header.mobile .menu {
    z-index: 10;
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    background-color: white;
    padding: 0;
    border-top: 1px solid #eee; }
    .header.mobile .menu a {
      display: block;
      width: 100%;
      padding: 10px 15px;
      border-bottom: 1px solid #eee; }

@media only screen and (min-width: 601px) {
  .header.mobile {
    display: none; } }

@media only screen and (max-width: 600px) {
  .header.desktop {
    display: none; } }

@media only screen and (min-width: 600px) and (max-width: 992px) {
  .header.desktop {
    top: 0;
    left: 10px;
    right: 10px; }
    .header.desktop h1 {
      font-size: 20px; }
    .header.desktop nav {
      margin-top: 19px; }
      .header.desktop nav a {
        font-size: 0.9em;
        padding: 5px 3px; } }

@media only screen and (min-width: 992px) and (max-width: 1200px) {
  .header.desktop {
    top: 10px;
    left: 20px;
    right: 20px; }
    .header.desktop h1 {
      font-size: 28px; }
    .header.desktop nav {
      margin-top: 22px; }
      .header.desktop nav a {
        font-size: 1em;
        padding: 5px 5px; } }

@media only screen and (min-width: 1200px) and (max-width: 1600px) {
  .header.desktop {
    top: 30px;
    left: 40px;
    right: 40px; }
    .header.desktop h1 {
      font-size: 42px; }
    .header.desktop nav {
      margin-top: 25px; }
      .header.desktop nav a {
        font-size: 1.1em;
        padding: 10px 8px; } }

@media only screen and (min-width: 1600px) {
  .header.desktop {
    top: 30px;
    left: 60px;
    right: 60px; }
    .header.desktop h1 {
      font-size: 42px; }
    .header.desktop nav {
      margin-top: 25px; }
      .header.desktop nav a {
        font-size: 1.1em;
        padding: 10px 8px; } }

.row.home {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .row.home div[class*="col-"] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .row.home .feature {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center; }

.gardens {
  max-width: 992px; }
  .gardens .thumb {
    display: block;
    margin-bottom: 10px;
    overflow: hidden;
    background-size: 100% auto;
    background-position: center; }
    .gardens .thumb img {
      max-width: 100%;
      max-height: 100%; }

.garden-container {
  position: relative;
  min-height: 300px;
  width: 100%;
  height: 100%; }

.row.selected {
  position: absolute;
  margin: 0;
  top: 0;
  right: 0;
  bottom: 160px;
  left: 0; }
  .row.selected div[class*="col-"] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .row.selected .full {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center; }
    .row.selected .full img {
      height: 100%; }
  .row.selected .caption {
    font-size: 1.1em;
    line-height: 1.6em;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
    overflow-y: scroll;
    background-color: rgba(255, 255, 255, 0.9); }
  .row.selected .caption-close {
    cursor: pointer;
    position: absolute;
    display: block;
    padding: 8px 12px;
    top: 10px;
    right: 20px;
    margin-left: -40px; }

.thumbs {
  position: absolute;
  margin: 0;
  right: 0;
  left: 0;
  overflow-x: scroll; }
  .thumbs .thumb-container {
    padding: 10px 0; }
  .thumbs .thumb {
    display: block;
    float: left;
    margin-right: 10px;
    background-size: cover;
    background-position: center;
    cursor: pointer; }

.row.details {
  font-family: 'Julius Sans One', sans-serif;
  position: absolute;
  right: 0;
  bottom: 0px;
  left: 0;
  font-size: 1.1em;
  text-transform: uppercase; }
  .row.details .arrow-up {
    display: inline-block;
    width: 13px;
    height: 11px;
    background-image: url("/images/arrow-up.png");
    background-size: 100%;
    margin-top: 2px;
    margin-right: 12px; }
  .row.details .grid {
    margin-right: 16px;
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url("/images/grid.png");
    background-size: 100%;
    opacity: 0.4; }
  .row.details .arrow-right {
    display: inline-block;
    width: 20px;
    height: 11px;
    background-image: url("/images/arrow-right.png");
    background-size: 100%;
    margin-left: 12px; }

.mobile .row.selected .caption {
  width: 75%; }

@media only screen and (max-width: 992px) {
  .gallery-desktop {
    display: none; }
  .full img {
    display: none; }
  .next-label {
    display: none; }
  .garden-container .row.selected {
    bottom: 110px; }
  .garden-container .caption {
    width: 66%;
    padding: 50px 30px 15px 20px; }
  .garden-container .thumbs {
    height: 90px;
    bottom: 20px; }
    .garden-container .thumbs .thumb {
      width: 70px;
      height: 70px; }
  .garden-container .row.details {
    height: 20px; } }

@media only screen and (min-width: 992px) {
  .gallery-mobile {
    display: none; }
  .full {
    background-image: none !important; }
  .garden-container .row.selected {
    bottom: 160px; }
  .garden-container .caption {
    width: 33%;
    padding: 50px 60px 15px 40px; }
  .garden-container .thumbs {
    height: 120px;
    bottom: 40px; }
    .garden-container .thumbs .thumb {
      width: 100px;
      height: 100px; }
  .garden-container .row.details {
    height: 40px; }
    .garden-container .row.details div[class*="col-"] {
      padding-top: 10px;
      padding-bottom: 10px; } }

.about.desktop {
  max-width: 992px; }
  .about.desktop img {
    width: 100%; }
  .about.desktop .summary {
    padding: 0 20px; }

.about.mobile {
  min-height: 400px;
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .about.mobile div[class*="col-"] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .about.mobile .portrait {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center; }
  .about.mobile .summary {
    max-height: 180px;
    overflow: scroll;
    margin: 0;
    padding: 10px 15px;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.8);
    bottom: 0;
    left: 0;
    right: 0; }

@media only screen and (min-width: 601px) {
  .about.mobile {
    display: none; } }

@media only screen and (max-width: 600px) {
  .about.desktop {
    display: none; } }

@media only screen and (min-width: 992px) {
  .summary {
    font-size: 1.2em;
    text-align: justify; } }

.press {
  max-width: 992px; }
  .press .thumb {
    display: block;
    margin-bottom: 10px;
    overflow: hidden;
    background-size: 100% auto;
    background-position: center; }
    .press .thumb img {
      width: 100%; }

.slider {
  position: relative;
  overflow: hidden;
  height: 100%; }
  .slider .slider-wrapper {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    transition: all 0.3s ease-in-out;
    position: absolute;
    top: 0;
    height: 100%; }
    .slider .slider-wrapper.dragging {
      transition: none; }
    .slider .slider-wrapper .slider-image {
      height: 100%;
      float: left;
      background-repeat: no-repeat; }

@media only screen and (max-width: 1200px) {
  .slider .slider-image {
    background-size: cover;
    background-position: center; } }

@media only screen and (min-width: 1200px) {
  .slider .slider-image {
    background-size: contain; } }

.contact.desktop {
  max-width: 992px; }
  .contact.desktop img {
    width: 100%; }
  .contact.desktop .details {
    padding: 0 20px; }

.contact.mobile {
  min-height: 400px;
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .contact.mobile div[class*="col-"] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .contact.mobile .portrait {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center; }
  .contact.mobile .details {
    max-height: 180px;
    overflow: scroll;
    margin: 0;
    padding: 10px 15px;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.8);
    bottom: 0;
    left: 0;
    right: 0; }

@media only screen and (min-width: 601px) {
  .contact.mobile {
    display: none; } }

@media only screen and (max-width: 600px) {
  .contact.desktop {
    display: none; } }

@media only screen and (min-width: 992px) {
  .details {
    font-size: 1.2em;
    text-align: justify; } }

a {
  color: black;
  text-decoration: none; }
  a:hover, a:active, a:focus {
    color: black;
    text-decoration: none; }
