@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body.light-mode {
  background: hsl(0, 0%, 90%);
}
body.light-mode h1,
body.light-mode h2,
body.light-mode h3,
body.light-mode h4,
body.light-mode h5,
body.light-mode p,
body.light-mode li,
body.light-mode a {
  color: #636451;
}
body.light-mode .social li a svg {
  fill: #636451;
}

body.dark-mode {
  background: hsl(0, 0%, 0%);
}
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode p,
body.dark-mode li,
body.dark-mode a {
  color: hsl(0, 0%, 90%);
}
body.dark-mode .social li a svg {
  fill: hsl(0, 0%, 90%);
}

h1,
h2,
h3,
h4,
h5 {
  text-rendering: optimizeLegibility !important;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased !important;
  font-family: "Header-Regular", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

p,
li,
small {
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h1 {
  font-size: 5em;
  font-size: clamp(2rem, 2.8vw, 5rem);
  margin: 0 0 0.5em 0;
  line-height: 1.3em;
}

h2 {
  font-size: 1.8em;
  font-size: clamp(1.5rem, 2vw, 3rem);
  line-height: 1.3em;
}

h3 {
  font-size: 1.5em;
  font-size: clamp(1.4rem, 1.8vw, 2.2rem);
  line-height: 1.3em;
}

h4 {
  font-size: 1.2em;
  font-size: clamp(1.2rem, 1.5vw, 1.6rem);
  margin: 0 0 0.5em 0;
  line-height: 1.3em;
}

h5 {
  font-size: 1.1em;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  margin: 0 0 0.5em 0;
  line-height: 1.3em;
}

p,
li,
input,
select,
textarea {
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.4em;
  margin: 0 0 0.5em 0;
  font-size: 1em;
  font-size: clamp(1em, 1.1vw, 1.2em);
}

ul {
  margin: 0;
}

ol {
  list-style-type: decimal;
  margin-left: 1em;
}

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

p b,
p strong {
  font-family: "Bold", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

p i,
p em {
  font-family: "Italic", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* 4. LINKS
----------------------------------------------------------------------------------------*/
a,
h1 a {
  text-decoration: none;
  transition: color 0.2s ease-in;
}

.content h2 {
  margin: 1em 0 0.5em 0;
}
.content h3 {
  font-size: clamp(1.3rem, 1.6vw, 2rem);
}

.cc-window {
  opacity: 1;
  transition: opacity 1s ease;
}

.cc-window.cc-invisible {
  opacity: 0;
}

.cc-animate.cc-revoke {
  transition: transform 1s ease;
}

.cc-animate.cc-revoke.cc-top {
  transform: translateY(-2em);
}

.cc-animate.cc-revoke.cc-bottom {
  transform: translateY(2em);
}

.cc-animate.cc-revoke.cc-active.cc-bottom, .cc-animate.cc-revoke.cc-active.cc-top, .cc-revoke:hover {
  transform: translateY(0);
}

.cc-grower {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s;
}

.cc-link, .cc-revoke:hover {
  text-decoration: underline;
}

.cc-revoke, .cc-window {
  position: fixed;
  overflow: hidden;
  box-sizing: border-box;
  font-family: Helvetica, Calibri, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  display: flex;
  flex-wrap: nowrap;
  z-index: 9999;
}

.cc-window.cc-static {
  position: static;
}

.cc-window.cc-floating {
  padding: 2em;
  max-width: 24em;
  flex-direction: column;
}

.cc-window.cc-banner {
  padding: 1em 1.8em;
  width: 100%;
  flex-direction: row;
}

.cc-revoke {
  padding: 0.5em;
}

.cc-header {
  font-size: 18px;
  font-weight: 700;
}

.cc-btn, .cc-close, .cc-link, .cc-revoke {
  cursor: pointer;
}

.cc-link {
  opacity: 0.8;
  display: inline-block;
  padding: 0.2em;
}

.cc-link:hover {
  opacity: 1;
}

.cc-link:active, .cc-link:visited {
  color: initial;
}

.cc-btn {
  display: block;
  padding: 0.4em 0.8em;
  font-size: 0.9em;
  font-weight: 700;
  border-width: 2px;
  border-style: solid;
  text-align: center;
  white-space: nowrap;
}

.cc-banner .cc-btn:last-child {
  min-width: 140px;
}

.cc-highlight .cc-btn:first-child {
  background-color: transparent;
  border-color: transparent;
}

.cc-highlight .cc-btn:first-child:focus, .cc-highlight .cc-btn:first-child:hover {
  background-color: transparent;
  text-decoration: underline;
}

.cc-close {
  display: block;
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  font-size: 1.6em;
  opacity: 0.9;
  line-height: 0.75;
}

.cc-close:focus, .cc-close:hover {
  opacity: 1;
}

.cc-revoke.cc-top {
  top: 0;
  left: 3em;
  border-bottom-left-radius: 0.5em;
  border-bottom-right-radius: 0.5em;
}

.cc-revoke.cc-bottom {
  bottom: 0;
  left: 3em;
  border-top-left-radius: 0.5em;
  border-top-right-radius: 0.5em;
}

.cc-revoke.cc-left {
  left: 3em;
  right: unset;
}

.cc-revoke.cc-right {
  right: 3em;
  left: unset;
}

.cc-top {
  top: 1em;
}

.cc-left {
  left: 1em;
}

.cc-right {
  right: 1em;
}

.cc-bottom {
  bottom: 1em;
}

.cc-floating > .cc-link {
  margin-bottom: 1em;
}

.cc-floating .cc-message {
  display: block;
  margin-bottom: 1em;
}

.cc-window.cc-floating .cc-compliance {
  flex: 1;
}

.cc-window.cc-banner {
  align-items: center;
}

.cc-banner.cc-top {
  left: 0;
  right: 0;
  top: 0;
}

.cc-banner.cc-bottom {
  left: 0;
  right: 0;
  bottom: 0;
}

.cc-banner .cc-message {
  flex: 1;
}

.cc-compliance {
  display: flex;
  align-items: center;
  align-content: space-between;
}

.cc-compliance > .cc-btn {
  flex: 1;
}

.cc-btn + .cc-btn {
  margin-left: 0.5em;
}

@media print {
  .cc-revoke, .cc-window {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  .cc-btn {
    white-space: normal;
  }
}
@media screen and (max-width: 414px) and (orientation: portrait), screen and (max-width: 736px) and (orientation: landscape) {
  .cc-window.cc-top {
    top: 0;
  }
  .cc-window.cc-bottom {
    bottom: 0;
  }
  .cc-window.cc-banner, .cc-window.cc-left, .cc-window.cc-right {
    left: 0;
    right: 0;
  }
  .cc-window.cc-banner {
    flex-direction: column;
  }
  .cc-window.cc-banner .cc-compliance {
    flex: 1;
  }
  .cc-window.cc-floating {
    max-width: none;
  }
  .cc-window .cc-message {
    margin-bottom: 1em;
  }
  .cc-window.cc-banner {
    align-items: unset;
  }
}
.cc-floating.cc-theme-classic {
  padding: 1.2em;
  border-radius: 5px;
}

.cc-floating.cc-type-info.cc-theme-classic .cc-compliance {
  text-align: center;
  display: inline;
  flex: none;
}

.cc-theme-classic .cc-btn {
  border-radius: 5px;
}

.cc-theme-classic .cc-btn:last-child {
  min-width: 140px;
}

.cc-floating.cc-type-info.cc-theme-classic .cc-btn {
  display: inline-block;
}

.cc-theme-edgeless.cc-window {
  padding: 0;
}

.cc-floating.cc-theme-edgeless .cc-message {
  margin: 2em 2em 1.5em;
}

.cc-banner.cc-theme-edgeless .cc-btn {
  margin: 0;
  padding: 0.8em 1.8em;
  height: 100%;
}

.cc-banner.cc-theme-edgeless .cc-message {
  margin-left: 1em;
}

.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn {
  margin-left: 0;
}

.container {
  width: 90vw;
  margin: auto;
  box-sizing: border-box;
  padding: 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .container {
    width: 90vw;
    padding: 0 5vw 0 5vw;
  }
}
.container nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-head {
  grid-area: header;
}

.content {
  grid-area: content;
  z-index: 100;
  position: relative;
}

.content-wide {
  padding: 0 0 2vw 0;
}

.content {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 5vw 5vw 0 5vw;
}
@media screen and (min-width: 2000px) {
  .content {
    max-width: 65vw;
    padding: 5vw 5vw 0 5vw;
    margin: auto;
  }
}

.content.no-hero {
  padding: 5vw 5vw 0 5vw;
}
@media screen and (max-width: 991px) {
  .content.no-hero {
    padding: 25vw 5vw 0 5vw;
  }
}
@media screen and (min-width: 1400px) {
  .content.no-hero {
    padding: 10vw 5vw 0 5vw;
  }
}

.content.row {
  flex-direction: row;
  justify-content: space-between;
}

.left-col {
  flex: 0 0 65%;
  padding: 0 0 0 0;
  margin: 0 0 5vw 0;
}

.right-col {
  flex: 0 0 30%;
  padding: 0 0 0 0;
  margin: 0 0 5vw 0;
}

.sub-content {
  padding: 8vw 0 8vw 0;
}

.grid {
  --columns: 12;
  --gutter: 5em;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: repeat(1, 1fr);
  grid-auto-flow: dense; /* NEW */
  grid-column: 1;
}

.grid.margin-bottom {
  margin-bottom: 60px;
}

@media screen and (max-width: 991px) {
  .grid {
    display: flex;
    flex-direction: column;
    --gutter: 1em;
  }
  .grid:nth-child(2n) {
    flex-direction: column-reverse;
  }
}
.grid > .column {
  margin-bottom: 0px;
  display: flex;
  padding: 3%;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  align-content: center;
  position: relative;
}
@media screen and (max-width: 991px) {
  .grid > .column {
    padding: 0 0 0 0;
  }
}
.grid > .column .blocks {
  width: 100%;
}
.grid > .column .blocks .block {
  margin-bottom: 2em;
}

.grid.full-width > .column {
  padding: 0;
}

@media screen and (max-width: 991px) {
  .grid {
    max-width: 100%;
    margin: auto;
    margin-bottom: 10vw;
  }
  .grid > .column {
    justify-content: flex-start;
  }
}
.autogrid {
  --gutter: 10vw;
  --min: 10rem;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
  grid-auto-flow: dense;
}

.block :first-child {
  margin-top: 0;
}

.block :last-child {
  margin-bottom: 0;
}

.block p,
.block ul,
.block ol {
  margin-bottom: 1rem;
}

.block ul,
.block ol {
  margin-left: 1rem;
}

.block ul p,
.block ol p {
  margin-bottom: 0;
}

.block ul > li {
  list-style: disc;
}

.block ol > li {
  list-style: decimal;
}

.block ul ol,
.block ul ul,
.block ol ul,
.block ol ol {
  margin-bottom: 0;
}

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

.video,
.img {
  position: relative;
  display: block;
  --w: 1;
  --h: 1;
  padding-bottom: calc(100% / var(--w) * var(--h));
  background: var(--color-black);
}

.img img,
.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 0;
}

.img[data-contain] img {
  -o-object-fit: contain;
     object-fit: contain;
}

.img-caption,
.video-caption {
  padding-top: 0.75rem;
  line-height: 1.5em;
}

@media screen and (min-width: 60rem) {
  .grid {
    --gutter: 5rem;
    grid-template-columns: repeat(12, 1fr);
  }
  .grid > .column {
    grid-column: span var(--columns);
  }
}
/* Slider */
.slider {
  position: relative;
}

.slider {
  visibility: hidden;
}

.slick-initialized {
  visibility: visible;
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  transition: all 1s cubic-bezier(0.7, 0, 0.3, 1);
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  position: relative;
  float: left;
  width: 100px;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: inline-block;
  margin: 0;
  height: 100%;
  padding: 0;
  transition: all 1s cubic-bezier(0.7, 0, 0.3, 1);
}
.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 43%;
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  transform: translate(0, -50%);
  z-index: 8888;
  cursor: pointer;
  opacity: 1;
  border: none;
  outline: none;
}
@media screen and (min-width: 768px) {
  .slick-prev,
  .slick-next {
    width: 50px;
    height: 50px;
  }
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 0.6;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 25px;
  line-height: 1;
  opacity: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: 20px;
}

[dir=rtl] .slick-prev {
  right: 20px;
  left: auto;
}

.slick-prev:before {
  content: "←";
}

[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: 20px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: 20px;
}

.slick-next:before {
  content: "→";
}

[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.slick-dots {
  position: absolute;
  bottom: 20px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  z-index: 6666;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-family: "slick";
  font-size: 25px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  text-align: center;
  opacity: 0.25;
  color: hsl(0, 0%, 80%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: hsl(0, 0%, 100%);
}

/* Magnific Popup CSS */
.blur-filter {
  -moz-filter: blur(3px);
  filter: blur(3px);
  opacity: 0.5;
}

.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9998;
  overflow: hidden;
  position: fixed;
  background: black;
  opacity: 0.8;
  filter: alpha(opacity=50);
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #cccccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #cccccc;
}

.mfp-preloader a:hover {
  color: white;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: white;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333333;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #cccccc;
  font-size: 12px;
  line-height: 18px;
  font-family: "Bold", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid white;
  margin-left: 31px;
}

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid white;
  margin-left: 39px;
}

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: black;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  border: 1px solid hsl(0, 0%, 40%);
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444444;
}

.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: 36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px;
  font-family: "Light", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    transform-origin: 0;
  }
  .mfp-arrow-right {
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
.mfp-ie7 .mfp-img {
  padding: 0;
}

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px;
}

.mfp-ie7 .mfp-container {
  padding: 0;
}

.mfp-ie7 .mfp-content {
  padding-top: 44px;
}

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mfp-open .mfp-figure {
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-fill-mode: both;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
}

/**
 * Fade-move animation for second dialog
 */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
  opacity: 0;
  transition: all 0.2s ease-out;
  transform: translateY(-20px) perspective(600px) rotateX(10deg);
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  transform: translateY(0) perspective(600px) rotateX(0);
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
  opacity: 0;
  transform: translateY(-10px) perspective(600px) rotateX(10deg);
}

/* Dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
  opacity: 0;
}

/**
 * Fade-zoom animation for first dialog
 */
/* start state */
.my-mfp-zoom-in .zoom-anim-dialog {
  opacity: 0;
  transition: all 0.2s ease-in-out;
  transform: scale(0.8);
}

/* animate in */
.my-mfp-zoom-in.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  transform: scale(1);
}

/* animate out */
.my-mfp-zoom-in.mfp-removing .zoom-anim-dialog {
  transform: scale(0.8);
  opacity: 0;
}

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}

/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

/**
 * Fade-move animation for second dialog
 */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
  opacity: 0;
  transition: all 0.2s ease-out;
  transform: translateY(-20px) perspective(600px) rotateX(10deg);
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  transform: translateY(0) perspective(600px) rotateX(0);
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
  opacity: 0;
  transform: translateY(-10px) perspective(600px) rotateX(10deg);
}

/* Dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
  opacity: 0;
}

/* BLOG
---------------------------------------------------------------------- */
.article-wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex-flow: wrap;
  width: 100%;
  height: auto;
}
.article-wrap .article {
  flex: 0 0 31%;
  border: 1px solid hsl(0, 0%, 30%);
  height: auto;
  padding: 0 0 2vw 0;
}
.article-wrap .article .article-info {
  padding: 1vw 2vw 2vw 2vw;
}
.article-wrap .article .article-info h3 {
  margin: 1vw 0;
  min-height: 6vw;
}
.article-wrap .article .article-info .meta {
  display: flex;
}
.article-wrap .article .tags {
  display: flex;
  list-style: none;
  margin: 0 0 0 2vw;
}
.article-wrap .article .tags li {
  list-style: none;
}
.article-wrap .article .tags li:not(:last-child)::after {
  content: ",";
  margin-right: 0.5em; /* Optional: Add some space after the comma */
}

