@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Bold.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Bold-Italic.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Bold-Italic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap; }
@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Light.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Light-Italic.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Light-Italic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap; }
@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Italic.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }
@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Regular.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Medium.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Medium.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'NZPost Sans';
  src: url("/assets/fonts/NZPostSans-Medium-Italic.woff2") format("woff2"), url("/assets/fonts/NZPostSans-Medium-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }
:root {
  --site-padding: 20px;
  --line-height: 1.4em; }

body,
html {
  margin: 0px;
  padding: 0px;
  font-size: 16px;
  line-height: 1.3em;
  line-height: var(--line-height);
  font-family: 'NZPost Sans', serif;
  background-color: #041E42;
  width: 100%; }

select,
input,
textarea {
  font-family: 'NZPost Sans', serif;
  font-size: 1rem;
  line-height: 1.2em;
  border-radius: 0;
  color: #000; }

input {
  -webkit-appearance: none; }

h1,
h2,
h3,
h4,
h5 {
  font-family: "NZPost Sans", sans-serif;
  font-weight: 500;
  margin: 0px;
  padding: 0px; }

* {
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch; }

a {
  cursor: pointer;
  color: #0033a0; }

h1 {
  font-size: 4em;
  line-height: 1em;
  color: #0033a0; }
  @media all and (min-width: 700px) {
    h1 {
      font-size: 5em; } }

h2 {
  font-size: 3em;
  line-height: 1.2em;
  color: #fff; }

h3 {
  font-size: 1.75em;
  line-height: 1.2em;
  color: #fff; }

h4 {
  font-size: 1.5em;
  line-height: 1.2em;
  color: #fff; }
  @media all and (max-width: 700px) {
    h4 {
      font-size: 1.4em; } }

h5 {
  font-size: 1.2em;
  line-height: 1.4em;
  color: #fff; }

p {
  margin: 0px;
  padding-bottom: calc(var(--site-padding) / 2);
  padding-top: calc(var(--site-padding) / 4); }

a.inline {
  color: #0033a0;
  font-weight: 500;
  border-bottom: 1px dotted #0033a0;
  display: inline-block;
  line-height: 1em; }
  a.inline.sml {
    font-size: .75rem;
    line-height: 1em; }

.btn,
.alert {
  text-decoration: none;
  font-family: "NZPost Sans", sans-serif;
  font-weight: 400;
  display: inline-block;
  padding: calc(var(--site-padding) * .75);
  padding-top: calc(var(--site-padding) / 2);
  padding-bottom: calc(var(--site-padding) / 2);
  line-height: 1em;
  border-radius: calc(var(--site-padding) / 4);
  transition: .25s;
  background-color: #0033a0;
  border: 1px solid #0033a0;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75);
  color: #fff;
  position: relative;
  cursor: pointer;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
  font-weight: 500; }
  .btn i,
  .alert i {
    margin-left: .25em; }
  .btn.icon,
  .alert.icon {
    padding: calc(var(--site-padding) / 2);
    width: 2.25rem;
    height: 2.25rem; }
    .btn.icon i,
    .alert.icon i {
      margin: 0px;
      position: absolute;
      top: 51%;
      left: 50%;
      transform: translate(-50%, -50%) scale(1);
      line-height: 0em;
      transition: .25s; }
  @media all and (min-width: 700px) {
    .btn:not(.icon):hover,
    .alert:not(.icon):hover {
      transform: rotate(-0.5deg) scale(1.05); }
      .btn:not(.icon):hover i,
      .alert:not(.icon):hover i {
        animation: btn_icon 1s; } }
  .btn.sml,
  .alert.sml {
    line-height: .75rem; }
    .btn.sml.icon,
    .alert.sml.icon {
      width: 2rem;
      height: 2rem; }
  .btn.x-sml,
  .alert.x-sml {
    line-height: .75rem;
    font-size: .75rem;
    padding: calc(var(--site-padding) * .4);
    padding-top: calc(var(--site-padding) * .3);
    padding-bottom: calc(var(--site-padding) * .3); }
    .btn.x-sml.icon,
    .alert.x-sml.icon {
      width: 2rem;
      height: 2rem; }
  .btn.x-lrg,
  .alert.x-lrg {
    line-height: 1rem; }
    @media all and (min-width: 700px) {
      .btn.x-lrg,
      .alert.x-lrg {
        font-size: 1.5rem;
        padding: calc(var(--site-padding) * 1);
        padding-top: calc(var(--site-padding) * .75);
        padding-bottom: calc(var(--site-padding) * .75); } }
    @media all and (max-width: 700px) {
      .btn.x-lrg,
      .alert.x-lrg {
        font-size: 1.25rem;
        display: block;
        text-align: center; } }
  @media all and (min-width: 700px) {
    .btn:hover,
    .alert:hover {
      background-color: #002168;
      color: #fff; }
      .btn:hover.icon i,
      .alert:hover.icon i {
        transform: translate(-50%, -50%) scale(1.15); } }

@keyframes btn_icon {
  0% {
    transform: rotate(0deg); }
  20% {
    transform: rotate(-20deg); }
  40% {
    transform: rotate(20deg); }
  60% {
    transform: rotate(-10deg); }
  80% {
    transform: rotate(10deg); }
  100% {
    transform: rotate(0deg); } }
.alert {
  display: none;
  pointer-events: none;
  background-color: #D8291C;
  border: 1px solid #D8291C;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75); }
  .alert.active {
    display: inline-block; }
    @media all and (max-width: 700px) {
      .alert.active {
        display: block;
        margin-bottom: 10px;
        text-align: center; } }

* {
  /* width */
  /* Track */
  /* Handle */
  /* Handle on hover */ }
  *::-webkit-scrollbar {
    width: 10px;
    height: 10px; }
  *::-webkit-scrollbar-track {
    background: #aeb4bd; }
  *::-webkit-scrollbar-thumb {
    background: #0033a0; }
  *::-webkit-scrollbar-thumb:hover {
    background: #0040c8; }

.section {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: stretch;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  transition: 1s;
  background-size: cover;
  background-position: center;
  overflow-x: hidden; }
  .section .section-inner {
    position: relative;
    height: 100%; }
  .section .section-inner,
  .section .section-padding {
    padding: calc(var(--site-padding) * 2.5); }
    @media all and (max-width: 700px) {
      .section .section-inner,
      .section .section-padding {
        padding: calc(var(--site-padding) * .75); } }
  .section .section-ui {
    position: absolute;
    z-index: 3;
    top: calc(var(--site-padding) * .5);
    right: calc(var(--site-padding) * .5); }
    @media all and (min-width: 700px) {
      .section .section-ui .btn {
        width: 3rem;
        height: 3rem; } }
  .section.active {
    visibility: visible;
    opacity: 1; }
  .section .inner-centered {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    text-align: center;
    padding: var(--site-padding); }
    .section .inner-centered.panel {
      width: auto; }
      .section .inner-centered.panel .panel-content {
        z-index: 2;
        max-width: 400px;
        position: relative; }
        .section .inner-centered.panel .panel-content h1,
        .section .inner-centered.panel .panel-content h2,
        .section .inner-centered.panel .panel-content h3 {
          color: #0033a0; }

.popup {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 10;
  visibility: hidden;
  transition: all .5s;
  opacity: 0; }
  @media all and (min-width: 700px) {
    .popup {
      background: radial-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0)); } }
  @media all and (max-width: 700px) {
    .popup {
      background-color: rgba(0, 0, 0, 0.6); } }
  .popup.active {
    visibility: visible;
    opacity: 1; }
    .popup.active .popup-inner {
      transform: translate(-50%, -50%) rotate(0deg); }
  .popup.out .popup-inner {
    transform: translate(-50%, -50%) rotate(0deg); }
  .popup .popup-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -1000px) rotate(-35deg);
    transition: all 0.5s, transform 0.75s cubic-bezier(0.77, 0.53, 0.5, 1.15); }
    .popup .popup-inner .popup-content {
      text-align: center;
      width: 100%;
      min-width: 300px;
      max-width: 420px;
      padding: var(--site-padding);
      z-index: 2;
      position: relative; }
      .popup .popup-inner .popup-content h3 {
        color: #000; }
      .popup .popup-inner .popup-content p {
        color: #000; }
      .popup .popup-inner .popup-content.has-title {
        padding-top: calc(var(--site-padding)*2); }
        .popup .popup-inner .popup-content.has-title .panel-title {
          top: -5px; }
      .popup .popup-inner .popup-content:before, .popup .popup-inner .popup-content:after {
        content: '';
        z-index: 3;
        display: block;
        position: absolute;
        background-size: contain;
        background-repeat: no-repeat; }
      .popup .popup-inner .popup-content:before {
        top: -24px;
        right: -20px;
        left: -20px;
        height: 35px;
        background-image: url("/assets/img/snow-top-left.png"), url("/assets/img/snow-top-right.png");
        background-position: top left, top right; }
      .popup .popup-inner .popup-content:after {
        bottom: -18px;
        right: -20px;
        left: -20px;
        height: 35px;
        background-image: url("/assets/img/snow-bottom-left.png"), url("/assets/img/snow-bottom-right.png");
        background-position: bottom left, bottom right; }
    .popup .popup-inner:before {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      background-image: url("/assets/img/paper-bg.jpg");
      background-position: center;
      background-color: #fff;
      width: 100%;
      height: 100%;
      transform: translate(-50%, -50%) rotate(-0.6deg);
      box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.3);
      z-index: 1;
      border: 8px solid white;
      border-image: #fff;
      border-radius: 8px; }

.panel-title {
  position: relative;
  line-height: 1em;
  padding: calc(var(--site-padding) * .6);
  color: #fff;
  background-color: #0033a0;
  font-family: "NZPost Sans", sans-serif;
  font-weight: 500;
  font-size: 1.65rem;
  box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
  width: 250px;
  border-radius: 100px;
  transform: rotate(1deg);
  margin-left: auto;
  margin-right: auto;
  z-index: 4; }
  @media all and (min-width: 700px) {
    .panel-title {
      position: absolute;
      top: calc(var(--site-padding) * -3);
      left: 50%;
      transform: translate(-50%, -50%) rotate(1deg); } }
  @media all and (max-width: 700px) {
    .panel-title {
      margin-bottom: calc(var(--site-padding) * 1);
      margin-top: calc(var(--site-padding) * -.5); } }

.panel-desc {
  padding-left: calc(var(--site-padding) * 1);
  padding-right: calc(var(--site-padding) * 1); }

@media all and (max-width: 700px) {
  .paper-bg {
    background-image: url("/assets/img/paper-bg.jpg");
    background-position: center;
    background-color: #fff; } }
@media all and (min-width: 700px) {
  .paper-bg .inner-pos:before, .paper-bg .inner-pos:after {
    content: '';
    z-index: 3;
    display: block;
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat; }
  .paper-bg .inner-pos:before {
    top: -84px;
    right: -20px;
    left: -20px;
    height: 45px;
    background-image: url("/assets/img/snow-top-left.png"), url("/assets/img/snow-top-right.png");
    background-position: top left, top right; }
  .paper-bg .inner-pos:after {
    bottom: -18px;
    right: -20px;
    left: -20px;
    height: 45px;
    background-image: url("/assets/img/snow-bottom-left.png"), url("/assets/img/snow-bottom-right.png");
    background-position: bottom left, bottom right; } }
@media all and (min-width: 700px) {
  .paper-bg:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url("/assets/img/paper-bg.jpg");
    background-position: center;
    background-color: #fff;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.3);
    z-index: -1; }
  .paper-bg.with-border:before {
    border: 8px solid white;
    border-image: #fff;
    border-radius: 8px; }
  .paper-bg.rotate-left:before {
    transform: translate(-50%, -50%) rotate(-0.75deg); } }

.snow-field {
  pointer-events: none;
  display: none;
  overflow: hidden; }

@media all and (min-width: 700px) {
  .snow-field {
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }
    .snow-field .snow {
      border-radius: 100%;
      background-image: url("/assets/img/snow.png");
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      opacity: 0;
      top: 100%;
      pointer-events: none;
      font-size: 1em;
      line-height: 1em;
      width: 30px;
      height: 30px; } }
@keyframes snow_ani_1 {
  0% {
    top: -5%;
    transform: translate(0px, 0px) rotateX(0deg) rotateY(0deg); }
  100% {
    top: 100%;
    transform: translate(-1200px, 0px) rotateX(-45deg) rotateY(420deg); } }
@keyframes snow_ani_2 {
  0% {
    top: -5%;
    transform: translate(0px, 0px) rotateX(0deg) rotateY(0deg); }
  100% {
    top: 100%;
    transform: translate(-750px, 0px) rotateX(45deg) rotateY(-360deg); } }
@keyframes snow_ani_3 {
  0% {
    top: -5%;
    transform: translate(0px, 0px) rotateX(0deg) rotateY(0deg); }
  100% {
    top: 100%;
    transform: translate(-1000px, 0px) rotateX(45deg) rotateY(280deg); } }
.form {
  text-align: left;
  padding-top: calc(var(--site-padding)/2); }
  .form h3 {
    padding-bottom: calc(var(--site-padding)/1);
    text-align: center; }
  .form .title {
    transition: .5s;
    padding-bottom: calc(var(--site-padding)/2);
    padding-left: 0px;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.3em; }
  .form .input {
    font-size: 1rem;
    line-height: 120%;
    padding-bottom: calc(var(--site-padding)*.75);
    position: relative;
    transition: .5s; }
    @media all and (max-width: 700px) {
      .form .input {
        padding-bottom: calc(var(--site-padding)*.5); } }
    .form .input.error .title {
      color: #0033a0; }
    .form .input.error input,
    .form .input.error select {
      border: 1px solid rgba(0, 51, 160, 0.6);
      background-color: rgba(0, 51, 160, 0.05);
      box-shadow: 0px 0px 10px rgba(0, 51, 160, 0.4); }
    .form .input:last-child {
      padding-bottom: 0px; }
    .form .input.address-selected {
      border: 1px solid rgba(0, 0, 0, 0.2);
      background-color: rgba(0, 0, 0, 0.05);
      padding: calc(var(--site-padding)/1);
      margin-top: calc(var(--site-padding)/1); }
      .form .input.address-selected h5 {
        padding-bottom: calc(var(--site-padding)/2);
        color: #000; }
      .form .input.address-selected .output {
        padding-bottom: calc(var(--site-padding)/2); }
  .form input,
  .form select {
    transition: .5s;
    padding: calc(var(--site-padding)/2);
    border: 1px solid rgba(0, 0, 0, 0.2);
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 0px;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  .form div.street-name {
    display: inline-block;
    width: 70%;
    padding-right: calc(var(--site-padding)/4); }
  .form div.street-number {
    display: inline-block;
    width: 30%;
    padding-left: calc(var(--site-padding)/4); }
  .form div.city {
    display: inline-block;
    width: 70%;
    padding-right: calc(var(--site-padding)/4); }
  .form div.postcode {
    display: inline-block;
    width: 30%;
    padding-left: calc(var(--site-padding)/4); }
  .form div.hidden {
    display: none; }
  .form div.room-number {
    display: inline-block;
    width: 50%;
    padding-right: calc(var(--site-padding)/4); }
  .form div.student-count {
    display: inline-block;
    width: 50%;
    padding-left: calc(var(--site-padding)/4); }
  .form .custom-select {
    position: relative; }
    .form .custom-select:after {
      content: '';
      position: absolute;
      top: 50%;
      right: 12px;
      border: solid #000000;
      border-width: 0 3px 3px 0;
      display: inline-block;
      padding: 4px;
      transform: translateY(-60%) rotate(45deg);
      pointer-events: none; }

@media all and (min-width: 700px) {
  .welcome-logos {
    display: inline-block;
    position: relative;
    width: 90%;
    max-width: 700px;
    padding: 20px;
    border-radius: 20px;
    /* border-top-left-radius: 100px; */
    /* border-top-right-radius: 100px; */
    background: rgba(4, 30, 66, 0.5); }
    .welcome-logos .nzp-logo {
      width: 30% !important; }
    .welcome-logos .wts-logo {
      width: 100% !important;
      padding-bottom: 0 !important; } }
.footerWrapper {
  position: relative;
  padding: calc(var(--site-padding) / 1);
  background-color: #041E42;
  width: 100%; }
  .footerWrapper img {
    display: block;
    float: right;
    height: 27px; }
    @media all and (max-width: 700px) {
      .footerWrapper img {
        float: none;
        margin-left: auto;
        margin-right: auto;
        height: auto;
        width: 50%; } }
  .footerWrapper .footerInner:after {
    content: '';
    display: block;
    clear: both;
    position: relative; }
  .footerWrapper .footerInner .links {
    font-size: .8rem;
    line-height: 1em;
    padding: 7px;
    text-align: left; }
    @media all and (max-width: 700px) {
      .footerWrapper .footerInner .links {
        text-align: center; } }
    .footerWrapper .footerInner .links a {
      margin: 5px;
      color: #fff;
      text-decoration: none; }
      @media all and (max-width: 700px) {
        .footerWrapper .footerInner .links a {
          display: inline-block;
          padding: 5px;
          margin: 5px; } }
      .footerWrapper .footerInner .links a:hover {
        border-bottom: 1px solid #0033a0; }

.footerWrapper {
  position: relative;
  flex-grow: 0; }

.outerWrapper {
  position: relative; }
  .outerWrapper:before {
    content: '';
    display: block;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: 1s;
    visibility: hidden;
    opacity: 0; }
  .outerWrapper.app-active .section {
    pointer-events: none; }
  .outerWrapper.app-active:before {
    visibility: visible;
    opacity: 1; }

.notification-centre {
  z-index: 10;
  pointer-events: none;
  position: relative; }
  .notification-centre.notifications-default {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%; }
  .notification-centre .notifications {
    width: 100%;
    max-width: 400px; }
    @media all and (min-width: 700px) {
      .notification-centre .notifications {
        max-width: 420px; } }
    .notification-centre .notifications .notification {
      position: relative;
      display: none;
      padding: calc(var(--site-padding) * .75);
      padding-top: calc(var(--site-padding) * 1);
      padding-bottom: calc(var(--site-padding) * 1); }
      .notification-centre .notifications .notification.no-buttons .notification-inner {
        padding-right: calc(var(--site-padding) * .75); }
      .notification-centre .notifications .notification.no-buttons .subheadline {
        padding-bottom: 0px; }
      .notification-centre .notifications .notification.has-img {
        padding-left: 80px; }
        .notification-centre .notifications .notification.has-img .notification-inner:after {
          content: '';
          display: block;
          position: absolute;
          top: 0px;
          left: -24px;
          width: 25px;
          height: 100%;
          background-image: url("/assets/img/notifications/speech-bubble-white.png");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center 75%; }
        .notification-centre .notifications .notification.has-img .notification-img {
          width: 60px;
          height: 60px;
          border-radius: 100%;
          border: 3px solid #fff;
          background-color: #000;
          position: absolute;
          top: 50%;
          left: -70px;
          transform: translate(0%, -50%);
          box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
          background-size: cover;
          background-position: center; }
      .notification-centre .notifications .notification .notification-inner {
        position: relative;
        border-radius: calc(var(--site-padding) * .5);
        background-color: rgba(255, 255, 255, 0.95);
        color: #3a3c3f;
        padding: calc(var(--site-padding) * .75);
        box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
        text-align: left; }
      .notification-centre .notifications .notification .headline {
        font-size: 1rem;
        line-height: 1em;
        line-height: var(--line-height);
        font-family: "NZPost Sans", sans-serif;
        font-weight: 500;
        color: #0033a0; }
        @media all and (min-width: 700px) {
          .notification-centre .notifications .notification .headline {
            font-size: 1.1rem; } }
      .notification-centre .notifications .notification .subheadline {
        font-size: .9rem;
        line-height: 1em;
        line-height: var(--line-height);
        padding-bottom: calc(var(--site-padding) * .5); }
      .notification-centre .notifications .notification .btns {
        position: absolute;
        bottom: calc(var(--site-padding) * -.75);
        right: calc(var(--site-padding) * .5);
        visibility: hidden; }
      .notification-centre .notifications .notification .btn {
        pointer-events: all;
        opacity: 0;
        transition: .25s; }
      .notification-centre .notifications .notification .minimise {
        position: absolute;
        top: calc(var(--site-padding) * -.75);
        right: calc(var(--site-padding) * .5); }
      .notification-centre .notifications .notification.active .btn {
        visibility: visible;
        opacity: 1; }

#app-container {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  z-index: 9;
  visibility: hidden;
  background-color: #000;
  border-radius: 3000px;
  transform: translate(-50%, -50%) scale(0);
  transition: 0s;
  overflow: hidden; }
  @media all and (min-width: 700px) {
    #app-container {
      background-color: #313336; } }
  #app-container.active {
    visibility: visible;
    border-radius: 0px;
    transform: translate(-50%, -50%) scale(1);
    top: 50% !important;
    left: 50% !important; }
    @media all and (min-width: 700px) {
      #app-container.active {
        width: 95%;
        height: 90%;
        border-radius: calc(var(--site-padding) * .5);
        box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.35); } }
  #app-container.animate {
    transition: .5s; }
    #app-container.animate.active {
      transition: 0.75s cubic-bezier(0.64, 0.51, 0.28, 1.21); }
  #app-container.show-ui {
    overflow: visible; }
    #app-container.show-ui .app-ui {
      visibility: visible;
      opacity: 1; }
  #app-container .app-ui {
    position: absolute;
    z-index: 3;
    visibility: hidden;
    opacity: 0;
    transition: .5s;
    top: calc(var(--site-padding) * .5);
    right: calc(var(--site-padding) * .5); }
    @media all and (min-width: 700px) {
      #app-container .app-ui {
        top: calc(var(--site-padding) * -.5); } }
    @media all and (min-width: 700px) {
      #app-container .app-ui .btn {
        width: 3rem;
        height: 3rem; } }
  #app-container #splash {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 2;
    transition: all .5s, background-color 0s;
    visibility: visible;
    background-color: #3a3c3f;
    background-size: cover;
    background-position: center; }
    @media all and (min-width: 700px) {
      #app-container #splash {
        border-radius: calc(var(--site-padding) * .5); } }
    #app-container #splash.hide {
      opacity: 0;
      visibility: hidden; }
    #app-container #splash .splash-logos {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 80%;
      max-width: 600px; }
      #app-container #splash .splash-logos .nzp-logo {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 75%;
        padding-top: calc(var(--site-padding) / 1); }
        @media all and (min-width: 700px) {
          #app-container #splash .splash-logos .nzp-logo {
            width: 30%; } }
      #app-container #splash .splash-logos .wts-logo {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 90%;
        max-width: 700px; }
      #app-container #splash .splash-logos .icon {
        display: block;
        position: relative;
        margin: calc(var(--site-padding) / 1);
        margin-left: auto;
        margin-right: auto;
        width: 80px;
        height: 80px;
        background-image: url("/assets/img/nzp-button.png");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain; }
      #app-container #splash .splash-logos .text {
        color: #fff;
        font-size: 2rem;
        line-height: 1.1em;
        text-align: center;
        font-family: "NZPost Sans", sans-serif;
        font-weight: 500; }
        @media all and (min-width: 700px) {
          #app-container #splash .splash-logos .text {
            font-size: 3rem; } }
  #app-container #app {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1; }
    #app-container #app iframe {
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100%;
      height: 100%;
      border: none;
      margin: 0px;
      padding: 0px;
      overflow: hidden; }
      @media all and (min-width: 700px) {
        #app-container #app iframe {
          border-radius: calc(var(--site-padding) * .5); } }

