section.astro-shortcodes { position: relative; clear: both; padding: 50px 0; margin: 0; background-size: cover; background-repeat: no-repeat; background-position: center; zoom: 1; /* For IE 6/7 */ }

section.astro-shortcodes:before, section.astro-shortcodes:after { content: ""; display: table; }

section.astro-shortcodes:after { clear: both; }

section.astro-shortcodes .col { display: block; position: relative; float: left; margin: 0; }

section.astro-shortcodes .col.offset_1 { margin-left: 8.3333%; }

section.astro-shortcodes .col.offset_2 { margin-left: 16.66%; }

section.astro-shortcodes .col.offset_3 { margin-left: 25%; }

section.astro-shortcodes .col.offset_4 { margin-left: 33.33%; }

section.astro-shortcodes .col.offset_5 { margin-left: 41.66%; }

section.astro-shortcodes .col.offset_6 { margin-left: 50%; }

section.astro-shortcodes .col.offset_7 { margin-left: 58.33%; }

section.astro-shortcodes .col.offset_8 { margin-left: 66.66%; }

section.astro-shortcodes .col.offset_9 { margin-left: 75%; }

section.astro-shortcodes .col.offset_10 { margin-left: 83.33%; }

section.astro-shortcodes .col.offset_11 { width: 91.66%; }

section.astro-shortcodes .span_12_of_12 { width: 100%; }

section.astro-shortcodes .span_11_of_12 { width: 91.66%; }

section.astro-shortcodes .span_10_of_12 { width: 83.33%; }

section.astro-shortcodes .span_9_of_12 { width: 75%; }

section.astro-shortcodes .span_8_of_12 { width: 66.66%; }

section.astro-shortcodes .span_7_of_12 { width: 58.33%; }

section.astro-shortcodes .span_6_of_12 { width: 50%; }

section.astro-shortcodes .span_5_of_12 { width: 41.66%; }

section.astro-shortcodes .span_4_of_12 { width: 33.33%; }

section.astro-shortcodes .span_3_of_12 { width: 25%; }

section.astro-shortcodes .span_2_of_12 { width: 16.66%; }

section.astro-shortcodes .span_1_of_12 { width: 8.333%; }

section.astro-shortcodes .overlay { position: absolute; top: 0; left: 0; height: 100%; width: 100%; opacity: 0.7; z-index: -1; }