.nextprev {
  display: none;
}

.author {
  display: flex;
  align-items: center;
  padding: 2vw 5vw 2vw 2vw;
  border-radius: 3vw;
  justify-content: space-between;
  margin-left: 3%;
  background: var(--primary-colour);
}
.author .author-image {
  flex: 0 0 20%;
}
.author .author-image img {
  border-radius: 100%;
}
.author .author-description {
  flex: 0 0 75%;
  padding-left: 2vw;
}
.author .author-description h3 {
  margin-bottom: 1em;
}
.author .author-description p {
  color: var(--secondary-colour);
}

#moreArticles {
  margin-left: 3vw;
}
#moreArticles .article a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#moreArticles .article a .article-image {
  flex: 0 0 20%;
}
#moreArticles .article a h3 {
  font-size: 120%;
  margin-left: 1vw;
}

.divider {
  margin: 5em auto 5em auto;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.divider img {
  width: auto;
  height: 50px;
}
.divider span {
  position: relative;
  background: #636451;
  padding: 10px;
  border-radius: 100%;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.divider span:before,
.divider span:after {
  content: "";
  position: absolute;
  height: 0;
  border-top: 1px solid hsl(0, 0%, 50%);
  top: 30px;
  width: 15vw;
}
.divider span:before {
  right: 100%;
  margin-right: 15px;
}
.divider span:after {
  left: 100%;
  margin-left: 15px;
}

.reviews-page #reviews {
  max-width: 800px;
  margin: 5vw auto;
}
.reviews-page #reviews .review {
  margin: 0 0 0 0;
}
.reviews-page #reviews .review .review-text p {
  font-family: "Italic", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.reviews-page #reviews .review .review-meta {
  display: inline-flex;
  flex-direction: column;
  border-top: 1px solid hsl(0, 0%, 60%);
  margin: 1vw 0 0 0;
  padding: 0.5em 0 0 0;
  width: auto;
}
.reviews-page #reviews .review .review-meta p {
  font-family: "Bold", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  font-size: 1em;
  color: hsl(0, 0%, 60%);
}
.reviews-page #reviews .review .review-meta p.date {
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#home #reviews {
  margin: 20vw auto 10vw auto;
  height: auto;
  max-width: 80%;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  overflow: hidden;
}
#home #reviews .review {
  flex: 0 0 100%;
}
#home #reviews .btn {
  margin: -30px auto 60px auto;
  display: inline-block;
}
#home #reviews .review-meta {
  margin: 20px 0 60px 0;
}
@media only screen and (min-width: 768px) {
  #home #reviews {
    margin: 8vw auto 3% auto;
    height: auto;
    max-width: 100%;
    padding: 5vw;
  }
  #home #reviews .review {
    flex: 0 0 30%;
  }
}

.faq-page .faq-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
.faq-page .faq-wrap .faq {
  margin: 0 0 0 0;
}

.service-nav {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  margin: 0;
}
.service-nav .service {
  display: flex;
  position: relative;
  margin: 0;
  overflow: hidden;
  flex: 0 0 100%;
  height: auto;
  flex-direction: row;
}
.service-nav .service .service-image {
  flex: 0 0 50%;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 40%;
}
.service-nav .service .service-image img {
  position: absolute;
  top: 0;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  vertical-align: top;
  border: 1px solid hsl(0, 0%, 40%);
  height: 100%;
}
.service-nav .service .service-info {
  flex: 0 0 50%;
  padding: 3vw 0 3vw 5vw;
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
}
.service-nav .service .service-info h2 {
  margin-top: 0;
}
.service-nav .service .service-info .btn {
  align-self: flex-start;
}
.service-nav .service:nth-child(even) {
  flex-direction: row-reverse;
}
.service-nav .service:nth-child(even) .service-info {
  padding-left: 0;
  padding-right: 5vw;
}

@media screen and (max-width: 991px) {
  .service-nav {
    flex-direction: column;
  }
  .service-nav .service {
    display: flex;
    position: relative;
    margin: 0;
    overflow: hidden;
    flex: 0 0 100%;
    height: auto;
    flex-direction: column;
  }
  .service-nav .service .service-image {
    flex: 0 0 100%;
    padding-top: 65%;
  }
  .service-nav .service .service-info {
    flex: 0 0 100%;
    padding: 10vw 0;
    height: auto;
    margin: 0 0 10vw;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .service-nav .service .service-info .btn {
    margin-top: 3vw;
  }
  .service-nav .service:nth-child(even) {
    flex-direction: column;
  }
}
#portfolioNav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-gap: 0.5vw;
  width: 100%;
  height: auto;
  margin: 5px 0 0 0;
  position: relative;
}
#portfolioNav a.project {
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}
#portfolioNav a.project .project-logo {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: hsl(0, 0%, 0%);
  box-sizing: border-box;
  z-index: 2000;
  opacity: 1;
  transition: all 0.5s ease;
}
#portfolioNav a.project .project-logo img {
  width: 70%;
}
#portfolioNav a.project .project-logo:hover,
#portfolioNav a.project .project-logo:focus {
  opacity: 0;
}
#portfolioNav a.project .project-hover {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  box-sizing: border-box;
  z-index: 1500;
  width: 100%;
  height: 100%;
}
#portfolioNav a.project .project-hover img {
  width: 100%;
  height: auto;
  background-size: cover;
}

