.debug.dump {
  font-size: 12px;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  padding: 0.7em 0.5em;
  margin: 10px;
  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.4) inset;
  background: #666;
  color: white; }

@font-face {
  font-family: "Replica";
  font-weight: normal;
  font-style: normal;
  src: url("/assets/font/ReplicaPro-Light.otf") format("truetype"); }

@font-face {
  font-family: "Replica";
  font-weight: normal;
  font-style: italic;
  src: url("/assets/font/ReplicaPro-LightItalic.otf") format("truetype"); }

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased; }

html, body {
  margin: 0 auto;
  padding: 0;
  font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 100;
  color: #000000;
  -webkit-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none; }

html {
  overflow-y: scroll; }

body {
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden; }

a {
  text-decoration: none;
  color: inherit; }

img {
  display: block; }

button {
  display: inline-block;
  padding: 0;
  border: 0;
  font-weight: 100;
  font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif;
  background: none;
  cursor: pointer; }

ul, ol {
  padding: 0;
  margin: 0; }

h1, h2, h3, h4 {
  font-weight: 100; }

[data-pane-trigger] {
  cursor: pointer; }

.archive-entry {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 0;
  line-height: 1.2em;
  font-size: 20px;
  transition: color 0.3s;
  margin: 0.3em 0; }
  .archive-entry .archive-entry-date {
    -ms-flex: 1;
        flex: 1;
    z-index: 0;
    display: none;
    margin-right: 30px; }
  .archive-entry .archive-entry-name {
    -ms-flex: 7;
        flex: 7;
    z-index: 2;
    margin-right: 30px; }
  .archive-entry .archive-entry-cat {
    -ms-flex: 4;
        flex: 4;
    z-index: 0;
    display: none;
    white-space: nowrap; }
    @media screen and (min-width: 1023px) {
      .archive-entry .archive-entry-cat {
        min-width: 275px; } }
  .archive-entry .archive-entry-image {
    position: absolute;
    top: 50%;
    left: calc((100%/12) + 10px);
    right: 0;
    width: calc((100%/12) * 7 - 30px);
    z-index: 1;
    transform: translateY(-50%);
    transition: opacity 0.1s, visibility 0.0s;
    opacity: 0;
    visibility: hidden;
    padding-left: 0; }
  @media screen and (min-width: 540px) {
    .archive-entry {
      font-size: 24px;
      margin: 0.4em 0; }
      .archive-entry .archive-entry-cat {
        display: block; } }
  @media screen and (min-width: 1023px) {
    .archive-entry {
      font-size: 36px;
      margin: 0.6em 0; }
      .archive-entry .archive-entry-date {
        display: block; } }
  @media screen and (orientation: landscape) and (max-height: 768px) {
    .archive-entry {
      font-size: 30px; } }
  .archive-entry.is-selected .archive-entry-date span,
  .archive-entry.is-selected .archive-entry-name span {
    border-bottom: 1px solid white;
    padding-bottom: 0.4em;
    transition: border-bottom-color 0.2s; }
    .archive-entry.is-selected .archive-entry-date span:hover,
    .archive-entry.is-selected .archive-entry-name span:hover {
      border-bottom-color: transparent; }
  .archive-entry.is-selected .archive-entry-image {
    opacity: 1;
    visibility: visible; }
  @media screen and (min-width: 540px) {
    .archive-entry.is-dimmed:hover {
      color: #ffffff !important; }
    .archive-entry .archive-entry-name:hover {
      text-shadow: 0 0 20px rgba(0, 0, 0, 0.3); }
      .archive-entry .archive-entry-name:hover span {
        border-bottom: 1px solid white;
        padding-bottom: 0.1em;
        transition: border-bottom-color 0.2s; }
        .archive-entry .archive-entry-name:hover span:hover {
          border-bottom-color: transparent; }
      .archive-entry .archive-entry-name:hover ~ .archive-entry-image {
        opacity: 1;
        visibility: visible;
        transition-duration: 0.2s; } }
  .archive-entry:hover {
    z-index: 1; }
  .archive-entry.is-dimmed {
    color: #686868;
    color: #353535; }

.big-link {
  font-size: 24px;
  display: inline-block;
  cursor: pointer;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.1em;
  transition: border-bottom-color 0.2s; }
  .big-link:hover {
    border-bottom-color: transparent; }
  @media screen and (min-width: 540px) {
    .big-link {
      font-size: 36px; } }
  @media screen and (min-width: 1023px) {
    .big-link {
      font-size: 48px; } }
  .big-link:focus:after, .big-link:active:after {
    height: 2px; }

.cart-empty-notice {
  font-size: 32px; }

.cart-table {
  width: 100%;
  font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif; }
  @media screen and (min-width: 540px) {
    .cart-table {
      border-top: 1px solid #909090; } }
  .cart-table thead {
    display: none; }
  .cart-table th, .cart-table .mobile-label {
    font-size: 14px;
    font-weight: normal;
    text-transform: uppercase; }
  .cart-table th, .cart-table td {
    text-align: left;
    vertical-align: top; }
  .cart-table .product-image {
    max-width: 180px; }
    .cart-table .product-image img {
      width: 100%; }
  .cart-table .product-cell p:first-of-type {
    margin-top: 0; }
  .cart-table .product-variant {
    font-size: 14px;
    margin-top: -0.8em; }
    @media screen and (min-width: 540px) {
      .cart-table .product-variant {
        font-size: 17px; } }
  @media screen and (min-width: 540px) {
    .cart-table .product-qty {
      text-align: center; } }
  .cart-table .product-qty input {
    width: 40px;
    border: 0px none;
    font-size: 18px;
    font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif;
    font-weight: normal;
    background: #efefef;
    text-align: center; }
  .cart-table .product-qty input[type=number]::-webkit-inner-spin-button,
  .cart-table .product-qty input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0; }
  .cart-table .total-row p {
    margin-top: 0; }
  .cart-table .total-row p + small {
    display: block;
    margin-top: -0.9em; }
  .cart-table .total-row small {
    font-size: 13px; }
  .cart-table .help-row p {
    margin-top: 0; }
  .cart-table .product-remove-from-cart {
    font-size: 18px;
    text-decoration: underline; }
  .cart-table .cart-helptext {
    font-size: 17px; }
  @media screen and (min-width: 540px) {
    .cart-table {
      border-collapse: collapse; }
      .cart-table .mobile-label {
        display: block;
        margin: 0 0 12px; }
      .cart-table td + td, .cart-table th + th {
        padding-left: 20px; }
      .cart-table td {
        font-size: 24px; }
      .cart-table .product-qty {
        width: 100px; }
        .cart-table .product-qty input {
          width: 50px;
          border: 0px none;
          background: #efefef;
          text-align: center; }
      .cart-table .product-row td,
      .cart-table .total-row td {
        border-top: 1px solid #909090;
        padding-top: 20px;
        padding-bottom: 20px; }
      .cart-table .total-row td[colspan] {
        padding-left: calc(50% + 15px); }
      .cart-table .total-row small {
        display: block;
        font-size: 17px; }
      .cart-table .help-row td[colspan] {
        padding-left: calc(50% + 15px); }
      .cart-table .product-image {
        padding-top: 50px !important;
        max-width: 180px;
        width: 180px; }
        .cart-table .product-image img {
          max-width: 180px; } }
  @media screen and (max-width: 539px) {
    .cart-table {
      display: block; }
      .cart-table tbody, .cart-table tr, .cart-table th, .cart-table td {
        display: block; }
      .cart-table .product-row, .cart-table .total-row {
        display: -ms-flexbox;
        display: flex;
        padding-top: 20px;
        padding-bottom: 20px;
        border-top: 1px solid #909090;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: start;
            align-items: flex-start; }
      .cart-table .product-row {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        text-align: left; }
        .cart-table .product-row td {
          padding-bottom: 20px; }
      .cart-table .product-cell,
      .cart-table .product-image {
        width: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
      .cart-table .product-qty {
        -ms-flex-preferred-size: 60%;
            flex-basis: 60%; }
      .cart-table .product-price {
        -ms-flex-preferred-size: 40%;
            flex-basis: 40%; }
      .cart-table .total-row > :first-child {
        -ms-flex-preferred-size: 60%;
            flex-basis: 60%; }
      .cart-table .total-row > * + * {
        -ms-flex-preferred-size: 40%;
            flex-basis: 40%; }
      .cart-table .mobile-label {
        display: block;
        opacity: 0.7;
        margin-bottom: 1em; } }

.centered-whitespace {
  text-align: left;
  padding: 10vw 0; }
  @media screen and (min-width: 720px) {
    .centered-whitespace {
      padding: 8vw; } }
  @media screen and (min-width: 1023px) {
    .centered-whitespace {
      padding: 6vw; } }
  @media screen and (min-width: 1200px) {
    .centered-whitespace {
      padding: 4vw; } }
  @media screen and (min-width: 720px) {
    .centered-whitespace {
      padding-left: calc(50% + 30px); } }

.contact-details {
  font-size: 14px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start !important;
      align-items: flex-start !important; }
  .contact-details > div {
    -ms-flex-preferred-size: calc(50% - 15px);
        flex-basis: calc(50% - 15px); }
  .contact-details > div + div {
    margin-left: 30px; }
  @media screen and (min-width: 1200px) {
    .contact-details {
      padding-right: calc(50% + 15px); } }
  .contact-details p {
    margin-top: 0; }
  .contact-details a {
    border-bottom: 1px solid currentColor;
    padding-bottom: 0px;
    transition: border-bottom-color 0.2s; }
    .contact-details a:hover {
      border-bottom-color: transparent; }
    .contact-details a[href*="tel:"] {
      text-decoration: none;
      border-bottom: 1px solid transparent;
      padding-bottom: 0px;
      transition: border-bottom-color 0.2s; }
      .contact-details a[href*="tel:"]:hover {
        border-bottom-color: transparent; }
  @media screen and (min-width: 540px) {
    .contact-details {
      font-size: 24px; } }

.content-block .text {
  font-size: 16px; }
  .content-block .text a {
    border-bottom: 1px solid currentColor;
    padding-bottom: 0px;
    transition: border-bottom-color 0.2s;
    transition: opacity 0.2s; }
    .content-block .text a:hover {
      border-bottom-color: transparent; }
    .content-block .text a:hover {
      opacity: 0.6; }
  @media screen and (min-width: 720px) {
    .content-block .text {
      font-size: 18px;
      line-height: 1.3em; } }
  @media screen and (min-width: 1023px) {
    .content-block .text {
      font-size: 24px;
      line-height: 1.2em; } }

.content-block * + .text p {
  margin-left: auto; }

.content-block .image img {
  width: 100%; }

.content-block .images .image {
  max-width: 66%;
  position: relative; }

.content-block .images .image:only-child {
  max-width: 100%; }

.content-block .images > * + * {
  margin-top: 10px; }

@media screen and (min-width: 540px) {
  .content-block .images {
    display: -ms-flexbox;
    display: flex; }
    .content-block .images [data-width="1"] {
      -ms-flex: 1;
          flex: 1; }
    .content-block .images [data-width="2"] {
      -ms-flex: 2;
          flex: 2; }
    .content-block .images > * + * {
      margin-top: 0;
      margin-left: 30px; } }

.content-block .link {
  font-size: 18px; }
  .content-block .link a {
    display: inline-block;
    border-bottom: 1px solid currentColor;
    padding-bottom: 0.1em;
    transition: border-bottom-color 0.2s; }
    .content-block .link a:hover {
      border-bottom-color: transparent; }
  @media screen and (min-width: 540px) {
    .content-block .link {
      font-size: 26px; } }
  @media screen and (min-width: 1023px) {
    .content-block .link {
      font-size: 36px; } }

@media screen and (min-width: 540px) {
  .content-block.text-only .text {
    max-width: calc((100%/12) * 8 - 15px);
    margin-left: auto;
    padding-right: 8.33333%; } }

.content-block.text-aside {
  display: block; }
  @media screen and (max-width: 539px) {
    .content-block.text-aside * + .text {
      margin-left: 0; } }
  @media screen and (min-width: 540px) {
    .content-block.text-aside {
      display: -ms-flexbox;
      display: flex; }
      .content-block.text-aside p:first-child {
        margin-top: 0; }
      .content-block.text-aside p {
        padding-right: 15px; } }
  @media screen and (min-width: 1023px) {
    .content-block.text-aside .text {
      padding-top: 188px; }
      .content-block.text-aside .text p {
        max-width: 65%; } }

.content-block.image-aside-left .image {
  margin-right: 33.33333%; }

@media screen and (min-width: 540px) {
  .content-block.image-aside-left .image {
    margin-right: calc(50% + 15px); }
  .content-block.image-aside-left.small-aside .image {
    margin-right: calc(100%/3 + 15px); } }

.content-block.image-aside-right .image {
  margin-left: 33.33333%; }

@media screen and (min-width: 540px) {
  .content-block.image-aside-right .image {
    margin-left: calc(50% + 15px); }
  .content-block.image-aside-right.small-aside .image {
    margin-left: calc(100%/3 + 15px); } }

.content-block [data-layout] + [data-layout],
.content-block + .content-block {
  margin-top: 10px; }
  @media screen and (min-width: 540px) {
    .content-block [data-layout] + [data-layout],
    .content-block + .content-block {
      margin-top: 30px; } }

.content-block.text-only + .content-block,
.content-block.specs + .content-block {
  margin-top: 10vw; }

.content-block.text-only + .content-block.specs {
  margin-top: 0vw; }

.customer-address .customer-address-title {
  margin-top: 0;
  font-size: 24px; }

.customer-address .customer-address-actions {
  margin-top: 10px; }
  @media screen and (min-width: 720px) {
    .customer-address .customer-address-actions {
      margin-top: 30px; } }
  .customer-address .customer-address-actions a {
    text-decoration: underline; }

.customer-address .customer-address-email-form {
  margin-bottom: 1em; }
  .customer-address .customer-address-email-form span {
    margin-right: 1em; }
  .customer-address .customer-address-email-form button {
    font-size: 16px;
    display: inline-block;
    text-decoration: underline; }

.customer-address-form {
  font-size: 24px; }
  .customer-address-form .customer-address-form-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    margin-bottom: 10px;
    position: relative; }
    .customer-address-form .customer-address-form-row label {
      display: none;
      font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif; }
    .customer-address-form .customer-address-form-row input {
      outline: 0 none;
      background: none;
      font-size: 24px;
      border: 0px none;
      border-bottom: 1px solid #909090;
      font-weight: 300;
      padding-bottom: 0px;
      width: 100%;
      font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif; }
      @media screen and (min-width: 540px) {
        .customer-address-form .customer-address-form-row input {
          padding-bottom: 7px; } }
      .customer-address-form .customer-address-form-row input:focus, .customer-address-form .customer-address-form-row input:active {
        box-shadow: 0 1px 0 0 #909090; }
      .customer-address-form .customer-address-form-row input:-ms-input-placeholder {
        color: #909090; }
      .customer-address-form .customer-address-form-row input::placeholder {
        color: #909090; }
    .customer-address-form .customer-address-form-row select {
      width: 100%;
      font-size: 20px;
      height: 2em;
      outline: 0 none; }
      .customer-address-form .customer-address-form-row select:focus, .customer-address-form .customer-address-form-row select:active {
        box-shadow: 0 0px 0 1px #909090; }
      @media screen and (min-width: 540px) {
        .customer-address-form .customer-address-form-row select {
          font-size: 24px; } }
  .customer-address-form a {
    text-decoration: underline; }
  .customer-address-form legend {
    display: block;
    margin-top: 5vw;
    margin-bottom: 20px;
    font-size: 24px; }
  .customer-address-form .actions {
    margin-top: 5vw; }
    .customer-address-form .actions input.big-link {
      background: none;
      padding: 0;
      text-align: left;
      display: inline-block;
      border: 0 none;
      border-bottom: 1px solid #909090;
      width: auto;
      font-weight: 300;
      outline: 0; }
      .customer-address-form .actions input.big-link:focus, .customer-address-form .actions input.big-link:active {
        color: #686868;
        box-shadow: 0 1px 0 0 #909090; }
  .customer-address-form [data-layout~="cols"][data-layout~="right-only"] {
    padding-left: 25%; }
  .customer-address-form .error-msg {
    position: absolute;
    background: #ffc966;
    padding: 0 0.5em;
    line-height: 1.7em;
    font-size: 14px;
    top: 100%;
    right: 0;
    margin-top: 0;
    z-index: 4; }
  @media screen and (min-width: 720px) {
    .customer-address-form .customer-address-form-row {
      padding-left: 25%; }
      .customer-address-form .customer-address-form-row label, .customer-address-form .customer-address-form-row input {
        font-size: 32px; }
    .customer-address-form [data-layout^="cols"] {
      padding-left: 25%; }
      .customer-address-form [data-layout^="cols"] .customer-address-form-row {
        padding-left: 0; }
        .customer-address-form [data-layout^="cols"] .customer-address-form-row input, .customer-address-form [data-layout^="cols"] .customer-address-form-row .error {
          width: 100%; }
    .customer-address-form .customer-address-form-checkbox {
      padding-left: 25%; }
    .customer-address-form legend {
      font-size: 32px;
      padding-left: 25%; } }
  .customer-address-form .customer-address-form-checkbox {
    position: relative; }
    .customer-address-form .customer-address-form-checkbox label {
      font-size: 18px; }
    .customer-address-form .customer-address-form-checkbox .error-msg {
      bottom: none;
      top: none;
      right: none;
      position: static;
      display: inline-block; }
  .customer-address-form [data-shipping-address-inputs] {
    display: none; }
    .customer-address-form [data-shipping-address-inputs].is-open {
      display: block; }
  @media screen and (min-width: 720px) {
    .customer-address-form [data-layout="form-row-two-up"] {
      display: -ms-flexbox;
      display: flex;
      padding-left: 25%; }
      .customer-address-form [data-layout="form-row-two-up"] .customer-address-form-row {
        padding-left: 0;
        -ms-flex: 1;
            flex: 1; }
      .customer-address-form [data-layout="form-row-two-up"] input {
        display: block;
        width: 100%; }
      .customer-address-form [data-layout="form-row-two-up"] > * + * {
        margin-left: 30px; } }

.filter-categories .filter-date-range {
  display: none;
  font-size: 24px; }
  @media screen and (min-width: 540px) {
    .filter-categories .filter-date-range {
      -ms-flex: 0.5;
          flex: 0.5;
      display: block; } }
  @media screen and (min-width: 1023px) {
    .filter-categories .filter-date-range {
      font-size: 36px;
      -ms-flex: 1;
          flex: 1; } }
  @media screen and (orientation: landscape) and (max-height: 768px) {
    .filter-categories .filter-date-range {
      font-size: 30px; } }

.filter-categories .filter-category-list {
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 20px; }
  @media screen and (max-width: 539px) {
    .filter-categories .filter-category-list {
      margin-left: 0 !important; } }
  @media screen and (min-width: 540px) {
    .filter-categories .filter-category-list {
      font-size: 24px; } }
  @media screen and (min-width: 1023px) {
    .filter-categories .filter-category-list {
      font-size: 36px; } }
  @media screen and (orientation: landscape) and (max-height: 768px) {
    .filter-categories .filter-category-list {
      font-size: 30px; } }
  .filter-categories .filter-category-list li {
    -ms-flex-preferred-size: calc(50% - 15px);
        flex-basis: calc(50% - 15px);
    color: #686868; }
    .filter-categories .filter-category-list li:nth-child(2n+1) {
      margin-right: 30px; }
    .filter-categories .filter-category-list li a {
      color: inherit;
      cursor: pointer;
      position: relative;
      transition: color 0.3s;
      white-space: nowrap;
      border-bottom: 1px solid transition;
      padding-bottom: 0.01em;
      transition: border-bottom-color 0.2s; }
      .filter-categories .filter-category-list li a:hover {
        border-bottom-color: transparent; }
      .filter-categories .filter-category-list li a.is-selected {
        color: #ffffff;
        border-bottom: 1px solid white;
        padding-bottom: 0.01em;
        transition: border-bottom-color 0.2s; }
        .filter-categories .filter-category-list li a.is-selected:hover {
          border-bottom-color: transparent; }

.no-touchevents .filter-categories .filter-category-list li a:hover {
  color: #ffffff; }

@media screen and (min-width: 720px) {
  footer {
    min-height: calc(100vh - 3 * 60px);
    padding-top: 57px;
    position: relative;
    margin-top: 14vw; }
    footer .contact-details {
      position: absolute;
      width: 100%;
      top: 57px; }
    footer .footer-logo {
      position: absolute;
      width: 100%;
      bottom: 0; } }

footer .footer-logo {
  margin-top: 10vw; }
  @media screen and (min-width: 540px) {
    footer .footer-logo {
      margin-top: 5vw; } }

.footer-logo .logo {
  margin-left: auto;
  width: 100%; }

@media screen and (min-width: 720px) {
  .footer-logo .logo {
    max-width: calc(50% - 15px); } }

.image-link {
  position: relative; }
  .image-link img {
    width: 100%;
    position: relative;
    z-index: 1; }
  .image-link .image-link-color-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2; }
  .image-link .rollover-text {
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    padding-left: 10px;
    padding-right: 10px;
    color: #000000;
    z-index: 3; }
    @media screen and (min-width: 540px) {
      .image-link .rollover-text {
        top: 26px;
        padding-left: 30px;
        padding-right: 30px; } }
  .image-link .image-link-color-overlay {
    opacity: 0;
    transition: opacity 1.4s;
    background-color: #ffffff; }
  .image-link .rollover-text {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.7s, visibility 0.7s; }

.touchevents .image-link.touched .image-link-color-overlay,
.no-touchevents .image-link:hover .image-link-color-overlay {
  opacity: 0.8;
  transition-duration: 0.2s; }

.touchevents .image-link.touched .rollover-text,
.no-touchevents .image-link:hover .rollover-text {
  opacity: 1;
  transition-duration: 0.2s;
  visibility: visible; }

.image-hover img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .3s ease opacity; }

.image-hover .image-hover-secondary {
  position: absolute;
  top: 0;
  opacity: 0; }

.image-hover.is-active .image-hover-main {
  opacity: 0; }

.image-hover.is-active .image-hover-secondary {
  opacity: 1; }

.intro-text {
  font-size: 22px;
  font-weight: 100;
  line-height: 1.15em; }
  .intro-text a {
    border-bottom: 1px solid currentColor;
    padding-bottom: 0px;
    transition: border-bottom-color 0.2s;
    cursor: pointer; }
    .intro-text a:hover {
      border-bottom-color: transparent; }
  @media screen and (min-width: 540px) {
    .intro-text {
      margin: 0 calc(100%/12 + 30px) 0 calc(100%/6 + 30px);
      line-height: 1.25em;
      font-size: 36px; } }
  @media screen and (orientation: landscape) and (max-height: 768px) {
    .intro-text {
      font-size: 28px; } }

.pane-header {
  padding: 16px 0 0 !important; }
  @media screen and (min-width: 540px) {
    .pane-header {
      padding: 25px 0 0 !important; } }
  .pane-header h2 {
    font-size: 32px;
    margin: 0;
    margin-bottom: 15px; }
    @media screen and (min-width: 1023px) {
      .pane-header h2 {
        margin-bottom: 0; } }
    .pane-header h2 p {
      margin: 0; }
  .pane-header a {
    font-size: 16px;
    cursor: pointer;
    display: inline-block; }
  .pane-header a + a {
    margin-left: 30px; }
  .pane-header a {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.3s, transform 0.3s; }
  @media screen and (min-width: 540px) {
    .pane-header h2 {
      font-size: 48px; }
    .pane-header a {
      font-size: 24px;
      font-weight: 100;
      -ms-flex: 1;
          flex: 1; } }
  @media screen and (min-width: 1023px) {
    .pane-header {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: baseline;
          align-items: baseline; }
      .pane-header > :first-child {
        -ms-flex-preferred-size: calc(100%/12 * 8);
            flex-basis: calc(100%/12 * 8); }
      .pane-header a {
        display: block;
        white-space: nowrap;
        margin-left: 30px; } }

.product-cta {
  font-size: 32px;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-item-align: stretch;
      align-self: stretch; }
  @media screen and (max-width: 539px) {
    .product-cta {
      min-height: 80vw; } }
  @media screen and (min-width: 540px) {
    .product-cta {
      font-size: 48px; } }
  .product-cta a {
    cursor: pointer; }
  .product-cta button {
    font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif;
    font-size: 48px;
    font-weight: 100;
    padding: 0 0.3em;
    outline: 0; }
  .product-cta .product-cta-price {
    margin: 10px 0 0.4em; }
    .product-cta .product-cta-price .gst-note {
      font-size: 17px;
      display: block; }
  .product-cta .product-cta-qty {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    .product-cta .product-cta-qty label, .product-cta .product-cta-qty input, .product-cta .product-cta-qty button {
      font-size: 20px;
      font-family: "Replica", "Helvetica Neue", "Helvetica", sans-serif;
      font-weight: 100;
      padding: 0 0.3em; }
    .product-cta .product-cta-qty input {
      width: 50px;
      border: 0px none;
      background: #efefef;
      text-align: center; }
    .product-cta .product-cta-qty input[type=number]::-webkit-inner-spin-button,
    .product-cta .product-cta-qty input[type=number]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      margin: 0; }
    .product-cta .product-cta-qty [data-qty-incr] {
      transform: translateY(-0.08em); }
    @media screen and (min-width: 720px) {
      .product-cta .product-cta-qty label, .product-cta .product-cta-qty input, .product-cta .product-cta-qty button {
        font-size: 24px; }
      .product-cta .product-cta-qty input {
        width: 50px; } }
    @media screen and (min-width: 1023px) {
      .product-cta .product-cta-qty label, .product-cta .product-cta-qty input, .product-cta .product-cta-qty button {
        font-size: 48px; }
      .product-cta .product-cta-qty input {
        width: 70px; } }
  .product-cta .product-cta-add-to-cart {
    margin: 0.2em 0 0.2em; }
    @media screen and (min-width: 720px) {
      .product-cta .product-cta-add-to-cart {
        margin: 1.0em 0 0.2em; } }
    .product-cta .product-cta-add-to-cart span {
      border-bottom: 1px solid black;
      padding-bottom: 0.1em;
      transition: border-bottom-color 0.2s; }
      .product-cta .product-cta-add-to-cart span:hover {
        border-bottom-color: transparent; }
  .product-cta .product-cta-helptext {
    font-size: 16px; }
    @media screen and (min-width: 720px) {
      .product-cta .product-cta-helptext {
        font-size: 20px; } }
    @media screen and (min-width: 1023px) {
      .product-cta .product-cta-helptext {
        font-size: 24px; } }
  .product-cta .product-cta-section.bottom .product-cta-helptext {
    margin-bottom: 0; }

.product-options {
  width: 100%;
  margin: 0 auto 30px;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  @media screen and (min-width: 720px) {
    .product-options {
      display: -ms-flexbox;
      display: flex; }
      .product-options .product-option + .product-option {
        margin-left: 30px; } }

.product-option {
  -ms-flex: 1;
      flex: 1;
  font-size: 16px;
  position: relative;
  text-align: center;
  display: block;
  overflow: visible;
  cursor: pointer; }
  @media screen and (min-width: 720px) {
    .product-option {
      font-size: 17px; } }
  @media screen and (min-width: 1023px) {
    .product-option {
      font-size: 20px; } }
  .product-option label[data-current-option] {
    display: block;
    position: relative;
    padding: 0.5em 0.5em;
    white-space: nowrap;
    border-bottom: 1px solid #000000;
    cursor: inherit; }
    .product-option label[data-current-option]:before, .product-option label[data-current-option]:after {
      content: '';
      opacity: 0; }
    .product-option label[data-current-option]:before {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -200%);
      background: url("/assets/img/arrow-down.svg") no-repeat;
      opacity: 0;
      width: 13px;
      height: 7px;
      z-index: 2;
      transition: .2s ease;
      transition-property: opacity, transform; }
    .product-option label[data-current-option]:after {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background-color: #ffffff; }
    .product-option label[data-current-option].is-focused:before {
      background: url("/assets/img/arrow-up.svg") no-repeat; }
    .product-option label[data-current-option]:hover:after {
      top: 30%;
      opacity: 0.8; }
    .product-option label[data-current-option]:hover:before {
      transform: translate(-50%, -50%);
      opacity: 1; }
  .product-option > span {
    display: table-cell;
    position: relative;
    padding-left: 2em;
    cursor: pointer; }

.product-option [data-current-option].is-focused {
  border-bottom-width: 0px; }

.product-option [data-current-option].is-focused + .product-option-values {
  height: auto;
  box-shadow: -15px 0 0 0 white, 15px 0 0 0 white;
  border-bottom: 1px solid #000000; }

.no-touchevents .product-option-values {
  position: relative; }

.product-option-values {
  left: 0;
  width: 100%;
  background: white;
  height: 0;
  overflow: hidden;
  padding: 3px 0; }
  @media screen and (min-width: 540px) {
    .product-option-values {
      padding: 7px 0; } }
  .product-option-values label {
    display: block;
    color: #686868;
    line-height: 1.7em;
    cursor: pointer; }
  .product-option-values span {
    display: block; }
  .product-option-values input:checked + label {
    display: none; }

.product-option-value label {
  white-space: nowrap; }

.product-option-value input {
  display: none; }

.product-specs {
  font-size: 16px; }
  .product-specs .product-specs-section {
    -ms-flex: 1;
        flex: 1; }
  .product-specs a {
    text-decoration: underline; }
  @media screen and (min-width: 720px) {
    .product-specs {
      font-size: 24px; } }
  @media screen and (min-width: 540px) {
    .product-specs {
      display: -ms-flexbox;
      display: flex; }
      .product-specs .product-specs-section + .product-specs-section {
        padding-left: 30px; }
      .product-specs > .product-specs-section:first-child {
        padding-left: calc(100%/3 + 15px); } }

.product-thumb {
  position: relative;
  margin-bottom: 40px; }
  @media screen and (min-width: 540px) {
    .product-thumb {
      margin-bottom: 60px; } }
  .product-thumb .product-image {
    width: 100%; }
  .product-thumb .product-details {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin: 0.6em 0 0;
    font-size: 16px;
    width: 100%; }
    .product-thumb .product-details :last-child {
      color: rgba(0, 0, 0, 0.7); }
    @media screen and (min-width: 540px) {
      .product-thumb .product-details {
        font-size: 24px; } }

.simple-list {
  display: block;
  font-size: 16px; }
  .simple-list h4 {
    margin-top: 0; }
  .simple-list ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    margin: 0; }
  .simple-list li {
    width: 100%; }
  .simple-list a {
    padding: 5px 0;
    display: inline-block; }
    .simple-list a:hover {
      border-bottom: 1px solid transparent;
      padding-bottom: 0.1em;
      transition: border-bottom-color 1s; }
      .simple-list a:hover:hover {
        border-bottom: 1px solid #000000; }
  .simple-list .simple-list-container {
    width: 66.666%; }
  @media screen and (min-width: 540px) {
    .simple-list {
      font-size: 18px;
      display: -ms-flexbox;
      display: flex; }
      .simple-list h4 {
        text-align: right; }
      .simple-list li {
        width: 50%; }
      .simple-list .simple-list-title {
        width: calc(33.333% + 20px);
        padding-right: 6vw; } }
  @media screen and (min-width: 720px) {
    .simple-list {
      font-size: 22px; } }
  @media screen and (min-width: 1023px) {
    .simple-list {
      font-size: 36px; } }

.rollover-text {
  font-size: 18px;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  position: relative;
  line-height: 1.3em;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }
  .rollover-text span:nth-child(1) {
    -ms-flex-positive: 0;
        flex-grow: 0;
    z-index: 0; }
  .rollover-text span:nth-child(2) {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    z-index: 2; }
  .rollover-text span:nth-child(3) {
    -ms-flex-positive: 0;
        flex-grow: 0;
    display: none;
    z-index: 0; }
  @media screen and (min-width: 540px) {
    .rollover-text {
      font-size: 32px; }
      .rollover-text span {
        display: block; } }

.shipping-method-form select {
  font-size: 16px;
  margin: 20px 0; }

.shipping-method-form .shipping-method-form-actions button {
  font-size: 16px;
  text-decoration: underline; }

.shipping-method-summary .shipping-method-title {
  margin: 0 0 0.8em;
  font-size: 16px; }

.shipping-method-summary .shipping-method-description p {
  margin: 0; }

.shipping-method-summary .shipping-method-zone-prices {
  list-style: inside none;
  margin-top: 0.2em; }

.custom-body-copy {
  font-size: 17px;
  margin-right: 10px; }
  @media screen and (min-width: 540px) {
    .custom-body-copy {
      margin-left: calc(100%/6 + 30px); } }
  @media screen and (min-width: 540px) {
    .custom-body-copy {
      max-width: calc((100%/12) * 8 - 15px);
      margin-left: auto;
      padding-right: 8.33333%; } }
  .custom-body-copy ul, .custom-body-copy ol {
    padding-left: 1em; }
    .custom-body-copy ul li + li, .custom-body-copy ol li + li {
      margin-left: 0;
      margin-top: 1em; }

.intro-animation {
  height: calc(100vh - 295px);
  min-height: 350px;
  overflow: hidden;
  position: relative;
  margin: 50px 0 100px 0;
  z-index: 1; }
  .intro-animation .intro-animation-item {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    background-repeat: no-repeat; }
  .intro-animation .intro-text {
    transform: translateY(-50px); }
    .intro-animation .intro-text p {
      opacity: 0;
      visibility: hidden;
      transform: translateY(60px); }
  @media screen and (min-width: 540px) {
    .intro-animation {
      height: calc(100vh - 330px); } }
  @media screen and (min-width: 720px) {
    .intro-animation {
      height: calc(100vh - 340px);
      min-height: 450px; } }
  @media screen and (min-width: 1023px) {
    .intro-animation {
      height: calc(100vh - 295px);
      min-height: 600px; } }

[data-pane] .intro-animation .intro-text {
  margin-bottom: 0; }

[data-layout~="cols"] {
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  [data-layout~="cols"] > * {
    -ms-flex: 1;
        flex: 1; }
  @media screen and (min-width: 540px) {
    [data-layout~="cols"] [data-width="2"] {
      -ms-flex: 2;
          flex: 2; }
    [data-layout~="cols"] [data-width="3"] {
      -ms-flex: 3;
          flex: 3; }
    [data-layout~="cols"] [data-width="4"] {
      -ms-flex: 4;
          flex: 4; }
    [data-layout~="cols"] [data-width="5"] {
      -ms-flex: 5;
          flex: 5; }
    [data-layout~="cols"] [data-width="6"] {
      -ms-flex: 6;
          flex: 6; } }
  [data-layout~="cols"] > * + * {
    margin-left: 10px; }
    @media screen and (min-width: 540px) {
      [data-layout~="cols"] > * + * {
        margin-left: 30px; } }
  @media screen and (max-width: 539px) {
    [data-layout~="cols"][data-layout~="collapse"] {
      display: block; }
      [data-layout~="cols"][data-layout~="collapse"] > * + * {
        margin-top: 30px;
        margin-left: 0; } }
  @media screen and (min-width: 540px) {
    [data-layout~="cols"][data-layout~="left-only"] {
      padding-right: calc(50% + 15px); }
    [data-layout~="cols"][data-layout~="right-only"] {
      padding-left: calc(50% + 15px); }
    [data-layout~="cols"][data-layout~="left-only"][data-layout~="small-aside"] {
      padding-right: calc(100%/3 + 15px); }
    [data-layout~="cols"][data-layout~="right-only"][data-layout~="small-aside"] {
      padding-left: calc(100%/3 + 15px); } }

@media screen and (min-width: 540px) {
  [data-layout~="alternate"] > :nth-child(2n) {
    margin-left: 16.66667%; }
  [data-layout~="alternate"] > :nth-child(2n+1) {
    margin-right: 16.66667%; } }

[data-layout~="even-columns"] {
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  [data-layout~="even-columns"] > * {
    -ms-flex: 1;
        flex: 1;
    width: 0; }
  [data-layout~="even-columns"] > * + * {
    margin-left: 10px; }

[data-view~="debug"] section {
  border-bottom: 1px #909090; }
  [data-view~="debug"] section > h1 {
    font-size: 48px;
    text-align: center; }
  [data-view~="debug"] section > .component > h2 {
    text-align: center; }

[data-pane="featured/about"] .image {
  margin-bottom: 9vw; }

[data-pane="featured/about"] .simple-list {
  margin-bottom: 6vw; }

[data-pane] {
  box-shadow: 0 0px 10px 3px rgba(0, 0, 0, 0.1);
  transform: translate3D(0, 0, 0);
  padding: 0px 10px;
  overflow: hidden; }
  @media screen and (min-width: 540px) {
    [data-pane] {
      padding: 0px 30px; } }
  @media screen and (min-width: 540px) and (orientation: landscape) and (max-height: 768px) {
    [data-pane] {
      padding-left: 120px;
      padding-right: 120px; } }
  [data-pane] .pane-inner {
    padding: 1px 0;
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto; }
  [data-pane].is-collapsed .pane-header a {
    opacity: 0;
    transform: translateY(10px); }
  [data-pane].is-collapsed {
    height: 37px;
    overflow: hidden;
    padding-bottom: 0;
    cursor: pointer; }
    @media screen and (min-width: 540px) {
      [data-pane].is-collapsed {
        height: 57px; } }
  [data-pane][data-theme="normal"] {
    background: #ffffff; }
  [data-pane][data-theme="alt"] {
    background: #efefef; }
  [data-pane][data-theme="invert"] {
    background: #000000;
    color: #ffffff; }
  [data-pane][data-theme="error"] {
    background: #ffc966; }
  [data-pane] .intro-text {
    margin-top: 14vw; }
    @media screen and (min-width: 540px) {
      [data-pane] .intro-text {
        margin-top: 10vw;
        margin-bottom: 13vw; } }
  @media screen and (min-width: 540px) {
    [data-pane] .intro-text + .custom-body-copy,
    [data-pane] .intro-text + .content-block.text-only,
    [data-pane] .intro-text + .content-block.specs {
      margin-top: -9vw; } }
  [data-pane] .filter-categories {
    margin-top: 8vw; }
  [data-pane] .filter-categories + .archive-entry {
    margin-top: 150px; }
  [data-pane] footer {
    padding-top: 25vw;
    margin-bottom: 40px; }

.no-touchevents [data-pane].is-collapsed,
.no-touchevents [data-pane].is-collapsing {
  transition: min-height 0.2s cubic-bezier(0, 0.63, 0.14, 1);
  min-height: 37px; }
  .no-touchevents [data-pane].is-collapsed:hover,
  .no-touchevents [data-pane].is-collapsing:hover {
    min-height: 57px; }
  @media screen and (min-width: 540px) {
    .no-touchevents [data-pane].is-collapsed,
    .no-touchevents [data-pane].is-collapsing {
      min-height: 57px; }
      .no-touchevents [data-pane].is-collapsed:hover,
      .no-touchevents [data-pane].is-collapsing:hover {
        min-height: 83px; } }

[data-pane="store"] .product-thumbs {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-bottom: 4vw; }
  [data-pane="store"] .product-thumbs .product-thumb .image-link {
    padding-top: 100%; }
  @media screen and (min-width: 540px) {
    [data-pane="store"] .product-thumbs {
      padding-left: 19.5%; } }
  @media screen and (min-width: 1023px) {
    [data-pane="store"] .product-thumbs {
      display: -ms-flexbox;
      display: flex; }
      [data-pane="store"] .product-thumbs .product-thumb {
        width: calc(50% - 15px); } }

[data-pane="store"] .content-block .link {
  margin-bottom: 50px;
  text-align: center; }
  @media screen and (min-width: 720px) {
    [data-pane="store"] .content-block .link {
      text-align: left;
      margin-bottom: 5vw;
      padding-left: 41.7%;
      margin-left: calc(100%/6 + 30px); } }
  @media screen and (min-width: 1023px) {
    [data-pane="store"] .content-block .link .big-link {
      font-size: 36px; } }
  @media screen and (min-width: 1200px) {
    [data-pane="store"] .content-block .link .big-link {
      font-size: 48px; } }

[data-pane="store"] .intro-text {
  margin-bottom: 5vw; }

[data-pane="store"] .intro-text + [data-layout~="alternate"] {
  margin-top: 20vw; }
  @media screen and (min-width: 540px) {
    [data-pane="store"] .intro-text + [data-layout~="alternate"] {
      margin-top: 10vw; } }

[data-pane="featured"] .image-link-color-overlay {
  background-color: #efefef; }

[data-pane="featured"] .featured-project + .featured-project {
  margin-top: 120px; }

@media screen and (max-width: 539px) {
  [data-pane="featured"] .featured-project > .content-block:first-child .image:only-child {
    width: 100% !important;
    margin-left: 0 !important; } }

[data-pane="archive"] .content-block.text-only {
  margin-top: 7vw; }

[data-pane="archive"] .filter-categories + .project-archive {
  margin-top: 8vw; }

[data-pane="archive"] .project-archive {
  position: relative; }
  [data-pane="archive"] .project-archive .archive-entry:first-child {
    margin-top: 0; }

[data-pane="store/cart"] footer {
  margin-top: 40px; }
  @media screen and (min-width: 540px) {
    [data-pane="store/cart"] footer {
      margin-top: 7vw; } }

[data-pane="store/cart"] .pane-header {
  margin-bottom: 6vw; }

[data-pane="store/cart"] .cart-actions {
  margin-top: 4vw;
  margin-bottom: 57px; }
  [data-pane="store/cart"] .cart-actions a {
    cursor: pointer; }
  [data-pane="store/cart"] .cart-actions p {
    font-size: 17px; }
  @media screen and (min-width: 720px) {
    [data-pane="store/cart"] .cart-actions {
      padding-left: calc(50% + 15px);
      text-align: left; } }

[data-pane="store/cart"] .customer-address-form {
  margin-bottom: 7vw; }

[data-pane="store/cart"] .cart-checkout-actions-inner-columns > * {
  margin-bottom: 30px; }

@media screen and (min-width: 720px) {
  [data-pane="store/cart"] .cart-checkout-actions-inner-columns {
    display: -ms-flexbox;
    display: flex; }
    [data-pane="store/cart"] .cart-checkout-actions-inner-columns > * {
      -ms-flex: 1;
          flex: 1; }
    [data-pane="store/cart"] .cart-checkout-actions-inner-columns > * + * {
      margin-left: 30px; } }

[data-pane="store/cart"] .cart-checkout-actions {
  border-top: 1px solid #909090;
  margin-top: 5vw;
  padding-top: 30px; }
  [data-pane="store/cart"] .cart-checkout-actions > * {
    margin-bottom: 30px; }
  @media screen and (min-width: 1023px) {
    [data-pane="store/cart"] .cart-checkout-actions {
      display: -ms-flexbox;
      display: flex; }
      [data-pane="store/cart"] .cart-checkout-actions > * {
        -ms-flex: 1;
            flex: 1; }
      [data-pane="store/cart"] .cart-checkout-actions > * + * {
        margin-left: 30px; } }
  [data-pane="store/cart"] .cart-checkout-actions h4 {
    margin: 0 0 1em;
    font-size: 24px; }
  [data-pane="store/cart"] .cart-checkout-actions p a {
    text-decoration: underline; }
