@charset "UTF-8";





@media (min-width: 768px) {
  body.theme-dark .logo-light {
    display: block !important; }
  body.theme-dark .logo-dark {
    display: none !important; }
  body.theme-dark button.navbar-toggler .text-black {
    color: white !important; }
  body.theme-dark button.navbar-toggler svg * {
    stroke: #ffffff; }
  body.theme-dark header#header {
    background-color: transparent !important; }
    body.theme-dark header#header.header-up {
      background-color: #0D1626 !important; }
    body.theme-dark header#header.map-fixed {
      background-color: transparent !important;
      -webkit-transform: translate3d(0px, 0px, 0px) !important;
              transform: translate3d(0px, 0px, 0px) !important; }
    body.theme-dark header#header a {
      color: white !important; }
    body.theme-dark header#header a.search:after {
      background-image: url(../../images/search-icon.png) !important; }
  body.theme-light .logo-light {
    display: none !important; }
  body.theme-light .logo-dark {
    display: block !important; }
  body.theme-light header#header {
    background-color: white !important; } }

@-webkit-keyframes pageEntrance {
  from {
    -webkit-transform: translate3d(0, 8px, 0);
    -khtml-transform: translate3d(0, 8px, 0);
    transform: translate3d(0, 8px, 0); }
  to {
    -webkit-transform: none;
    -khtml-transform: none;
    transform: none; } }

@keyframes pageEntrance {
  from {
    -webkit-transform: translate3d(0, 8px, 0);
    -khtml-transform: translate3d(0, 8px, 0);
    transform: translate3d(0, 8px, 0); }
  to {
    -webkit-transform: none;
    -khtml-transform: none;
    transform: none; } }

.animation-page {
  -webkit-animation: pageEntrance 350ms cubic-bezier(0.39, 0.83, 0.39, 0.99) both;
  animation: pageEntrance 350ms cubic-bezier(0.39, 0.83, 0.39, 0.99) both; }

@-webkit-keyframes titleEntrance {
  from {
    -webkit-transform: translate3d(0, 12px, 0);
    -khtml-transform: translate3d(0, 12px, 0);
    transform: translate3d(0, 12px, 0); }
  to {
    -webkit-transform: none;
    -khtml-transform: none;
    transform: none; } }

@keyframes titleEntrance {
  from {
    -webkit-transform: translate3d(0, 12px, 0);
    -khtml-transform: translate3d(0, 12px, 0);
    transform: translate3d(0, 12px, 0); }
  to {
    -webkit-transform: none;
    -khtml-transform: none;
    transform: none; } }

.animation-title {
  -webkit-animation: titleEntrance 350ms cubic-bezier(0.39, 0.83, 0.39, 0.99) both;
  animation: titleEntrance 350ms cubic-bezier(0.39, 0.83, 0.39, 0.99) both; }

header#header {
  -webkit-transition: none !important;
  transition: none !important; }
  @media (max-width: 767.98px) {
    header#header {
      background-color: white !important;
      height: 50px;
      padding: 15px 20px 10px; } }
  @media (min-width: 768px) {
    header#header {
      height: 90px; }
      header#header .navbar .navbar-brand {
        -webkit-transition: flex-grow 250ms ease-out, -webkit-box-flex 250ms ease-out;
        transition: flex-grow 250ms ease-out, -webkit-box-flex 250ms ease-out;
        transition: flex-grow 250ms ease-out;
        transition: flex-grow 250ms ease-out, -webkit-box-flex 250ms ease-out, -ms-flex-positive 250ms ease-out;
        -webkit-box-flex: 0.001;
            -ms-flex-positive: 0.001;
                flex-grow: 0.001; } }
    @media (min-width: 768px) and (prefers-reduced-motion: reduce) {
      header#header .navbar .navbar-brand {
        -webkit-transition: none;
        transition: none; } }
  @media (min-width: 768px) {
      header#header .navbar.active .navbar-brand {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      header#header .navbar #navbarSupportedContent {
        position: absolute;
        right: 0;
        opacity: 0;
        visibility: hidden;
        margin-right: -40px;
        -webkit-transition: all 250ms ease-out;
        transition: all 250ms ease-out; } }
    @media (min-width: 768px) and (prefers-reduced-motion: reduce) {
      header#header .navbar #navbarSupportedContent {
        -webkit-transition: none;
        transition: none; } }
  @media (min-width: 768px) {
      header#header .navbar.active #navbarSupportedContent {
        opacity: 1;
        visibility: visible;
        margin-right: 0; }
      header#header .navbar .navbar-toggler {
        opacity: 1; }
      header#header .navbar.active .navbar-toggler {
        opacity: 0;
        -webkit-transition: opacity 250ms ease-out;
        transition: opacity 250ms ease-out; } }
    @media (min-width: 768px) and (prefers-reduced-motion: reduce) {
      header#header .navbar.active .navbar-toggler {
        -webkit-transition: none;
        transition: none; } }
  @media (min-width: 768px) and (max-width: 1140px) {
    header#header .navbar.active .navbar-brand {
      -webkit-transform: translateX(-220px);
              transform: translateX(-220px); } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    header#header {
      padding-left: 210px; }
      header#header .navbar.active .navbar-brand {
        opacity: 0;
        visibility: hidden; }
      header#header ul.navbar-nav {
        padding-top: 0 !important; } }
  @media (min-width: 992px) {
    header#header {
      padding-left: 250px; } }
  @media (min-width: 768px) {
    header#header .navbar-brand {
      margin-right: -140px;
       } }
  @media (min-width: 992px) {
    header#header .navbar-brand {
      margin-left: auto; } }
  header#header .navbar-toggler {
    display: block !important;
    margin-left: auto; }
  header#header ul.navbar-nav li {
    text-align: right;
    padding: 10px !important; }