.project #project .project-logo {
  position: absolute;
  top: 30vw;
  left: 10vw;
  width: 80%;
  animation: fadeInHero 1.5s forwards 1;
}
.project #project .project-description p {
  color: #f714f0;
  max-width: 100%;
  margin: 5vw 0 5vw 0;
  animation: 3s ease 0s normal forwards 1 fade-in;
  opacity: 0;
}
.project #builder {
  max-width: 100%;
  margin: 85vw 0 10vw 0;
}
.project .project-image {
  position: relative;
  margin: 0 0 20px 0;
}
@media screen and (min-width: 768px) {
  .project #project {
    margin: 0 0 10vw 0;
  }
  .project #project .project-logo {
    position: absolute;
    top: 17vw;
    left: auto;
    right: 6vw;
    width: 22vw;
  }
  .project #project .project-description p {
    color: #f714f0;
    max-width: 100%;
    margin: 5vw 0 5vw 0;
  }
  .project #builder {
    max-width: 100%;
    margin: 40vw 0 10vw 0;
  }
}
@media screen and (min-width: 1920px) {
  .project #project {
    margin: 0 0 10vw 0;
  }
  .project #project .project-logo {
    position: fixed;
    top: 17vw;
    left: auto;
    right: 6vw;
    width: 22vw;
  }
  .project #project .project-description p {
    color: #f714f0;
    max-width: 100%;
    margin: 5vw 0 5vw 0;
  }
  .project #builder {
    max-width: 66%;
    margin: 30vw 0 10vw 0;
  }
}
.project #nextPrevArrows {
  position: relative;
  z-index: 1;
}
.project #nextPrevArrows .next {
  position: fixed;
  bottom: 50vh;
  right: 1.5vw;
}
.project #nextPrevArrows .prev {
  position: fixed;
  bottom: 50vh;
  left: 1.5vw;
}
.project #nextPrevArrows a svg {
  width: 6vw;
}
@media screen and (min-width: 768px) {
  .project #nextPrevArrows .next {
    bottom: 2vw;
    right: 1.5vw;
  }
  .project #nextPrevArrows .prev {
    bottom: 2vw;
    left: 1.5vw;
  }
  .project #nextPrevArrows a svg {
    width: 3vw;
  }
}
.project .nextprev {
  display: flex;
  width: 100%;
  justify-content: space-between;
  flex-flow: row;
  align-items: center;
  margin: 50px 0 0 0;
}
.project .nextprev .next a,
.project .nextprev .prev a {
  color: hsl(0, 0%, 100%);
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #f714f0;
  transition: all 0.5s ease;
  padding: 1vw 2vw;
}
.project .nextprev .next a:hover,
.project .nextprev .prev a:hover {
  background: #efa400;
}
.project .nextprev .next a {
  align-self: flex-end;
}
.project .nextprev .prev a {
  align-self: flex-start;
}
.project .nextprev a svg {
  width: 6vw;
}
@media screen and (min-width: 768px) {
  .project .nextprev .next a,
  .project .nextprev .prev a {
    padding: 1vw;
  }
  .project .nextprev a svg {
    width: 3vw;
  }
}
.project .arrowWhite {
  fill: hsl(0, 0%, 100%);
}
.project .arrowRed {
  fill: #f714f0;
}
.project a svg .arrowRed {
  transition: all 0.5s ease;
}
.project a:hover svg .arrowRed {
  fill: #efa400;
}

#homePortfolioNav .project {
  background: none;
  display: block;
  width: 100%;
  height: auto;
}
#homePortfolioNav .project .project-logo {
  padding: 0;
  box-sizing: border-box;
}
#homePortfolioNav .project .project-logo a {
  display: block;
}
#homePortfolioNav .project .project-logo img {
  width: 40vw;
}

#galleryNav {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  margin: 3vw 0;
}
#galleryNav a.album {
  width: 100%;
  margin: 0 0 5vw 0;
  height: auto;
  position: relative;
  box-sizing: border-box;
  text-decoration: none;
}
#galleryNav a.album h3 {
  margin: 3vw 0 1vw 0;
}
#galleryNav .album-cover {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}
#galleryNav .album-cover img {
  position: absolute;
  top: 0;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  vertical-align: top;
  border: 1px solid hsl(0, 0%, 40%);
  height: 100%;
}
#galleryNav .album-title p {
  font-family: "Light", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.gallery-page #galleryNav a.album .album-cover,
.home-page #galleryNav a.album .album-cover {
  padding-top: 75%;
}

.homepage-gallery {
  margin: 5vw auto;
  max-width: 100%;
  width: 100%;
  padding: 2vw 5vw;
  width: 100%;
  box-sizing: border-box;
  background: #c6b396;
}

#galleryNav {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 3vw 0;
}
@media (max-width: 991px) {
  #galleryNav {
    flex-direction: column;
    width: 100%;
  }
}
#galleryNav a.album {
  flex: 0 0 31%;
  margin: 0 2% 2vw 0;
}
@media (max-width: 991px) {
  #galleryNav a.album {
    flex: 0 0 100%;
  }
}
#galleryNav a.album h3 {
  margin: 1vw 0 0.5vw 0;
}
#galleryNav a.album:nth-child(3n) {
  margin: 0 0 2vw 0;
}

@media (max-width: 991px) {
  .album #galleryNav {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    margin: 0;
  }
  .album #galleryNav a.album {
    flex: 0 0 47%;
    margin: 0 1vw 2vw 0;
    height: auto;
    position: relative;
  }
  .album #galleryNav a.album:nth-child(2n) {
    margin: 0 0 2vw 0;
  }
}
#album {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#album .gallery-image {
  flex: 0 0 32%;
  margin: 0 2% 2vw 0;
}
#album .gallery-image a {
  display: block;
  width: 100%;
  height: 0;
  padding-top: 81%;
  border: 1px solid hsl(0, 0%, 40%);
  position: relative;
}
#album .gallery-image a img {
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  vertical-align: top;
}
#album .gallery-image:nth-child(3n) {
  margin: 0 0 2vw 0;
}
#album .caption {
  font-size: 0.9em;
  width: 100%;
}

.album-tags {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
.album-tags p {
  padding: 4px 8px;
  width: auto;
  height: auto;
  font-size: 0.7em;
  margin: 0 2px 2px 0;
}

@media (max-width: 991px) {
  #album {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #album .gallery-image {
    width: 100%;
    height: auto;
    margin: 0 0 0 0;
    position: relative;
    padding: 0;
  }
  #album .gallery-image a {
    display: block;
    width: 100%;
    height: 0;
    padding-top: 75%;
    border: 1px solid hsl(0, 0%, 40%);
    position: relative;
  }
  #album .gallery-image a img {
    position: absolute;
    top: 0;
    bottom: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top;
       object-position: top;
    vertical-align: top;
    display: none;
  }
  #album .gallery-image p {
    margin: 0;
  }
  #album .gallery-image:nth-child(3n) {
    margin: 0 0 1vw 0;
  }
}
.right-col {
  margin: 1.8vw 0 0 0;
}
.right-col #galleryNav {
  flex-direction: column;
}
.right-col #galleryNav .gallery-description {
  display: none;
}
.right-col #galleryNav a.album {
  margin: 0 0 1vw 0;
  padding: 0 0 1vw 0;
  display: flex;
}
.right-col #galleryNav a.album h3 {
  margin: 0 0 0.5em 0;
  font-size: 1.2em;
}
.right-col #galleryNav a.album .album-cover {
  flex: 0 0 50%;
  margin-right: 2vw;
  border: 1px solid hsl(0, 0%, 40%);
}
.right-col #galleryNav a.album .album-title {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.right-col #galleryNav a.album .album-tags {
  display: none;
}
.right-col #galleryNav a.album:nth-child(2n) {
  margin: 0 0 1vw 0;
}

@media (max-width: 991px) {
  .right-col {
    margin: 10vw 0 0 0;
  }
  .right-col #galleryNav {
    flex-direction: column;
  }
  .right-col #galleryNav .gallery-description {
    display: none;
  }
  .right-col #galleryNav a.album {
    display: flex;
    width: 100%;
    margin: 0 0 3vw 0;
    padding: 0 0 3vw 0;
  }
  .right-col #galleryNav a.album h3 {
    margin: 0 0 0 0;
  }
  .right-col #galleryNav a.album .album-cover {
    flex: 0 0 20%;
    margin-right: 4vw;
    border: 0.2vw solid hsl(0, 0%, 100%);
  }
  .right-col #galleryNav a.album .album-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .right-col #galleryNav a.album:nth-child(2n) {
    margin: 0 0 3vw 0;
  }
}
.album #pageContainer {
  margin-top: 3vw;
  margin-bottom: 3vw;
}

