@font-face {
  font-family: "Teodor";
  font-weight: 200;
  src: url("../fonts/teodor.woff2") format("woff2");
}
@font-face {
  font-family: "PP Mori";
  font-weight: 400;
  src: url("../fonts/regular.woff2") format("woff2");
}
@font-face {
  font-family: "PP Mori";
  font-weight: 600;
  src: url("../fonts/semibold.woff2") format("woff2");
}
h1 {
  font-family: "Teodor", Georgia, serif;
  font-weight: 200;
  margin: 0;
  line-height: 48px;
  font-size: 40px;
}

/*--- This is needed on the live site as asp adds extra div tag in the newsletter sign up form tags ---*/
.aspNetHidden {
  display: none;
}

h2,
h3 {
  font-family: "Teodor", Georgia, serif;
  font-weight: 200;
  margin: 0;
  line-height: 32px;
  font-size: 32px;
}

h4,
h5 {
  font-family: "Teodor", Georgia, serif;
  font-weight: 200;
  margin: 0;
  line-height: 28px;
  font-size: 24px;
}

h6 {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
  margin: 0;
  line-height: 20px;
  font-size: 12px;
}

strong {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
  line-height: 28px;
  font-size: 24px;
}

b {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
  line-height: 24px;
  font-size: 18px;
}

p {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 400;
  margin: 0;
  line-height: 24px;
  font-size: 18px;
}

small {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 24px;
  font-size: 16px;
}

@media (min-width: 992px) {
  h1 {
    font-family: "Teodor", Georgia, serif;
    font-weight: 200;
    margin: 0;
    line-height: 96px;
    font-size: 100px;
  }
  h2 {
    font-family: "Teodor", Georgia, serif;
    font-weight: 200;
    margin: 0;
    line-height: 64px;
    font-size: 64px;
  }
  h3 {
    font-family: "Teodor", Georgia, serif;
    font-weight: 200;
    margin: 0;
    line-height: 48px;
    font-size: 48px;
  }
  h4 {
    font-family: "Teodor", Georgia, serif;
    font-weight: 200;
    margin: 0;
    line-height: 48px;
    font-size: 40px;
  }
  h5 {
    font-family: "Teodor", Georgia, serif;
    font-weight: 200;
    margin: 0;
    line-height: 32px;
    font-size: 32px;
  }
  strong {
    font-family: "PP Mori", Arial, Helvetica, sans-serif;
    font-weight: 600;
    line-height: 36px;
    font-size: 32px;
  }
  b {
    font-family: "PP Mori", Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 20px;
  }
  p {
    font-family: "PP Mori", Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin: 0;
    line-height: 28px;
    font-size: 20px;
  }
}
body > footer {
  display: flex;
  flex-direction: column;
  gap: 64px;
  background-color: #0c1c2e;
  padding: 80px 16px;
}
body > footer input[type=email] {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
  border: 1px solid #fdfaf6;
  border-radius: 2px;
  background-color: #364456;
  padding: 8px 16px;
  width: 288px;
  line-height: 24px;
  color: #fdfaf6;
  font-size: 18px;
}
body > footer input[type=email]::placeholder {
  color: rgba(253, 250, 246, 0.7);
}
@media (min-width: 1200px) {
  body > footer input[type=email] {
    width: 333px;
  }
}
body > footer address {
  font-style: normal;
}
body > footer > div {
  display: flex;
}
body > footer > div:nth-of-type(1), body > footer > div:nth-of-type(5) {
  grid-column: span 3;
  justify-content: space-between;
}
body > footer > div:nth-of-type(2), body > footer > div:nth-of-type(3), body > footer > div:nth-of-type(4) {
  flex-direction: column;
}
body > footer > div:nth-of-type(1), body > footer > div:nth-of-type(5) {
  flex-wrap: wrap;
}
body > footer > div:nth-of-type(1) {
  gap: 20px;
}
body > footer > div:nth-of-type(1) > div:first-of-type {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body > footer > div:nth-of-type(1) small {
  text-transform: none;
  color: #fdfaf6;
}
body > footer > div:nth-of-type(2) {
  gap: 16px;
}
body > footer > div:nth-of-type(2) > a {
  background-image: url("../images/logo.png");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 119px;
  height: 16px;
  text-indent: -10000px;
}
body > footer > div:nth-of-type(3) {
  display: none;
}
body > footer > div:nth-of-type(3), body > footer > div:nth-of-type(4) {
  gap: 8px;
}
body > footer > div:nth-of-type(4) :nth-child(1),
body > footer > div:nth-of-type(4) :nth-child(2),
body > footer > div:nth-of-type(4) :nth-child(3) {
  display: none;
}
body > footer > div:nth-of-type(5) {
  gap: 24px;
  border-top: 1px solid #ab7c3b;
  padding-top: 24px;
}
body > footer > div p small {
  margin-right: 4px;
}
body > footer small {
  color: rgba(253, 250, 246, 0.7);
}
@media (min-width: 768px) {
  body > footer {
    padding: 80px 32px;
  }
}
@media (min-width: 992px) {
  body > footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 64px 106px;
  }
  body > footer > div:nth-of-type(2) {
    gap: 26px;
  }
  body > footer > div:nth-of-type(3) {
    display: flex;
  }
  body > footer > div:nth-of-type(3), body > footer > div:nth-of-type(4) {
    gap: 12px;
  }
  body > footer > div:nth-of-type(4) :nth-child(1),
  body > footer > div:nth-of-type(4) :nth-child(2),
  body > footer > div:nth-of-type(4) :nth-child(3) {
    display: inline;
  }
}