section.astro-shortcodes.parallax { width: 100vw; margin: 0 50%; padding: 100px 100px 90px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-position: 50vw 50%; -ms-background-position-x: 50vw; background-attachment: fixed; text-align: center; color: #ffffff; }

section.astro-shortcodes.parallax .col { text-align: left; }

@-moz-document url-prefix() { section.astro-shortcodes.parallax { background-position: 0; } }

section.astro-shortcodes.parallax h1, section.astro-shortcodes.parallax h2, section.astro-shortcodes.parallax h3, section.astro-shortcodes.parallax h4, section.astro-shortcodes.parallax h5, section.astro-shortcodes.parallax h6, section.astro-shortcodes.parallax p { color: #ffffff; }

section.astro-shortcodes.parallax *:last-child { margin-bottom: 0; }

section.astro-shortcodes.full-width, section.astro-shortcodes.project-list { width: 100vw; margin: 0 50%; padding: 50px 50px; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

section.astro-shortcodes.half { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 0; }

section.astro-shortcodes.half .overlay { width: 50%; }

section.astro-shortcodes.half .content-half, section.astro-shortcodes.half .image-half { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

section.astro-shortcodes.half .padder { padding: 50px 50px; }

section.astro-shortcodes.half .image-half { background-size: cover; background-position: 50% 50%; }

section.astro-shortcodes.half.reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-flow: row-reverse wrap; flex-flow: row-reverse wrap; }

section.astro-shortcodes.half.reverse .overlay { left: auto; right: 0; }

section.astro-shortcodes.half.transparent { content: ""; display: table; table-layout: fixed; }

section.astro-shortcodes.half.transparent .content-half { width: 50%; float: left; }

section.astro-shortcodes.half.transparent.reverse .content-half { float: right; }

@supports (-ms-ime-align: auto) { section.astro-shortcodes.parallax { background-position: 50%; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { section.astro-shortcodes.parallax { background-position: 50%; } }

@media only screen and (max-width: 640px) { section.astro-shortcodes { padding: 50px 0; }
  section.astro-shortcodes .span_1_of_12, section.astro-shortcodes .span_2_of_12, section.astro-shortcodes .span_3_of_12, section.astro-shortcodes .span_4_of_12, section.astro-shortcodes .span_5_of_12, section.astro-shortcodes .span_6_of_12, section.astro-shortcodes .span_7_of_12, section.astro-shortcodes .span_8_of_12, section.astro-shortcodes .span_9_of_12, section.astro-shortcodes .span_10_of_12, section.astro-shortcodes .span_11_of_12, section.astro-shortcodes .span_12_of_12 { width: 100%; }
  section.astro-shortcodes .col.offset_1, section.astro-shortcodes .col.offset_2, section.astro-shortcodes .col.offset_3, section.astro-shortcodes .col.offset_4, section.astro-shortcodes .col.offset_5, section.astro-shortcodes .col.offset_6, section.astro-shortcodes .col.offset_7, section.astro-shortcodes .col.offset_8, section.astro-shortcodes .col.offset_9, section.astro-shortcodes .col.offset_10, section.astro-shortcodes .col.offset_11 { margin-left: 0; }
  section.astro-shortcodes.parallax { padding: 120px 50px 110px; }
  section.astro-shortcodes.full-width, section.astro-shortcodes.project-list { padding: 100px 50px 110px; }
  section.astro-shortcodes.half { display: block; }
  section.astro-shortcodes.half .overlay { width: 100%; }
  section.astro-shortcodes.half .padder { padding: 0; }
  section.astro-shortcodes.half .image-half { height: 250px; }
  section.astro-shortcodes.half.transparent .content-half { width: 100%; } }

.astro-shortcodes.callout-button { display: inline-block; margin: 1.5em auto; padding: 10px 25px; border: 1px solid #000000; white-space: nowrap; line-height: 1; color: #000000; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; text-decoration: none; font-weight: bold; }

.parallax .astro-shortcodes.callout-button { border: 1px solid #ffffff; color: #ffffff; }

.astro-shortcodes.callout-button:hover { background-color: #000000; color: #ffffff; }

.parallax .astro-shortcodes.callout-button:hover { background-color: #ffffff; color: #000000; }

@media only screen and (max-width: 640px) { .astro-shortcodes.callout-button { margin: 18px auto; padding: 10px 2vw 6px; } }

.astro-shortcodes.page-button, .astro-shortcodes.taxonomy-button { display: block; position: relative; float: left; width: 32.5%; height: 200px; margin-right: 0.7%; margin-bottom: 5px; overflow: hidden; }

.astro-shortcodes.page-button > a, .astro-shortcodes.taxonomy-button > a { display: block; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: 100%; background-size: cover; background-position: 50% 50%; }

.astro-shortcodes.page-button h3, .astro-shortcodes.taxonomy-button h3 { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); margin: 0; }

.astro-shortcodes.page-button + p, .astro-shortcodes.page-button p, .astro-shortcodes.taxonomy-button + p, .astro-shortcodes.taxonomy-button p { display: none; }

.astro-shortcodes.page-button:hover > a, .astro-shortcodes.taxonomy-button:hover > a { height: 150%; width: 150%; }

@media only screen and (max-width: 640px) { .astro-shortcodes.page-button, .astro-shortcodes.taxonomy-button { width: 100%; height: 250px; margin-right: 0; clear: both; } }

.astro-shortcodes.category-description { opacity: 0; visibility: hidden; position: relative; height: 16vw; width: 16vw; border-radius: 50%; border: 2px solid #ffffff; background-size: cover; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.astro-shortcodes.category-description.active { opacity: 1; visibility: visible; }

.astro-shortcodes.category-description p { position: absolute; top: 50%; left: 50%; width: 78%; margin: 0; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); text-shadow: 1px 1px #000000; font-size: 1vw; text-align: center; color: #ffffff; }

.astro-shortcodes.category-description img { display: block; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.astro-shortcodes.recent-items { margin: 3vh 0 5vh; }

.astro-shortcodes.recent-items article { height: 40vh; text-align: center; border: 1px solid #000000; text-align: left; }

.astro-shortcodes.recent-items article:hover .overlay { top: 67%; }

.astro-shortcodes.recent-items .col { margin-bottom: 0.75vw; }

.astro-shortcodes.recent-items .col:nth-child(3n+1) { padding-right: 0.5vw; }

.astro-shortcodes.recent-items .col:nth-child(3n+2) { padding: 0 0.25vw; }

.astro-shortcodes.recent-items .col:nth-child(3n+3) { padding-left: 0.5vw; }

.astro-shortcodes.recent-items .thumbnail-link { display: block; position: relative; height: 100%; width: 100%; overflow: hidden; }

.astro-shortcodes.recent-items .thumbnail-link img { display: block; position: absolute; height: 100%; width: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: 0 40%; object-position: 0 40%; }

.astro-shortcodes.recent-items .overlay { position: absolute; top: 100%; left: 0; height: 33%; width: 100%; padding: 2vh 1vw; background-color: rgba(0, 0, 0, 0.8); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.astro-shortcodes.recent-items h3 { color: #ffffff; }

@media only screen and (max-width: 640px) { .astro-shortcodes.recent-items { margin: 0 0 50px; }
  .astro-shortcodes.recent-items article { height: 200px; }
  .astro-shortcodes.recent-items .col { margin-bottom: 10px; padding: 0 !important; }
  .astro-shortcodes.recent-items .overlay { top: 65% !important; height: 35%; padding: 12px 2vw; } }

.astro-shortcodes.project-list a { color: #ffffff; }

.astro-shortcodes.project-list .project { height: 40vh; margin-bottom: 1vw; overflow: hidden; }

.astro-shortcodes.project-list .project > p { display: none; }

.astro-shortcodes.project-list .project:hover .overlay { top: 67%; }

.astro-shortcodes.project-list .span_6_of_12:nth-child(odd) { padding-right: 0.5vw; }

.astro-shortcodes.project-list .span_6_of_12:nth-child(even) { padding-left: 0.5vw; }

.astro-shortcodes.project-list .span_4_of_12:nth-of-type(5n+3) { padding-right: 0.5vw; }

.astro-shortcodes.project-list .span_4_of_12:nth-of-type(5n+4) { padding: 0 0.5vw; }

.astro-shortcodes.project-list .span_4_of_12:nth-of-type(5n+5) { padding-left: 0.5vw; }

.astro-shortcodes.project-list .thumbnail-link { display: block; position: relative; height: 100%; width: 100%; }

.astro-shortcodes.project-list .thumbnail-link img { display: block; position: absolute; height: 100%; width: 100%; -o-object-fit: cover; object-fit: cover; }

.astro-shortcodes.project-list .overlay { position: absolute; top: 100%; left: 0; height: 33%; width: 100%; padding: 2vh 1vw; background-color: rgba(0, 0, 0, 0.8); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

@media only screen and (max-width: 640px) { .astro-shortcodes.project-list .project { height: 200px; margin-bottom: 10px; }
  .astro-shortcodes.project-list .span_6_of_12, .astro-shortcodes.project-list .span_4_of_12 { padding: 0 !important; }
  .astro-shortcodes.project-list .overlay { position: absolute; top: 60% !important; height: 40%; padding: 12px 2vw; } }

.astro-popup { position: fixed; top: 0; left: -100%; height: 100%; width: 100%; opacity: 0; overflow: hidden; z-index: 9999; -webkit-transition: all 0.5s ease; transition: all 0.5s ease; }

.astro-popup.active { left: 0; opacity: 1; }

.astro-popup .background { position: absolute; top: 0; left: 0; height: 100%; width: 100%; background-color: rgba(0, 0, 0, 0.5); }

.astro-popup .message { position: absolute; top: 50%; left: 10vw; -webkit-transform: translateY(-50%); transform: translateY(-50%); height: auto; width: 80vw; min-height: 20vh; max-height: 80vh; padding: 5vh; overflow-y: scroll; }

.astro-popup .close { position: absolute; top: 2vh; right: 2vh; height: 5vh; width: 5vh; padding: 0; background: transparent; border: none; -webkit-box-shadow: none; box-shadow: none; }

.astro-popup .close:before, .astro-popup .close:after { content: ''; display: block; position: absolute; top: 2.5vh; height: 0.5vh; width: 90%; background-color: #000000; }

.astro-popup .close:before { -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.astro-popup .close:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.astro-popup .close:focus { outline: none; }

@media only screen and (max-width: 640px) { .astro-popup .message { left: 5vw; width: 90vw; min-height: 200px; max-height: 90vh; padding: 20px; }
  .astro-popup .close { top: 12px; right: 12px; height: 30px; width: 30px; }
  .astro-popup .close:before, .astro-popup .close:after { top: 15px; height: 2px; } }

.astro-shortcodes.bullet { width: 40%; margin-bottom: 2vh; padding-top: 2vh; }

.astro-shortcodes.bullet.left { float: left; margin-right: 2vw; padding-right: 1vw; border-right: 0.5vw solid #000000; }

.astro-shortcodes.bullet.right { float: right; margin-left: 2vw; padding-left: 1vw; border-left: 0.5vw solid #000000; }

.icon { display: inline-block; vertical-align: middle; width: 1em; height: 1em; stroke-width: 0; stroke: currentColor; fill: currentColor; }

.taxonomy-filter li { cursor: pointer; }