/* SENDING OVERLAY
---------------------------------------------------------------------------------*/
.spinner {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  overflow: hidden;
  z-index: 99999;
}
.spinner .v-center {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.spinner .sending {
  display: none;
  height: 100%;
}
.spinner .sending h3 {
  margin: 20px 0 0 0;
  color: hsl(0, 0%, 100%);
  font-family: "Italic", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.spinner .sending img {
  width: 100px;
  display: block;
}
.spinner .sending .gears svg {
  margin: 40px 0 0 0;
  width: 100px !important;
}
.spinner .sent {
  display: none;
  height: 100%;
}
.spinner .sent svg {
  width: 100px;
}
.spinner .icon {
  width: 154px;
  height: 154px;
}
.spinner p {
  color: hsl(0, 0%, 100%);
  font-size: 1em;
  text-align: center;
  font-family: "Italic", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 3.5vw 0 0 0;
}

.circ {
  opacity: 0;
  stroke-dasharray: 130;
  stroke-dashoffset: 130;
  transition: all 1s;
}

.tick {
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  transition: stroke-dashoffset 1s 0.5s ease-out;
}

.drawn + svg .path {
  opacity: 1;
  stroke-dashoffset: 0;
}

.form-message {
  display: none;
}

@media (min-width: 768px) {
  .contact-form {
    width: 40%;
    margin: auto;
  }
  .form-message {
    display: none;
  }
}
/* 2) CONTACT FORM
---------------------------------------------------------------------- */
#formWrapper {
  margin: 0 0 100px 0;
  padding: 0 0 0 0;
}

@media (min-width: 768px) {
  #formWrapper {
    margin: 0 0 100px 0;
    padding: 20px 0 0 0;
  }
}
.form {
  position: relative;
}

.bt-form__wrapper {
  margin: 30px auto;
}

.bt-flabels input[type] {
  position: relative;
  border: none;
  background: transparent;
  z-index: 1;
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  border-bottom: 1px solid hsl(0, 0%, 80%);
}
.bt-flabels input[type]:focus {
  background: #b4c5ca;
  outline: none;
  border-bottom: 1px solid var(--primary-colour);
}
.bt-flabels textarea {
  position: relative;
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  border-bottom: 1px solid hsl(0, 0%, 80%);
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: transparent;
}
.bt-flabels textarea:focus {
  background: #b4c5ca;
  outline: none;
  border-bottom: 1px solid var(--primary-colour);
}
.bt-flabels select[type] {
  position: relative;
}
.bt-flabels select[type]:focus {
  background: #b4c5ca;
}
.bt-flabels .label {
  display: none;
  opacity: 0;
  position: absolute;
}
.bt-flabels .select-label {
  pointer-events: none;
  position: relative;
  z-index: 2;
  opacity: 1;
  font-size: 1em;
  text-transform: none;
  display: block;
  padding: 10px 0 0 0;
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
}
@media (min-width: 768px) {
  .bt-flabels .select-label {
    padding: 0;
  }
}
.bt-flabels > *:not(:first-child).bt-flabels__wrapper,
.bt-flabels > *:not(:first-child) .bt-flabels__wrapper {
  border-top: none;
}

.bt-flabels__wrapper {
  position: relative;
  padding: 0 0 0 0;
}

.phone-error {
  position: absolute;
  top: 0;
  right: 0;
  font-weight: bold;
  color: hsl(0, 0%, 100%);
  background: var(--primary-colour);
  padding: 5px 8px;
  height: auto;
  font-size: 10px;
  text-transform: uppercase;
  z-index: 3;
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  pointer-events: none;
  display: none;
  z-index: 8888;
}

.bt-flabels__error-desc {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  font-weight: bold;
  color: hsl(0, 0%, 100%);
  background: var(--primary-colour);
  padding: 5px 8px !important;
  height: auto;
  font-size: 10px;
  text-transform: uppercase;
  z-index: 3;
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  pointer-events: none;
  border-radius: 0;
  z-index: 7777;
}

.bt-flabels__error .bt-flabels__error-desc {
  opacity: 1;
  transform: translateY(30px);
}

.email2-error {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 1;
  font-weight: bold;
  color: hsl(0, 0%, 100%);
  background: red;
  padding: 2px 5px 5px 5px !important;
  height: auto;
  font-size: 10px;
  text-transform: uppercase;
  z-index: 3;
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  pointer-events: none;
  border-radius: 5px;
}

.success {
  padding: 5%;
  margin: 10px 0 10px 0;
  font-size: 1.2em;
  line-height: 1.3em;
  color: #468847;
  text-align: center;
  background-color: #dff0d8;
  border: 1px solid #d6e9c6;
}