header {
  --menu-item-border: #fdfaf6;
  display: flex;
  position: fixed;
  align-items: center;
  justify-content: space-between;
  z-index: 10;
  background-color: #0c1c2e;
  padding: 19px 16px;
  width: 100%;
}
header.expanded {
  inset: 0;
  align-items: flex-start;
}
header.expanded > button > svg:first-of-type {
  display: none;
}
header.expanded > button > svg:last-of-type {
  display: block;
}
header.expanded > nav {
  display: block;
}
header.expanded > nav > ul > li:last-of-type {
  display: block;
}
header.expanded .menu > a {
  display: none;
}
@media (min-width: 1200px) {
  header.expanded .menu > a {
    display: block;
  }
}
header.expanded .menu > span {
  display: block;
}
@media (min-width: 1200px) {
  header.expanded .menu > span {
    display: none;
  }
}
@media (min-width: 1200px) {
  header.expanded {
    inset: auto;
  }
}
header + * {
  margin-top: 62px;
}
@media (min-width: 1200px) {
  header + * {
    margin-top: 98px;
  }
}
header > a {
  background-image: url("../images/logo.png");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 119px;
  height: 16px;
  text-indent: -10000px;
}
header > button > svg:first-of-type {
  display: block;
}
header > button > svg:last-of-type {
  display: none;
}
@media (min-width: 1200px) {
  header > button {
    display: none;
  }
}
header > nav {
  display: none;
  position: absolute;
  top: 56px;
  right: 16px;
  bottom: 0;
  left: 16px;
  background-color: #0c1c2e;
  overflow: scroll;
}
@media (min-width: 1200px) {
  header > nav {
    display: block;
    position: static;
    overflow: visible;
  }
}
header svg path {
  fill: #fdfaf6 !important;
}
@media (min-width: 768px) {
  header {
    padding: 19px 32px;
  }
}
@media (min-width: 1200px) {
  header {
    padding: 28px;
  }
}