.login-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 375px;
  text-align: center;
  padding: var(--site-padding); }
  .login-panel .profile-pic {
    width: 150px;
    height: 150px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 100%;
    background-color: #ccc; }

.welcome-panel {
  position: relative;
  width: 100%;
  max-width: 1000px;
  text-align: center;
  padding: var(--site-padding);
  margin: 0 auto; }
  .welcome-panel .notifications {
    margin-left: auto;
    margin-right: auto; }
    @media all and (min-width: 700px) {
      .welcome-panel .notifications {
        margin-left: 17%;
        margin-right: 28.5%;
        max-width: 100%;
        width: auto; }
        .welcome-panel .notifications .notification.has-img {
          padding-left: 120px; }
          .welcome-panel .notifications .notification.has-img .notification-inner {
            padding-left: calc(var(--site-padding) * 1.15); }
            .welcome-panel .notifications .notification.has-img .notification-inner:after {
              width: 35px;
              left: -34px; }
          .welcome-panel .notifications .notification.has-img .notification-img {
            width: 100px;
            height: 100px;
            left: -120px; }
          .welcome-panel .notifications .notification.has-img .headline {
            font-size: 1.75rem; }
          .welcome-panel .notifications .notification.has-img .subheadline {
            font-size: 1.2rem; } }
  .welcome-panel .nzp-logo {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 20%;
    padding-bottom: calc(var(--site-padding) / 1); }
    @media all and (max-width: 700px) {
      .welcome-panel .nzp-logo {
        width: 35%; } }
  .welcome-panel .wts-logo {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    max-width: 700px;
    padding-bottom: calc(var(--site-padding) / 1); }

.launch-btns {
  position: relative;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding-bottom: calc(var(--site-padding) * 1); }
  .launch-btns p {
    color: #fff;
    max-width: 580px; }
  @media all and (max-width: 700px) {
    .launch-btns {
      padding-bottom: calc(var(--site-padding) * 3); }
      .launch-btns p {
        font-size: 14px;
        line-height: 140%; } }

.btn {
  margin: calc(var(--site-padding) / 1); }
  @media all and (min-width: 700px) {
    .btn {
      display: inline-block; } }

#app-wrapper {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  padding-top: calc(var(--site-padding) / 2);
  padding-bottom: calc(var(--site-padding) / 2); }
  @media all and (min-width: 700px) {
    #app-wrapper {
      padding: calc(var(--site-padding) / 2);
      padding-bottom: 0px;
      left: 50%;
      transform: translate(-50%, 0%);
      background-color: rgba(0, 0, 0, 0.6);
      border: 2px solid white;
      border-bottom: none;
      border-radius: calc(var(--site-padding) * 1.25) calc(var(--site-padding) * 1.25) 0px 0px;
      max-width: 670px;
      box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.35); } }
  #app-wrapper #apps {
    text-align: center; }
    #app-wrapper #apps .app-icon {
      cursor: pointer;
      display: inline-block;
      vertical-align: top;
      width: 96px;
      margin: calc(var(--site-padding) * .75); }
      @media all and (max-width: 700px) {
        #app-wrapper #apps .app-icon {
          width: 110px;
          margin: calc(var(--site-padding) * .25); } }
      #app-wrapper #apps .app-icon .icon {
        width: 96px;
        height: 96px;
        transition: .25s;
        background-size: cover; }
        @media all and (max-width: 700px) {
          #app-wrapper #apps .app-icon .icon {
            border-radius: calc(var(--site-padding) * .5);
            width: 60px;
            height: 60px;
            box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
            margin-right: auto;
            margin-left: auto; } }
        @media all and (min-width: 700px) {
          #app-wrapper #apps .app-icon .icon:hover {
            transform: scale(1.1); } }
      #app-wrapper #apps .app-icon .text {
        margin-top: calc(var(--site-padding) * .75);
        text-align: center;
        font-size: .9rem;
        line-height: 1em;
        color: #fff;
        font-family: "NZPost Sans", sans-serif;
        font-weight: 400; }
        @media all and (max-width: 700px) {
          #app-wrapper #apps .app-icon .text {
            font-size: .9rem;
            text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75), 0px 0px 15px black;
            font-weight: 700; } }
        @media all and (min-width: 700px) {
          #app-wrapper #apps .app-icon .text {
            text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75); } }