footer#footer {
  display: none !important; }

body.theme-light {
  background-color: #fff; }

body.theme-dark {
  background-color: #0D1626; }

a[disabled] {
  pointer-events: none; }

main#react-app {
  
  
  
   }
  main#react-app aside.App-aside {
    -webkit-transition: background-color 250ms ease-out;
    transition: background-color 250ms ease-out;
    z-index: 1; }
    @media (prefers-reduced-motion: reduce) {
      main#react-app aside.App-aside {
        -webkit-transition: none;
        transition: none; } }
    @media (max-width: 767.98px) {
      main#react-app aside.App-aside {
        position: fixed;
        top: 50px;
        left: 0;
        width: 100%;
        padding: 0;
        border-bottom: 1px solid #E4E4E3;
        border-top: 1px solid #E4E4E3;
        background-color: white; }
        main#react-app aside.App-aside.header-up {
          -webkit-transition: all 350ms ease-out !important;
          transition: all 350ms ease-out !important;
          -webkit-transform: translate3d(0, 0, 0) !important;
                  transform: translate3d(0, 0, 0) !important; }
        main#react-app aside.App-aside.map-fixed {
          -webkit-transition: all 350ms ease-out !important;
          transition: all 350ms ease-out !important;
          -webkit-transform: translate3d(0px, 0px, 0px) !important;
                  transform: translate3d(0px, 0px, 0px) !important; } }
    @media (min-width: 768px) {
      main#react-app aside.App-aside {
        position: fixed;
        top: 0;
        left: 0;
        padding-top: 90px;
        overflow: auto;
        height: 100vh;
         }
        main#react-app aside.App-aside.dark-background {
          background-color: rgba(0, 0, 0, 0.5); } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      main#react-app aside.App-aside {
        width: 210px; } }
    @media (min-width: 992px) {
      main#react-app aside.App-aside {
        width: 250px; } }
    main#react-app aside.App-aside > nav + nav {
      
      margin-top: 90px; }
      @media (max-width: 767.98px) {
        main#react-app aside.App-aside > nav + nav {
          display: none; } }
  main#react-app main.App-main {
    position: relative; }
    @media (min-width: 768px) and (max-width: 991.98px) {
      main#react-app main.App-main {
        padding-left: 210px; } }
    @media (min-width: 992px) {
      main#react-app main.App-main {
        padding-left: 250px; } }
    @media (max-width: 767.98px) {
      main#react-app main.App-main .ThemePage,
      main#react-app main.App-main .ProjectPage {
        padding-top: 140px; } }
    @media (min-width: 768px) {
      main#react-app main.App-main .ThemePage,
      main#react-app main.App-main .ProjectPage {
        padding-top: 160px; } }
  main#react-app .DefaultListingLayout,
  main#react-app .CategoryListingLayout,
  main#react-app .AlphabeticalListingLayout {
    padding-right: 30px; }
    @media (max-width: 767.98px) {
      main#react-app .DefaultListingLayout,
      main#react-app .CategoryListingLayout,
      main#react-app .AlphabeticalListingLayout {
        padding-top: 140px; } }
    @media (min-width: 768px) {
      main#react-app .DefaultListingLayout,
      main#react-app .CategoryListingLayout,
      main#react-app .AlphabeticalListingLayout {
        padding-top: 160px; } }
    main#react-app .DefaultListingLayout.AlphabeticalListingLayout,
    main#react-app .CategoryListingLayout.AlphabeticalListingLayout,
    main#react-app .AlphabeticalListingLayout.AlphabeticalListingLayout {
      padding-right: 5px; }
    @media (max-width: 767.98px) {
      main#react-app .DefaultListingLayout,
      main#react-app .CategoryListingLayout,
      main#react-app .AlphabeticalListingLayout {
        padding-left: 20px;
        padding-right: 20px; }
        main#react-app .DefaultListingLayout.AlphabeticalListingLayout,
        main#react-app .CategoryListingLayout.AlphabeticalListingLayout,
        main#react-app .AlphabeticalListingLayout.AlphabeticalListingLayout {
          padding-right: 0; } }
  main#react-app .DefaultListingLayout > section,
  main#react-app .CategoryListingLayout > section {
    margin-bottom: 100px; }
    @media (max-width: 767.98px) {
      main#react-app .DefaultListingLayout > section,
      main#react-app .CategoryListingLayout > section {
        margin-bottom: 64px; } }
  main#react-app .DefaultListingLayout .mobile-boundary,
  main#react-app .CategoryListingLayout .mobile-boundary {
    margin-left: -20px;
    margin-right: -20px; }
  main#react-app .DefaultListingLayout .show-all-projects,
  main#react-app .CategoryListingLayout .show-all-projects {
    position: absolute;
    bottom: -100px;
    width: 100%;
    border-radius: 0; }
    @media (min-width: 768px) and (max-width: 991.98px) {
      main#react-app .DefaultListingLayout .show-all-projects,
      main#react-app .CategoryListingLayout .show-all-projects {
        bottom: -60px; } }
    @media (max-width: 767.98px) {
      main#react-app .DefaultListingLayout .show-all-projects,
      main#react-app .CategoryListingLayout .show-all-projects {
        bottom: -30px; } }
  @media (max-width: 767.98px) {
    main#react-app ul.AppNavigationMenu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 50px; }
      main#react-app ul.AppNavigationMenu li {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  @media (min-width: 768px) {
    main#react-app ul.AppNavigationMenu li + li.active {
      -webkit-transform: translateX(20px);
              transform: translateX(20px); } }
  main#react-app ul.AppNavigationMenu li {
    -webkit-transition: -webkit-transform 250ms ease-out;
    transition: -webkit-transform 250ms ease-out;
    transition: transform 250ms ease-out;
    transition: transform 250ms ease-out, -webkit-transform 250ms ease-out;
    opacity: 0.5; }
    @media (prefers-reduced-motion: reduce) {
      main#react-app ul.AppNavigationMenu li {
        -webkit-transition: none;
        transition: none; } }
  main#react-app ul.AppNavigationMenu li.active {
    opacity: 1; }
  main#react-app ul.AppNavigationMenu a {
    -webkit-transition: color 250ms ease-out;
    transition: color 250ms ease-out; }
    @media (prefers-reduced-motion: reduce) {
      main#react-app ul.AppNavigationMenu a {
        -webkit-transition: none;
        transition: none; } }
    main#react-app ul.AppNavigationMenu a .icon {
      width: 20px; }
    main#react-app ul.AppNavigationMenu a .label {
      position: relative; }
    @media (max-width: 767.98px) {
      main#react-app ul.AppNavigationMenu a {
        height: 100%;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 !important;
        color: #1A1919 !important; }
        main#react-app ul.AppNavigationMenu a .icon {
          display: none; } }
    @media (min-width: 768px) {
      main#react-app ul.AppNavigationMenu a.active .label::after {
        -webkit-transition: background-color 250ms ease-out;
        transition: background-color 250ms ease-out;
        content: " ";
        display: block;
        position: absolute;
        bottom: 0;
        z-index: -1;
        width: 100%;
        height: 8px; } }
  @media (min-width: 768px) and (prefers-reduced-motion: reduce) {
    main#react-app ul.AppNavigationMenu a.active .label::after {
      -webkit-transition: none;
      transition: none; } }
    @media (min-width: 768px) {
      main#react-app ul.AppNavigationMenu a.active.text-white .label::after {
        background-color: #1B7D9A; }
      main#react-app ul.AppNavigationMenu a.active.text-black .label::after {
        background-color: #C1E1E0; } }
  main#react-app ul.ProjectCategoriesNavigationMenu li {
    padding-left: 21px;
    position: relative; }
  main#react-app ul.ProjectCategoriesNavigationMenu a {
    opacity: 0.75; }
    main#react-app ul.ProjectCategoriesNavigationMenu a.active {
      opacity: 1; }
    main#react-app ul.ProjectCategoriesNavigationMenu a.active::before {
      content: "○";
      position: absolute;
      left: 0;
      font-size: 24px;
      line-height: 30px; }
  main#react-app ul.ProjectNavigationMenu {
    margin: 0; }
    @media (max-width: 767.98px) {
      main#react-app ul.ProjectNavigationMenu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 50px;
        padding-left: 15px;
        padding-right: 20px;
        overflow: auto; }
        main#react-app ul.ProjectNavigationMenu li {
          padding-left: 4px !important; }
          main#react-app ul.ProjectNavigationMenu li:nth-child(3) a:before {
            content: "/";
            margin-right: 5px; }
        main#react-app ul.ProjectNavigationMenu a {
          margin: 0 !important;
          max-width: 175px; }
        main#react-app ul.ProjectNavigationMenu .text-white {
          color: #999999 !important; } }
    main#react-app ul.ProjectNavigationMenu .label {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
  @media (max-width: 991.98px) {
    main#react-app ul.ThemeListing {
      margin-left: 0 !important;
      margin-right: 0 !important; }
      main#react-app ul.ThemeListing > li {
        width: 100% !important;
        padding: 4px 0 !important; } }
  main#react-app ul.ThemeListing a.ThemeListItem {
    -khtml-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: block; }
    @media (min-width: 768px) {
      main#react-app ul.ThemeListing a.ThemeListItem {
        height: 320px; } }
    @media (max-width: 767.98px) {
      main#react-app ul.ThemeListing a.ThemeListItem {
        position: relative; }
        main#react-app ul.ThemeListing a.ThemeListItem:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 56.25%; }
        main#react-app ul.ThemeListing a.ThemeListItem > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; } }
    main#react-app ul.ThemeListing a.ThemeListItem .overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, 0.5); }
  main#react-app a.ProjectListItem {
    display: block;
    margin-bottom: 20px; }
    main#react-app a.ProjectListItem .featured-image {
      position: relative;
      -khtml-background-size: cover;
      -ms-background-size: cover;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      main#react-app a.ProjectListItem .featured-image:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 56.25%; }
      main#react-app a.ProjectListItem .featured-image > .content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
  main#react-app .ProjectAlphabeticalListing {
    position: relative; }
    main#react-app .ProjectAlphabeticalListing main {
      width: calc(100% - 60px);
      padding-bottom: 50vh;
       }
    @media (min-width: 768px) {
      main#react-app .ProjectAlphabeticalListing .project-title {
        width: 66%;
        -ms-flex-negative: 0;
            flex-shrink: 0; } }
    @media (max-width: 767.98px) {
      main#react-app .ProjectAlphabeticalListing .project-location {
        display: none; } }
    main#react-app .ProjectAlphabeticalListing a:hover {
      text-decoration: underline; }
    main#react-app .ProjectAlphabeticalListing aside {
      width: 60px;
      float: right; }
      main#react-app .ProjectAlphabeticalListing aside nav {
        height: 100vh;
        overflow: auto; }
        main#react-app .ProjectAlphabeticalListing aside nav button {
          width: 100%;
          text-align: center; }
  main#react-app .loading-overlay {
    -webkit-transition: all 250ms ease-out;
    transition: all 250ms ease-out;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #0D1626;
    opacity: 0;
    visibility: hidden;
    z-index: -1; }
    @media (prefers-reduced-motion: reduce) {
      main#react-app .loading-overlay {
        -webkit-transition: none;
        transition: none; } }
    main#react-app .loading-overlay.active {
      opacity: 1;
      visibility: visible; }
  main#react-app .MapOverlayView {
    display: block;
    height: 100px;
    background-color: #191C41;
    cursor: pointer;
    pointer-events: all;
    -webkit-box-shadow: 0px 0px 15px 2px rgba(0, 0, 0, 0.25);
            box-shadow: 0px 0px 15px 2px rgba(0, 0, 0, 0.25); }
    @media (min-width: 768px) {
      main#react-app .MapOverlayView {
        width: 350px; } }
    @media (max-width: 767.98px) {
      main#react-app .MapOverlayView {
        width: calc(100vw - 30px); } }
    main#react-app .MapOverlayView > div {
      pointer-events: none;
       }
    main#react-app .MapOverlayView .featured-image {
      width: 150px;
      height: 100px;
      background-color: #1B7D9A;
      -khtml-background-size: cover;
      -ms-background-size: cover;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    main#react-app .MapOverlayView .text-container {
      width: calc(100% - 150px);
      overflow: hidden; }
    main#react-app .MapOverlayView .title {
      white-space: pre;
      overflow: hidden;
      text-overflow: ellipsis; }
  @media (max-width: 767.98px) {
    main#react-app .ThemePage,
    main#react-app .ProjectPage {
      padding-top: 100px !important; }
      main#react-app .ThemePage .themes-dot,
      main#react-app .ThemePage .projects-dot,
      main#react-app .ProjectPage .themes-dot,
      main#react-app .ProjectPage .projects-dot {
        position: absolute;
        top: 130px;
        margin-left: 20px; }
      main#react-app .ThemePage h1,
      main#react-app .ProjectPage h1 {
        position: absolute;
        top: 160px;
        padding-left: 20px !important;
        font-size: 2rem; }
      main#react-app .ThemePage .theme-image,
      main#react-app .ThemePage .project-image,
      main#react-app .ProjectPage .theme-image,
      main#react-app .ProjectPage .project-image {
        opacity: 0.75; } }
  main#react-app .ThemePage h1,
  main#react-app .ProjectPage h1 {
    margin-top: -15px; }
  main#react-app .ThemePage .theme-image,
  main#react-app .ProjectPage .theme-image {
    position: relative; }
    main#react-app .ThemePage .theme-image:before,
    main#react-app .ProjectPage .theme-image:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 60%; }
    main#react-app .ThemePage .theme-image > .content,
    main#react-app .ProjectPage .theme-image > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  main#react-app .ThemePage .project-image,
  main#react-app .ProjectPage .project-image {
    position: relative; }
    main#react-app .ThemePage .project-image:before,
    main#react-app .ProjectPage .project-image:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 62.5%; }
    main#react-app .ThemePage .project-image > .content,
    main#react-app .ProjectPage .project-image > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  main#react-app .ThemePage .project-image,
  main#react-app .ThemePage .theme-image,
  main#react-app .ProjectPage .project-image,
  main#react-app .ProjectPage .theme-image {
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    z-index: -1;
    width: 100%;
    display: block;
    position: relative; }
    @media (min-width: 768px) {
      main#react-app .ThemePage .project-image,
      main#react-app .ThemePage .theme-image,
      main#react-app .ProjectPage .project-image,
      main#react-app .ProjectPage .theme-image {
        margin-top: -30px; } }
    @media (max-width: 767.98px) {
      main#react-app .ThemePage .project-image,
      main#react-app .ThemePage .theme-image,
      main#react-app .ProjectPage .project-image,
      main#react-app .ProjectPage .theme-image {
        position: relative;
        
        margin-top: -16px; }
        main#react-app .ThemePage .project-image:before,
        main#react-app .ThemePage .theme-image:before,
        main#react-app .ProjectPage .project-image:before,
        main#react-app .ProjectPage .theme-image:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 75%; }
        main#react-app .ThemePage .project-image > .content,
        main#react-app .ThemePage .theme-image > .content,
        main#react-app .ProjectPage .project-image > .content,
        main#react-app .ProjectPage .theme-image > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; } }
  @media (min-width: 768px) {
    main#react-app .ThemePage .theme-description {
      width: 75%;
      max-width: 900px;
      margin-top: 60px;
      margin-bottom: 125px; } }
  @media (max-width: 767.98px) {
    main#react-app .ThemePage .theme-description {
      padding: 20px; } }
  @media (max-width: 767.98px) {
    main#react-app .ThemePage ul.projects-listing > li {
      margin-bottom: 64px; } }
  @media (min-width: 768px) {
    main#react-app .ThemePage ul.projects-listing > li {
      margin-bottom: 125px; }
    main#react-app .ThemePage ul.projects-listing > li:nth-child(even) > div {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
      main#react-app .ThemePage ul.projects-listing > li:nth-child(even) > div.GroupedProjectListItem .content {
        padding-left: 0; } }
  @media (max-width: 767.98px) {
    main#react-app .ThemePage .IndividualProjectListItem,
    main#react-app .ThemePage .GroupedProjectListItem {
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: normal !important;
          -ms-flex-direction: column !important;
              flex-direction: column !important;
      -webkit-box-align: start !important;
          -ms-flex-align: start !important;
              align-items: flex-start !important; } }
  main#react-app .ThemePage .IndividualProjectListItem .type-h1,
  main#react-app .ThemePage .GroupedProjectListItem .type-h1 {
    font-size: 3.5rem; }
  main#react-app .ThemePage .IndividualProjectListItem .featured-image,
  main#react-app .ThemePage .GroupedProjectListItem .featured-image {
    -khtml-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
    @media (max-width: 767.98px) {
      main#react-app .ThemePage .IndividualProjectListItem .featured-image,
      main#react-app .ThemePage .GroupedProjectListItem .featured-image {
        width: 100%;
        height: calc(100vw - 20px);
        position: relative; }
        main#react-app .ThemePage .IndividualProjectListItem .featured-image:after,
        main#react-app .ThemePage .GroupedProjectListItem .featured-image:after {
          content: " ";
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          
          
          
          background: -webkit-gradient(linear, left top, left bottom, from(rgba(13, 22, 38, 0)), to(#0d1626));
          background: linear-gradient(to bottom, rgba(13, 22, 38, 0) 0%, #0d1626 100%);
          
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000d1626', endColorstr='#a60d1626',GradientType=0 );
           } }
    @media (min-width: 768px) {
      main#react-app .ThemePage .IndividualProjectListItem .featured-image,
      main#react-app .ThemePage .GroupedProjectListItem .featured-image {
        width: 54%;
        min-height: 30vw;
         } }
  @media (max-width: 767.98px) {
    main#react-app .ThemePage .IndividualProjectListItem .content,
    main#react-app .ThemePage .GroupedProjectListItem .content {
      padding: 20px;
      margin-top: -80px;
      z-index: 1; }
      main#react-app .ThemePage .IndividualProjectListItem .content a,
      main#react-app .ThemePage .GroupedProjectListItem .content a {
        text-decoration: underline; } }
  @media (min-width: 768px) {
    main#react-app .ThemePage .IndividualProjectListItem .content,
    main#react-app .ThemePage .GroupedProjectListItem .content {
      padding: 60px; } }
  main#react-app .ThemePage .IndividualProjectListItem .content ul li,
  main#react-app .ThemePage .GroupedProjectListItem .content ul li {
    padding-bottom: 5px; }
  main#react-app .ThemePage a.NextThemePageNavLink {
    -khtml-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: block;
    position: relative;
    height: 500px; }
    @media (max-width: 767.98px) {
      main#react-app .ThemePage a.NextThemePageNavLink {
        height: 50vw;
        max-height: 200px; }
        main#react-app .ThemePage a.NextThemePageNavLink .type-h2:after {
          content: " >"; } }
    main#react-app .ThemePage a.NextThemePageNavLink .overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, 0.65); }
      @media (max-width: 767.98px) {
        main#react-app .ThemePage a.NextThemePageNavLink .overlay {
          padding: 30px 20px; } }
      @media (min-width: 768px) {
        main#react-app .ThemePage a.NextThemePageNavLink .overlay {
          padding: 60px 30px; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    main#react-app .ProjectPage .md-negative-margin {
      margin-top: -30px; } }
  @media (min-width: 768px) {
    main#react-app .ProjectPage .content-container {
      padding: 30px;
      padding-bottom: 125px; } }
  @media (min-width: 768px) and (max-width: 767.98px) {
    main#react-app .ProjectPage .content-container {
      padding: 20px; } }
  main#react-app .ProjectPage .project-description h3 {
    font-family: "halyard-text" !important; }
  @media (min-width: 768px) {
    main#react-app .ProjectPage .project-description {
      padding-right: 20px; } }
  @media (max-width: 767.98px) {
    main#react-app .ProjectPage .project-description {
      padding-top: 30px;
      padding-left: 10px;
      padding-right: 10px; } }
  main#react-app .ProjectPage p:last-child,
  main#react-app .ProjectPage *:empty {
    margin-bottom: 0; }
  main#react-app .ProjectPage .row-project-stats {
    position: relative; }
    @media (min-width: 768px) {
      main#react-app .ProjectPage .row-project-stats {
        
        margin-right: -30px;
        margin-left: -60px;
        margin-top: -30px;
        margin-bottom: 60px; } }
  @media (max-width: 767.98px) {
    main#react-app .ProjectPage .col-project-stats {
      background-color: #0d1626; } }
  @media (min-width: 768px) {
    main#react-app .ProjectPage .col-project-stats {
      background-color: rgba(13, 22, 38, 0.9);
      position: absolute;
      right: 0;
      bottom: 0; } }
  @media (max-width: 767.98px) {
    main#react-app .ProjectPage ul.project-stats {
      padding: 30px 10px;
      margin-bottom: 0; } }
  @media (min-width: 768px) {
    main#react-app .ProjectPage ul.project-stats {
      padding: 20px; } }
  main#react-app .ProjectPage ul.project-stats li + li {
    margin-top: 30px; }
  main#react-app .ProjectPage .TitleText b, main#react-app .ProjectPage .TitleText strong {
    font-weight: bold !important; }
  @media (max-width: 767.98px) {
    main#react-app .ProjectPage .TitleText {
      padding: 50px 10px; } }
  @media (min-width: 768px) {
    main#react-app .ProjectPage .TitleText {
      margin-top: 80px;
      margin-bottom: 80px; } }
  main#react-app .ProjectPage .ImageText {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    main#react-app .ProjectPage .ImageText b, main#react-app .ProjectPage .ImageText strong {
      font-weight: bold !important; }
    main#react-app .ProjectPage .ImageText .bg-image {
      height: 100%;
      -khtml-background-size: cover;
      -ms-background-size: cover;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      main#react-app .ProjectPage .ImageText .bg-image.landscape {
        position: relative; }
        main#react-app .ProjectPage .ImageText .bg-image.landscape:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 66.94915%; }
        main#react-app .ProjectPage .ImageText .bg-image.landscape > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
      main#react-app .ProjectPage .ImageText .bg-image.portrait {
        position: relative; }
        main#react-app .ProjectPage .ImageText .bg-image.portrait:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 119.32203%; }
        main#react-app .ProjectPage .ImageText .bg-image.portrait > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
      @media (max-width: 767.98px) {
        main#react-app .ProjectPage .ImageText .bg-image {
          margin-left: -10px;
          margin-right: -10px; } }
    @media (max-width: 767.98px) {
      main#react-app .ProjectPage .ImageText .col-text {
        padding: 50px 20px; } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      main#react-app .ProjectPage .ImageText .col-text {
        padding-top: 30px;
        padding-bottom: 30px; } }
    @media (min-width: 992px) {
      main#react-app .ProjectPage .ImageText .col-text {
        padding-right: 7%; } }
  @media (max-width: 767.98px) {
    main#react-app .ProjectPage .SingleImage > div,
    main#react-app .ProjectPage .TwoImages > div {
      padding: 0; } }
  @media (min-width: 576px) {
    main#react-app .ProjectPage .SingleImage img,
    main#react-app .ProjectPage .TwoImages img {
      width: 100%; } }
  @media (max-width: 767.98px) {
    main#react-app .ProjectPage .TwoImages > div + div {
      margin-top: 5px; } }
  main#react-app .ProjectPage .TwoImages .bg-image {
    -khtml-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    main#react-app .ProjectPage .TwoImages .bg-image.landscape {
      position: relative; }
      main#react-app .ProjectPage .TwoImages .bg-image.landscape:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 62.5%; }
      main#react-app .ProjectPage .TwoImages .bg-image.landscape > .content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
    main#react-app .ProjectPage .TwoImages .bg-image.portrait {
      position: relative; }
      main#react-app .ProjectPage .TwoImages .bg-image.portrait:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 177.77778%; }
      main#react-app .ProjectPage .TwoImages .bg-image.portrait > .content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
  main#react-app .ProjectPage .SingleImage + .ImageText,
  main#react-app .ProjectPage .SingleImage + .TwoImages,
  main#react-app .ProjectPage .TwoImages + .ImageText,
  main#react-app .ProjectPage .TwoImages + .SingleImage,
  main#react-app .ProjectPage .ImageText + .TwoImages,
  main#react-app .ProjectPage .ImageText + .SingleImage,
  main#react-app .ProjectPage .ImageText + .ImageText {
    margin-top: 20px; }
    @media (max-width: 767.98px) {
      main#react-app .ProjectPage .SingleImage + .ImageText,
      main#react-app .ProjectPage .SingleImage + .TwoImages,
      main#react-app .ProjectPage .TwoImages + .ImageText,
      main#react-app .ProjectPage .TwoImages + .SingleImage,
      main#react-app .ProjectPage .ImageText + .TwoImages,
      main#react-app .ProjectPage .ImageText + .SingleImage,
      main#react-app .ProjectPage .ImageText + .ImageText {
        margin-top: 5px; } }
  @media (min-width: 768px) {
    main#react-app .ProjectPage section.gallery {
      padding-top: 80px; } }
  @media (max-width: 767.98px) {
    main#react-app .ProjectPage section.gallery {
      padding-top: 30px;
      padding-left: 10px;
      padding-right: 10px; } }
  main#react-app .ProjectPage section.gallery button.gallery-image {
    width: 100%;
    border: none;
    border-radius: 0;
    position: relative;
    -khtml-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 20px; }
    main#react-app .ProjectPage section.gallery button.gallery-image:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 100%; }
    main#react-app .ProjectPage section.gallery button.gallery-image > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  @media (max-width: 767.98px) {
    main#react-app .RelatedProjects {
      padding-top: 30px;
      padding-left: 5px;
      padding-right: 5px; } }
  @media (min-width: 768px) {
    main#react-app .RelatedProjects {
      margin-left: -10px;
      padding-right: 20px;
      padding-top: 75px; } }
  main#react-app .RelatedProjects a.related-project-link {
    display: block; }
  main#react-app .RelatedProjects .related-project-image {
    -khtml-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative; }
    main#react-app .RelatedProjects .related-project-image:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 56.25%; }
    main#react-app .RelatedProjects .related-project-image > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }

.ReactModal__Overlay {
  opacity: 0; }

.ReactModal__Overlay--after-open {
  opacity: 1;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out; }

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

@media (min-width: 768px) {
  .ReactModal__Content {
    padding: 30px !important; } }

@media (max-width: 767.98px) {
  .ReactModal__Content {
    padding: 20px !important; } }

.ReactModal__Content .gallery-slider {
  width: calc(100vw / 3 * 2);
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media (max-width: 767.98px) {
    .ReactModal__Content .gallery-slider {
      margin-left: -20px;
      width: calc(100% + 40px); }
      .ReactModal__Content .gallery-slider .slick-slide {
        padding: 0 20px; } }
  @media (min-width: 768px) {
    .ReactModal__Content .gallery-slider .slick-slide {
      padding: 0 30px; } }
  .ReactModal__Content .gallery-slider .slick-list {
    width: 100%; }
  .ReactModal__Content .gallery-slider .slick-slide {
    float: none;
    display: inline-block;
    vertical-align: middle; }
  .ReactModal__Content .gallery-slider .image-slide img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto; }
  .ReactModal__Content .gallery-slider .slick-arrow {
    position: fixed;
    padding: 8px; }
    @media (max-width: 767.98px) {
      .ReactModal__Content .gallery-slider .slick-arrow svg {
        height: 24px;
        width: auto; } }
    .ReactModal__Content .gallery-slider .slick-arrow.slick-prev {
      margin-left: -8px;
      left: 30px; }
      @media (max-width: 767.98px) {
        .ReactModal__Content .gallery-slider .slick-arrow.slick-prev {
          left: 20px;
          bottom: 12px;
          width: calc(50% - 20px);
          text-align: left; } }
    .ReactModal__Content .gallery-slider .slick-arrow.slick-next {
      margin-right: -8px;
      right: 30px; }
      @media (max-width: 767.98px) {
        .ReactModal__Content .gallery-slider .slick-arrow.slick-next {
          right: 20px;
          bottom: 12px;
          width: calc(50% - 20px);
          text-align: right; } }

