html,
body {
  width: 100%;
  font-family: "Apercu Bold", "Arial", sans-serif;
  background: #3a3a3a; }

::-moz-selection {
  background: rgba(219, 0, 115, 0.8);
  /* WebKit/Blink Browsers */
  color: white; }

::selection {
  background: rgba(219, 0, 115, 0.8);
  /* WebKit/Blink Browsers */
  color: white; }

#navbar {
  position: fixed;
  text-align: center;
  background: transparent;
  width: 100%;
  z-index: 1;
  top: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  height: 40px; }
  #navbar.project-nav {
    background: #81cdd9; }
  #navbar.fixed {
    background: white; }
    #navbar.fixed .logo-name {
      color: #707070; }

#logo {
  display: inline-block;
  font-size: 30px;
  margin: auto;
  line-height: 56px;
  position: absolute;
  top: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  @media (max-width: 550px) {
    #logo {
      width: 100%; } }
  #logo p {
    display: inline-block;
    margin: 0;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 40px;
    font-size: 32px; }
  #logo .logo-name {
    text-transform: lowercase;
    width: 158px;
    line-height: 59px;
    white-space: nowrap;
    overflow: hidden;
    color: white;
    -webkit-transition: width 0.45s;
    -o-transition: width 0.45s;
    transition: width 0.45s; }
  #logo .logo-dot {
    display: inline-block;
    width: 35px;
    height: 35px;
    font-size: 50px;
    font-family: serif;
    color: #fecf4d;
    margin-left: -6px;
    vertical-align: super;
    background-image: url(../media/navbar.svg);
    -webkit-transition: all 0.45s;
    -o-transition: all 0.45s;
    transition: all 0.45s; }
  #logo.anim .logo-name {
    width: 0px;
    display: inline-block;
    margin: auto;
    -webkit-transition: width 0.45s;
    -o-transition: width 0.45s;
    transition: width 0.45s; }
  #logo.anim .logo-dot {
    margin-left: -8px; }
  #logo.collapsed {
    position: absolute;
    top: 38%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    #logo.collapsed .logo-name {
      width: auto; }
    #logo.collapsed .logo-dot {
      font-size: 45px;
      margin-left: -11px; }
  #logo:hover .logo-dot {
    background-image: url(../media/CompassRose_hover.svg); }

#splash {
  position: relative;
  height: 75vh;
  background: #81cdd9;
  color: white;
  text-align: center; }
  #splash h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-family: "Apercu Bold", sans-serif;
    font-size: 50px;
    width: 80%;
    margin: auto; }
    @media (max-width: 550px) {
      #splash h1 {
        font-size: 32px; } }
  #splash .typed {
    text-decoration: underline;
    color: #fecf4d; }
    @media (max-width: 550px) {
      #splash .typed {
        display: inline-block; } }
  #splash #bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url("../media/header.jpg");
    background-size: cover;
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
    background-position: center center; }
  #splash #overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0.2; }

#projects {
  background: #3a3a3a;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 35px;
  margin-bottom: 50px; }
  #projects h2 {
    color: white;
    background: #db0073;
    display: inline-block;
    padding: 8px 12px;
    font-size: 32px; }
    @media (max-width: 550px) {
      #projects h2 {
        font-size: 24px;
        margin-top: 0; } }
  #projects #project-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #projects #project-container .project {
      -webkit-box-flex: 0;
      -ms-flex: 0 1 32%;
      flex: 0 1 32%;
      background: #81cdd9;
      margin-bottom: 20px;
      text-decoration: none;
      color: black; }
      @media (max-width: 968px) {
        #projects #project-container .project {
          -webkit-box-flex: 0;
          -ms-flex: 0 1 48%;
          flex: 0 1 48%; } }
      @media (max-width: 550px) {
        #projects #project-container .project {
          -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
          flex: 0 1 100%; } }
      #projects #project-container .project.hidden {
        display: none; }
      #projects #project-container .project .project-img {
        width: 100%;
        background-size: cover;
        background-position: center; }
        #projects #project-container .project .project-img img {
          width: 100%; }
      #projects #project-container .project .project-title {
        height: 78px;
        background: white;
        font-family: "Apercu Regular", "Arial", sans-serif;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 12px; }
        @media (max-width: 1200px) {
          #projects #project-container .project .project-title {
            padding: 8px 6px; } }
        @media (max-width: 550px) {
          #projects #project-container .project .project-title {
            padding: 12px; } }
        #projects #project-container .project .project-title h4 {
          margin: 0;
          margin-bottom: 8px; }
          @media (max-width: 1200px) {
            #projects #project-container .project .project-title h4 {
              margin-bottom: 6px; } }
          @media (max-width: 968px) {
            #projects #project-container .project .project-title h4 {
              font-size: 14px; } }
          @media (max-width: 550px) {
            #projects #project-container .project .project-title h4 {
              font-size: unset; } }
        #projects #project-container .project .project-title p {
          margin: 0;
          font-size: 14px; }
          @media (max-width: 1200px) {
            #projects #project-container .project .project-title p {
              font-size: 14px; } }
          @media (max-width: 968px) {
            #projects #project-container .project .project-title p {
              font-size: 12px; } }
          @media (max-width: 550px) {
            #projects #project-container .project .project-title p {
              font-size: 13px; } }
    #projects #project-container #load-more {
      cursor: pointer;
      position: relative;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      font-family: "Apercu Regular", "Arial", sans-serif;
      background: #db0073;
      color: white;
      border: none;
      padding: 8px 12px;
      border-radius: 50px;
      -webkit-box-shadow: 2px 3px 0px #ad005b;
      box-shadow: 2px 3px 0px #ad005b;
      margin-top: 35px; }
      @media (max-width: 968px) {
        #projects #project-container #load-more {
          position: absolute;
          bottom: -35px;
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          transform: translateX(-50%); } }