#welcome {
  background-image: url("/assets/img/homepage-bg-3.jpg");
  background-position: 47.5% 56%;
  position: relative;
  min-height: 100vh; }
  #welcome p .btn {
    margin: 10px;
    box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2); }
  #welcome .notification-centre .notifications {
    margin-top: 10px; }

#welcome,
.section-inner,
.welcome-page {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: stretch; }

#writetosanta_iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  border: none; }

.nzp-wreath {
  display: block;
  position: absolute;
  top: var(--site-padding);
  right: var(--site-padding);
  width: 120px; }

.standard-page {
  background-color: #fff;
  background-image: url("/assets/img/table-top.jpg");
  background-size: 100% auto;
  background-position: center;
  overflow: auto;
  padding-bottom: calc(var(--site-padding)*2); }
  .standard-page .standard-content {
    padding: calc(var(--site-padding)*2);
    background-color: #fff;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2); }
    @media all and (min-width: 700px) {
      .standard-page .standard-content {
        margin-top: calc(var(--site-padding)*-4); } }
    .standard-page .standard-content h1,
    .standard-page .standard-content h2,
    .standard-page .standard-content h3,
    .standard-page .standard-content h4,
    .standard-page .standard-content h5,
    .standard-page .standard-content p {
      color: #000;
      padding: 0px;
      margin-top: 1em;
      margin-bottom: .5em; }
    .standard-page .standard-content h4 {
      padding-top: 1em;
      border-top: 1px solid rgba(0, 0, 0, 0.1); }
    .standard-page .standard-content a {
      color: #0033a0; }
      .standard-page .standard-content a.btn {
        color: #fff; }
  .standard-page .standard-header {
    background-color: #000;
    background-image: url("/assets/img/homepage-bg-3.jpg");
    background-size: cover;
    background-position: top center;
    padding: calc(var(--site-padding)*4);
    min-height: 70vh;
    border-bottom: 10px solid white; }
    @media all and (max-width: 700px) {
      .standard-page .standard-header {
        min-height: 40vh;
        padding: calc(var(--site-padding)*2); } }
    .standard-page .standard-header h1 {
      color: #fff;
      text-align: center;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto;
      font-weight: 700;
      text-shadow: 0px 0px 40px rgba(18, 59, 84, 0.9); }
      @media all and (max-width: 700px) {
        .standard-page .standard-header h1 {
          font-size: 2em; } }
    .standard-page .standard-header .close_window {
      position: absolute;
      top: 10px;
      right: 10px; }

body {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: stretch;
  min-height: 100vh; }

.outerWrapper {
  position: relative;
  flex-grow: 1; }
  @media all and (max-width: 700px) {
    .outerWrapper {
      min-height: 100vh; } }

body,
html {
  background-color: #000;
  color: #fff;
  background-image: url("/assets/img/table-top.jpg");
  background-size: cover;
  background-position: center; }

.welcome-panel h1 {
  color: #fff;
  font-weight: 700;
  font-size: 3.5rem;
  padding-top: calc(var(--site-padding)/2); }
  @media all and (max-width: 700px) {
    .welcome-panel h1 {
      padding-top: 0px;
      font-size: 1.7rem; } }
.welcome-panel h3 {
  padding-top: calc(var(--site-padding)*2);
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 0px 0px 20px rgba(18, 59, 84, 0.75); }
  @media all and (max-width: 700px) {
    .welcome-panel h3 {
      padding-top: calc(var(--site-padding)*1);
      font-size: 1.4rem; } }

.form-holder {
  position: relative;
  width: 100%;
  min-height: 100%; }

.col-wrap {
  padding: calc(var(--site-padding)*1);
  padding-top: 0px;
  padding-bottom: 0px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 0;
  line-height: 0; }

.section-padding {
  position: relative; }
  @media all and (min-width: 700px) {
    .section-padding {
      padding: 50px 20px; } }

.section {
  overflow-y: auto; }
  .section .inner {
    text-align: center;
    padding: calc(var(--site-padding)*1); }
    .section .inner .inner-pos {
      position: relative;
      z-index: 2; }
    .section .inner .col-wrap {
      padding: calc(var(--site-padding)*1);
      padding-top: 0px;
      padding-bottom: 0px; }
    .section .inner .col {
      padding-top: calc(var(--site-padding)/2);
      width: 100%; }
      @media all and (min-width: 700px) {
        .section .inner .col {
          padding: calc(var(--site-padding)*1);
          padding-top: 0px;
          vertical-align: top;
          display: inline-block;
          width: 50%; } }
      @media all and (min-width: 700px) {
        .section .inner .col.wide {
          width: 60%; } }
      @media all and (min-width: 700px) {
        .section .inner .col.thin {
          width: 40%; } }
    .section .inner.centred-desktop {
      color: #000;
      padding: 0px;
      padding-top: calc(var(--site-padding)*1.5);
      margin: 0 auto;
      position: relative;
      z-index: 1; }
      @media all and (min-width: 700px) {
        .section .inner.centred-desktop {
          padding-top: calc(var(--site-padding)*3);
          width: 100%;
          max-width: 950px; } }
      .section .inner.centred-desktop h3,
      .section .inner.centred-desktop h4 {
        color: #000; }
      .section .inner.centred-desktop .actions {
        padding: calc(var(--site-padding)*1); }
        @media all and (min-width: 700px) {
          .section .inner.centred-desktop .actions {
            padding: calc(var(--site-padding)*2);
            padding-top: 0px; } }
  .section#complete .inner.centred-desktop {
    max-width: 500px; }
    .section#complete .inner.centred-desktop .inner-pos {
      padding-left: calc(var(--site-padding)*2);
      padding-right: calc(var(--site-padding)*2);
      padding-bottom: calc(var(--site-padding)*2); }
  .section#complete .inner h3 {
    padding-bottom: calc(var(--site-padding)*.5);
    padding-top: calc(var(--site-padding)*2);
    position: relative;
    font-weight: 400;
    font-size: 1.2rem; }
    .section#complete .inner h3:after {
      content: '';
      position: absolute;
      top: 0px;
      left: 20%;
      width: 60%;
      height: 1px;
      display: block;
      background-color: rgba(0, 0, 0, 0.2); }
  .section#complete .inner h4 {
    font-size: 1.3rem;
    font-weight: 500;
    padding-top: 0px;
    padding-bottom: calc(var(--site-padding)*2); }

