@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,900&family=Roboto+Mono:wght@400;500&display=swap);
body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content, .hero-content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content, .hero-content {
    padding: 0px 32px; } }

.container, .hero-container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.hero {
  position: relative;
  min-height: 90vh;
  overflow: hidden;
  /* The image used */
  background: url(/images/confetti-bg.jpg);
  /* Full height */
  /* Create the parallax scrolling effect */
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0px -20px 40px rgba(30, 63, 106, 0.1) inset; }
  @media (max-width: 767px) {
    .hero {
      border-radius: 0px 0px 64px 0px; } }
  @media (min-width: 768px) {
    .hero {
      border-radius: 0px 0px 64px 0px; } }

.hero-bg {
  z-index: 0;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%; }
  @media (max-width: 767px) {
    .hero-bg {
      background: linear-gradient(to right, rgba(247, 248, 250, 0.87), rgba(247, 248, 250, 0.7)); } }
  @media (min-width: 768px) {
    .hero-bg {
      background: linear-gradient(to right, rgba(247, 248, 250, 0.97) 30%, rgba(247, 248, 250, 0) 90%); } }

.hero-content {
  position: relative;
  z-index: 1; }

@media (max-width: 767px) {
  .hero-container {
    padding: 64px 0px; } }

@media (min-width: 768px) {
  .hero-container {
    padding: 64px 0px; } }

#hero-greetings {
  font-weight: 900;
  font-size: 48px;
  color: #AAB7C7; }

#hero-name {
  font-weight: 900;
  font-size: 48px; }

.hero-cursor {
  display: inline-block;
  content: "";
  height: 8px;
  width: 36px;
  margin-left: 8px;
  margin-bottom: -4px;
  background-color: #AAB7C7;
  opacity: 0.4;
  border-radius: 4px;
  transform-origin: center; }

#hero-description {
  margin-top: 64px;
  max-width: 400px;
  font-size: 20px;
  font-weight: 600; }

.highlighted {
  display: inline-block;
  position: relative;
  font-weight: 700; }
  .highlighted__text {
    z-index: 1;
    position: relative; }
  .highlighted__overlay {
    content: "";
    display: inline-block;
    outline: none;
    pointer-events: none;
    position: absolute;
    z-index: 0;
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
    border-radius: 100px;
    background: #C9FFD9;
    transform: rotate(-deg); }

.hero-buttons {
  margin-top: 32px; }

.hero-icons {
  display: flex;
  align-items: center;
  margin-top: 24px; }
  .hero-icons > *:not(:last-child) {
    margin-right: 16px; }

.hero-icon {
  font-size: 24px !important; }
  .hero-icon:hover {
    opacity: 0.6; }

