/* Variables */
/* Mixins */
/* Drupal Overrides */
ul.menu {
  margin: 0;
  padding: 0;
  text-align: inherit; }
  ul.menu li {
    margin: 0;
    padding: 0; }
ul li.leaf {
  list-style: none; }
ul.primary {
  border: none;
  margin: 0;
  padding: 0; }
  ul.primary li a {
    background-color: #b6a055;
    color: #202b37;
    border: none; }
  ul.primary li.active a {
    border: none; }

li a.active {
  color: inherit; }

.item-list ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

.form-item,
.form-actions {
  margin: 0; }

label {
  font-weight: normal; }

.node-unpublished {
  background-color: transparent; }

.profile {
  margin: 0; }

#admin-menu, #admin-menu .dropdown {
  z-index: 1020; }

/* General Setup */
body {
  font-family: proxima-nova;
  font-weight: 300;
  font-size: 18px;
  color: #FFFFFF;
  padding-top: 120px; }
  @media screen and (min-width: 768px) {
    body {
      padding-top: 150px; } }

a {
  color: #b6a055;
  transition-property: color;
  transition-duration: 0.2s; }
  a:hover {
    color: #FFFFFF; }
  a.text-decoration-none-hover:hover {
    text-decoration: none; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: 300; }

ol {
  margin: 0;
  padding: 0; }
  ol.naked {
    list-style: none; }

/* General Classes */
.standard-text .h1, .standard-text .h2, .standard-text .h3, .standard-text .h4, .standard-text .h5, .standard-text .h6, .standard-text h1, .standard-text h2, .standard-text h3, .standard-text h4, .standard-text h5, .standard-text h6, .standard-text p, .standard-text ul, .standard-text ol {
  margin-bottom: 2rem; }
.standard-text iframe, .standard-text img {
  max-width: 100%;
  box-sizing: content-box; }
.standard-text [style*="float"] {
  padding-bottom: 1.5rem; }
.standard-text [style*="float:left"] {
  padding-right: 1.5rem; }
.standard-text [style*="float:right"] {
  padding-left: 1.5rem; }
.standard-text figure figcaption {
  font-size: 0.8rem;
  padding: 1rem;
  background-color: #202b37; }

.bg-cover {
  background-size: cover; }

.bg-bottom {
  background-position: center bottom; }

.bg-indigo {
  background-color: #17151c; }

.bg-dark-blue {
  background-color: #202b37; }

.bg-rays-top-left {
  background-image: url(img/bg-rays-top-left.svg);
  background-size: contain;
  background-repeat: no-repeat; }

.bg-rays-bottom-right:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 600px;
  height: 100%;
  z-index: -1;
  background-image: url(img/bg-rays-bottom-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom right; }

.light-icon-link svg, .light-icon-link i {
  transition-property: color;
  transition-duration: 0.2s;
  color: #FFFFFF; }
  .light-icon-link svg:hover, .light-icon-link i:hover {
    cursor: pointer;
    color: #b6a055; }

.white {
  color: #FFFFFF; }

.white-links a, .white-links svg {
  color: #FFFFFF; }
.white-links a.active, .white-links a.active-trail {
  font-weight: 700; }

.no-break {
  white-space: nowrap; }

.no-margin {
  margin: 0; }

button.naked {
  background: none;
  border: none;
  padding: 0; }

.btn {
  border-radius: 0;
  padding-left: 3rem;
  padding-right: 3rem;
  position: relative;
  text-transform: uppercase;
  font-size: 0.8rem; }
  .btn:before {
    font-family: "Font Awesome 5 Pro";
    content: "\f105";
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    position: absolute;
    left: 1rem; }

.btn-primary {
  background-color: #b6a055;
  border-color: #b6a055;
  color: #202b37; }
  .btn-primary:hover {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #202b37; }

.btn-inline {
  padding-left: 1.5rem;
  position: relative;
  text-transform: uppercase;
  font-size: 0.8rem; }
  .btn-inline:before {
    font-family: "Font Awesome 5 Pro";
    content: "\f105";
    font-style: normal;
    font-weight: normal;
    text-decoration: none;
    position: absolute;
    left: 0;
    top: -0.1rem; }
  .btn-inline.email:before {
    content: "\f0e0"; }
  .btn-inline.twitter:before {
    content: "\f099";
    font-family: "Font Awesome 5 Brands"; }
  .btn-inline.github:before {
    content: "\f09b";
    font-family: "Font Awesome 5 Brands"; }
  .btn-inline.linkedin:before {
    content: "\f08c";
    font-family: "Font Awesome 5 Brands"; }
  .btn-inline.website:before {
    content: "\f0ac"; }

/* Specifics */
canvas#particles-bg {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  z-index: -50;
  transform: translateX(-25%) translateY(-25%); }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #17151c;
  z-index: 1010; }
  header .strapline {
    margin-top: 1rem;
    height: 38px;
    overflow: hidden;
    transition-property: all;
    transition-duration: 0.5s; }
  header .search-form .form-item-keywords {
    display: flex; }
    header .search-form .form-item-keywords label {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    header .search-form .form-item-keywords .form-text {
      background-color: transparent;
      border: none;
      border-bottom: 2px solid #FFFFFF;
      color: #FFFFFF;
      transition-property: width;
      transition-duration: 0.2s;
      width: 100%; }
      header .search-form .form-item-keywords .form-text:focus, header .search-form .form-item-keywords .form-text:focus-visible {
        outline: none; }
    header .search-form .form-item-keywords::after {
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      font-family: "Font Awesome 5 Pro";
      font-weight: 400;
      content: "\f002";
      border-bottom: 2px solid #FFFFFF;
      cursor: pointer;
      font-size: 0.7rem;
      line-height: 35px; }
  header .search-form .form-submit {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  header .main-menu {
    display: flex; }
    header .main-menu ul li {
      display: inline-block;
      vertical-align: middle;
      padding: 0 0 0 0.5rem; }
    header .main-menu .search-form {
      margin: 0 0 0 0.5rem; }
      header .main-menu .search-form .form-item-keywords .form-text {
        width: 0;
        border-bottom-color: transparent; }
      header .main-menu .search-form .form-item-keywords::after {
        border-bottom-color: transparent; }
      header .main-menu .search-form.focussed .form-item-keywords .form-text {
        border-bottom: 2px solid #FFFFFF;
        width: 150px; }
      header .main-menu .search-form.focussed .form-item-keywords::after {
        border-bottom: 2px solid #FFFFFF; }
  header .pushbar ul.menu {
    margin-bottom: 1rem; }
  header .mobile-menu-icon {
    display: none; }

body.scrolled header .strapline {
  height: 0;
  margin-top: 0; }

body.mobile-menu header .main-menu {
  display: none; }
body.mobile-menu header .mobile-menu-icon {
  display: block; }

.block-teaser > .content {
  height: 100%;
  background-color: #202b37;
  transition-property: all;
  transition-duration: 0.2s; }
  .block-teaser > .content a:hover {
    text-decoration: none; }
.block-teaser:hover > .content {
  background-color: #FFFFFF; }
  .block-teaser:hover > .content a {
    color: #202b37; }
.block-teaser.highlight > .content {
  background-color: #b6a055; }
.block-teaser.highlight:hover > .content {
  background-color: #FFFFFF; }

body.page-home .grid .node-teaser:first-child {
  max-width: 100%;
  flex: 0 0 100%; }

body.page-node .region-content {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px; }
  body.page-node .region-content #block-system-main,
  body.page-node .region-content #sidebar {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px; }
  @media screen and (min-width: 992px) {
    body.page-node .region-content #block-system-main {
      width: 66.66%; }
    body.page-node .region-content #sidebar {
      width: 33.33%; } }

.pager {
  width: 100%; }

main .search-form {
  margin-bottom: 2rem; }
  main .search-form > div {
    display: flex; }
    main .search-form > div .form-submit {
      align-self: flex-end; }
main .results {
  padding-bottom: 2rem; }
  main .results .item {
    margin-bottom: 1rem; }
    main .results .item .label {
      font-size: 0.8rem; }

footer .footer-menu ul li {
  display: inline-block;
  margin: 0 5px; }