.error {
  display: none;
  padding: 5px;
  margin: 10px 0 10px 0;
  color: hsl(0, 0%, 100%);
  background-color: var(--primary-colour);
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.form {
  width: 100%;
  margin: auto;
  box-sizing: border-box;
  overflow: hidden;
}
.form .form-group {
  width: auto;
  margin: 0 0 0 0;
}
.form .form-group .label {
  display: block;
  line-height: 1.2em;
  font-size: 0.7em;
  width: 100%;
  font-weight: 700;
  margin: 10px 0 10px 0;
}
.form .form-group .select-label {
  font-size: 1em;
}
.form .form-group input,
.form .form-group textarea {
  height: auto;
  width: 100%;
  border: 1px solid hsl(0, 0%, 80%);
  padding: 10px;
  background: transparent;
  font-size: 0.9em;
  box-sizing: border-box;
  margin: 10px 0 0 0;
  background: hsl(0, 0%, 100%);
}
.form .form-group input:focus,
.form .form-group textarea:focus {
  background: hsl(0, 0%, 90%);
}
.form .form-group .styled-select {
  background: url(../images/down-arrow.png) no-repeat 97% center;
  height: 40px;
  overflow: hidden;
  width: 100%;
  margin: 10px 0 0 0;
  background-color: hsl(0, 0%, 100%);
  border-right: 1px solid hsl(0, 0%, 80%);
}
.form .form-group .styled-select select {
  background: transparent;
  border: none;
  font-size: 0.9em;
  height: auto;
  padding: 10px;
  border: 1px solid hsl(0, 0%, 80%);
  height: 40px;
  width: 104%;
  color: hsl(0, 0%, 40%);
}
@media (min-width: 768px) {
  .form .form-group .styled-select {
    background: url(../images/down-arrow.png) no-repeat 99% center;
    width: 99.8%;
  }
  .form .form-group .styled-select select {
    width: 103%;
  }
}
.form .label p {
  margin: 10px 0 10px 0;
  line-height: 2em;
  font-size: 1em;
  width: 100%;
  font-weight: 600;
  color: hsl(0, 0%, 0%);
}
.form .radios {
  display: flex !important;
  width: 100%;
  margin: 10px 0 10px 0;
}
.form .radios .radio {
  width: 50%;
  position: relative;
}
.form .radios .radio input[type=radio] {
  position: absolute;
  visibility: hidden;
}
.form .radios .radio label {
  display: block;
  position: relative;
  font-weight: 500;
  font-size: 1em;
  padding: 0 0 0 33px;
  margin: 0 auto;
  height: auto;
  z-index: 9;
  cursor: pointer;
  color: hsl(0, 0%, 40%);
  -webkit-transition: all 0.25s linear;
}
.form .radios .radio:hover label {
  color: hsl(0, 0%, 70%);
}
.form .radios .radio .check {
  display: block;
  position: absolute;
  border: 1px solid hsl(0, 0%, 40%);
  border-radius: 100%;
  height: 20px;
  width: 20px;
  top: 2px;
  left: 0;
  z-index: 5;
  transition: border 0.25s linear;
  -webkit-transition: border 0.25s linear;
}
.form .radios .radio:hover .check {
  border: 1px solid hsl(0, 0%, 70%);
}
.form .radios .radio .check::before {
  display: block;
  position: absolute;
  content: "";
  border-radius: 100%;
  height: 10px;
  width: 10px;
  top: 5px;
  left: 5px;
  margin: auto;
  transition: background 0.25s linear;
  -webkit-transition: background 0.25s linear;
}
.form .radios .radio input[type=radio]:checked ~ .check {
  border: 1px solid hsl(0, 0%, 70%);
}
.form .radios .radio input[type=radio]:checked ~ .check::before {
  background: hsl(0, 0%, 70%);
}
.form .radios .radio input[type=radio]:checked ~ label {
  color: hsl(0, 0%, 70%);
}
.form .checkboxes {
  margin: 20px 0 0 0;
}
.form .checkbox {
  position: relative;
  margin: 20px 0 20px 5px;
}
.form .checkbox label {
  padding-left: 30px;
  display: block;
  font-size: 0.9em;
  color: hsl(0, 0%, 30%);
  width: 90%;
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.form .checkbox input {
  top: 0;
  left: 4px;
  z-index: 1;
  cursor: pointer;
  opacity: 0;
  position: absolute;
}
.form .checkbox span {
  width: auto;
  margin: 0;
  padding: 0;
}
.form .checkbox .input-helper:before,
.form .checkbox .input-helper:after {
  position: absolute;
  content: "";
  transition: all 200ms;
}
.form .checkbox .input-helper:before {
  left: 0;
  border: 1px solid hsl(0, 0%, 80%);
  background: hsl(0, 0%, 100%);
}
.form .checkbox input {
  width: 18px;
  height: 18px;
}
.form .checkbox input:checked + .input-helper:before {
  background-color: var(--primary-colour);
}
.form .checkbox input:checked + .input-helper:after {
  transform: scale(1);
  opacity: 1;
}
.form .checkbox .input-helper:before {
  top: -3px;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  color: #fff;
}
.form .checkbox .input-helper:after {
  content: "✓";
  font-size: 13px;
  left: 6px;
  top: 0;
  color: #fff;
  transform: scale(0);
  opacity: 0;
}
.form .submit {
  display: block;
  border-radius: 3px;
  border: none;
  font-size: 1.3em;
  padding: 1em 0.8em;
  background: var(--primary-colour);
  color: white;
  -webkit-font-smoothing: antialiased;
  font-weight: bold;
  margin: 40px 0 0 0;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
}
.form .submit:hover,
.form .submit:focus {
  opacity: 0.75;
  cursor: pointer;
}
.form .submit:active {
  opacity: 1;
  box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.1) inset;
}

@media screen and (min-width: 768px) {
  #telephone {
    margin-top: 18px;
  }
  .form {
    width: 100%;
    margin: auto;
    box-sizing: border-box;
  }
  .form .form-group {
    display: flex !important;
    flex-flow: row;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between;
    margin-bottom: 20px;
    width: 100%;
  }
  .form .form-group .bt-flabels__wrapper {
    width: 48%;
    height: auto;
    margin: 0;
  }
  .form .form-group .bt-flabels__wrapper-wide {
    width: 100%;
    height: auto;
    margin: 0;
  }
  .form .wide .label {
    width: 100%;
  }
  .form .submit {
    width: 200px;
  }
  .form .label p {
    margin: 0 0 10px 0;
  }
  .form .col-1 .bt-flabels__wrapper {
    width: 100%;
  }
  .form .col-3 .bt-flabels__wrapper {
    width: 31%;
  }
  .form .col-4 .bt-flabels__wrapper {
    width: 22%;
  }
  .form .col-5 .bt-flabels__wrapper {
    width: 18%;
  }
  .right-col .form .form-group {
    display: block;
  }
  .right-col .form .form-group .bt-flabels__wrapper {
    width: 100%;
  }
}
#hearOther {
  display: none;
  margin-bottom: 30px;
}

/* 5) Footer
---------------------------------------------------------------------- */
.main-footer {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto 0 auto;
  box-sizing: border-box;
  overflow: hidden;
  padding: 5vw 5vw 2vw 5vw;
  align-items: center;
  justify-content: center;
  z-index: 200;
}
.main-footer .footer-wrap {
  display: flex;
  justify-content: space-between;
  align-content: flex-start;
  flex-direction: row;
}
@media screen and (max-width: 991px) {
  .main-footer .footer-wrap {
    flex-direction: column;
  }
}
.main-footer .footer-wrap p,
.main-footer .footer-wrap a {
  margin: 0;
  font-size: 90%;
  font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.main-footer .footer-wrap .social {
  display: flex;
  margin: 0 0 20px 0;
  height: auto;
  flex-direction: row;
  align-items: flex-end;
}
.main-footer .footer-wrap .social li {
  list-style: none;
  margin: 0 1vw 0 0;
}
.main-footer .footer-wrap .social li a {
  flex: 0 0 25%;
  display: block;
  align-self: flex-end;
  margin-top: -5px;
}
.main-footer .footer-wrap .social li a svg {
  width: auto;
  height: 30px;
  transition: all 0.5s ease;
}
.main-footer .footer-wrap .social li a svg:hover,
.main-footer .footer-wrap .social li a svg:focus {
  fill: var(--primary-colour);
}
.main-footer #legal {
  align-content: center;
  margin: 0 0 0 0;
}
.main-footer .legal-menu {
  padding: 0 0 0 0;
  display: flex;
  text-align: center;
}
@media screen and (max-width: 991px) {
  .main-footer .legal-menu {
    flex-direction: column;
    text-align: left;
  }
}
.main-footer .legal-menu p {
  margin: 0;
}
.main-footer .legal-menu a {
  display: block;
  margin: 0 20px 0 0;
}
.main-footer .legal-menu span {
  display: none;
}

* {
  margin: 0;
}

html,
body {
  width: 100%;
  height: 100%;
}

body {
  padding: 0;
  margin: 0;
}

img,
embed,
object,
video {
  max-width: 100%;
  height: auto;
}

svg {
  max-height: 100%;
}

img {
  width: 100%;
  vertical-align: top !important;
}

a img {
  border: none;
}

* {
  min-height: 0;
  min-width: 0;
}

/* HEADER
---------------------------------------------------------------------------------*/
.main-head {
  position: relative;
}
.main-head #headerBar {
  position: fixed;
  top: 0;
  left: 0%;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: auto;
  z-index: 9997;
  padding: 0 5%;
  box-sizing: border-box;
  background: transparent;
}

@media screen and (min-width: 992px) {
  .main-head #headerBar .top-nav {
    width: auto;
    height: auto;
    z-index: 9997;
    margin-top: 3vw;
  }
}
.logo {
  width: 25vw;
  position: relative;
  margin: 1vw 0 0 0;
  z-index: 999999;
  transform: scale(1);
}

@media screen and (max-width: 991px) {
  .logo {
    position: relative;
    margin: 1vw 0 0 0;
    width: 50vw;
  }
  .logo h1 {
    display: none;
    text-indent: -99999px;
  }
}
.bounce-in-left {
  display: block !important;
  animation: bounce-in-left 2s ease 1;
}