.resume-button {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  border: 2px solid #1E3F6A;
  color: #1E3F6A;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700; }
  .resume-button:hover {
    opacity: 0.6; }

.hero-scroll-down {
  margin-top: 64px; }
  .hero-scroll-down__icon {
    font-size: 32px;
    color: #AAB7C7;
    cursor: pointer; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.button {
  display: inline-block;
  cursor: pointer;
  background: white;
  padding: 8px 12px;
  border: none;
  border-radius: 8px;
  box-shadow: 0px 4px 20px rgba(30, 63, 106, 0.2);
  color: #1E3F6A;
  font-family: 'Nunito';
  font-size: 16px;
  font-weight: 600; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.title-container {
  display: flex;
  flex-direction: row;
  align-items: baseline; }
  @media (max-width: 767px) {
    .title-container {
      margin-bottom: 64px; } }
  @media (min-width: 768px) {
    .title-container {
      margin-bottom: 96px; } }

.title-text-container {
  position: relative; }

.title {
  position: relative;
  z-index: 1;
  margin: 0px;
  font-size: 32px;
  font-weight: 900;
  line-height: 1; }

.title-text-bg {
  position: absolute;
  z-index: 0;
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  border-radius: 100px;
  background: #C9FFD9;
  transform: rotate(-3deg); }

.title-after {
  flex: 1;
  margin-left: 8px;
  height: 2px;
  background: linear-gradient(to right, #aab7c7, #aab7c7, rgba(170, 183, 199, 0));
  opacity: 0.2; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

@media (max-width: 767px) {
  .featured-projects > *:not(:last-child) {
    margin-bottom: 100px; } }

@media (min-width: 768px) {
  .featured-projects > *:not(:last-child) {
    margin-bottom: 128px; } }

.featured-project {
  /* *** */ }
  @media (max-width: 767px) {
    .featured-project__grid-container {
      display: flex;
      flex-direction: column; } }
  @media (min-width: 768px) {
    .featured-project__grid-container {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-gap: 8px;
      grid-auto-rows: minmax(100px, auto); } }
  @media (min-width: 768px) {
    .featured-project--inverted {
      text-align: right; }
      .featured-project--inverted .featured-project__text-container {
        grid-column: 6 / 13; }
      .featured-project--inverted .featured-project__image-container {
        grid-column: 1 / 8; }
      .featured-project--inverted .featured-project__title-container {
        flex-direction: row-reverse; }
      .featured-project--inverted .featured-project__content-card-container {
        margin-left: 0px;
        margin-right: 18px; }
      .featured-project--inverted .featured-project__bullet {
        margin-right: 0px;
        margin-left: 16px; } }
  .featured-project__text-container {
    grid-column: 1 / 8;
    grid-row: 1 / -1; }
  .featured-project__image-container {
    z-index: 0; }
    @media (max-width: 767px) {
      .featured-project__image-container {
        margin-top: 24px; } }
    @media (min-width: 768px) {
      .featured-project__image-container {
        grid-column: 6 / 13;
        grid-row: 1 / -1; } }
  .featured-project__title-container {
    display: flex;
    margin-bottom: -px; }
  .featured-project__title-subtitle-container {
    flex: 1; }
  .featured-project__content-card-container {
    z-index: 1000; }
    @media (max-width: 767px) {
      .featured-project__content-card-container {
        margin-top: -64px;
        margin-left: 18px;
        margin-right: 18px; } }
    @media (min-width: 768px) {
      .featured-project__content-card-container {
        margin-top: 32px;
        margin-bottom: 32px;
        margin-left: 18px;
        margin-right: 18px; } }
  .featured-project__bullet {
    margin-right: 16px; }
  .featured-project__title {
    font-family: "Nunito", sans-serif;
    font-weight: 800;
    font-size: 24px;
    margin-bottom: 8px; }
  .featured-project__subtitle {
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 600; }
  .featured-project__context {
    font-size: 14px;
    font-weight: 600;
    color: #AAB7C7; }

.featured-project-content-card {
  position: relative;
  border-radius: 8px;
  background: white;
  overflow: hidden; }
  @media (max-width: 767px) {
    .featured-project-content-card {
      padding: 24px;
      box-shadow: 0px 5px 20px rgba(30, 63, 106, 0.2); } }
  @media (min-width: 768px) {
    .featured-project-content-card {
      padding: 24px;
      box-shadow: -20px -20px 20px rgba(30, 63, 106, 0.05), -20px 20px 20px rgba(30, 63, 106, 0.05); }
      .featured-project-content-card--inverted {
        box-shadow: 20px -20px 20px rgba(30, 63, 106, 0.05), 20px 20px 20px rgba(30, 63, 106, 0.05); } }
  .featured-project-content-card__content {
    font-size: 16px;
    font-weight: 600; }
  .featured-project-content-card__tech {
    margin-top: 8px;
    font-family: "Roboto Mono";
    font-size: 13px;
    font-weight: 500;
    color: #AAB7C7; }
  .featured-project-content-card__read-more {
    margin-top: 16px;
    font-size: 14px;
    font-weight: 800; }
    .featured-project-content-card__read-more a {
      text-decoration: none; }
      .featured-project-content-card__read-more a:hover {
        opacity: 0.6; }
  .featured-project-content-card__split {
    display: none;
    transform: rotate(-1deg);
    position: absolute;
    bottom: -95px;
    height: 100px;
    left: -100px;
    right: -100px;
    background: #AAB7C7; }

.featured-project-image {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  padding-top: 56%;
  box-shadow: 0px 10px 20px rgba(30, 63, 106, 0.2); }
  .featured-project-image__img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: white;
    object-fit: cover;
    object-position: center; }
  .featured-project-image__overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: #1e3f6a;
    opacity: 0; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.bullet {
  display: inline-block;
  position: relative;
  height: 24px;
  width: 24px; }
  .bullet__bg-circle {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: #96ffb5; }
  .bullet__fg-circle {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: rgba(30, 63, 106, 0.6); }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.media-content {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: white;
  object-fit: cover;
  object-position: center; }
  .media-content iframe {
    border: none; }

.react-responsive-modal-overlay {
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: flex-start;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 1000;
  padding: 1.2rem;
}

.react-responsive-modal-modal {
  max-width: 800px;
  position: relative;
  padding: 1.2rem;
  background: #ffffff;
  background-clip: padding-box;
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.25);
  margin: 0 auto;
}

.react-responsive-modal-modalCenter {
  margin: auto;
}

.react-responsive-modal-closeButton {
  position: absolute;
  top: 14px;
  right: 14px;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  display: flex;
}

@keyframes react-responsive-modal-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes react-responsive-modal-fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.ReactModal__Overlay {
  opacity: 0;
  transition: opacity 500ms ease-in-out;
  -webkit-overflow-scrolling: touch; }

.ReactModal__Overlay--after-open {
  opacity: 1; }

.ReactModal__Overlay--before-close {
  opacity: 0; }

.react-modal__overlay {
  position: fixed;
  z-index: 10000;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.93), rgba(255, 255, 255, 0.97)) !important;
  overflow: auto; }
  .react-modal__overlay--after-open {
    opacity: 0; }

.react-modal__content {
  margin: 0 auto;
  width: 100vw;
  max-width: 600px; }

.react-modal__container {
  padding: 56px 16px; }
  .react-modal__container--open-state_initial {
    transition: opacity 500ms linear, transform 500ms cubic-bezier(0.48, 0.05, 0.98, 0.77);
    opacity: 0;
    transform: translateY(800px); }
  .react-modal__container--open-state_visible {
    transition: opacity 500ms linear, transform 1000ms cubic-bezier(0.17, 0.67, 0.41, 0.99);
    transform: translateY(0px);
    opacity: 1; }

.react-dialog-modal {
  width: 100vw !important;
  max-width: 600px !important;
  background: transparent !important; }
  @media (max-width: 767px) {
    .react-dialog-modal {
      padding: 16px !important; } }
  @media (min-width: 768px) {
    .react-dialog-modal {
      padding: 16px !important; } }

.react-responsive-modal-modal {
  box-shadow: none !important;
  width: 100vw;
  max-width: 600px; }
  @media (max-width: 767px) {
    .react-responsive-modal-modal {
      padding: 32px; } }
  @media (min-width: 768px) {
    .react-responsive-modal-modal {
      padding: 16px; } }

.react-responsive-modal-overlay {
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(5px);
  padding: 0 !important; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

svg:not(:root).svg-inline--fa {
  overflow: visible; }

.svg-inline--fa {
  display: inline-block;
  font-size: inherit;
  height: 1em;
  overflow: visible;
  vertical-align: -.125em; }
  .svg-inline--fa.fa-lg {
    vertical-align: -.225em; }
  .svg-inline--fa.fa-w-1 {
    width: 0.0625em; }
  .svg-inline--fa.fa-w-2 {
    width: 0.125em; }
  .svg-inline--fa.fa-w-3 {
    width: 0.1875em; }
  .svg-inline--fa.fa-w-4 {
    width: 0.25em; }
  .svg-inline--fa.fa-w-5 {
    width: 0.3125em; }
  .svg-inline--fa.fa-w-6 {
    width: 0.375em; }
  .svg-inline--fa.fa-w-7 {
    width: 0.4375em; }
  .svg-inline--fa.fa-w-8 {
    width: 0.5em; }
  .svg-inline--fa.fa-w-9 {
    width: 0.5625em; }
  .svg-inline--fa.fa-w-10 {
    width: 0.625em; }
  .svg-inline--fa.fa-w-11 {
    width: 0.6875em; }
  .svg-inline--fa.fa-w-12 {
    width: 0.75em; }
  .svg-inline--fa.fa-w-13 {
    width: 0.8125em; }
  .svg-inline--fa.fa-w-14 {
    width: 0.875em; }
  .svg-inline--fa.fa-w-15 {
    width: 0.9375em; }
  .svg-inline--fa.fa-w-16 {
    width: 1em; }
  .svg-inline--fa.fa-w-17 {
    width: 1.0625em; }
  .svg-inline--fa.fa-w-18 {
    width: 1.125em; }
  .svg-inline--fa.fa-w-19 {
    width: 1.1875em; }
  .svg-inline--fa.fa-w-20 {
    width: 1.25em; }
  .svg-inline--fa.fa-pull-left {
    margin-right: .3em;
    width: auto; }
  .svg-inline--fa.fa-pull-right {
    margin-left: .3em;
    width: auto; }
  .svg-inline--fa.fa-border {
    height: 1.5em; }
  .svg-inline--fa.fa-li {
    width: 2em; }
  .svg-inline--fa.fa-fw {
    width: 1.25em; }

.fa-layers svg.svg-inline--fa {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0; }

.fa-layers {
  display: inline-block;
  height: 1em;
  position: relative;
  text-align: center;
  vertical-align: -.125em;
  width: 1em; }
  .fa-layers svg.svg-inline--fa {
    -webkit-transform-origin: center center;
            transform-origin: center center; }

.fa-layers-text, .fa-layers-counter {
  display: inline-block;
  position: absolute;
  text-align: center; }

.fa-layers-text {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.fa-layers-counter {
  background-color: #ff253a;
  border-radius: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  height: 1.5em;
  line-height: 1;
  max-width: 5em;
  min-width: 1.5em;
  overflow: hidden;
  padding: .25em;
  right: 0;
  text-overflow: ellipsis;
  top: 0;
  -webkit-transform: scale(0.25);
          transform: scale(0.25);
  -webkit-transform-origin: top right;
          transform-origin: top right; }

.fa-layers-bottom-right {
  bottom: 0;
  right: 0;
  top: auto;
  -webkit-transform: scale(0.25);
          transform: scale(0.25);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right; }

.fa-layers-bottom-left {
  bottom: 0;
  left: 0;
  right: auto;
  top: auto;
  -webkit-transform: scale(0.25);
          transform: scale(0.25);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left; }

.fa-layers-top-right {
  right: 0;
  top: 0;
  -webkit-transform: scale(0.25);
          transform: scale(0.25);
  -webkit-transform-origin: top right;
          transform-origin: top right; }

.fa-layers-top-left {
  left: 0;
  right: auto;
  top: 0;
  -webkit-transform: scale(0.25);
          transform: scale(0.25);
  -webkit-transform-origin: top left;
          transform-origin: top left; }

.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -.0667em; }

.fa-xs {
  font-size: .75em; }

.fa-sm {
  font-size: .875em; }

.fa-1x {
  font-size: 1em; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-6x {
  font-size: 6em; }

.fa-7x {
  font-size: 7em; }

.fa-8x {
  font-size: 8em; }

.fa-9x {
  font-size: 9em; }

.fa-10x {
  font-size: 10em; }

.fa-fw {
  text-align: center;
  width: 1.25em; }

.fa-ul {
  list-style-type: none;
  margin-left: 2.5em;
  padding-left: 0; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  left: -2em;
  position: absolute;
  text-align: center;
  width: 2em;
  line-height: inherit; }

.fa-border {
  border: solid 0.08em #eee;
  border-radius: .1em;
  padding: .2em .25em .15em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
          animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
          animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1); }

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-flip-both {
  -webkit-filter: none;
          filter: none; }

.fa-stack {
  display: inline-block;
  height: 2em;
  position: relative;
  width: 2.5em; }

.fa-stack-1x,
.fa-stack-2x {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0; }

.svg-inline--fa.fa-stack-1x {
  height: 1em;
  width: 1.25em; }

.svg-inline--fa.fa-stack-2x {
  height: 2em;
  width: 2.5em; }

.fa-inverse {
  color: #fff; }

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.svg-inline--fa .fa-primary {
  fill: var(--fa-primary-color, currentColor);
  opacity: 1;
  opacity: var(--fa-primary-opacity, 1); }

.svg-inline--fa .fa-secondary {
  fill: var(--fa-secondary-color, currentColor);
  opacity: 0.4;
  opacity: var(--fa-secondary-opacity, 0.4); }

.svg-inline--fa.fa-swap-opacity .fa-primary {
  opacity: 0.4;
  opacity: var(--fa-secondary-opacity, 0.4); }

.svg-inline--fa.fa-swap-opacity .fa-secondary {
  opacity: 1;
  opacity: var(--fa-primary-opacity, 1); }

.svg-inline--fa mask .fa-primary,
.svg-inline--fa mask .fa-secondary {
  fill: black; }

.fad.fa-inverse {
  color: #fff; }

.Toastify__toast-container {
  z-index: 9999;
  -webkit-transform: translate3d(0, 0, 9999px);
  position: fixed;
  padding: 4px;
  width: 320px;
  box-sizing: border-box;
  color: #fff; }
  .Toastify__toast-container--top-left {
    top: 1em;
    left: 1em; }
  .Toastify__toast-container--top-center {
    top: 1em;
    left: 50%;
    margin-left: -160px; }
  .Toastify__toast-container--top-right {
    top: 1em;
    right: 1em; }
  .Toastify__toast-container--bottom-left {
    bottom: 1em;
    left: 1em; }
  .Toastify__toast-container--bottom-center {
    bottom: 1em;
    left: 50%;
    margin-left: -160px; }
  .Toastify__toast-container--bottom-right {
    bottom: 1em;
    right: 1em; }

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    padding: 0;
    left: 0;
    margin: 0; }
    .Toastify__toast-container--top-left, .Toastify__toast-container--top-center, .Toastify__toast-container--top-right {
      top: 0; }
    .Toastify__toast-container--bottom-left, .Toastify__toast-container--bottom-center, .Toastify__toast-container--bottom-right {
      bottom: 0; }
    .Toastify__toast-container--rtl {
      right: 0;
      left: initial; } }

.Toastify__toast {
  position: relative;
  min-height: 64px;
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: 8px;
  border-radius: 1px;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1), 0 2px 15px 0 rgba(0, 0, 0, 0.05);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  max-height: 800px;
  overflow: hidden;
  font-family: sans-serif;
  cursor: pointer;
  direction: ltr; }
  .Toastify__toast--rtl {
    direction: rtl; }
  .Toastify__toast--default {
    background: #fff;
    color: #aaa; }
  .Toastify__toast--info {
    background: #3498db; }
  .Toastify__toast--success {
    background: #07bc0c; }
  .Toastify__toast--warning {
    background: #f1c40f; }
  .Toastify__toast--error {
    background: #e74c3c; }
  .Toastify__toast-body {
    margin: auto 0;
    -ms-flex: 1;
        flex: 1; }

@media only screen and (max-width: 480px) {
  .Toastify__toast {
    margin-bottom: 0; } }

.Toastify__close-button {
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  -ms-flex-item-align: start;
      align-self: flex-start; }
  .Toastify__close-button--default {
    color: #000;
    opacity: 0.3; }
  .Toastify__close-button:hover, .Toastify__close-button:focus {
    opacity: 1; }

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1); }
  100% {
    transform: scaleX(0); } }

.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  z-index: 9999;
  opacity: 0.7;
  background-color: rgba(255, 255, 255, 0.7);
  transform-origin: left; }
  .Toastify__progress-bar--animated {
    animation: Toastify__trackProgress linear 1 forwards; }
  .Toastify__progress-bar--controlled {
    transition: transform .2s; }
  .Toastify__progress-bar--rtl {
    right: 0;
    left: initial;
    transform-origin: right; }
  .Toastify__progress-bar--default {
    background: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55); }

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0); }
  75% {
    transform: translate3d(10px, 0, 0); }
  90% {
    transform: translate3d(-5px, 0, 0); }
  to {
    transform: none; } }

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0); } }

