@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,900;1,400&family=Montserrat:wght@600&family=Playfair+Display:wght@900&display=swap");
/* 
* Set common colours  
*/
html {
  font-family: 'Lato', sans-serif; }

body {
  font-family: 'Lato', san-serif;
  font-size: 14px;
  background: #f9f9f9;
  color: #555; }

img {
  max-width: 100%; }

a {
  color: #93a2a9; }

p {
  line-height: 21px; }

strong {
  font-weight: 600; }

header {
  position: sticky;
  top: 0;
  z-index: 10; }

.header-content {
  color: #fff;
  padding: 20px 0 20px 0;
  font-weight: 600;
  background-image: url("../img/header.jpg");
  background-size: cover;
  background-repeat: no-repeat; }

.header-content span {
  display: none; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .header-content span {
    background: none; } }
.header__logo {
  max-height: 18px; }

@media (min-width: 768px) {
  .header__logo {
    max-height: 36px; }

  .header-content {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 1px;
    font-size: 21px; }

  .header-content span {
    display: block;
    float: right; } }
.brand-gradient {
  background: #93a2a9;
  height: 3px; }

.h-50 {
  height: 50px; }

.h-square {
  display: flex;
  padding-top: 100%; }

/* mobile only menu button to trigger drop down menu - all other rules in media query at bottom */
.header__mobile-button {
  position: absolute;
  top: -200px;
  right: 15px;
  height: 30px;
  width: 84px;
  border: 1px solid #eeeeee;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400; }

.header__mobile-button .fa {
  font-size: 18px;
  margin-left: 8px; }

.content-wrapper {
  padding: 50px 0;
  position: relative;
  /* for mobile menu positioning */ }

footer {
  font-family: 'Montserrat', sans-serif;
  text-align: center;
  padding: 15px;
  background: #f3f3f3;
  border-top: 1px solid #e3e3e3;
  color: #1f2a44;
  font-size: 13px; }

.nav-col__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  margin: 10px 0 45px 15px; }

.info-col__title {
  font-family: 'Playfair Display', serif;
  letter-spacing: 1px;
  font-size: 32px;
  font-weight: 400;
  margin: 0 0 50px 0;
  position: relative;
  padding-left: 50px;
  color: #93a2a9; }

.info-col__title:after {
  position: absolute;
  top: 20px;
  left: 0;
  content: '';
  width: 40px;
  height: 2px;
  background: #93a2a9; }

.info-col__sub-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 21px;
  letter-spacing: 1px;
  margin: 0 0 30px 0;
  font-weight: 600;
  text-transform: uppercase; }

.info-col__section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  margin: 30px 0;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px; }

.info-col__section-title span {
  font-weight: 600;
  font-size: 80%; }

/* 
 * Logos
 */
.logo-images {
  padding: 30px;
  border: 1px solid #eeeeee;
  background-color: #fff;
  text-align: center;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px; }

.logo__primary, .logo__secondary {
  width: 100%;
  max-width: 60%; }

.logo-background {
  background-image: url("../img/logo-bg.jpg");
  background-size: cover; }

@media (min-width: 768px) {
  .logo__primary, .logo__secondary {
    max-width: 30%; } }
.logo__secondary-white-p, .logo__secondary-white, .logo__supporter {
  width: 100%;
  max-width: 50%; }

.logo__clearspace-container {
  background: repeating-linear-gradient(45deg, #eeeeee, #eeeeee 10px, #f5f5f5 10px, #f5f5f5 20px); }

.logo__clearspace {
  max-width: 350px;
  background: #fff;
  border: 20px solid #def0ff; }

/* 
 * Colours
 */
.colors__off-black-background {
  background: #231f20;
  border: 1px solid black;
  color: #fff; }

.colors__brand-primary-background {
  background: #393f2a;
  border: 1px solid #212517;
  color: #fff; }

.colors__brand-secondary-background {
  background: #93a2a9;
  border: 1px solid #788b94;
  color: #fff; }

.colors__brand-tertiary-background {
  background: #74726a;
  border: 1px solid #56544c;
  color: #fff; }

.colors__off-black-text {
  color: #231f20; }

.colors__gold-text {
  color: #976c41; }

.colors__navy-text {
  color: #1f2a44; }

.colors__swatches {
  padding: 30px;
  margin-bottom: 15px; }

.colors__swatches-title {
  font-weight: 600;
  font-size: 18px; }

.colors__swatches ul {
  margin: 15px 0 0 0;
  padding: 0;
  list-style: none; }

.colors__swatches ul li {
  margin-bottom: 6px; }

.colors__swatches ul li label {
  opacity: 0.66;
  width: 80px;
  margin: 0; }

.colors__pure-black-background {
  background: black;
  border: 1px solid black;
  color: #fff; }

.colors__dark-grey-background {
  background: #555555;
  border: 1px solid #666;
  color: #fff; }

.colors__brand-primary-background {
  background: #393f2a;
  border: 1px solid #666;
  color: #fff; }

.colors__light-grey-background {
  background: #eeeeee;
  border: 1px solid #ddd; }

.colors__success-green {
  background: #eef9ee;
  border-left: 3px solid #008a17;
  color: #739c69; }

.colors__error-red {
  background: #fff5f6;
  border-left: 3px solid #cc0000;
  color: #b16666; }

/* 
 * Nav / Menu
 */
.main-nav {
  margin: 0;
  padding: 0; }

.main-nav__item {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 50px; }

.main-nav__item a {
  color: black;
  font-size: 13px;
  display: block;
  padding: 0 0 0 12px;
  border-left: 3px solid #f9f9f9; }

.main-nav__item a:hover {
  background: #eeeeee;
  text-decoration: none;
  border-left: 3px solid #93a2a9; }

.main-nav__item--active {
  background: #eeeeee; }

.main-nav__item--active a {
  border-left: 3px solid #93a2a9; }

/* 
 * typeface
 */
.typeface__title-primary {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  letter-spacing: 1px;
  margin-bottom: 20px;
  line-height: 38px; }

.typeface__title-primary span, .typeface__title-secondary span, .typeface__title-tertiary span {
  color: #93a2a9; }

.typeface__title-secondary {
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 1px;
  font-size: 18px;
  line-height: 24px; }

.typeface__title-tertiary {
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  margin-bottom: 20px; }

.typeface__title-tertiary span {
  letter-spacing: 1px;
  color: #93a2a9; }

.typeface__sizing--one {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  letter-spacing: 1px;
  font-weight: 900; }

.typeface__sizing--two {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  letter-spacing: 1px;
  font-weight: 600; }

.typeface__sizing--three {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  letter-spacing: 1px;
  font-weight: 600; }

.typeface__sizing--body-bold {
  font-size: 12px;
  font-weight: 900; }

.typeface__sizing--body {
  font-size: 12px; }

.typeface__sizing--btn-cta {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  font-weight: 400; }

.typeface__sizing--btn {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px; }

.typeface__sizing--hero-title {
  font-size: 62px;
  font-weight: 400;
  margin-bottom: 0;
  color: #fff;
  line-height: 62px; }

.typeface__sizing--hero-subtext {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px; }

@media (min-width: 768px) {
  .typeface__title-primary {
    font-size: 48px;
    line-height: 58px; }

  .typeface__title-secondary {
    font-size: 21px;
    line-height: 31px; }

  .typeface__title-tertiary {
    font-size: 21px;
    line-height: 31px; }

  .typeface__sizing--one {
    font-size: 48px; }

  .typeface__sizing--two {
    font-size: 21px; }

  .typeface__sizing--three {
    font-size: 15px; }

  .typeface__sizing--body {
    font-size: 14px; }

  .typeface__sizing--body-bold {
    font-size: 14px; } }
.fa-desktop, .fa-mobile {
  color: #ccc;
  font-size: 16px; }

.fa-mobile {
  font-size: 18px; }

.slash {
  color: #ccc;
  margin: 0 5px; }

.typography__table > tbody > tr > td {
  vertical-align: middle;
  height: 70px; }

.typography__table > thead > tr > th {
  letter-spacing: 1px;
  color: #93a2a9; }

.code-container {
  border: 1px solid #dedddc !important;
  border-left: 3px solid #93a2a9 !important; }

.CodeMirror {
  height: initial;
  font-size: 11px; }

.sand-dune {
  background: url("../img/sand-dune.jpg") center center no-repeat;
  background-size: cover;
  min-height: 200px;
  position: relative; }

.sand-dune div:nth-child(1) {
  position: absolute;
  top: 15px;
  width: calc(100% - 30px); }

.sand-dune div:nth-child(2) {
  position: absolute;
  bottom: 15px;
  width: calc(100% - 30px); }

.striped-bg {
  background: repeating-linear-gradient(45deg, #eeeeee, #eeeeee 10px, #f5f5f5 10px, #f5f5f5 20px);
  min-height: 100px; }

/* Default button styles (for forms) - solid button */
.btn-ff {
  transition: all 0.2s ease;
  display: inline-block;
  margin: 10px auto 15px auto;
  text-align: center;
  padding: 6px 24px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  background: #1f2a44;
  color: #fff;
  border: 1px solid transparent; }

.btn-cta {
  /* larger font and more padding for a bigger button */
  font-size: 18px;
  padding: 10px 30px;
  letter-spacing: 0; }

.btn-outline {
  /* Variation so it's outline and transparent (not solid)  */
  background: transparent;
  color: #1f2a44;
  border-color: #1f2a44; }

.btn-outline.btn-inverted {
  background: transparent;
  color: #fff;
  border-color: #fff; }

/* Hover states for all variations - either brand gold (default) or inverted */
.btn-ff:hover {
  background: #976c41;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent; }

.btn-hero:hover, .btn-inverted, .btn-outline.btn-inverted:hover {
  background: #fff;
  color: #1f2a44; }

.btn-inverted:hover, .btn-outline:hover {
  background: #1f2a44;
  color: #fff; }

/* 
 * Forms
 */
.ff-select__container {
  position: relative;
  margin-bottom: 15px; }

.ff-select {
  width: 100%;
  height: 32px; }

.ff-select__mask {
  display: flex;
  /* flex and align/justify to centre/middle text AND chevron background image */
  align-items: center;
  justify-content: center;
  position: absolute;
  /* position to relate to the select box below it */
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #555555;
  color: #fff;
  font-size: 12px;
  letter-spacing: 1px;
  border-radius: 0;
  pointer-events: none;
  /* Critical so click/tap hits select below this mask */
  height: 32px; }

.ff-text, .ff-textarea {
  /* Remove a few things first (iOS again!) */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Now style how we want it */
  border: 1px solid #ccc;
  padding: 8px;
  border-radius: 0;
  transition: all ease-in-out .15s;
  width: 100%;
  margin-bottom: 12px; }

.ff-textarea {
  min-height: 100px; }

.ff-checkbox {
  display: none; }

.ff-checkbox + label {
  cursor: pointer;
  margin-right: 25px; }

.ff-checkbox + label:before {
  background: #fff;
  height: 21px;
  border: 1px solid #ccc;
  content: " ";
  display: inline-block;
  width: 21px;
  vertical-align: middle;
  margin-right: 10px;
  position: relative;
  top: -1px; }

.ff-checkbox:checked + label:before {
  font-family: FontAwesome;
  content: "\f00c";
  color: #976c41;
  font-size: 14px;
  text-align: center;
  line-height: 21px; }

.ff-radio__container {
  position: relative;
  margin: 0 0 6px 0; }

.ff-radio__container input {
  position: absolute;
  margin: 5px;
  padding: 0;
  /* for mobile accessibility (iOS Label Bug) */
  visibility: hidden; }

.ff-radio__container .label-visible {
  margin-left: 30px;
  margin-bottom: 0;
  margin-right: 25px;
  cursor: pointer; }

.radio-button__mask {
  position: absolute;
  display: block;
  top: 0;
  left: 0px;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  background-color: white; }

.radio-button__mask:after {
  content: "";
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #976c41;
  transform: translateX(-50%) translateY(-50%); }

.radio-button__mask, .radio-button__mask:after {
  border-radius: 50%; }

input[type="radio"]:checked + span .radio-button__mask:after {
  display: block; }

.svg-grid svg, .svg-grid img {
  height: 18px; }

.svg-grid div {
  transition: all 0.2s ease;
  background-color: #fff; }

.svg-grid div:hover {
  transition: all 0.2s ease; }

.svg-grid .gold-svg:hover .ff-svg {
  fill: #976c41; }

.svg-grid .background-svg:hover {
  background-color: #231f20; }

.svg-grid .background-svg:hover .ff-svg {
  fill: #fff; }

.svg-grid, .fa-grid {
  margin-bottom: 30px; }

.svg-grid {
  display: flex; }

.svg-grid div {
  width: 60px;
  height: 60px;
  text-align: center;
  border: 1px solid #eeeeee;
  margin-right: 8px;
  display: flex;
  align-items: center;
  justify-content: center; }

.fa-grid .fa {
  font-size: 22px;
  padding: 18px;
  border: 1px solid #eeeeee;
  background-color: #fff;
  width: 60px;
  height: 60px;
  text-align: center;
  margin-right: 4px;
  margin-bottom: 8px; }

/* 
 * Global mobile ONLY (so we don't have to override these in every rule)
 */
@media (max-width: 767px) {
  input[type=text], select, textarea {
    font-size: 16px;
    /* This is just for iOS because otherwise the browser zooms in */ }

  header {
    position: fixed;
    height: 61px;
    left: 0;
    right: 0; }

  .content-wrapper {
    margin-top: 61px; }

  .header__mobile-button {
    top: 15px; }

  .main-nav {
    margin-bottom: 50px;
    position: fixed;
    top: -800px;
    left: 0;
    right: 0;
    z-index: 10;
    transition: all .5s ease-in-out; }

  .mobile-nav--active {
    top: 61px; }

  .nav-col__title {
    display: none; }

  .main-nav {
    background-color: #eeeeee; }

  .main-nav__item a, .main-nav__item a:hover, .main-nav__item--active a {
    border-left: 0; }

  .main-nav__item {
    padding-left: 8px; } }
/* 
 * Bigger than mobile things
 */
@media (min-width: 768px) and (max-width: 1199px) {
  .colors__swatches ul li label {
    display: block; } }
@media (min-width: 768px) {
  .colors__swatches {
    margin: 0;
    /* this is a reset from mobile */ } }
@media (min-width: 920px) {
  .nav-col {
    position: sticky;
    top: 30px; } }

/*# sourceMappingURL=uxwd.css.map */