nav > ul {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
nav > ul li {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
  list-style: none;
  font-size: 14px;
}
nav > ul li.menu {
  display: grid;
  position: relative;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
}
nav > ul li.menu > span {
  display: none;
}
nav > ul li.menu.expanded > svg {
  transform: rotate(180deg);
}
nav > ul li.menu.expanded > ul {
  display: block;
}
nav > ul li.menu > ul {
  display: none;
  grid-column: 1/-1;
  background-color: #364456;
  padding: 8px;
}
nav > ul li.menu > ul > li {
  flex: 1;
}
nav > ul li.menu > ul > li a.button {
  display: inline-block;
  border-radius: 4px;
  background: #b79c62;
  padding: 0 8px;
  text-transform: uppercase;
  line-height: 20px;
  color: #0c1c2e;
  font-size: 12px;
  font-weight: 600;
}
nav > ul li.menu > ul > li a.button:hover {
  background: #b79c62;
}
nav > ul li.menu > ul > li abbr {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
}
nav > ul li.menu > ul > li a {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 400;
  display: block;
  padding: 8px 0;
  text-transform: none;
  line-height: 20px;
  font-size: 16px;
}
nav > ul li.menu > ul > li a:hover {
  background-color: #0c1c2e;
}
@media (min-width: 1200px) {
  nav > ul li.menu > ul > li a {
    padding: 12px 16px;
  }
}
nav > ul li.menu > ul > li ul {
  padding: 0;
}
@media (min-width: 1200px) {
  nav > ul li.menu > ul {
    position: absolute;
    right: -1px;
    z-index: 2;
    margin-top: 32px;
    border: 1px solid #fdfaf6;
    padding: 16px 8px;
    width: 504px;
  }
  nav > ul li.menu > ul span,
  nav > ul li.menu > ul a.button {
    margin: 0 0 8px 16px;
  }
  nav > ul li.menu > ul span.last,
  nav > ul li.menu > ul a.button.last {
    margin: 8px 0 8px 16px;
  }
}
@media (min-width: 1200px) {
  nav > ul li.menu {
    display: flex;
    align-items: normal;
  }
  nav > ul li.menu:hover {
    border-bottom: 0;
  }
  nav > ul li.menu:hover::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    background-color: #364456;
    width: 100%;
    height: 3px;
    content: " ";
  }
  nav > ul li.menu:hover > svg {
    transform: rotate(180deg);
  }
  nav > ul li.menu:hover > ul {
    display: flex;
  }
}
nav > ul li > a {
  line-height: 24px;
  color: #fdfaf6;
  font-size: 14px;
}
nav > ul li > a:hover {
  text-decoration: none;
}
nav > ul li > svg path {
  fill: #fdfaf6;
}
nav > ul > li {
  border-radius: 2px;
  cursor: pointer;
  padding: 8px 16px;
  text-transform: uppercase;
}
@media (min-width: 1200px) {
  nav > ul > li:nth-of-type(1) {
    border: 1px solid var(--menu-item-home-border, transparent);
  }
  nav > ul > li:nth-of-type(2) {
    border: 1px solid var(--menu-item-funds-border, transparent);
  }
  nav > ul > li:nth-of-type(3) {
    border: 1px solid var(--menu-item-insights-border, transparent);
  }
  nav > ul > li:nth-of-type(4) {
    border: 1px solid var(--menu-item-team-border, transparent);
  }
  nav > ul > li:hover {
    border: 1px solid #fdfaf6;
    background-color: #364456;
  }
}
@media (min-width: 1200px) {
  nav > ul {
    flex-direction: row;
    gap: 8px;
  }
}

.border {
  margin-bottom: 16px;
  border-bottom: 1px solid #fdfaf6;
  padding-bottom: 8px !important;
}
@media (min-width: 1200px) {
  .border {
    margin-bottom: 0;
    border-bottom: 0;
    padding-bottom: 0 !important;
  }
  .border + li:last-of-type {
    display: none;
  }
}