@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0); }
  75% {
    transform: translate3d(-10px, 0, 0); }
  90% {
    transform: translate3d(5px, 0, 0); }
  to {
    transform: none; } }

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0); } }

@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0); }
  75% {
    transform: translate3d(0, 10px, 0); }
  90% {
    transform: translate3d(0, -5px, 0); }
  to {
    transform: translate3d(0, 0, 0); } }

@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0); }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0); } }

@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0); }
  75% {
    transform: translate3d(0, -10px, 0); }
  90% {
    transform: translate3d(0, 5px, 0); }
  to {
    transform: none; } }

@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0); }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0); } }

.Toastify__bounce-enter--top-left, .Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft; }

.Toastify__bounce-enter--top-right, .Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight; }

.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown; }

.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp; }

.Toastify__bounce-exit--top-left, .Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft; }

.Toastify__bounce-exit--top-right, .Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight; }

.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp; }

.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown; }

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes Toastify__zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn; }

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut; }

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in; }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    transform: perspective(400px); } }

@keyframes Toastify__flipOut {
  from {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.Toastify__flip-enter {
  animation-name: Toastify__flipIn; }

.Toastify__flip-exit {
  animation-name: Toastify__flipOut; }

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(110%, 0, 0); } }

@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(-110%, 0, 0); } }