@keyframes bounce-in-left {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  40% {
    opacity: 1;
    transform: translateX(60px);
  }
  60% {
    transform: translateX(-60px);
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.bounce-in {
  animation: bounce-in 1s ease 1;
}

@keyframes bounce-in {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.bounce-in-down {
  display: block !important;
  animation: bounce-in-down 2s ease 1;
}

@keyframes bounce-in-down {
  0% {
    opacity: 0;
    transform: translateY(0) scale(100);
  }
  40% {
    opacity: 1;
    transform: translateY(-200px);
  }
  60% {
    transform: translateY(-60px);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
/* LANGUAGE
---------------------------------------------------------------------------------*/
#langSwitch {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 9999;
  background: hsl(0, 0%, 0%);
  padding: 0.5vw 2vw;
}
#langSwitch a {
  font-family: "Bold", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: hsl(0, 0%, 100%);
  margin-bottom: 5px;
}
#langSwitch a.active {
  color: var(--primary-colour);
  font-family: "Bold", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 768px) {
  #langSwitch {
    position: fixed;
    top: auto;
    bottom: 1.5vw;
    right: 1vw;
    left: auto;
    background: hsl(0, 0%, 0%);
    padding: 0.5vw 1vw;
    flex-direction: row;
  }
  #langSwitch a {
    margin: 0 4px 0 4px;
  }
}
.home-wrapper .cover-image,
.site-wrapper .cover-image {
  z-index: 99;
}
.home-wrapper .main-hero,
.site-wrapper .main-hero {
  position: relative;
  height: auto;
  box-sizing: border-box;
}
.home-wrapper .page-title,
.site-wrapper .page-title {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex !important;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  flex-flow: column;
  width: 100%;
  height: 100%;
  max-width: 45%;
  padding: 10vw 5vw;
  box-sizing: border-box;
  z-index: 5555;
  text-align: left;
}
@media screen and (max-width: 991px) {
  .home-wrapper .page-title,
  .site-wrapper .page-title {
    max-width: 90%;
  }
}
.home-wrapper .page-title h1,
.site-wrapper .page-title h1 {
  color: hsl(0, 0%, 100%);
  font-family: "Header-Regular", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-bottom: 0.5em;
}
.home-wrapper .page-title h2,
.site-wrapper .page-title h2 {
  color: hsl(0, 0%, 100%);
  font-family: "Light", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
}
.home-wrapper .page-title h3,
.site-wrapper .page-title h3 {
  color: hsl(0, 0%, 100%);
  font-family: "Light", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.home-wrapper .main-hero-image,
.site-wrapper .main-hero-image {
  position: relative;
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}
.home-wrapper .main-hero-image img,
.site-wrapper .main-hero-image img {
  position: absolute;
  top: 0;
  right: 0;
  min-height: 100%;
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media screen and (max-width: 991px) {
  .home-wrapper .main-hero-image img,
  .site-wrapper .main-hero-image img {
    -o-object-position: calc(100% + 200px) 0;
       object-position: calc(100% + 200px) 0;
  }
}
.home-wrapper .hero-fade,
.site-wrapper .hero-fade {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.2);
  z-index: 4000;
}
.home-wrapper .slider,
.site-wrapper .slider {
  z-index: -1;
}
.home-wrapper .main-hero-slider,
.site-wrapper .main-hero-slider {
  position: relative;
  width: 100vw;
  height: auto;
  overflow: hidden;
}
.home-wrapper .main-hero-slider .slick-slide,
.site-wrapper .main-hero-slider .slick-slide {
  display: flex;
  height: auto;
}
.home-wrapper .main-hero-slider .slick-slide img,
.site-wrapper .main-hero-slider .slick-slide img {
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.home-wrapper #arrow,
.site-wrapper #arrow {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.5);
  border-radius: 100%;
  width: 3vw;
  height: 3vw;
  opacity: 0.8;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 2rem;
  animation: bounce 2s infinite;
  z-index: 999999;
}
@media screen and (max-width: 991px) {
  .home-wrapper #arrow,
  .site-wrapper #arrow {
    width: 10vw;
    height: 10vw;
  }
}
.home-wrapper #arrow svg,
.site-wrapper #arrow svg {
  width: 2vw;
  height: 2vw;
  margin-top: 5px;
  fill: hsl(0, 0%, 100%);
}
@media screen and (max-width: 991px) {
  .home-wrapper #arrow svg,
  .site-wrapper #arrow svg {
    width: 4vw;
    height: 4vw;
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  40% {
    transform: translateX(-50%) translateY(-10px);
  }
  60% {
    transform: translateX(-50%) translateY(-5px);
  }
}
.home-wrapper .slider-arrows,
.site-wrapper .slider-arrows {
  display: none;
}
.home-wrapper .slider-arrows .next-slide,
.home-wrapper .slider-arrows .prev-slide,
.site-wrapper .slider-arrows .next-slide,
.site-wrapper .slider-arrows .prev-slide {
  position: absolute;
  top: 32%;
  z-index: 8888;
}
.home-wrapper .slider-arrows .next-slide,
.site-wrapper .slider-arrows .next-slide {
  right: 10px;
}
.home-wrapper .slider-arrows .prev-slide,
.site-wrapper .slider-arrows .prev-slide {
  left: 10px;
}
.home-wrapper .slider-arrows svg,
.site-wrapper .slider-arrows svg {
  fill: hsl(0, 0%, 100%);
  width: 25px;
  height: 20px;
  transition: all 0.5s ease;
}
.home-wrapper .slider-arrows svg:hover,
.home-wrapper .slider-arrows svg:focus,
.site-wrapper .slider-arrows svg:hover,
.site-wrapper .slider-arrows svg:focus {
  fill: var(--primary-colour);
  cursor: pointer;
}
.home-wrapper #hideArrows.slider-arrows,
.site-wrapper #hideArrows.slider-arrows {
  display: none;
}
.home-wrapper #showArrows.slider-arrows,
.site-wrapper #showArrows.slider-arrows {
  display: block;
}
@media screen and (min-width: 768px) {
  .home-wrapper .slider-arrows .next-slide,
  .home-wrapper .slider-arrows .prev-slide,
  .site-wrapper .slider-arrows .next-slide,
  .site-wrapper .slider-arrows .prev-slide {
    top: 50%;
  }
  .home-wrapper .slider-arrows svg,
  .site-wrapper .slider-arrows svg {
    width: 30px;
    height: 30px;
    transition: all 0.5s ease;
  }
}
.home-wrapper .video-hero,
.site-wrapper .video-hero {
  position: relative;
  height: auto;
}
.home-wrapper #heroSmall.video-hero,
.site-wrapper #heroSmall.video-hero {
  height: 25vh;
}
.home-wrapper #heroMedium.video-hero,
.site-wrapper #heroMedium.video-hero {
  height: 55vh;
}
.home-wrapper #heroLarge.video-hero,
.site-wrapper #heroLarge.video-hero {
  height: 75vh;
}
.home-wrapper #heroFull.video-hero,
.site-wrapper #heroFull.video-hero {
  height: 100vh;
}
.home-wrapper .home-video-container,
.site-wrapper .home-video-container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: -100;
}
.home-wrapper .video-bg,
.site-wrapper .video-bg {
  margin: auto;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0%;
  transform: translate(0%, -50%);
  visibility: visible;
  opacity: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .home-wrapper .home-video-container video,
  .site-wrapper .home-video-container video {
    display: block;
  }
  .home-wrapper .home-video-container,
  .site-wrapper .home-video-container {
    display: block;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url("../images/video-poster.jpg") black;
    background-size: cover;
  }
}