#footer {
  position: relative;
  text-align: center;
  padding-top: 30px;
  padding-bottom: 20px;
  background: white; }
  #footer #logo.collapsed {
    top: 30%; }
  #footer #footer-ball {
    width: 66px;
    height: 66px;
    border-radius: 100%;
    background: white;
    position: absolute;
    left: 50%;
    top: -33px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    text-align: center; }
    #footer #footer-ball img {
      width: 50px;
      margin-top: 8px; }
    #footer #footer-ball .logo-name {
      color: #707070; }
  #footer #copy,
  #footer #connect {
    position: relative;
    bottom: 0px;
    width: 250px;
    margin: auto;
    font-family: "Apercu Regular", "Arial", sans-serif;
    color: #707070; }
  #footer #connect {
    font-weight: bold;
    font-family: "Apercu Bold", "Arial", sans-serif;
    font-size: 20px;
    margin-top: 10px;
    margin-bottom: 20px; }
  #footer img {
    width: 25px; }
  #footer a {
    text-decoration: none;
    padding: 5px;
    color: #707070; }
    #footer a:hover {
      background: #db0073;
      color: white; }

#login-splash {
  width: 100%;
  height: 100vh;
  color: white;
  font-family: "Catamaran", sans-serif; }
  #login-splash #bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url("../media/header.jpg");
    background-size: cover;
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
    background-position: center center; }
  #login-splash #overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0.2; }
  #login-splash h1 {
    font-size: 6rem;
    margin: 0; }
    @media (max-width: 968px) {
      #login-splash h1 {
        font-size: 3.8em;
        margin-top: 15px; } }
    @media (max-width: 550px) {
      #login-splash h1 {
        font-size: 2.6em;
        margin-top: 15px; } }
  #login-splash .content {
    position: absolute;
    top: 40%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  #login-splash p {
    font-weight: normal; }
    #login-splash p.subhead {
      margin-top: -14px;
      margin-bottom: 30px;
      padding: 6px;
      font-size: 25px;
      background: #db0073;
      color: white;
      font-weight: bold;
      display: inline-block; }
      @media (max-width: 550px) {
        #login-splash p.subhead {
          margin-top: 4px;
          font-size: 19px; } }
    #login-splash p.warn {
      display: inline-block;
      background: #3a3a3a;
      padding: 4px;
      color: white; }
  #login-splash input {
    padding: 8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 318px; }

.container {
  width: 80%;
  max-width: 1280px;
  margin: auto; }
  @media (max-width: 550px) {
    .container {
      width: 100%; } }

.center-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

#landing {
  text-align: left; }
  @media (max-width: 550px) {
    #landing {
      width: 90%;
      margin: auto;
      padding-top: 25px;
      position: relative;
      top: unset;
      left: unset;
      -webkit-transform: unset;
      -ms-transform: unset;
      transform: unset; } }
  #landing p {
    font-size: 1.6em; }
    @media (max-width: 550px) {
      #landing p {
        font-size: 1.3em; } }
  #landing ul {
    list-style: none;
    -webkit-padding-start: 65px;
    padding-inline-start: 65px; }
    @media (max-width: 550px) {
      #landing ul {
        -webkit-padding-start: 35px;
        padding-inline-start: 35px; } }
  #landing li {
    font-size: 1.2em;
    line-height: 125%; }
    @media (max-width: 550px) {
      #landing li {
        font-size: 1em; } }

.mobile {
  display: none; }
  @media (max-width: 550px) {
    .mobile {
      display: block; } }

/* Animation */
@keyframes fadeInUp {
  from {
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@-webkit-keyframes fadeInUp {
  from {
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -webkit-animation-fill-mode: both; }

.animatedFadeInUp {
  opacity: 0; }

.fadeInUp {
  opacity: 0;
  animation-name: fadeInUp;
  -webkit-animation-name: fadeInUp; }
