@-webkit-keyframes AnimationName {
  0% {
    background-position: 0% 50%; }

  50% {
    background-position: 100% 50%; }

  100% {
    background-position: 0% 50%; } }

@-moz-keyframes AnimationName {
  0% {
    background-position: 0% 50%; }

  50% {
    background-position: 100% 50%; }

  100% {
    background-position: 0% 50%; } }

@keyframes AnimationName {
  0% {
    background-position: 0% 50%; }

  50% {
    background-position: 100% 50%; }

  100% {
    background-position: 0% 50%; } }

body {
  font-family: 'Expletus Sans', cursive !important;
  text-align: center;
  background: #333; }

@media only screen and (max-width: 600px) {
  .logo {
    font-size: 2.5rem;
    margin: 20px 0 0 0; } }

@media only screen and (min-width: 600px) {
  .logo {
    font-size: 50px;
    margin: 50px; } }

.logo > a {
  text-decoration: none;
  font-family: 'Stardos Stencil', cursive;
  color: #000; }

@media only screen and (max-width: 600px) {
  .view-container {
    margin: 10px; }

  .view-container.not-framed {
    min-height: 760px; } }

@media only screen and (min-width: 600px) {
  .view-container {
    margin: 50px; }

  .view-container.not-framed {
    min-height: 760px; } }

.help-button {
  width: 150px;
  height: 150px;
  color: #fff !important;
  background: #cd9120;
  border: 20px solid #333;
  box-sizing: border-box;
  display: block;
  float: left;
  margin: 0 -150px 0 0;
  line-height: 105px;
  font-size: 35px;
  text-decoration: none;
  text-transform: uppercase; }
  @media only screen and (max-width: 600px) {
  .help-button {
    display: none; } }

hr {
  border: 2px solid #b78629; }

.button {
  display: inline-block;
  margin: 50px 0 0 0;
  border-radius: 25px;
  padding: 20px 50px;
  font-size: 1.5rem;
  cursor: pointer;
  text-decoration: none; }
  .button.warn-button:hover, .button.tertiary-button:hover, .button.secondary-button:hover, .button.primary-button:hover {
    background: #ffd991;
    color: #000; }
  .button.warn-button {
    background: #ed5959;
    color: #fff; }
  .button.tertiary-button {
    background: #000;
    color: #fff; }
  .button.secondary-button {
    background: #fff;
    color: #000; }
  .button.primary-button {
    background: #cd9120;
    color: #fff; }
  .button[disabled="disabled"] {
    opacity: 0.15;
    cursor: initial; }
  .button.has-sub-label small {
    display: block;
    font-size: 0.95rem;
    position: relative;
    top: -5px; }

.cart h2, .cart p, .cart div {
  color: #fff; }

.cart-control {
  width: 150px; }
  .cart-control > span, .cart-control > input {
    display: inline; }
  .cart-control > span {
    width: 20%;
    position: relative;
    top: 7px; }
  .cart-control > input {
    width: 30%;
    font-size: 1.5rem;
    background: #000;
    border: none;
    color: #fff;
    text-align: center;
    height: 40px; }
  .cart-control *[disabled="disabled"] {
    opacity: 0.6; }

table {
  border-spacing: 1;
  border-collapse: collapse;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  max-width: 800px;
  width: 100%;
  margin: 0 auto; }
  table tr.green-bg {
    background-color: hwb(95.14deg 12.55% 0.39% / 50%); }
  table tr.orange-bg {
    background-color: hwb(39.4 39.6% 9%); }
  table tr.yellow-bg {
    background-color: hwb(39 56% 1%); }

@media only screen and (max-width: 600px) {
  table {
    display: block;
    overflow: scroll; } }

@media only screen and (min-width: 600px) {
  table {
    overflow: hidden; } }

table td, table th {
  padding-left: 8px;
  border: 1px solid #000; }

table thead tr {
  height: 60px;
  background: #c4850c;
  font-size: 16px; }

table tbody tr {
  height: 48px; }

table tbody tr:last-child {
  border: 0; }

table td {
  min-width: 60px; }

table td, table th {
  text-align: left;
  text-transform: capitalize; }

table td.l, table th.l {
  text-align: right; }

table td.c, table th.c {
  text-align: center; }

table td.r, table th.r {
  text-align: center; }

table tbody tr:hover {
  background: #ffed86; }

table .total {
  min-width: 75px; }

table .basket-promotion > div {
  text-align: center;
  color: #c4850c;
  font-weight: bold;
  margin: 2rem auto;
  text-transform: initial;
  font-size: 20px; }

table .discount-text {
  color: #000;
  font-weight: bold; }

@media only screen and (max-width: 600px) {
  .cart-button {
    display: inline-block;
    margin: 50px 0 0 0;
    border-radius: 25px;
    padding: 20px 50px;
    font-size: 1.5rem;
    cursor: pointer;
    text-decoration: none;
    background: #000;
    color: #fff !important; }
    .cart-button > span {
      font-size: 2em; } }

@media only screen and (min-width: 600px) {
  .cart-button {
    position: fixed;
    top: 55px;
    right: 15px;
    width: 120px;
    height: 120px;
    color: #fff !important;
    z-index: 1;
    background: #cd9120;
    box-sizing: border-box; }
    .cart-button > span {
      font-size: 50px;
      text-align: center;
      position: relative;
      top: 30px;
      left: -2px; }

  .cart-button:hover {
    color: #333; } }

form input.length-input {
  display: inline-block;
  font-size: 35px;
  text-align: center;
  background: transparent;
  color: #fff;
  padding: 10px 20px;
  font-family: 'Stardos Stencil', cursive;
  box-sizing: border-box;
  padding: 30px 20px;
  border: 1px solid #cd9120;
  border-radius: 20px;
  box-shadow: 0px 0px 5px 1px #cd9120; }
  form input.length-input:hover {
    box-shadow: 0px 0px 5px 1px #fbe800; }

@media only screen and (max-width: 600px) {
  form input.length-input {
    width: 100%; } }

@media only screen and (min-width: 600px) {
  form input.length-input {
    width: 40%; } }

html, body, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0; }

.clear {
  clear: both; }

.noselect {
  /* iOS Safari */
  -webkit-touch-callout: none;
  /* Safari */
  -webkit-user-select: none;
  /* Konqueror HTML */
  -khtml-user-select: none;
  /* Firefox */
  -moz-user-select: none;
  /* Internet Explorer/Edge */
  -ms-user-select: none;
  /* Non-prefixed version, currently
                                    supported by Chrome and Opera */
  user-select: none; }

h1 {
  color: #fff;
  font-weight: lighter; }

a {
  color: #0c3bc4; }

.error {
  color: #ff5454; }

.white-text {
  color: #fff; }

.about {
  display: block;
  margin: auto;
  width: 100%;
  text-align: left; }
  .about h2 {
    font-size: 2rem; }
  .about p {
    white-space: pre-line; }
  @media only screen and (min-width: 1300px) {
  .about {
    width: 75%; } }
  @media only screen and (min-width: 1900px) {
  .about {
    width: 50%;
    max-width: initial !important; } }

.checkout {
  /* Experiments */ }
  .checkout small {
    position: relative;
    top: -40px; }

.fault-page * {
  box-sizing: border-box; }
  .fault-page .fault-container > section:last-of-type > div {
    border-bottom: 1px solid #333; }
  .fault-page .fault {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: stretch; }
  @media only screen and (max-width: 700px) {
    .fault-page .fault {
      flex-direction: column;
      flex-wrap: nowrap;
      align-content: center;
      justify-content: center;
      align-items: center; }
      .fault-page .fault div {
        width: 100% !important;
        border: none !important; } }
  .fault-page .fault .header {
    text-align: center;
    font-size: 1.2rem; }
  .fault-page .fault .header.top {
    margin: 1rem 0; }
  .fault-page .fault .subTitle {
    text-align: center;
    font-size: 0.8rem; }
  .fault-page .fault div {
    padding: 0 1.5rem;
    border-top: 1px solid #333;
    width: 25%; }
  @media only screen and (max-width: 1450px) {
      .fault-page .fault div {
        width: 25%; } }
  @media only screen and (max-width: 1000px) {
      .fault-page .fault div {
        width: 33%; } }
  .fault-page .fault div img {
    width: 100%; }
  .fault-page .fault div:nth-of-type(1) {
    border-left: 1px solid #333;
    padding: 0 0 1rem 0; }
  .fault-page .fault div:nth-of-type(2) {
    border-left: 1px solid #333;
    border-right: 1px solid #333;
    background-color: #bd954a; }
  .fault-page .fault div:nth-of-type(3) {
    border-right: 1px solid #333;
    background-color: #6ca34f; }
  .fault-page .fault ul {
    text-align: left;
    padding: 0 1rem; }
  .fault-page .fault ul li {
    padding: 0.2rem; }

.mobile-only {
  display: none; }

@media only screen and (max-width: 900px) {
  .mobile-only {
    display: block; } }

.guides-page h1 {
  text-transform: capitalize; }
  .guides-page h2 {
    color: #fff; }
  .guides-page nav {
    margin: 2rem 0 0 0; }
  .guides-page .controls {
    margin: 2rem 0; }
  .guides-page .controls .button {
    margin: 0; }
  .guides-page .panel {
    display: inline-block;
    margin: 30px 15px; }
  .guides-page .panel h2 {
    margin: 20px auto 50px auto;
    white-space: pre-line; }
  .guides-page .panel h2 small {
    font-size: 1rem; }
  .guides-page .panel .icon-rectangular {
    display: inline-block;
    height: 40px;
    width: 40px;
    background: #000;
    margin: -20px 0 0 0; }
  .guides-page .panel .icon-circular {
    display: inline-block;
    height: 40px;
    width: 40px;
    background: #000;
    margin: -20px 0 0 0;
    border-radius: 40px; }
  .guides-page .panel .icon-pipe {
    display: inline-block;
    height: 40px;
    width: 40px;
    border: 3px solid #000;
    margin: -20px 0 0 0;
    border-radius: 40px; }
  .guides-page .panel.selected > div {
    box-shadow: 0px 0px 5px 1px #fbe800; }
  .guides-page .table-container {
    border: 1px solid #fff;
    padding: 2rem;
    box-sizing: border-box;
    width: 100%;
    margin: auto; }
  @media only screen and (max-width: 900px) {
    .guides-page .table-container {
      width: calc(100% + 4rem);
      position: relative;
      left: -2rem;
      padding: 0;
      border: none;
      overflow-y: scroll; }
      .guides-page .table-container table {
        display: block;
        padding: 1rem; } }
  .guides-page .table-container .guide {
    overflow: visible;
    width: 100%;
    max-width: initial;
    background: transparent;
    color: #fff; }
  .guides-page .table-container .guide tr:hover {
    background: initial; }
  .guides-page .table-container .guide .header-row {
    background: initial; }
    .guides-page .table-container .guide .header-row .header {
      border: none;
      text-align: center;
      text-transform: initial; }
  .guides-page .table-container .guide .points-row {
    border: none; }
    .guides-page .table-container .guide .points-row .points {
      border: none;
      position: relative;
      text-align: center;
      width: 30px;
      left: -36px; }
      .guides-page .table-container .guide .points-row .points small {
        text-transform: lowercase;
        position: relative;
        top: -10px;
        font-size: 0.7rem; }
  .guides-page .table-container .guide .labels-row .label {
    text-align: center;
    padding: 1rem;
    font-size: 1.4rem;
    border: 2px solid #000; }
    .guides-page .table-container .guide .labels-row .label:hover {
      border: 2px solid #ccc !important;
      border-left: 3px solid #ccc !important; }
    .guides-page .table-container .guide .labels-row .label small {
      font-size: 0.9rem; }
    .guides-page .table-container .guide .labels-row .label.colour-0 {
      background-color: #f8c2a6;
      color: #000; }
    .guides-page .table-container .guide .labels-row .label.colour-1 {
      background-color: #f69d71;
      color: #000; }
    .guides-page .table-container .guide .labels-row .label.colour-2 {
      background-color: #f98c4c; }
    .guides-page .table-container .guide .labels-row .label.colour-3 {
      background-color: #fa6a23; }
    .guides-page .table-container .guide .labels-row .label.colour-4 {
      background-color: #fd3b0f; }
    .guides-page .table-container .guide .labels-row .label.colour-5 {
      background-color: #f71501; }
    .guides-page .table-container .guide .labels-row .label.colour-6 {
      background-color: #fc0402; }
    .guides-page .table-container .guide .labels-row .label.colour-7 {
      background-color: #f30002; }
    .guides-page .table-container .guide .labels-row .label.colour-8 {
      background-color: #e60002; }
    .guides-page .table-container .guide .labels-row .label.colour-9 {
      background-color: #ba0004; }
  .guides-page .table-container.pipe .guide .points-row .points {
    left: -40px; }

nav {
  width: 100%;
  margin: 50px auto;
  /* Header */ }
  nav h2 {
    margin: 20px auto; }
  nav p, nav h1, nav h2, nav h3, nav h4 {
    color: #fff; }
  nav.panel-control.black-text h1, nav.panel-control.black-text h2, nav.panel-control.black-text h3, nav.panel-control.black-text h4 {
    color: #000; }
  nav.panel-control h3 {
    text-transform: capitalize; }
  nav.panel-control h3 strong {
    color: #cd9120; }
  nav.panel-control h1 strong {
    color: #cd9120; }
  nav.panel-control h1 small {
    font-size: 0.9rem; }
  nav.panel-control .buttons {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 1rem;
    max-width: 1500px;
    margin: 0 auto; }
  @media only screen and (max-width: 1100px) {
      nav.panel-control .buttons {
        flex-wrap: wrap; } }
  nav.panel-control .buttons.home .panel {
    min-width: 250px;
    max-width: 20vw; }
  nav.panel-control .buttons .panel {
    color: #000;
    text-decoration: none;
    border: 1px solid #fff;
    border-radius: 20px;
    background-color: #b78629;
    box-shadow: 0px 0px 15px 4px #231e17;
    flex: 1; }
    nav.panel-control .buttons .panel.panel-set-width {
      width: 220px;
      flex: unset; }
    nav.panel-control .buttons .panel:hover {
      box-shadow: 0px 0px 5px 1px #fbe800; }
    nav.panel-control .buttons .panel h4 {
      font-size: 1.4rem; }
    nav.panel-control .buttons .panel .help {
      margin: 1rem 0;
      text-align: left;
      list-style: circle; }
    nav.panel-control .buttons .panel > div {
      display: inline-block;
      width: auto;
      cursor: pointer;
      box-sizing: border-box;
      padding: 30px 30px; }
    nav.panel-control .buttons .panel > div strong {
      font-weight: normal;
      color: #fff; }
    nav.panel-control .buttons .panel.panel-x {
      width: auto;
      flex: unset; }
    nav.panel-control .buttons .panel.panel-x h4 {
      text-transform: capitalize;
      margin: auto;
      font-size: 1.2rem; }
      nav.panel-control .buttons .panel.panel-x h4 small {
        font-size: 75%; }
    nav.panel-control .buttons .panel .panel-top-right {
      margin: -20px -10px 0px -10px;
      font-size: 1.5rem;
      float: right;
      color: #f00; }
  nav.panel-control > a {
    margin: 0 15px; }
  nav.panel-control > a:first-of-type {
    margin: 0 15px 0 0; }
  nav.panel-control > a:last-of-type {
    margin: 0 0 0 15px; }
  nav.panel-control .no-widths {
    color: #f00;
    text-transform: initial; }
  @media only screen and (max-width: 600px) {
  nav.panel-control > .panel {
    width: 100%;
    margin: 0 !important; }
    nav.panel-control > .panel > div {
      width: 100% !important;
      margin: 20px 0 0 0; } }
  @media only screen and (min-width: 600px) {
  nav.panel-control > .panel > div {
    width: auto; } }

header.sawmaster {
  display: block;
  background: #333;
  color: #cd9120;
  padding: 0;
  margin: 0;
  height: 150px;
  overflow: hidden;
  border-bottom: 5px solid #cd9120; }
  header.sawmaster h1 {
    display: block;
    color: #cd9120 !important;
    font-size: 75px !important;
    padding: 25px 0;
    margin: 0 !important;
    clear: initial !important; }
  header.sawmaster h1 a {
    color: inherit !important; }
  header.sawmaster h1:before {
    content: "";
    display: none !important; }
  @media only screen and (max-width: 600px) {
  header.sawmaster h1 {
    font-size: 3.5rem !important; } }

@media only screen and (max-width: 600px) {
  /* Footer */
    .sawmaster {
      height: auto !important; }
      .sawmaster h1 {
        font-size: 40px !important; } }

@media only screen and (max-width: 600px) {
  footer .right h3 {
    margin: 40px 0 0 0; } }

@media only screen and (min-width: 600px) {
  footer .left, footer .right {
    float: left;
    width: 25%; }
    footer .left {
      text-align: left;
      margin: 0 0 0 25%; }
    footer .right {
      text-align: right;
      margin: 0 25% 0 0; }
      footer .right a {
        margin: 10px 0; }
        footer .right a span {
          padding: 5px 5px 5px 10px;
          line-height: 22px;
          position: relative;
          top: 5px; }

  .footer-body {
    padding: 0 0 215px 0; } }

footer {
  display: block;
  background: #333;
  color: #fff;
  left: 0;
  width: 100%;
  bottom: 0;
  padding: 30px 0;
  border-top: 5px solid #cd9120; }
  footer h3 {
    font-family: "Stardos Stencil", cursive; }
  footer p, footer a {
    display: block;
    color: #c4850c !important;
    font-size: 14px;
    line-height: 22px; }

.closed-message {
  padding: 2.5rem 2rem;
  min-height: 15vh;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  color: #fff; }
  .closed-message h2 {
    font-weight: 300;
    font-size: 1.95rem;
    margin: 0 0 2.5rem 0; }
  .closed-message h3 {
    font-size: 1.5rem;
    font-weight: 300;
    margin: 1.5rem 0 0 0; }
  .closed-message h4 {
    font-weight: 300;
    font-size: 1.2rem; }
  .closed-message h4 strong {
    color: inherit;
    font-weight: bold;
    font-size: 1.5rem; }
  .closed-message p {
    font-weight: 300; }

.top-back-button {
  display: block;
  position: sticky;
  top: 0;
  left: 0;
  text-align: center;
  width: 100%;
  height: 40px;
  background: #cd9120;
  color: #000;
  line-height: 40px;
  text-decoration: none;
  z-index: 1;
  border-bottom: 3px solid #333;
  overflow: hidden; }

.top-back-button:hover {
  text-decoration: underline; }

.loading-text {
  margin: 1rem 0;
  color: #fff; }

@media only screen and (max-width: 550px) {
  .closed-message {
    min-height: auto;
    padding: 1rem; }

  .closed-message h2 {
    font-size: 1rem;
    margin: 0; } }

.progress {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  max-width: 75vw;
  margin: 20px auto -20px auto; }
  @media only screen and (max-width: 1600px) {
  .progress {
    max-width: 85vw; } }
  @media only screen and (max-width: 1200px) {
  .progress {
    max-width: 95vw; } }
  @media only screen and (max-width: 1000px) {
  .progress {
    display: none; } }
  .progress * {
    transition: all 0.1s ease-in-out; }
  .progress .label-container {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    padding: 15px 20px;
    margin: 0;
    height: 30px;
    overflow: hidden; }
  .progress .label-container .icon {
    font-size: 18px;
    height: 18px;
    width: 18px;
    padding: 5px;
    border-radius: 100%;
    line-height: 18px; }
  .progress .label-container .icon.fa {
    font-size: 14px; }
  .progress .label-container .label {
    line-height: 18px;
    position: relative;
    top: 5px;
    text-align: left; }
  .progress .label-container .sub-label {
    display: block;
    font-size: 0rem;
    visibility: hidden;
    width: 45px;
    height: 0px;
    transform: scale(0); }
  .progress .label-container.previous {
    color: #fff;
    cursor: pointer; }
  .progress .label-container.previous .icon {
    background-color: #555; }
  .progress .label-container.active {
    color: #fff;
    background: hwb(39.19deg 12.55% 19.61% / 15%);
    border-radius: 20px; }
  .progress .label-container.active .icon {
    background-color: #cd9120; }
  .progress .label-container.future {
    color: #fff;
    opacity: 0.3; }
  .progress .label-container.future .icon {
    background-color: #666; }
  .progress .label-container:hover, .progress .label-container.active {
    transform: scale(1.1); }
  .progress .label-container:hover .label, .progress .label-container.active .label {
    top: -2px; }
  .progress .label-container:hover .sub-label, .progress .label-container.active .sub-label {
    visibility: visible;
    width: auto;
    font-size: 0.7rem;
    transform: scale(1); }

hr {
  flex: 1;
  border-bottom: 1px solid #b78629;
  border-top: none; }