.actions {
  text-align: right; }
  .actions:after {
    content: '';
    display: block;
    position: relative;
    clear: both; }

.enter-address-manual,
.address-selected {
  display: none; }
  .enter-address-manual .btn,
  .address-selected .btn {
    margin: 10px 0; }

.autocomplete-res {
  position: relative;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-top: none;
  max-height: 220px;
  overflow-y: auto;
  font-size: .85rem;
  line-height: 1.2em;
  width: 100%; }
  @media all and (min-width: 700px) {
    .autocomplete-res {
      top: 100%;
      left: 0px;
      margin-top: calc(var(--site-padding) * -1);
      position: absolute; } }
  .autocomplete-res .addr-res,
  .autocomplete-res .addr-select,
  .autocomplete-res .addr-wait,
  .autocomplete-res .addr-manual {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: calc(var(--site-padding)/2); }
    .autocomplete-res .addr-res:last-child,
    .autocomplete-res .addr-select:last-child,
    .autocomplete-res .addr-wait:last-child,
    .autocomplete-res .addr-manual:last-child {
      border-bottom: none; }
    .autocomplete-res .addr-res i,
    .autocomplete-res .addr-select i,
    .autocomplete-res .addr-wait i,
    .autocomplete-res .addr-manual i {
      margin-right: 5px; }
  .autocomplete-res .addr-res,
  .autocomplete-res .addr-manual {
    cursor: pointer;
    transition: .25s; }
    .autocomplete-res .addr-res:hover,
    .autocomplete-res .addr-manual:hover {
      background-color: #0033a0;
      color: #fff; }
  .autocomplete-res .addr-wait,
  .autocomplete-res .addr-select {
    font-weight: 500; }

/*# sourceMappingURL=main.v1.css.map */