@media screen and (min-width: 992px) {
  .menu-btn {
    display: none;
  }
  .main-menu {
    position: relative;
    left: auto;
    width: auto;
    height: auto;
    min-height: 5vw;
    margin: 0 0 0 0;
  }
  .main-menu .nav-acc-plus {
    display: none;
  }
  .main-menu ul {
    width: auto;
    height: auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-end;
    margin: 0 0 0 0;
  }
  .main-menu ul li {
    margin: 0 0 0 3vw;
    text-align: left;
    padding: 0;
    border-bottom: none;
  }
  .main-menu ul li a {
    padding: 0;
    color: hsl(0, 0%, 100%);
    font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-decoration: none;
  }
  .main-menu ul li a:hover,
  .main-menu ul li a:focus {
    color: var(--primary-colour);
    text-decoration: underline;
  }
  .main-menu ul li a.active {
    color: var(--secondary-colour);
    background: var(--primary-colour);
    padding: 0.1em 0.4em;
    border-radius: 5px;
  }
  .main-menu ul li ul {
    display: none;
  }
}
/* OFF CANVAS NAV
---------------------------------------------------------------------------------*/
.no-scroll {
  position: fixed;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

@media screen and (max-width: 991px) {
  /* Menu Button 3 */
  .menu-btn {
    position: fixed;
    top: 4vw;
    right: 5vw;
    height: 25px;
    width: 30px;
    cursor: pointer;
    margin-top: 4vw;
    z-index: 99999;
  }
  .menu-btn span,
  .menu-btn span::before,
  .menu-btn span::after {
    background: hsl(0, 0%, 100%);
    content: "";
    position: absolute;
    width: 30px;
    height: 3px;
    transform: rotate(180deg);
    transition: 0.3s ease-in-out;
    z-index: 99999;
  }
  .menu-btn span::before {
    margin-top: -10px;
  }
  .menu-btn span::after {
    margin-top: 10px;
  }
  .menu-btn.active span {
    background: transparent;
  }
  .menu-btn.active span::before {
    margin-top: 0;
    transform: rotate(45deg);
  }
  .menu-btn.active span::after {
    transform: rotate(-45deg);
    margin-top: 0;
  }
  .backdrop.active {
    background: rgba(0, 0, 0, 0.7);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 9997;
  }
  .menu-tab-bg {
    position: absolute;
    display: block;
    top: 2vw;
    width: 16vw;
    height: 6vw;
    background: rgba(93, 115, 119, 0.3);
    padding: 1vw;
    z-index: -1;
  }
  .main-menu.active {
    left: 0;
    transition: all 0.3s ease-in-out;
    z-index: 9998;
  }
  .main-menu {
    position: relative;
    left: auto;
    width: 100vw;
    left: -100vw;
    height: 100vh;
    position: fixed;
    z-index: 9999;
    top: 0px;
    background: rgba(0, 0, 0, 0.5);
    transition: all 0.6s ease-in-out;
    padding: 25vw 5vw 0 5vw;
    box-sizing: border-box;
  }
  .main-menu ul {
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: flex-start;
    margin: 30px 0 0 0;
  }
  .main-menu ul li {
    margin: 0 0 0 0;
    text-align: left;
    padding: 10px 0 10px 0;
    border-bottom: 1px solid hsl(0, 0%, 20%);
  }
  .main-menu ul li a {
    padding: 0;
    color: hsl(0, 0%, 90%);
    font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-decoration: none;
  }
  .main-menu ul li a:hover,
  .main-menu ul li a:focus {
    color: var(--primary-colour);
    font-family: "Regular", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-decoration: underline;
  }
  .main-menu ul li a.active {
    color: var(--primary-colour);
  }
}
/* ==== Essential Plus Package Animation === */
.essentials-plus {
  /* ==== Slider Style === */
}
.essentials-plus .grid .column .blocks .block,
.essentials-plus .grid .column img {
  opacity: 0;
  transform: translateX(-100%);
}
.essentials-plus #reviews .review,
.essentials-plus .faq-wrap .faq {
  opacity: 0;
  transform: translateY(-100px);
}
.essentials-plus .main-hero h1,
.essentials-plus .video-hero h1 {
  animation: fadeInDown 1s both;
  margin: 0;
  padding: 0;
}
.essentials-plus .main-hero h2,
.essentials-plus .video-hero h2 {
  padding: 0;
  overflow: hidden;
  animation: fadeInUp 1s both;
}
.essentials-plus .slider .item .page-title > div {
  display: inline-block !important;
  vertical-align: middle;
}
.essentials-plus .slider .item h2 {
  animation: fadeOutRight 1s both;
  margin: 0;
  padding: 0;
}
.essentials-plus .slider .item h3 {
  margin: 0;
  padding: 0;
  overflow: hidden;
  animation: fadeOutLeft 1s both;
}
.essentials-plus .slider .slick-active h2 {
  animation: fadeInDown 1s both 1s;
}
.essentials-plus .slider .slick-active h3 {
  animation: fadeInLeft 1s both 1.5s;
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.essentials-plus .fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.essentials-plus .fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.essentials-plus .fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.essentials-plus .fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.essentials-plus .fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.essentials-plus .fadeInLeft {
  animation-name: fadeInLeft;
}

.block-type-video {
  width: 100%;
  height: auto;
}
.block-type-video .video-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
  max-width: 100%;
}
@media screen and (max-width: 991px) {
  .block-type-video .video-wrapper {
    min-width: 90vw;
  }
}
.block-type-video .video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.block-type-gallery {
  width: 100%;
}
.block-type-gallery ul {
  margin: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  height: auto;
}
.block-type-gallery ul li {
  flex: 0 0 31%;
  list-style: none;
  position: relative;
  height: 0;
  width: 31%;
  padding-top: 25%;
  margin-bottom: 3em;
}
.block-type-gallery ul li img {
  position: absolute;
  top: 0;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  vertical-align: top;
  border: 1px solid hsl(0, 0%, 40%);
  height: 100%;
}

.page-logo {
  width: 100px;
  margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .contact #pageContent {
    margin-top: 60vw;
  }
  .contact #robot {
    top: 20vw;
  }
}
.contact .text-col {
  text-align: left;
  justify-content: center;
  align-items: flex-start;
}

.btn {
  background: var(--primary-colour);
  text-transform: uppercase;
  padding: 3vw 4vw 2vw 4vw;
  color: hsl(0, 0%, 100%);
  font-size: 1.1em;
  font-family: "Bold", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-top: 2vw;
  transition: all 0.5s ease;
  display: block;
}
@media screen and (min-width: 991px) {
  .btn {
    padding: 1vw 2vw;
  }
}

.btn:hover,
.btn:focus {
  background: hsl(0, 0%, 100%);
  color: hsl(0, 0%, 0%);
}

.content header {
  margin: auto;
  border-top: 1px solid hsl(0, 0%, 30%);
  border-bottom: 1px solid hsl(0, 0%, 30%);
  padding: 1em 0;
  margin: 2em auto 4em auto;
  text-align: center;
  width: 70%;
}
.content header h2 {
  margin: 0;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  padding-top: 25px;
  height: 0;
  z-index: 8888;
}

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 991px) {
  .about-page .grid {
    flex-direction: column-reverse;
  }
}
.light-mode p.contact-link {
  margin: 0.5em 0;
  color: hsl(0, 0%, 100%);
}
.light-mode p.contact-link a {
  color: hsl(0, 0%, 100%);
  text-decoration: underline;
}

.legal-page .legal-wrap {
  max-width: 70%;
  margin: 5vw 0 0;
}
.legal-page .legal-wrap ul {
  margin: 0 0 20px 20px;
}
.legal-page .legal-wrap ul li {
  margin: 0;
}
.legal-page .legal-wrap ul li p {
  margin: 0;
}
.legal-page .legal-wrap a {
  text-decoration: underline;
}/*# sourceMappingURL=styles4.css.map */