button,
a.button,
input[type=submit] {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  border: 0;
  border-radius: 47px;
  background-color: #ab7c3b;
  cursor: pointer;
  padding: 8px 24px;
  line-height: 24px;
  color: #0c1c2e;
  font-size: 18px;
}
button:hover,
a.button:hover,
input[type=submit]:hover {
  background: linear-gradient(0deg, #ab7c3b, #b79c62);
  text-decoration: none;
}
button > svg path,
a.button > svg path,
input[type=submit] > svg path {
  fill: #0c1c2e;
}
button.transparent,
a.button.transparent,
input[type=submit].transparent {
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: #fdfaf6;
}
button.transparent:hover,
a.button.transparent:hover,
input[type=submit].transparent:hover {
  background: transparent;
}
button.transparent > svg path,
a.button.transparent > svg path,
input[type=submit].transparent > svg path {
  fill: #fdfaf6;
}

main {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 16px 80px;
}
@media (min-width: 768px) {
  main {
    padding: 24px 32px 80px;
  }
}
@media (min-width: 1200px) {
  main {
    padding: 80px 25% 180px;
  }
}

article {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
article > * {
  flex: auto;
}
@media (min-width: 768px) {
  article > * {
    flex: 1;
  }
}
article > div {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
article > div > a {
  align-self: flex-start;
}
@media (min-width: 1200px) {
  article > div {
    gap: 32px;
  }
}
@media (min-width: 768px) {
  article {
    flex-direction: row;
    gap: 90px;
  }
}

a {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 600;
  display: inline-flex;
  gap: 8px;
  text-decoration: none;
  line-height: 24px;
  color: #b79c62;
  font-size: 18px;
}
a:hover {
  text-decoration: underline;
}
a > svg path {
  fill: #b79c62;
}

select {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 400;
  appearance: none !important;
  border: 1px solid #fdfaf6;
  border-radius: 2px;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='24px'%20viewBox='0%20-960%20960%20960'%20width='24px'%20fill='%23fdfaf6'%3e%3cpath%20d='M480-344%20240-584l56-56%20184%20184%20184-184%2056%2056-240%20240Z'/%3e%3c/svg%3e") no-repeat;
  background-color: #0c1c2e;
  background-position: calc(100% - 0.75rem) center !important;
  cursor: pointer;
  padding: 8px 40px 8px 16px;
  line-height: 24px;
  color: #fdfaf6;
  font-size: 14px;
}

table {
  border-spacing: 0;
}
table th,
table td {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 400;
  padding: 16px 4px;
  text-align: right;
  line-height: 24px;
}
table th:first-of-type,
table td:first-of-type {
  text-align: left;
}
table tbody tr:nth-child(odd) {
  background-color: #364456;
}
table th {
  border-bottom: 1px solid #fdfaf6;
  vertical-align: top;
  font-size: 16px;
}
@media (min-width: 1200px) {
  table th {
    font-size: 18px;
  }
}
table tr:last-of-type td {
  border: 0;
}
table td {
  border-bottom: 1px solid rgba(253, 250, 246, 0.7);
  font-size: 18px;
}
table td > input {
  display: none;
}
table td > input:checked + label p {
  display: block;
}
table td > label {
  position: relative;
  margin-left: 8px;
  background: #b79c62;
  cursor: pointer;
  color: #0c1c2e;
}
table td > label:hover {
  background: #b79c62;
}
table td > label p {
  display: none;
  position: absolute;
  z-index: 1;
  border: 1px solid #0c1c2e;
  border-radius: 8px;
  background-color: #fdfaf6;
  padding: 20px;
  width: 300px;
}
@media (min-width: 1200px) {
  table td {
    line-height: 28px;
    font-size: 20px;
  }
}

figure {
  margin: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
figure > img {
  object-fit: cover;
  max-width: 100%;
}
figure > figcaption {
  font-family: "PP Mori", Arial, Helvetica, sans-serif;
  font-weight: 400;
  line-height: 24px;
  font-size: 16px;
}
@media (min-width: 768px) {
  figure {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

form {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

body,
html {
  display: flex;
  flex-direction: column;
  margin: 0;
  background: linear-gradient(to bottom right, #0c1c2e 2%, #1f2f41 12%, #0c1c2e 50%) bottom right no-repeat;
  background-attachment: fixed;
  background-color: #0c1c2e;
  height: 100%;
  color: #fdfaf6;
}

* {
  box-sizing: border-box;
}