.ReactModal__Content .gallery-paging {
  position: absolute;
  top: 30px;
  right: 30px; }
  @media (max-width: 767.98px) {
    .ReactModal__Content .gallery-paging {
      top: 20px;
      right: 20px; } }

.ReactModal__Content .modal-close {
  position: absolute;
  top: 30px;
  left: 30px;
  padding: 8px;
  margin-left: -8px;
  margin-top: -8px; }
  @media (max-width: 767.98px) {
    .ReactModal__Content .modal-close {
      top: 20px;
      left: 20px; }
      .ReactModal__Content .modal-close svg {
        width: 30px;
        height: 30px; } }

.CategoryListingLayout .projects-wrapper {
  min-width: 100%;
  position: relative;
  min-height: 50vh; }
  .CategoryListingLayout .projects-wrapper .loading-icon {
    position: absolute;
    top: 50px;
    left: 40%;
    z-index: 1; }

.CategoryListingLayout .pdf-link {
  font-family: "halyard-display";
  font-weight: 600;
  letter-spacing: 0.06rem;
  font-size: 0.875rem;
  color: #000; }

.CategoryListingLayout .animation-page > h2 {
  position: relative;
  display: inline-block;
  margin-right: 25px; }

.CategoryListingLayout .sub-categories-wrapper {
  margin-left: 35px; }
  .CategoryListingLayout .sub-categories-wrapper .sub-categories {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    list-style: none;
    padding-left: 0;
    margin-right: 40px; }
    .CategoryListingLayout .sub-categories-wrapper .sub-categories .sub-category-item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 0;
      color: #999999;
      font-size: 0.95rem; }
      .CategoryListingLayout .sub-categories-wrapper .sub-categories .sub-category-item.active {
        color: #000000; }
      .CategoryListingLayout .sub-categories-wrapper .sub-categories .sub-category-item span {
        line-height: 0.95rem;
        cursor: pointer; }
      .CategoryListingLayout .sub-categories-wrapper .sub-categories .sub-category-item:not(:last-child)::after {
        content: "|";
        padding-left: 10px;
        padding-right: 10px;
        font-family: "halyard-micro";
        font-weight: 400;
        font-size: 14px;
        color: #999999; }
