body {
  padding: 0;
  margin: 0; }

ul, li {
  margin: 0;
  padding: 0;
  list-style: none; }

figure {
  margin: 0;
  line-height: 0; }
  figure img {
    width: 100%;
    object-fit: cover; }
  figure figcaption {
    font-size: .85rem; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.wrap {
  position: relative;
  margin: 0 auto; }
  @media (min-width: 1280px) {
    .wrap {
      width: 1280px; } }
  @media (min-width: 960px) and (max-width: 1280px) {
    .wrap {
      width: 960px; } }
  @media (min-width: 600px) and (max-width: 960px) {
    .wrap {
      width: 600px; } }
  @media (max-width: 600px) {
    .wrap {
      width: 100%; } }

.grid:after {
  /* Or @extend clearfix */
  content: "";
  display: table;
  clear: both; }

.col-33 {
  width: 33.33%; }

.col-66 {
  width: 66.66%; }

.col-100 {
  width: 100%; }

.col-50 {
  width: 50%; }

.col-25 {
  width: 25%; }

.col-75 {
  width: 75%; }

.col-12 {
  width: 12.5%; }

[class*='col-'] > .grid {
  margin-right: -2.95rem; }
  @media (max-width: 600px) {
    [class*='col-'] > .grid {
      margin-right: 0; } }

[class*='col-'] {
  float: left;
  padding-right: 2.95rem; }
  @media (max-width: 960px) {
    [class*='col-'] {
      width: 100%;
      padding-right: 0; } }

body {
  font-family: 'Open Sans', sans-serif;
  background-color: #ffffff;
  color: #1e1e1e; }
  body a {
    text-decoration: none;
    color: #505790; }
  body p {
    text-align: justify;
    margin: 1rem 0 2rem 0; }
    @media (max-width: 600px) {
      body p {
        margin: 0.5rem 0 1rem 0; } }

h1, h2, h3, h4 {
  font-family: 'Quicksand', sans-serif;
  font-weight: normal; }

h1 {
  font-size: 3.25rem;
  line-height: 1.5;
  margin: 1rem 0; }
  @media (max-width: 960px) {
    h1 {
      font-size: 2.4375rem; } }
  @media (max-width: 600px) {
    h1 {
      font-size: 2.1125rem; } }

h2 {
  font-size: 2.5rem;
  line-height: 1.5;
  margin: 1rem 0; }
  @media (max-width: 960px) {
    h2 {
      font-size: 1.875rem; } }
  @media (max-width: 600px) {
    h2 {
      font-size: 1.625rem; } }

h3 {
  font-size: 1.75rem;
  line-height: 1.5;
  margin: 1rem 0; }
  @media (max-width: 960px) {
    h3 {
      font-size: 1.3125rem; } }
  @media (max-width: 600px) {
    h3 {
      font-size: 1.1375rem; } }

h4 {
  font-size: 1rem;
  line-height: 1.5;
  margin: 1rem 0; }
  @media (max-width: 960px) {
    h4 {
      font-size: 0.75rem; } }
  @media (max-width: 600px) {
    h4 {
      font-size: 0.65rem; } }

h5 {
  font-size: 0.25rem;
  line-height: 1.5;
  margin: 1rem 0; }
  @media (max-width: 960px) {
    h5 {
      font-size: 0.1875rem; } }
  @media (max-width: 600px) {
    h5 {
      font-size: 0.1625rem; } }

h6 {
  font-size: -0.5rem;
  line-height: 1.5;
  margin: 1rem 0; }
  @media (max-width: 960px) {
    h6 {
      font-size: -0.375rem; } }
  @media (max-width: 600px) {
    h6 {
      font-size: -0.325rem; } }

header {
  color: #ffffff;
  position: fixed;
  width: 100%;
  z-index: 10;
  background-color: transparent;
  transition: all ease .5s; }
  header.min {
    background-color: #0b0b0b; }
    @media (min-width: 960px) {
      header.min {
        padding: 1.75rem 0; } }
    header.min .brand img {
      height: 4rem; }
    header.min nav {
      top: 0; }
  header .brand img {
    float: left;
    height: 8rem;
    width: 14rem;
    top: 0;
    position: relative;
    object-fit: contain;
    transition: all .5s ease; }
  header .brand h1 {
    text-indent: -9999px;
    position: fixed; }
  header select {
    display: none; }
  header nav {
    transition: all ease .5s;
    position: absolute;
    top: 2rem;
    right: 0; }
    header nav ul:before, header nav ul:after {
      content: "";
      display: table; }
    header nav ul:after {
      clear: both; }
    header nav li {
      float: left; }
      header nav li a {
        transition: background-color .05s ease;
        display: block;
        padding: 1.5rem;
        color: white; }
        header nav li a:hover {
          text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
    header nav .burger {
      position: relative; }
      header nav .burger > a {
        display: block;
        padding: 1.5rem 2.5rem;
        width: 1rem;
        text-indent: -9999px;
        background-image: url(/assets/images/burger.png);
        background-position: center;
        background-repeat: no-repeat; }
      header nav .burger ul {
        display: none;
        position: absolute;
        right: 0;
        background-color: #1e1e1e; }
        header nav .burger ul li {
          width: 15rem; }
          header nav .burger ul li a {
            padding: 1.5rem 2rem; }
      header nav .burger.active {
        background-color: #1e1e1e; }
        header nav .burger.active:before {
          content: '';
          display: block;
          position: fixed;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0; }
        header nav .burger.active > a {
          background-color: #1e1e1e; }
        header nav .burger.active ul {
          display: block; }
  @media (min-width: 600px) and (max-width: 960px) {
    header {
      position: relative; }
      header .wrap {
        width: 100%; }
        header .wrap .brand {
          right: 435px;
          left: 0;
          position: absolute;
          max-width: 250px; }
          header .wrap .brand img {
            object-position: left center;
            width: 95%;
            height: 5rem;
            margin-left: 5%; }
        header .wrap nav {
          width: 435px;
          top: 0;
          right: 1rem; }
          header .wrap nav li a {
            height: 5rem;
            line-height: 2.25;
            background-color: transparent;
            padding: 1.65rem .5rem;
            font-size: .9rem; }
          header .wrap nav li.burger a {
            padding: 1.5rem; } }
  @media (max-width: 600px) {
    header {
      position: relative; }
      header .wrap {
        background-color: #1e1e1e; }
      header .brand img {
        width: 100%;
        height: 4rem !important;
        margin: 1rem 0; }
      header nav {
        display: none; }
      header select {
        margin-top: 1.5rem;
        display: block;
        width: 100%;
        padding: .75rem;
        font-family: 'Khula', sans-serif;
        border: none;
        outline: none;
        border-bottom: 2px solid #1e1e1e; }
        header select option {
          padding: .75rem;
          width: 100%;
          display: block;
          outline: none; } }

footer {
  position: relative;
  background-color: #0b0b0b;
  color: lightgray; }
  footer .actions {
    margin: 0 0 5rem 0;
    padding: 8rem 0;
    background: url(/assets/images/par.jpg) center no-repeat;
    background-size: cover; }
    footer .actions h3 {
      font-size: 2rem;
      margin: 0 0 2rem;
      color: #ffffff; }
    footer .actions .button {
      font-size: 1.5rem;
      padding: 1rem 2.75rem;
      width: 20%;
      margin: 0 2.5%;
      display: inline-block; }
    @media (max-width: 960px) {
      footer .actions {
        padding: 2rem 0;
        margin-bottom: 1rem; }
        footer .actions .button {
          display: block;
          width: auto;
          margin-bottom: 1rem; } }
  footer .contact a {
    display: block;
    color: inherit;
    font-size: 1.2rem;
    margin-bottom: .8rem; }
    footer .contact a span {
      color: #505790;
      padding-right: 1rem; }
  @media (max-width: 960px) {
    footer .contact {
      display: none; } }
  footer .brand {
    text-align: center; }
    footer .brand img {
      height: 6rem;
      width: 100%;
      object-position: left;
      object-fit: contain;
      margin-bottom: 1rem; }
      @media (max-width: 960px) {
        footer .brand img {
          object-position: center; } }
  footer .social {
    text-align: left; }
    footer .social:before, footer .social:after {
      content: "";
      display: table; }
    footer .social:after {
      clear: both; }
    footer .social > a {
      width: 3rem;
      height: 3rem;
      display: inline-block;
      margin: 0 .5rem;
      background: center no-repeat;
      background-size: contain;
      text-indent: -99999px; }
      footer .social > a:hover {
        opacity: 1; }
      footer .social > a.facebook {
        position: relative; }
        footer .social > a.facebook:before {
          content: '';
          width: 3rem;
          height: 3rem;
          background: center no-repeat;
          background-size: contain;
          position: absolute;
          left: 0;
          top: 0;
          background: url("/assets/images/facebook.png") center no-repeat;
          background-size: contain; }
      footer .social > a.pinterest {
        position: relative; }
        footer .social > a.pinterest:before {
          content: '';
          width: 3rem;
          height: 3rem;
          background: center no-repeat;
          background-size: contain;
          position: absolute;
          left: 0;
          top: 0;
          background: url("/assets/images/pinterest.png") center no-repeat;
          background-size: contain; }
  footer a {
    color: inherit; }
  footer small {
    line-height: 2;
    display: block;
    padding: 1rem 0;
    font-size: .75rem;
    opacity: 0.35; }
    footer small span {
      display: block; }
    footer small * {
      margin: 0 .25rem; }

article {
  font-size: .95rem;
  line-height: 1.75; }
  article ul {
    margin-bottom: 2rem; }
    article ul li {
      list-style-type: square;
      margin-left: 2rem;
      margin-bottom: .25rem; }
    @media (max-width: 600px) {
      article ul {
        margin-bottom: 1rem; }
        article ul li {
          list-style-type: square;
          margin-left: 1.5rem;
          margin-bottom: .25rem; } }

form div {
  transition: all ease .5s;
  margin-bottom: 1rem;
  transform: translateY(0px);
  opacity: 1; }
  form div:last-child {
    margin-bottom: 0; }
  form div input, form div textarea {
    display: block;
    width: 100%;
    padding: .85rem;
    border: none;
    background-color: #f8f8f8;
    font-family: 'Open Sans', sans-serif;
    color: #1e1e1e;
    outline: none;
    border-bottom: 2px solid #e3e3e3; }
    form div input[type="submit"], form div textarea[type="submit"] {
      display: inline-block;
      width: initial;
      padding: .75rem 2.5rem;
      color: #ffffff;
      background-color: #505790;
      border: none;
      cursor: pointer; }

form.success, form.error, form.loading {
  position: relative; }
  form.success div, form.error div, form.loading div {
    opacity: 0.0;
    transform: translateY(-2rem);
    pointer-events: none; }
  form.success:after, form.error:after, form.loading:after {
    display: block;
    position: absolute;
    top: 50%;
    box-sizing: border-box; }

form.success:after, form.error:after {
  content: 'Thank you for your enquiry. We will be in touch with you shortly';
  padding: 2rem;
  font-size: 1rem;
  left: 0%;
  width: 100%;
  text-align: center;
  margin-top: -2rem;
  color: #ffffff; }

form.loading:after {
  content: '';
  border-radius: 50%;
  left: 50%;
  margin: -1rem 0 0 -1rem;
  background: url(/assets/images/black-loading.png) center no-repeat;
  background-size: contain;
  -webkit-animation: loading 1.25s infinite linear;
  -moz-animation: loading 1.25s infinite linear;
  -ms-animation: loading 1.25s infinite linear;
  -o-animation: loading 1.25s infinite linear;
  animation: loading 1.25s infinite linear;
  width: 3rem;
  height: 3rem; }

form.success:after {
  content: 'Thank you for your enquiry. We will be in touch with you shortly';
  background: #6bb700; }

form.error:after {
  content: 'An error occurred. Please contact us via email or phone';
  background: #FF4E00; }

@media (max-width: 600px) {
  .primary {
    padding-left: 1rem;
    padding-right: 1rem; } }

.primary form input[type="submit"], .primary form textarea[type="submit"] {
  color: #505790;
  background-color: #ffffff; }

.clearfix:before, .clearfix:after {
  content: "";
  display: table; }

.clearfix:after {
  clear: both; }

.text-center {
  text-align: center; }

.photos figure {
  margin-bottom: 2.95rem; }

.embed {
  padding-bottom: 2.95rem;
  margin-top: 1rem; }

.features {
  margin-top: 1rem;
  margin-bottom: 4rem; }

[class*='col-'] {
  padding-bottom: 4rem; }
  @media (max-width: 960px) {
    [class*='col-'] {
      padding-bottom: 2rem; } }
  @media (max-width: 600px) {
    [class*='col-'] {
      padding-bottom: 1rem; } }
  [class*='col-'] [class*='col-'] {
    padding-bottom: 0; }

.info-block {
  text-align: center;
  padding: 3.5rem 2rem;
  /*

    .icon {

        display:inline-block;
        @include box(3rem);
        @include icon("/assets/images/white-phone.png", 3rem);
    }
    */ }
  .info-block img {
    width: 9rem;
    height: 9rem; }
  .info-block p {
    text-align: center;
    margin: 1rem 0 0 0; }
  @media (max-width: 960px) {
    .info-block {
      padding: 2.5rem 1rem 0 1rem; }
      .info-block img {
        width: 7rem;
        height: 7rem; } }
  @media (max-width: 600px) {
    .info-block {
      padding: 1.5rem 1rem 0 1rem; }
      .info-block img {
        width: 5rem;
        height: 5rem; } }

.testimonial {
  background-color: #505790;
  color: #ffffff;
  padding: 2rem;
  margin-bottom: 2rem; }
  .testimonial p {
    font-family: 'Handlee', cursive;
    font-size: 1.15rem;
    margin: 0 0 1rem 0; }
  .testimonial h4 {
    font-size: 1.5rem;
    text-align: right;
    margin: 0; }

.contact {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  .contact a {
    padding-left: 3.5rem;
    margin-bottom: 1.5rem;
    position: relative;
    display: block;
    font-size: 1.2rem;
    color: #1e1e1e; }
    .contact a:hover:before {
      opacity: 0.75; }
    .contact a.phone {
      position: relative; }
      .contact a.phone:before {
        content: '';
        width: 2rem;
        height: 2rem;
        background: center no-repeat;
        background-size: contain;
        position: absolute;
        left: 0;
        top: 0;
        background: url("/assets/images/white-phone.png") center no-repeat;
        background-size: contain; }
    .contact a.email {
      position: relative; }
      .contact a.email:before {
        content: '';
        width: 2rem;
        height: 2rem;
        background: center no-repeat;
        background-size: contain;
        position: absolute;
        left: 0;
        top: 0;
        background: url("/assets/images/white-email.png") center no-repeat;
        background-size: contain; }
    .contact a.address {
      position: relative; }
      .contact a.address:before {
        content: '';
        width: 2rem;
        height: 2rem;
        background: center no-repeat;
        background-size: contain;
        position: absolute;
        left: 0;
        top: 0;
        background: url("/assets/images/white-place.png") center no-repeat;
        background-size: contain; }

.primary {
  background-color: #505790;
  color: white; }
  .primary a {
    color: #ffffff; }

@media (min-width: 960px) {
  .fan {
    position: relative;
    min-height: 15rem; }
    .fan:after {
      content: '';
      width: 0rem;
      height: 0rem;
      border: solid 0 transparent;
      border-bottom-color: rgba(80, 87, 144, 0.5);
      display: block;
      border-left-width: 60rem;
      border-bottom-width: 7rem;
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 1; }
    .fan:before {
      content: '';
      width: 35rem;
      height: 15rem;
      background: center no-repeat red;
      background-size: contain;
      position: absolute;
      right: 0;
      bottom: 0;
      background: url(/assets/images/fan.png) center bottom no-repeat;
      background-size: contain;
      z-index: 2; }
    .fan > * {
      padding-right: 25%; } }

@media (max-width: 600px) {
  .grid {
    padding-left: 1rem;
    padding-right: 1rem; } }

.hero {
  background: url(/assets/images/grass.png) repeat-x bottom top;
  background-size: cover;
  background-color: #0b0b0b;
  padding: 12rem 0 0;
  margin-bottom: 3rem; }
  .hero .wrap {
    padding: 0 .5rem; }
  .hero .breadcrumb {
    margin-top: 1.5rem; }
    .hero .breadcrumb:before, .hero .breadcrumb:after {
      content: "";
      display: table; }
    .hero .breadcrumb:after {
      clear: both; }
    @media (max-width: 960px) {
      .hero .breadcrumb {
        display: none; } }
    .hero .breadcrumb a {
      color: #1e1e1e;
      padding: .5rem 1rem;
      background: rgba(80, 87, 144, 0.5);
      color: #ffffff;
      float: left; }
      .hero .breadcrumb a.active {
        background: #ffffff;
        color: #505790; }
      .hero .breadcrumb a:last-child:after {
        content: none; }
  .hero h1 {
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    margin-bottom: .5rem; }
  .hero p {
    max-width: 75%;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
  .hero h1, .hero p {
    color: #ffffff; }
  @media (max-width: 960px) {
    .hero {
      padding: 7rem 0 1rem;
      margin-bottom: 2rem; } }
  @media (max-width: 600px) {
    .hero {
      padding: 1rem 0;
      margin-bottom: .25rem;
      background: none !important; }
      .hero h1 {
        font-size: 1.75rem;
        color: #1e1e1e;
        text-shadow: none;
        padding: 0 .5rem;
        text-align: center; }
      .hero p {
        display: none; } }

.button {
  border-radius: .2rem;
  padding: .5rem 1rem;
  background: #505790;
  transition: all .25s ease;
  color: white;
  vertical-align: middle;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap; }
  .button:hover {
    background: #35395f; }

.contact-button {
  padding-top: 1rem;
  padding-bottom: 2rem; }

.block-item {
  padding: 2rem 1rem;
  margin-bottom: 1rem;
  background-color: #f3f3f3; }
  .block-item h3 {
    margin: 0; }
  .block-item p {
    margin-bottom: 2rem; }

.slider {
  position: relative; }
  .slider nav {
    position: absolute;
    width: 100%;
    bottom: 2rem;
    text-align: center;
    z-index: 2; }
    .slider nav a {
      display: inline-block;
      margin: 0 .5rem;
      box-shadow: 0 3px 9px rgba(0, 0, 0, 0.23);
      width: 2rem;
      height: 2rem;
      border-radius: 50%;
      background: #ffffff; }
      .slider nav a.active {
        background: #505790; }
    @media (max-width: 600px) {
      .slider nav {
        display: none; } }
  .slider ul {
    position: relative;
    display: block;
    width: 100%;
    height: 35rem;
    overflow: hidden;
    margin: 0; }
    @media (min-width: 600px) and (max-width: 960px) {
      .slider ul {
        height: 21rem; } }
    @media (max-width: 600px) {
      .slider ul {
        height: 13rem; } }
  .slider li {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    position: absolute;
    opacity: 0;
    transition: all 1s ease;
    transform: scale(1.1); }
    .slider li img {
      position: absolute;
      width: 100%;
      height: 100%;
      object-position: 50% 50%;
      object-fit: cover; }
    .slider li section {
      z-index: 1;
      transition: all 0.65s ease;
      transition-delay: .75s;
      opacity: 0;
      transform: translateY(2rem);
      margin: 12rem 25% 0;
      width: 50%;
      padding: 2rem;
      color: #ffffff; }
      .slider li section h2 {
        margin: 0;
        margin-bottom: 1rem;
        text-shadow: 0 0 15px rgba(0, 0, 0, 0.5); }
      .slider li section p {
        text-align: inherit;
        font-size: 1.1rem;
        text-shadow: 0 0 15px rgba(0, 0, 0, 0.5); }
    .slider li > a {
      text-decoration: none;
      width: 55%;
      background-color: rgba(0, 0, 0, 0.5);
      color: #ffffff;
      padding: 1.5rem;
      position: absolute;
      right: 11rem;
      bottom: 2rem;
      padding-bottom: 3.5rem; }
      .slider li > a h2 {
        color: #ffffff;
        font-size: 1.5rem; }
      .slider li > a span {
        text-decoration: none;
        color: #ffffff;
        padding: 1rem;
        position: absolute;
        bottom: 0;
        right: 0;
        font-size: 0.85rem; }
    .slider li.active {
      z-index: 1;
      opacity: 1;
      transform: translateX(0px) !important; }
      .slider li.active section {
        opacity: 1;
        transform: scale(1); }
      .slider li.active + li {
        transform: scale(1.1); }
  .slider .button {
    line-height: 0; }
  @media (min-width: 600px) and (max-width: 960px) {
    .slider li section {
      width: 100%;
      margin: 6rem 0; }
      .slider li section h2 {
        font-size: 1.5rem;
        margin: 0 0 .45rem 0;
        line-height: 1; }
      .slider li section p {
        font-size: .9rem;
        margin: 0 0 .65rem 0; }
    .slider nav {
      bottom: 1rem; } }
  @media (max-width: 600px) {
    .slider {
      margin-left: -2.95rem;
      margin-right: -2.95rem; }
      .slider li section {
        width: 100%;
        margin: 0;
        padding: 1rem 3.45rem; }
        .slider li section h2 {
          font-size: 1.5rem;
          margin: 0 0 .45rem 0;
          line-height: 1; }
        .slider li section p {
          font-size: .9rem;
          margin: 0 0 .65rem 0; }
      .slider nav {
        bottom: 1rem; } }

.gallery-tile {
  margin-bottom: 2.95rem;
  height: 20rem; }
  .gallery-tile a {
    position: relative;
    display: block;
    height: 100%;
    overflow: hidden; }
    .gallery-tile a:before {
      content: '';
      width: 2.5rem;
      height: 2.5rem;
      display: block;
      bottom: 1rem;
      right: 1rem;
      position: absolute;
      background: url(/assets/images/zoom.png) center no-repeat #1e1e1e;
      background-size: 75% 75%; }
  .gallery-tile figcaption {
    padding-top: .5rem; }
    .gallery-tile figcaption p {
      margin: 0;
      font-size: .85rem; }
  .gallery-tile img {
    display: block;
    min-height: 100%; }

figure {
  position: relative;
  margin-bottom: 0;
  overflow: hidden; }
  figure:after {
    content: '';
    width: 0rem;
    height: 0rem;
    border: solid 0 transparent;
    border-bottom-color: rgba(80, 87, 144, 0.5);
    display: block;
    border-left-width: 60rem;
    border-bottom-width: 7rem;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1; }
  figure:after {
    left: 0;
    right: auto; }

iframe {
  width: 100%; }
  iframe.map {
    display: block;
    height: 22rem;
    border: none;
    box-sizing: border-box;
    margin: -3rem 0 0 0;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.5); }

.magnify {
  position: relative;
  cursor: pointer; }
  .magnify img {
    height: 100%;
    width: 100%;
    display: block; }
  .magnify:after {
    content: none; }
  .magnify:before {
    content: '';
    display: block;
    width: 3rem;
    height: 3rem;
    background: url(/assets/images/zoom.png) center no-repeat;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    transition: all .125s ease;
    z-index: 1;
    border-radius: 50%; }
  .magnify:hover:before {
    background-color: #505790; }
  .magnify[class*='col-']:before {
    right: 3.95rem; }
    @media (max-width: 960px) {
      .magnify[class*='col-']:before {
        right: 1rem; } }

.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 25;
  background: center no-repeat #1e1e1e;
  background-size: contain; }
  .lightbox .close {
    position: fixed;
    top: 1rem;
    right: 1rem;
    display: block;
    background: url(/assets/images/close.png) center no-repeat #1e1e1e;
    border-radius: 50%;
    background-size: contain;
    width: 3rem;
    height: 3rem; }
  .lightbox nav {
    position: absolute;
    width: 100%;
    top: 33%;
    height: 33%; }
    .lightbox nav a {
      display: block;
      float: left;
      width: 50%;
      height: 100%;
      position: relative;
      text-indent: -9999px; }
      .lightbox nav a:before {
        content: '';
        width: 4rem;
        height: 100%;
        background: center no-repeat;
        background-size: contain;
        position: absolute;
        top: 0%;
        display: block;
        opacity: 0;
        transition: opacity ease .5s; }
      .lightbox nav a:hover:before {
        opacity: 1; }
      .lightbox nav a.prev:before {
        left: 2rem;
        background-image: url(/assets/images/nav-left.png); }
      .lightbox nav a.next:before {
        right: 2rem;
        background-image: url(/assets/images/nav-right.png); }

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

@-moz-keyframes loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(720deg); } }

@-ms-keyframes loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(720deg); } }

@-o-keyframes loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(720deg); } }

@keyframes loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(720deg); } }