@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0); } }

@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0); } }

.Toastify__slide-enter--top-left, .Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft; }

.Toastify__slide-enter--top-right, .Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight; }

.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown; }

.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp; }

.Toastify__slide-exit--top-left, .Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft; }

.Toastify__slide-exit--top-right, .Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight; }

.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp; }

.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown; }
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.project-modal {
  display: flex;
  flex-direction: column;
  position: relative; }
  .project-modal__image-container {
    z-index: 0; }
  .project-modal__content-card-container {
    z-index: 10;
    margin-top: -8px; }
  .project-modal__close-button-container {
    position: fixed;
    top: 32px;
    right: 32px;
    z-index: 10000; }

.project-modal-image {
  position: relative;
  overflow: hidden;
  padding-top: 56%;
  border-radius: 8px 8px 0px 0px;
  box-shadow: 0px 0px 20px rgba(30, 63, 106, 0.2); }
  .project-modal-image__img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: white;
    object-fit: cover;
    object-position: center; }

.project-modal-content-card {
  border-radius: 0px 0px 8px 8px;
  background: white;
  padding: 16px;
  box-shadow: 0px 0px 20px rgba(30, 63, 106, 0.2); }
  .project-modal-content-card__subtitle {
    font-size: 18px;
    font-weight: 700; }
  .project-modal-content-card__context {
    margin-top: 4px;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #969696; }
  .project-modal-content-card__tech {
    font-family: "Roboto Mono";
    margin-top: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #AAB7C7; }
  .project-modal-content-card__separator {
    margin: 16px -16px;
    height: 1px;
    background: #f0f0f0; }
  .project-modal-content-card__description {
    font-size: 16px;
    font-weight: 600;
    opacity: 0.8; }

.project-modal-close-button {
  position: relative;
  cursor: pointer;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  padding: 0px;
  background: #1E3F6A;
  color: white;
  border: none;
  box-shadow: 0px 0px 10px rgba(30, 63, 106, 0.2); }
  .project-modal-close-button > * {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.projects {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  row-gap: 64px; }
  @media (max-width: 767px) {
    .projects {
      column-gap: 16px; } }
  @media (min-width: 768px) {
    .projects {
      column-gap: 32px; } }

.project-container {
  position: relative;
  background-color: #f7f8fa;
  border-radius: 8px;
  padding: 1px 8px 12px 8px;
  box-shadow: 0px -20px 40px rgba(30, 63, 106, 0.1) inset;
  background: url(/images/confetti-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .project-container__content {
    position: relative;
    margin-top: -24px; }

.project {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0px 5px 20px rgba(30, 63, 106, 0.2);
  background: white; }
  .project__img {
    padding-top: 56%;
    overflow: hidden;
    position: relative;
    z-index: 0; }
  .project__bg {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px; }
  .project__content {
    position: relative;
    z-index: 10;
    box-shadow: 0px -5px 10px rgba(30, 63, 106, 0.2);
    border-top: 1px solid #e6e6e6; }
  .project__info-container {
    position: absolute;
    z-index: 10;
    top: -12px;
    right: 16px;
    background-color: white;
    border-radius: 16px;
    width: 24px;
    height: 24px;
    box-shadow: 0px 2px 5px rgba(30, 63, 106, 0.2); }

.project-info {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #AAB7C7;
  font-size: 10px; }

.project-image__img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: #f0f0f0;
  object-fit: cover;
  object-position: center; }

.project-image__overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 1; }

.project-content {
  padding: 16px 16px 16px 16px; }
  .project-content__title {
    font-family: "Nunito", "Nunito Sans", sans-serif;
    font-size: 20px;
    font-weight: 700; }
  .project-content__subtitle {
    font-size: 16px;
    font-weight: 600; }
  .project-content__context {
    margin-top: 4px;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #969696; }
  .project-content__tech {
    margin-top: 12px;
    font-family: "Roboto Mono";
    font-size: 13px;
    font-weight: 500;
    color: #AAB7C7; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.about-me-section {
  padding-top: 128px;
  padding-bottom: 256px; }

.about-me {
  perspective: 650px;
  display: flex; }
  @media (max-width: 767px) {
    .about-me {
      flex-direction: column; } }
  @media (min-width: 768px) {
    .about-me {
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      justify-items: center; } }
  .about-me__content {
    font-weight: 600; }
    @media (min-width: 768px) {
      .about-me__content {
        width: 67%;
        margin-left: auto;
        margin-right: auto; } }
  .about-me__image-container {
    position: relative; }
    @media (max-width: 767px) {
      .about-me__image-container {
        margin-top: 32px;
        margin-left: auto;
        margin-right: auto;
        width: 200px; } }
    @media (min-width: 768px) {
      .about-me__image-container {
        width: 33%; } }

.about-me-content {
  margin-top: 32px;
  padding: 12px 24px 0px 12px;
  border-radius: 16px;
  box-shadow: 0px -10px 20px rgba(30, 63, 106, 0.1) inset;
  background: url(/images/confetti-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .about-me-content__layer {
    transform-style: flat;
    perspective: 1500px; }
  .about-me-content__card-container {
    position: relative;
    perspective: 1500px; }
  .about-me-content__card {
    position: relative;
    z-index: 0;
    will-change: transform;
    padding: 24px 24px 32px 24px;
    border-radius: 8px;
    background: white;
    box-shadow: 0px 5px 20px rgba(30, 63, 106, 0.2); }
    @media (max-width: 767px) {
      .about-me-content__card {
        margin-top: -16px;
        margin-left: -16px; } }
    @media (min-width: 768px) {
      .about-me-content__card {
        margin-top: -32px;
        margin-left: -32px; } }
  .about-me-content__thumbnail {
    position: absolute;
    z-index: 1000;
    bottom: -80px;
    right: 12px;
    width: 96px;
    height: 96px;
    will-change: transform;
    border: 4px solid white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0px 5px 10px rgba(30, 63, 106, 0.1); }
    .about-me-content__thumbnail > img {
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100%;
      height: 100%; }
  .about-me-content b {
    font-weight: 800; }
  .about-me-content__split-container {
    pointer-events: none;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 8px; }
  .about-me-content__split {
    pointer-events: none;
    transform: rotate(-1deg);
    position: absolute;
    bottom: -95px;
    height: 100px;
    left: -100px;
    right: -100px;
    background: #AAB7C7; }

.about-me-image {
  position: relative;
  padding-top: 100%;
  background-color: indianred;
  border-radius: 1000px;
  overflow: hidden;
  box-shadow: 0px 10px 20px rgba(30, 63, 106, 0.2); }
  .about-me-image__img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }
  .about-me-image__overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1; }

p:first-child {
  margin-top: 0; }

p:last-child {
  margin-bottom: 0; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content, .projects-section-content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content, .projects-section-content {
    padding: 0px 32px; } }

.container, .more-button-container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.projects-section {
  position: relative;
  border-top: 1px solid #e6e6e6;
  /* The image used */
  background: url(/images/confetti-bg.jpg);
  /* Full height */
  /* Create the parallax scrolling effect */
  background-position: top;
  background-repeat: no-repeat; }
  @media (max-width: 767px) {
    .projects-section {
      padding: 64px 0px 128px 0px; } }
  @media (min-width: 768px) {
    .projects-section {
      padding: 96px 0px 128px 0px; } }
  @media (max-width: 767px) {
    .projects-section {
      background-size: contain; } }
  .projects-section__bg {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: linear-gradient(to bottom, rgba(247, 248, 250, 0), white 100px); }

.more-button-container {
  position: relative;
  text-align: center;
  margin-top: 48px; }

#other-projects-title {
  text-align: center;
  font-size: 24px;
  font-weight: 700; }
  @media (max-width: 767px) {
    #other-projects-title {
      margin-bottom: 64px; } }
  @media (min-width: 768px) {
    #other-projects-title {
      margin-bottom: 100px; } }

.other-projects-confetti {
  position: absolute;
  z-index: 10000;
  left: 50%;
  top: 0px;
  transform: translate(-50%, 0%); }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.featured-projects-section {
  padding: 80px 0px 128px 0px;
  background: linear-gradient(to bottom, #f7f8fa, #f7f8fa);
  border-top: 1px solid #e6e6e6; }
  .featured-projects-section__bg {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.other-hobbies-section {
  padding: 0px !important;
  position: relative;
  border-top: 1px solid #e6e6e6;
  background-color: #f7f8fa;
  /* The image used */
  background: url(/images/confetti-bg.jpg);
  /* Full height */
  /* Create the parallax scrolling effect */
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain; }
  .other-hobbies-section__bg {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7), white 200px); }
  .other-hobbies-section__content {
    padding: 96px 0px 96px 0px; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.music-projects {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  row-gap: 8px; }
  @media (max-width: 767px) {
    .music-projects {
      column-gap: 8px; } }
  @media (min-width: 768px) {
    .music-projects {
      column-gap: 8px; } }

.music-project-container {
  position: relative; }

.music-project {
  position: relative;
  cursor: pointer;
  overflow: hidden; }
  .music-project__img {
    padding-top: 100%;
    overflow: hidden;
    position: relative;
    z-index: 0; }
  .music-project__bg {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px; }
  .music-project__content {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    top: 0px;
    box-shadow: 0px -5px 10px rgba(30, 63, 106, 0.2);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0) 80%); }

.music-project-image__img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: #f0f0f0;
  object-fit: cover;
  object-position: center; }

.music-project-image__overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 1; }

.music-project-content {
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 0px;
  padding: 16px 16px 16px 16px;
  color: white; }
  .music-project-content__title {
    font-family: "Nunito", "Nunito Sans", sans-serif;
    font-size: 18px;
    font-weight: 700; }
  .music-project-content__subtitle {
    margin-top: 4px;
    font-size: 16px;
    font-weight: 500; }
  .music-project-content__context {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 500;
    opacity: 0.6; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.footer-section {
  position: relative;
  text-align: center;
  color: #AAB7C7; }

#more-confetti-button {
  cursor: pointer;
  display: inline-block; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.project-description b {
  font-weight: 700; }

.project-description-title {
  margin-top: 32px;
  margin-bottom: 8px;
  font-size: 16px; }
  .project-description-title > span {
    font-weight: 800 !important; }

.project-description-list {
  margin-block-start: 0;
  padding-left: 32px; }

@media (max-width: 767px) {
  .project-description-media-content {
    margin: 32px 0px; } }

@media (min-width: 768px) {
  .project-description-media-content {
    margin: 32px 16px; } }

.project-description-media-content iframe {
  border: none; }

.project-description-media-content__content {
  border-radius: 0px;
  width: 100%;
  box-shadow: 0px 5px 10px rgba(30, 63, 106, 0.2); }

.project-description-media-content__caption {
  opacity: 0.7;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  font-style: italic; }

body {
  font-family: "Nunito Sans"; }

html,
body {
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

body {
  color: #1E3F6A;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }

@media (max-width: 767px) {
  .content {
    padding: 0px 16px; } }

@media (min-width: 768px) {
  .content {
    padding: 0px 32px; } }

.container {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

a {
  text-decoration: underline;
  color: inherit; }

@media (max-width: 767px) {
  section {
    padding: 48px 0px; } }

@media (min-width: 768px) {
  section {
    padding: 64px 0px; } }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

.hidden-link {
  text-decoration: none; }

.project-page {
  position: relative; }
  .project-page__top-bg {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    height: 400px;
    background: url(/images/confetti-bg.jpg);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover; }
  .project-page__top-overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    height: 400px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white); }
  .project-page__bottom-bg {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    height: 400px;
    background: url(/images/confetti-bg.jpg);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover; }
  .project-page__bottom-overlay {
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    height: 400px;
    background: linear-gradient(to top, rgba(255, 255, 255, 0), white); }
  .project-page__content {
    margin: 0 auto;
    width: 100vw;
    max-width: 600px; }
  .project-page__container {
    padding: 56px 16px; }

