﻿@font-face {
  font-family: 'Platform';
  src: url('../woff/platform-regular-webfontnnvf.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Platform';
  src: url('../woff/platform-bold-webfontvx6z.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'DM Sans';
  src: url('../woff/dmsans-regular-webfont1ydu.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'DM Sans';
  src: url('../woff/dmsans-bold-webfontu37e.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}

@property --num {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}

:root {
  --primary: 50, 172, 223;
  --lighter-primary: 85, 192, 237;
  --secondary: 205, 235, 246;
  --slate: 93, 120, 138;
  --white: 255, 255, 255;
  --black: 30, 30, 30;
  --muted: 94, 98, 106;
  --grey: 216, 216, 219;
  --error: 238, 64, 86;
  --dark: 0, 63, 90;
  --dark-blue: 2, 106, 150;
  --lighter-brown: 218, 207, 195;
  --yellow: 197, 175, 134;
  --brand: 255, 210, 0;
  --heading-font: "Platform", sans-serif;
  --body-font: "DM Sans", sans-serif;
  --arrow: rgba(var(--white), 1);

  --titanium: linear-gradient(100deg, #272826 10%, #535353 80%);
  --gold: linear-gradient(90deg, #c5af86 -2.01%, #ffe5b6 24.02%, #c5af86 100%);
  --sapphire: linear-gradient(90deg, #003F5A -50%, #32ACDF 100%);

  --drawer: 40vw;
}

* {
  box-sizing: border-box;
}

html {
  font-family: var(--body-font);
  font-size: 1em;
  line-height: 1.7;
  color: rgb(var(--dark));
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  /* Fix for chrome mac with scroll snap behaviour */
  overscroll-behavior-y: none;
}

h1,
h2,
h3 {
  font-family: var(--heading-font);
  font-weight: 700;
  line-height: 1.2;
  /* text-transform: uppercase; */
}

h1 {
  font-size: 3.2rem;
}

h2 {
  font-size: 2.2rem;
}

h3 {
  font-family: var(--body-font);
  font-weight: 200;
  font-size: 1.6rem;
  /* letter-spacing: 0.08em; */
}

a {
  transition: color 0.3s ease;
  color: rgba(var(--black), 1);
}

a:hover {
  color: rgba(var(--black), 1);
}

p.meta {
  font-size: 0.9rem;
}

p.subtitle {
  position: relative;
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4em;
  padding: 0.75rem 2rem;
  color: rgba(var(--dark), 1);
  border: 1px solid rgba(var(--dark), 1);
}

p.subtitle strong {
  display: block;
  font-size: 1.4em;
  line-height: 1.4em;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

p.shoutout {
  font-weight: 200;
  font-size: 1.4rem;
  line-height: 1.4em;
}

p.shoutout.huge {
  font-size: 2rem;
  font-family: var(--heading-font);
  line-height: 1.2em;
}

p.shoutout.huge strong {
  color: rgba(var(--primary), 1);
  font-weight: 700;
  font-size: 1.6em;
}

p.shoutout.huge small {
  font-weight: 200;
  font-size: 0.8em;
  display: block;
}

video.cover,
img.cover {
  display: block;
  padding: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

form>* {
  margin-bottom: 1rem;
}

input,
select {
  position: relative;
  font-size: 1.2rem;
  padding: .5em 1em;
  border-radius: 2em;
  border: 1px rgb(var(--dark)) solid;
  color: rgb(var(--dark));
  outline: none;
  text-align: left;
  z-index: 1;
}

input::placeholder {
  color: rgba(var(--dark), 0.3);
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: .5em 1em .5em 1em;
  background: url("../svg/arrow-down-darkc82o.svg") no-repeat center right .3em;
}

select::-ms-expand {
  display: none;
}

body>header {
  position: absolute;
  z-index: 500;
  top: 0;
  left: 0;
  right: 0;

  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
}

body>header .logo {
  width: 142px;
  height: 44px;
  background-image: url("../svg/logonl0i.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

body>header .logo span {
  position: absolute;
  display: block;
  width: 80px;
  top: 24px;
  left: 80px;
  color: rgba(var(--white), .5);
  line-height: 1.4em;
  font-size: 0.6rem;
}

body>header .left {
  display: flex;
  justify-content: flex-start;
}

body>header .right {
  display: flex;
  justify-content: flex-end;
}

.overflow-open body {
  overflow: hidden;
}

section {
  --bg: var(--white);
  background-color: rgba(var(--bg), 1);

  display: flex;
  flex-direction: column;
  padding: 1rem 1rem 5rem;
  min-height: 100vh;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  text-align: center;
  position: relative;
  z-index: 250;
}

section.middle {
  align-items: center;
  justify-content: center;
}

section.left {
  align-items: flex-start;
  justify-content: center;
}

section.right {
  align-items: flex-end;
  justify-content: center;
}

section.auto {
  min-height: 0;
}

section.full {
  --bg: var(--white);
  display: flex;
  padding: 0;
}

section.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}

section.passthrough {
  pointer-events: none;
  background: transparent;
  height: 100vh;
  min-height: 100vh;
  box-shadow: inset 0 0 30px rgba(var(--black), 0.3);
}

section.full>* {
  flex: 1 1 100%;
}

section.default {
  position: initial !important;
}

section>*:not(.backlayer) {
  position: relative;
}

section>h1,
section>h2,
section>h3 {
  text-align: center;
  max-width: 80vw;
  margin-left: 1rem;
  margin-right: 1rem;
  margin-bottom: 0;
}

section>p,
section>.flex>p {
  max-width: 800px;
  margin-left: 1rem;
  margin-right: 1rem;
}

/* COLORS */
.color-primary {
  color: rgba(var(--primary), 1);
}

/* CLASSES */
.pad-1 {
  padding: 1rem !important;
}

.pad-2 {
  padding: 2rem !important;
}

.pad-1-2 {
  padding: 1rem !important;
}

.pad-1-6 {
  padding: 1rem !important;
}

.pad-2-x {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.pad-4-x {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.pad-x-2 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.pad-x-4 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.pad-2-b {
  padding-bottom: 2rem !important;
}

.flex {
  display: flex;
  flex-direction: column;
}

.full-video-container {
  position: relative;
  width: 100%;
}

.flex.column-reverse {
  flex-direction: column-reverse;
}

.flex.center {
  align-items: center;
  justify-content: center;
}

.flex.center-vertical {
  justify-content: center;
}

.flex.equal>* {
  flex: 1;
}

.flex.row {
  flex-direction: row;
}

.flex.flex-row>* {
  display: block;
  object-fit: cover;
  width: 100vw;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.flex-content>.flex.flex-row.col-2 {
  flex-flow: row wrap;
}

.flex-content>.flex.flex-row.col-2>* {
  width: 50%;
}

.flex-content>.flex.flex-row>* {
  width: auto;
}

.full .flex.flex-row>* {
  margin-top: 0;
  margin-bottom: 0;
}

.flex.flex-row>.flex-content {
  height: auto;
  padding: 0 1rem;
}

.full .flex.flex-row>.flex-content {
  padding: 0;
}

.flex.flex-row>.flex-content>p {
  margin-top: 0;
}

.flex.flex-row>.flex-content>h3 {
  margin-top: 0;
  margin-bottom: 1rem;
}

.flex.flex-row>.flex-content.align-left {
  text-align: left;
}

.flex.flex-row>.flex-content.align-right {
  text-align: right;
}

.flex.masonry {
  margin-top: 2rem;
}

.flex.masonry .card {
  margin-bottom: 5rem;
}

.detail-image,
.detail-video {
  cursor: pointer;
  transition: all 0.3s ease;
  filter: brightness(100%);
  transition: transform 1s ease, filter 0.3s ease !important;
}

.detail-image:hover,
.detail-video:hover {
  filter: brightness(60%);
}

.responsive-media {
  --aspect-ratio: 9/16;
  position: relative;
  padding-bottom: calc(var(--aspect-ratio, 0.5625) * 100%);
  height: 0;
}

.responsive-media.potrait {
  --aspect-ratio: 16/9;
}

.responsive-media.square {
  padding-bottom: 100%;
}

.responsive-media video,
.responsive-media iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.spacer-4 {
  width: 4rem;
}

.spacer-8 {
  width: 8rem;
}

.spacer-16 {
  width: 16rem;
}

.move-x {
  --x: 0;
  transform: translateX(var(--x));
  will-change: transform;
  transition: transform 0.1s ease;
}

.move-y {
  --y: 0;
  transform: translateY(var(--y));
  will-change: transform;
  transition: transform 0.1s ease;
}

.fade {
  --o: 1;
  opacity: 1;
  opacity: var(--o);
}

.divider {
  width: 280px;
  height: 20px;
  margin: 4rem auto;
  background: url(/assets/Home/loan-calculator/img/divider.svg) no-repeat center center;
  background-size: contain;
  opacity: 0.1;
}

.play {
  position: relative;
  margin-top: -2.1rem;
  margin-bottom: 0;
  cursor: pointer;
  transition: transform 0.3s ease;

  background: url(/assets/Home/loan-calculator/img/video-cover.png) no-repeat center center;
  background-size: cover;

  aspect-ratio: 16 / 9;
  width: 100vw;
}

.play>img {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-left: -40px;
  border-radius: 50%;
}

.card {
  margin-bottom: 2rem;
  text-align: center;
}

.card h3 {
  font-size: 1.2rem;
  letter-spacing: 0;
  margin-bottom: 1rem;
  color: rgba(var(--primary), 1) !important;
}

.card img+h3 {
  color: rgba(var(--white), 1) !important;
}

.card h3 strong {
  display: block;
  margin-bottom: 1rem;
  font-weight: 700;
  /* font-size: 1.4em; */
}

.card h3 span {
  display: block;
  font-weight: 400;
  font-size: 0.8em;
  max-width: 300px;
  line-height: 1.4em;
  margin: 0 auto;
}

.card hr {
  max-width: 50px;
  border-color: rgba(var(--primary), 1);
}

.card p {
  line-height: 1.4em;
}

.card small {
  display: block;
  max-width: 300px;
  margin: 0.5rem auto 0;
  line-height: 1.4em;
}

.card strong {
  display: block;
  margin-top: 0.5rem;
  font-size: 1.2em;
}

.card.horizontal {
  display: flex;
  text-align: left;
  align-content: center;
  min-height: 48px;
  margin-bottom: 16px;
  margin-right: 16px;
}

.card.horizontal p {
  margin-top: 4px;
  margin-left: 8px;
  margin-bottom: 0;
}

.card.horizontal>* {
  display: block;
}

.cards {
  display: flex;
  justify-content: space-between;
}

.cards img {
  width: auto;
  height: 48px;
}

.cards span {
  width: 60px;
}

.list {
  margin-top: 2rem;
  color: rgba(var(--primary), 1);
  font-weight: 700;
  list-style: none;
}

.list li {
  position: relative;
  margin-bottom: 0.8rem;
}

.list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -2rem;
  width: 26px;
  height: 26px;
  background: url("../svg/houseqs47.svg") no-repeat;
  margin-top: -15px;
}

.list li {
  text-align: left;
}

.list-line {
  margin-bottom: 1rem;
  padding: 0;
  color: rgba(var(--primary), 1);
  list-style: none;
}

.list-line li {
  position: relative;
  margin-bottom: 1rem;
}

.list-line li::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  width: 4rem;
  height: 1px;
  background: rgba(var(--dark), 1);
  animation: fadeIn 1s ease;
}

dl.list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  color: rgba(var(--black), 1);
  font-size: 0.8rem;
  line-height: 1.2em;
  min-width: 100%;
}

dl.list dt {
  flex: 0 0 80%;
  text-overflow: ellipsis;
  overflow: hidden;
  text-align: left;
  padding-right: 2rem;
  padding-bottom: 1rem;
  color: rgba(var(--primary), 1);
}

dl.list dt::after {
  content: "";
  display: block;
  position: absolute;
  margin-top: 0.2rem;
  width: 100%;
  height: 1px;
  border-bottom: 1px dotted rgba(var(--dark), 0.5);
}

dl.list dd {
  flex: 0 0 20%;
  overflow: hidden;
  margin-left: 0;
  text-align: right;
  font-weight: 400;
  padding-bottom: 1rem;
}

dl.faq {
  max-width: 1000px;
  text-align: left;
}

dl.faq dt {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 1.2em;
}

dl.faq dt:first-child {
  margin-top: 0;
}

dl.faq dd {
  padding: 0;
  margin: 0;
}

dl.display:first-child {
  margin-top: 0;
}

dl.display dt {
  font-size: 1.4rem;
  margin: 0;
}

dl.display dd {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0;
}

dl.display dd span {
  padding: 0.1em;
}

/* = SLIDER */
.slider {
  position: relative;
  width: 100%;
  display: flex;
  overflow: hidden;

  user-select: none;
  /* standard syntax */
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */
}

.slider .slider-inner {
  display: flex;
  width: 100%;
  transition: all 0.3s;
}

.slider .slide {
  flex: none;
  width: 100%;
}

.slider .slide-marker {
  display: flex;
  position: absolute;
  top: 50px;
  right: 50px;
  z-index: 1;
}

.slider .slide-marker .mark {
  margin: 0px 5px;
  width: 10px;
  height: 10px;
  background-color: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 4px;
  opacity: 0.6;
  cursor: pointer;
  transition: all 0.3s;
}

.slider .slide-marker .mark[active] {
  width: 15px;
  opacity: 1;
}

.slider .arrows {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
}

.slider .arrows .arrow-prev,
.slider .arrows .arrow-next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
  will-change: transform;
}

.slider .arrows .arrow-prev:hover,
.slider .arrows .arrow-next:hover {
  transform: scale(1.1);
}

.slider .arrows .arrow-prev {
  content: url(../svg/arrow-leftpdw4.svg);
  left: 24px;
}

.slider .arrows .arrow-next {
  content: url(../svg/arrow-rightazfj.svg);
  right: 24px;
}

.slider .arrows .arrow-prev .fas,
.slider .arrows .arrow-next .fas {
  color: #4b4b4b;
  opacity: 0.5;
}

.slider .content {
  position: relative;
  height: 100%;
}

.slider.vh .content {
  display: flex;
  width: 100vw;
  /* height: calc(100vh - 300px); */
}

.slider.vh .content img {
  flex: 1;
  min-width: 0;
}

.slider .content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider .show-1 .content img,
.slider .show-2 .content img,
.slider .show-3 .content img,
.slider .show-4 .content img {
  display: none;
}

.slider .show-1 .content img:nth-of-type(1) {
  display: block;
}

.slider .show-2 .content img:nth-of-type(2) {
  display: block;
}

.slider .show-3 .content img:nth-of-type(3) {
  display: block;
}

.slider .show-4 .content img:nth-of-type(4) {
  display: block;
}

.slider .caption {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -100px;
  margin-top: -50px;
  width: 200px;
  min-height: 100px;
  box-sizing: border-box;
  background: rgba(var(--white), 0.8);
  backdrop-filter: blur(4px);
  padding: 0 8px;
  text-align: center;
  border-radius: 1px;
}

.slider .caption h4 {
  font-size: 16px;
  font-family: var(--body-font);
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 0;
}

.slider .caption p {
  margin: 8px;
  font-size: 14px;
  letter-spacing: 0.05em;
}

.slider .themes {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10vh;
  padding: 1rem 0rem;
  background: rgba(var(--black), 0.6);
  backdrop-filter: blur(4px);
  border-radius: 3rem;
}

.slider .theme {
  --color-1: "#fff";
  --color-2: "#fff";
  display: flex;
  align-items: stretch;
  width: 48px;
  height: 48px;
  margin: 0 16px;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0px 9px 40px rgba(0, 0, 0, 0.38), 0px 2.01027px 8.93452px rgba(0, 0, 0, 0.226521),
    0px 0.598509px 2.66004px rgba(0, 0, 0, 0.153479);
  transition: transform 0.3s ease;
}

.slider .theme:hover {
  transform: scale(1.1);
}

.slider .theme.active {
  transform: scale(1.2);
}

.slider .theme-caption {
  display: block;
  position: absolute;
  top: 0rem;
  left: 5vw;
  width: 90vw;
  text-align: center;
  line-height: 1.1em;
  text-shadow: 0px 9px 40px rgba(0, 0, 0, 0.38), 0px 2.01027px 8.93452px rgba(0, 0, 0, 0.226521),
    0px 0.598509px 2.66004px rgba(0, 0, 0, 0.153479);

  background: rgba(var(--black), 0.6);
  backdrop-filter: blur(4px);
  border-radius: 2px;
  padding: 1rem 2rem;
  margin-top: 5vw;
}

.slider .theme-caption h3 {
  font-size: 1.6rem;
  font-weight: 200;
  font-family: var(--body-font);
  text-transform: none;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.slider .theme-caption h3::after {
  content: "";
  display: block;
  margin: 1rem auto 1rem;
  width: 3rem;
  height: 1px;
  background: rgba(var(--white), 1);
}

.slider .theme-caption p {
  font-size: 1rem;
  font-weight: 200;
  line-height: 1.2rem;
  margin: 0.5rem 0 0.5rem;
}

.slider .theme-caption small {
  display: none;
  font-size: 0.8rem;
  font-weight: 200;
}

.slider .theme span {
  content: "";
  flex: 1;
  background: #fff;
}

.button {
  --color: rgba(var(--black), 1);
  color: var(--color);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  padding: 1rem 2rem;
  border: 1px solid var(--black);
  background: rgba(var(--primary), 1);
  border-radius: 32px;
  transition: all 0.3s ease;
}

.button small {
  font-weight: 400;
}

.button:hover {
  --invert-color: rgba(var(--black), 1);
  color: var(--invert-color);
  background-color: rgba(var(--white), 1) !important;
  cursor: pointer;
}

.button.light:hover {
  background-color: rgba(var(--lighter-primary), 1) !important;
}

.button.doc {
  display: block;
  min-width: 280px;
  background-image: url(../svg/doc8e8l.svg);
  background-size: 40px;
  background-position: 20px center;
  background-repeat: no-repeat;
  padding-left: 70px;
  margin: 1rem;
}

.button.wa {
  display: block;
  min-width: 280px;
  background-color: #25D366;
  background-image: url(../svg/WAh9m0.svg);
  background-size: 40px;
  background-position: 15px center;
  background-repeat: no-repeat;
  padding-left: 70px;
  margin: 1rem;
}

.button.brand {
  background-color: rgba(var(--brand), 1);
}

.button small {
  display: block;
  font-size: 0.8em;
  letter-spacing: 0;
}

.cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 500;

  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;

  will-change: bottom;
  transition: bottom 0.5s ease;

  color: rgba(var(--white), 1);
  background: rgba(var(--black), 1);
}

.cta a {
  color: rgba(var(--white), 1);
}

.cta a:hover {
  color: rgba(var(--white), 0.5);
}

.cta-buttons {
  display: flex;
  width: 100%;
}

.cta-buttons a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: rgba(var(--black), 1);
  background: rgba(var(--primary), 1);
  margin: 0.5rem 0.5rem 1rem;
  margin-top: 1.4rem;
  /* if no price */
  padding: 0.4rem 1rem;
  min-height: 3rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4em;
  text-align: center;
  box-shadow: 0px 9px 25px rgba(0, 0, 0, 0.12), 0px 1.12694px 3.13039px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border-radius: 2rem;
  border: 2px solid rgba(var(--white), 1);
}

.cta-buttons a.wa {
  background: #25D366;
}

.cta-buttons svg {
  margin-right: 0.5rem;
}

.cta-buttons span {
  text-align: left;
}

.cta-buttons a {
  border-color: rgba(var(--black), 1);
}

.cta-buttons a svg path {
  fill: rgba(var(--black), 1);
}

.cta-buttons a:hover {
  background: rgba(var(--white), 1);
  color: rgba(var(--black), 1);
}

.cta-buttons a:hover svg path {
  fill: rgba(var(--black), 1) !important;
  transition: fill 0.3s ease;
}

.cta.hide {
  bottom: -150px;
}

.cta>p {
  position: relative;
  text-align: left;
  margin: 1.2rem 1rem 0;
  font-size: 0.7rem;
  font-weight: bold;
  flex: 1;
}

.price-box {
  display: block;
  width: 100%;
  padding: 24px;
  margin: 3rem 0 1rem;
  background: rgba(var(--black), 1);
  color: rgba(var(--white), 1);
  font-size: 1.2rem;
}

.price-box span,
.price-box strong {
  display: block;
  line-height: 1.4em;
}

.price-box strong {
  font-size: 2.4em;
  margin: 1rem 0;
}

.social {
  display: flex;
  margin: 0 0 1rem;
}

.social>a {
  flex: 1;
  display: block;
  margin: 0.5rem;
}

.social>a>span {
  display: none;
}

.social>a::before {
  content: "";
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto 0.5rem;
  border-radius: 50%;
  /* background: rgba(var(--white), 1); */
  background-size: 60px;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  transition: all 0.3s ease;
}

.social>a:hover::before {
  transform: scale(1.2);
}

.social>a.website::before {
  background-image: url(../svg/URL-White3sp5.svg);
}

.social>a.facebook::before {
  background-image: url(../svg/FB-Whited57y.svg);
}

.social>a.instagram::before {
  background-image: url(../svg/IG-White5fad.svg);
}

.social>a.youtube::before {
  background-image: url(../svg/YT-White77rw.svg);
}

.backlayer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}

.backlayer.video video {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.backlayer.video::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(var(--black), 0.7);
  backdrop-filter: blur(4px);
}

.backlayer .box {
  --x: 0;
  --y: 0;
  --r: 0;
  --o: 0;
  --min-size: 10vw;
  --max-size: 10vw;
  --mod: 1;
  --mod-x: calc(var(--x) * var(--mod));
  --mod-y: calc(var(--y) * var(--mod));
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20%;
  margin-left: -20%;
  opacity: var(--o);
  transition: transform 1s ease, opacity 1s ease;
  transform: translateX(var(--mod-x)) translateY(var(--mod-y)) rotate(var(--r));
  z-index: 200;

  width: var(--min-size);
  height: var(--min-size);
  max-width: var(--max-size);
  max-height: var(--max-size);

  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.scroll-down {
  display: block;
  position: absolute !important;
  bottom: 3rem;
  padding-top: 48px;
  text-align: center;
  cursor: pointer;
}

.scroll-down .arrow-down {
  content: url(../svg/scroll2bcc.svg);
  display: block;
  margin: 0 auto;
  animation: bounce 0.5s infinite alternate;
}

.scroll-title {
  display: block;
  text-transform: uppercase;
  color: var(--arrow);
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.tabs {
  position: relative;
}

.tab-container {
  position: sticky;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex: 1;

  background: rgba(var(--lighter-brown), 1);
}

.tabs .tab {
  padding: 0 2rem;
  margin: 0 0 1rem;
  border-bottom: 2px solid rgba(var(--primary), 0);
  cursor: pointer;
  transition: all 0.3s ease;
  color: rgba(var(--black), 0.5);
}

.tabs .tab.active {
  border-bottom: 2px solid rgba(var(--primary), 1);
  color: rgba(var(--primary), 1);
}

.tab-content-container {
  display: flex;
  flex: 1;
}

.tab-content-container .tab-content {
  display: none;
}

.tab-content-container .tab-content.active {
  display: block;
  width: 80vw;
}

.ripples {
  --color: var(--white);
  animation: ripple 1.5s linear infinite;
  transition: inherit, box-shadow 0.7s ease;
}

.partner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  background-color: rgba(var(--white), 1);
  border-radius: 1px;
  min-height: 60px;
  margin: 0.5rem;
}

.partner img {
  max-width: 100px;
  max-height: 40px;
}


/* = OVERLAY */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: 1000;
  overflow: hidden;
}

.overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 100%;
  height: 100%;
  background: rgba(var(--black), 0.7);
  opacity: 1;
  transition: opacity 0.8s ease;
}

.overlay__reveal {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 2000;
  left: -100vw;
  background: rgba(var(--secondary), 1);
  will-change: left;
}

.overlay__reveal .close {
  position: absolute;
  top: 1.6rem;
  right: 1rem;
  display: block;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  cursor: pointer;
  width: 40px;
  height: 40px;
  padding: 1rem;
  color: rgba(var(--white), 0.5);
  transition: all 0.3s ease;
  background-image: url(../svg/closerknt.svg);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: center;
}

.overlay__reveal .close:hover {
  color: rgba(var(--white), 1);
  transform: scale(1.1);
}

.overlay__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.overlay__inner img {
  border: 0;
}

.overlay__inner .responsive-media {
  width: 100%;
}

.overlay__inner .overflow-title {
  flex: 0 1 auto;
  margin-bottom: 1rem;
  margin-left: 60px;
  margin-right: 60px;
  text-align: center;
  color: rgba(var(--dark), 1);
}

.overlay__inner .overflow-body {
  flex: 1 1 auto;
  color: rgba(var(--black), 1);
  font-size: 0.9rem;
  padding: 0 2rem 6rem;
  overflow-y: auto;
  position: relative;
}

.overlay__inner .overflow-body h4 {
  background: rgba(var(--lighter-brown), 1);
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.4rem;
  padding-bottom: 1rem;
  padding-top: 0.5rem;
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}

.overlay__inner .overflow-body h4 strong {
  display: block;
}

.overlay__inner .overflow-body ol,
.overlay__inner .overflow-body ul {
  margin: 0;
  padding-top: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.overlay__inner .overflow-body li {
  padding-bottom: 0.5rem;
}

.overflow-content {
  display: none;
}

.overlay.open {
  height: 100vh;
  width: 100vw;
}

.overlay.open .overlay__reveal {
  animation: reveal 0.8s ease forwards;
}

.overlay.close::before {
  opacity: 0;
}

.overlay.close .overlay__reveal {
  animation: unviel 0.8s ease forwards;
}

.calculator {
  width: 90vw;
  margin-top: 2rem;
  padding: 1rem;
  border: 1px solid rgb(var(--dark));
  border-radius: 2rem;
}

.calculator .cinput,
.calculator .ctenure {
  position: relative;
}

.calculator .cinput label,
.calculator .ctenure label {
  display: block;
  line-height: 2.4em;
  text-align: middle;
  font-size: 1rem;
  color: rgba(var(--dark), 1);
  z-index: 2;
  pointer-events: none;
}

.calculator .cinput input {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  padding: .5em 1.2em;
  width: 300px;
}

.calculator .ctenure select {
  font-size: 1.6rem;
  font-weight: 700;
  background-size: 32px;
  width: 300px;
  text-align: center;
  /* Fix for Safari =__= */
  text-align-last: center;
}

.calculator .warning {
  padding-top: 1.5rem;
  font-weight: 700;
  color: rgba(var(--error), 1);
}

/* SECTION */
section:nth-of-type(1) {
  min-height: 92vh;
  padding-top: 5rem;
  padding-bottom: 8rem;
  overflow: hidden;
  background-color: rgba(var(--primary), 1);
  text-align: left;
}

section:nth-of-type(1) .backlayer {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: auto;
  z-index: 10;
  background: url('../jpg/bg-1lkp1.jpg') no-repeat top right;
  background-size: cover;
}

section:nth-of-type(1) .backlayer::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 80px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%)
}

section:nth-of-type(1)>* {
  z-index: 20;
}

section:nth-of-type(1) h1 {
  position: relative;
  color: rgb(var(--white));
  margin: 2rem 0 2rem 0;
  text-align: left;
  z-index: 300;
  min-width: 300px;
  min-height: 120px;
  max-width: 500px;
  background-size: contain;
  pointer-events: none;
}

section:nth-of-type(1) h1 span {
  color: rgb(var(--dark));
}

section:nth-of-type(1) p {
  color: rgba(var(--dark), 1);
  margin: 0 0 1rem;
  max-width: 32rem;
  z-index: 300;
  line-height: 1.4em;
  pointer-events: none;
}

section:nth-of-type(1) p.shoutout {
  font-family: var(--heading-font);
  font-weight: 700;
  min-width: 300px;
  max-width: 500px;
}

section:nth-of-type(1) p.shoutout.headline {
  font-family: var(--body-font);
  font-weight: 700;
}

section:nth-of-type(1) p.shoutout.headline::before {
  display: block;
  content: "";
  width: 100%;
  height: 40px;
  margin-top: -30px;
  background: url('../svg/headline6jp7.svg') no-repeat top left;
  background-size: contain;
}

section:nth-of-type(1) p.shoutout strong {
  color: rgba(var(--dark), 1);
}

section:nth-of-type(1) .cards {
  margin-top: 1rem;
}

section.secondary {
  background: rgba(var(--secondary), 1);
}

section.secondary p.shoutout {
  color: rgba(var(--primary), 1);
}

section.secondary p.shoutout.huge {
  color: rgba(var(--dark), 1);
}

section.grey {
  background: rgba(var(--grey), 1);
  color: rgba(var(--black), 1);
}

section.slate {
  background: rgba(var(--slate), 1);
  color: rgba(var(--white), 1);
}

section.dark {
  background: rgba(var(--dark), 1);
  color: rgba(var(--white), 1);
}

section.dark:not(:nth-of-type(1)) h2,
section.dark:not(:nth-of-type(1)) h3 {
  color: rgba(var(--white), 1);
}

section.dark:not(:nth-of-type(1)) .subtitle {
  color: rgba(var(--white), 1);
  border-color: rgba(var(--white), 1);
}

section.dark:not(:nth-of-type(1)) .list-line li {
  color: rgba(var(--white), 1);
}

section.dark:not(:nth-of-type(1)) .list-line li::after {
  background: rgba(var(--white), 1);
}

section.two-tone {
  background: linear-gradient(90deg,
      rgba(var(--secondary), 1) 30%,
      rgba(var(--secondary), 0) 30%,
      30%,
      rgba(var(--primary), 1) 28.25%);
  color: rgba(var(--white), 1);
}

section.checkout {
  background: url(../jpg/bg-2iv7v.jpg) no-repeat center center;
  background-size: cover;
  min-height: 600px;
}

section.checkout h2 {
  color: rgba(var(--white), 1);
  text-shadow: 0px 45px 80px rgba(0, 0, 0, 0.25), 0px 13.5662px 24.1177px rgba(0, 0, 0, 0.162897), 0px 5.6347px 10.0172px rgba(0, 0, 0, 0.125), 0px 2.03796px 3.62304px rgba(0, 0, 0, 0.0871028);
}

section.checkout .button {
  box-shadow: 0px 45px 80px rgba(0, 0, 0, 0.25), 0px 13.5662px 24.1177px rgba(0, 0, 0, 0.162897), 0px 5.6347px 10.0172px rgba(0, 0, 0, 0.125), 0px 2.03796px 3.62304px rgba(0, 0, 0, 0.0871028);
}

/* For desktop */
@media only screen and (min-width: 35rem) {
  h1 {
    font-size: 4.8rem;
  }

  h2 {
    font-size: 2.8rem;
  }

  body>header {
    padding: 14px 25px;
  }

  body>header .logo {
    position: relative;
    background-image: url(../svg/logonl0i.svg);
    width: 142px;
    height: 44px;
  }

  .hide-br-desktop br {
    display: none;
  }

  p.subtitle {
    margin-top: 1rem;
    font-size: 1.2rem;
    line-height: 1.4em;
  }

  p.subtitle br {
    display: none;
  }

  p.shoutout {
    font-size: 1.2rem;
  }

  p.shoutout.huge {
    font-size: 2.8rem;
  }

  .short-center {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }

  .play {
    margin-top: 2rem;
    margin-bottom: 2rem;
    margin-left: 2rem;
    cursor: pointer;
    transition: transform 0.3s ease;

    background: url(/assets/Home/loan-calculator/img/video-cover.png) no-repeat center center;
    background-size: cover;

    aspect-ratio: 1 / 1;
    width: 30vw;
    height: auto;

    border-radius: 2px;
  }

  .play>img {
    transform: scale(1);
  }

  .play:hover {
    transform: scale(1.05);
  }

  .price-box {
    min-width: 30vw;
    text-align: left;
    font-size: 1.2em;
  }

  .price-box+small {
    text-align: left;
  }

  .cursor {
    display: none;
    position: absolute;
    background-color: rgba(var(--yellow), 1);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    z-index: 3000;
    pointer-events: none;
    transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
    animation: fadeIn 1s ease;
  }

  /* Preload Images */
  .cursor::before {
    content: url(../svg/arrow-left-dark9rgn.svg) url(../svg/arrow-right-dark8ap7.svg);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 0;
    height: 0;
  }

  .cursor.hover {
    width: 10px;
    height: 10px;
  }

  .cursor.hover-play,
  .cursor.hover-prev,
  .cursor.hover-next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
  }

  .cursor.hover-play::after {
    content: "PLAY";
    color: white;
    font-size: 0.9rem;
  }

  .cursor.hover-prev::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../svg/arrow-left-dark9rgn.svg) no-repeat center;
    background-size: 32px;
  }

  .cursor.hover-next::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../svg/arrow-right-dark8ap7.svg) no-repeat center;
    background-size: 32px;
  }

  .pad-1-2 {
    padding: 2rem !important;
  }

  .pad-1-6 {
    padding: 6rem !important;
  }

  .flex.row {
    flex-direction: row;
  }

  .flex.split {
    align-items: center;
    justify-content: space-between;
  }

  .flex.start {
    align-items: flex-start;
  }

  .flex.end {
    align-items: flex-end;
  }

  .flex.center {
    align-items: center;
  }

  .flex.flex-row {
    flex-direction: row;
    max-width: 80vw;
  }

  .flex.flex-row.wrap {
    flex-flow: row wrap;
  }

  .flex.flex-row.wrap>* {
    flex: 1;
  }

  .flex.flex-row>* {
    margin: 1rem;
  }

  .full .flex.flex-row {
    max-width: 100vw;
  }

  .full .flex>* {
    margin: 0;
  }

  .full-video-container {
    height: 100vh;
  }

  .flex.flex-row>*:first-child:nth-last-child(1) {
    width: 80vw;
    height: 40vw;
  }

  .flex.flex-row>*:first-child:nth-last-child(2),
  .flex.flex-row>*:first-child:nth-last-child(2)~* {
    width: 30vw;
    height: 40vw;
  }

  .flex.flex-row>*:first-child:nth-last-child(3),
  .flex.flex-row>*:first-child:nth-last-child(3)~* {
    width: 24vw;
    height: 32vw;
  }

  .flex.flex-row>.flex-1,
  .flex.flex-row>.flex-2,
  .flex.flex-row>.flex-3 {
    min-width: 30vw;
    width: auto !important;
    height: 55vh !important;
  }

  .full .flex.flex-row>.flex-1,
  .full .flex.flex-row>.flex-2,
  .full .flex.flex-row>.flex-3,
  .flex.flex-height>.flex-1,
  .flex.flex-height>.flex-2,
  .flex.flex-height>.flex-3 {
    height: auto !important;
  }


  .flex.flex-row>.flex-auto {
    flex: 0;
  }

  .flex.flex-row>.flex-full {
    flex: 1;
  }

  .flex.flex-row>.flex-1 {
    flex: 1;
  }

  .flex.flex-row>.flex-2 {
    flex: 2;
  }

  .flex.flex-row>.flex-3 {
    flex: 3;
  }

  .flex.flex-row>* {
    --x: 0;
    --y: 0;
    --r: 0;
    will-change: transform;
    transform: translateX(var(--x)) translateY(var(--y));
    transition: transform 1s ease;
  }

  .flex.flex-row>.flex-content.align-middle {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .flex.masonry {
    flex-flow: row wrap;
    justify-content: center;
    width: 70vw;
  }

  .flex.masonry .card {
    flex: 0 0 auto;
    width: 50%;
  }

  .fixed .slider.vh {
    margin-top: 0;
    margin-bottom: 0;
  }

  .slider.vh .content {
    height: 100vh;
  }

  .slider .themes {
    bottom: 50%;
    margin-bottom: -40px;
  }

  .slider .theme-caption {
    left: 25vw;
    max-width: 50vw;
    margin-top: 3rem;
    pointer-events: none;
  }

  .slider .theme-caption h3 {
    font-size: 2rem;
  }

  .slider .theme-caption small {
    display: block;
  }

  .slider.vh .arrows .arrow-prev,
  .overflow-gallery .slider .arrows .arrow-prev {
    /* left: 100px; */
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 100%;
    border-radius: 0;
  }

  .slider.vh .arrows .arrow-next,
  .overflow-gallery .slider .arrows .arrow-next {
    /* right: 100px; */
    content: "";
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    height: 100%;
    border-radius: 0;
  }

  .overflow-gallery,
  .overflow-gallery .slider {
    height: 100%;
  }

  .calculator {
    width: auto;
  }

  .cta {
    flex-direction: row;
    margin: 0 auto;
    padding: 0;
  }

  .cta>p {
    flex: 1;
    margin-top: 0.8rem;
    margin-bottom: 0;
    font-size: 0.9rem;
  }

  .cta>.price {
    font-size: 2rem;
  }

  .cta>.price>span:nth-of-type(1) {
    font-weight: 200;
    font-size: 2rem;
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .cta>.price>span:nth-of-type(2)::before {
    font-size: 0.7rem;
    top: -1rem;
  }

  .cta>.price>span:nth-of-type(2)::after {
    font-size: 0.6rem;
    margin-left: 0.7rem;
  }

  .cta-buttons {
    max-width: 320px;
  }

  .cta-buttons a {
    font-size: 1.2rem;
    margin-top: 1rem;
    min-height: 4rem;
  }

  .cta-buttons svg {
    margin-right: 1rem;
  }

  .social>a::before {
    width: 80px;
    height: 80px;
    background-size: 64px;
  }

  .overlay__reveal .close {
    top: 0.5rem;
    right: 0.5rem;
    width: 60px;
    height: 60px;
    padding: 0.5rem 2rem;
    background-size: 48px;
  }

  .overlay__inner {
    padding: 5rem;
  }

  .social>a {
    margin: 0.5rem 1rem;
  }

  .short-center {
    max-width: 400px;
  }

  .partner {
    min-height: 100px;
  }

  .partner img {
    max-width: 200px;
    max-height: 80px;
  }

  section {
    padding-bottom: 4rem;
  }

  section:nth-of-type(1) {
    min-height: 100vh;
    padding-right: var(--drawer);
  }

  section:nth-of-type(1) .backlayer {
    width: var(--drawer);
  }

  section:nth-of-type(1) p.shoutout {
    font-size: 1.8rem;
    line-height: 1.4em;
  }

  section:nth-of-type(1) p.shoutout.headline {
    font-size: 1.2rem;
  }

  section:nth-of-type(1) h1 {
    margin-top: 0;
    min-width: 500px;
    min-height: 150px;
    font-size: 3.8rem;
  }

  section:nth-of-type(1) .cards {
    min-width: 500px;
    margin-bottom: 1rem;
  }
}

/* Tablet */
@media only screen and (max-width: 1024px) {
  .cta-buttons {
    max-width: 400px;
  }

  .flex.masonry {
    flex-flow: column wrap;
    align-items: center;
    width: auto;
  }

  .flex.masonry .card {
    width: 100%;
  }

  .flex.masonry-mobile {
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    width: auto;
  }

  section:nth-of-type(1) {
    padding-right: 1rem;
  }

  section:nth-of-type(1) .backlayer {
    width: 0;
    padding-right: 0;
  }

  section:nth-of-type(1) .card.horizontal {
    min-height: 32px;
  }


  section:nth-of-type(5)>.flex {
    margin-left: 0;
    align-self: center;
  }

  section:nth-of-type(5) h2 {
    position: relative;
    top: auto;
  }

  section:nth-of-type(5) .subtitle {
    margin-top: 0;
    text-align: center;
  }

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

/* Finetune some mobile layout */
@media only screen and (min-width: 35rem) and (max-width: 1000px) {
  .flex.flex-row {
    flex-direction: column;
  }

  .flex.column-reverse {
    flex-direction: column-reverse;
  }

  .flex.flex-row>* {
    height: auto !important;
  }

  .flex.flex-row>.flex-1,
  .flex.flex-row>.flex-2,
  .flex.flex-row>.flex-3 {
    width: 80vw !important;
    height: auto !important;
  }

  .full .flex.flex-row>.flex-1,
  .full .flex.flex-row>.flex-2,
  .full .flex.flex-row>.flex-3 {
    width: 100vw !important;
  }

  .cta>.price>span:nth-of-type(1) {
    margin-left: 1rem;
  }

  .flex.flex-row>.card {
    width: auto;
  }

  .play {
    margin-top: 4rem;
    margin-left: auto;
    margin-right: auto;
    width: 40vw;
  }
}

/* Mobile Landscape */
@media only screen and (max-height: 420px) {

  .flex.flex-row>.flex-1,
  .flex.flex-row>.flex-2,
  .flex.flex-row>.flex-3,
  .flex.flex-row>* {
    height: auto !important;
  }

  section:nth-of-type(1) {
    padding-top: 8rem;
  }

}

@media only screen and (max-width: 35rem) {
  html {
    scroll-snap-type: none;
    scroll-snap-type: y none;
  }

  .cta>* {
    position: relative;
  }

  .cta>a {
    font-size: 0.8rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .overlay__inner>img {
    width: 100vw;
  }

  .overflow-gallery .slider {
    height: 60vh;
  }

  .cards {
    flex-direction: column;
    width: 350px;
  }

  section:not(:nth-of-type(1)) {
    min-height: 0;
  }

  section:nth-of-type(1) h1,
  section:nth-of-type(1) .flex {
    max-width: 340px;
  }

  section:nth-of-type(1) h1 {
    font-size: 2.6rem;
    min-height: 100px;
  }

  section:nth-of-type(1) p.shoutout {
    font-size: 1.2rem;
  }

  section:nth-of-type(1) p.shoutout.headline {
    font-size: 0.95rem;
  }

  section:nth-of-type(1) p.shoutout.headline::before {
    height: 30px;
  }

  section:nth-of-type(1) .cards {
    flex-direction: row;
    width: auto;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }

  section:nth-of-type(1) .cards .card {
    width: 156px;
  }

  section:nth-of-type(1) .cards .card span {
    width: 48px;
    height: 32px;
  }

  section:nth-of-type(1) .cards .card img {
    height: 32px;
  }

  section:nth-of-type(1) .cards .card p {
    font-size: 0.68rem;
    line-height: 1.4em;
    margin: 0;
  }

  section:last-of-type {
    padding-top: 5rem;
    padding-bottom: 10rem;
  }

  section.checkout {
    min-height: 360px !important;
  }
}

@media only screen and (max-width: 320px) {}

/* Only touch screen devices */
@media only screen and (hover: none) and (pointer: coarse) {
  html {
    scroll-snap-type: none;
    scroll-snap-type: y none;
  }

  .cursor {
    display: none;
  }

  .full-video-container::after {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
    content: "PLAY";
    font-size: 0.9rem;
    width: 100px;
    height: 100px;
    background: rgba(var(--primary), 1);
    border-radius: 50%;
    pointer-events: none;
  }

  .full-video-container:hover::after {
    display: none;
  }

  section:not(:nth-of-type(1)) {
    min-height: 0;
  }

  section:last-of-type {
    padding-top: 5rem;
    padding-bottom: 10rem;
  }
}

/* Support Text Gradients */
@supports ((background-clip: text) or (-webkit-background-clip: text)) and ((text-fill-color: transparent) or (-webkit-text-fill-color: transparent)) {

  .gold {
    background: var(--gold);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .sapphire {
    background: var(--sapphire);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

@keyframes revealLeft {
  0% {
    transform: translateX(-200%);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes revealRight {
  0% {
    transform: translateX(200%);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes bounce {
  from {
    transform: translateY(0px);
  }

  to {
    transform: translateY(-15px);
  }
}

@keyframes reveal {
  from {
    left: -100vw;
  }

  to {
    left: 0;
  }
}

@keyframes unviel {
  from {
    left: 0;
  }

  to {
    left: -100vw;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes float {
  0% {
    top: 50%;
  }

  50% {
    top: calc(50% + var(--top));
  }

  100% {
    top: 50%;
  }
}

@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--color), 0.3), 0 0 0 1px rgba(var(--color), 0.3), 0 0 0 3px rgba(var(--color), 0.3),
      0 0 0 5px rgba(var(--color), 0.3);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(var(--color), 0.3), 0 0 0 4px rgba(var(--color), 0.3), 0 0 0 20px rgba(var(--color), 0),
      0 0 0 30px rgba(var(--color), 0);
  }
}
