/** Generated: Tuesday, 3rd of June 2025, 05:27:54 AM // Powered by AIOM+ (All In One Minify) created by David Karich **/
/**
 * Created by Ben Byford
 *
 * main.css
 *
	Variables
	General HTML tags
	Masthead area
	Main content and sidebar
	Footer
	Helper Classes
	Print
 *
 */
/*********************************************************************
* Variables
*
*/
.white-grad {
  background: #ffffff;
  background: -moz-linear-gradient(top, #ffffff 0%, #ffffff 70%, rgba(255, 255, 255, 0) 100%);
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #ffffff), color-stop(70%, #ffffff), color-stop(100%, rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(top, #ffffff 0%, #ffffff 70%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff 70%, rgba(255, 255, 255, 0) 100%);
}
.grid-item {
  transition: opacity 1.5s ease-out;
}
.grid-item img {
  transition: all 0.5s ease-out;
}
.grid-item .overlay,
.project-nav .next,
.project-nav .prev {
  transition: all 0.3s ease;
}
.topnav a,
input {
  transition: all 0.2s ease;
}
@keyframes pulseOne {
  0% {
    fill: #08AFE6;
  }
  100% {
    fill: white;
  }
}
@keyframes pulseTwo {
  0% {
    fill: #E95AA1;
  }
  100% {
    fill: white;
  }
}
@keyframes pulseThree {
  0% {
    fill: #6DC49C;
  }
  100% {
    fill: white;
  }
}
@keyframes pulseFour {
  0% {
    fill: #F79120;
  }
  100% {
    fill: white;
  }
}
@keyframes pulseFive {
  0% {
    fill: #F7D52E;
  }
  100% {
    fill: white;
  }
}
/*********************************************************************
* General HTML tags
*
*/
* {
  box-sizing: border-box;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
body,
html {
  position: relative;
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
}
body,
td,
input[type=text],
textarea {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 105%;
  line-height: 1.5em;
  color: #444;
}
img {
  max-width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 120%;
  word-break: keep-all;
  font-family: 'Oswald', sans-serif;
}
h1 {
  font-size: 2em;
  margin: 0.4em 0;
}
h2 {
  font-size: 1.6em;
  margin: 1.8em 0;
  text-align: center;
}
h3 {
  font-size: 1.4em;
  margin: 1.6em 0;
}
h4 {
  font-size: 1.25em;
  margin: 1.5em 0;
}
h5 {
  font-size: 1.1em;
  margin: 1.4em 0;
}
h6 {
  color: #ccc;
  margin-bottom: 1em;
}
a {
  color: black;
  text-decoration: none;
}
a:visited {
  color: #383838;
}
a:hover {
  color: #525252;
}
a:active,
a:focus {
  color: #333333;
}
blockquote {
  font-size: 110%;
  line-height: 160%;
  padding: 6%;
  margin: 1.5em 0;
  font-family: georgia, serif;
  border-left: 5px solid #16afe5;
  background: #eee;
}
blockquote p:last-child {
  marign: none;
}
pre,
code {
  background: #eee;
  border: 1px solid #ddd;
}
pre {
  font-size: 14px;
  line-height: 1.4em;
  padding: 1em;
  border-left: 4px solid #ddd;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
input,
textarea {
  padding: 0.9em;
  background: #eeeeee;
  margin: 0 auto 0.9em;
  border: 0;
  min-width: 25%;
}
input:hover,
textarea:hover {
  background: #e9e9e9;
}
input:focus,
textarea:focus {
  background: #e2e2e2;
}
input[type="submit"],
.btn,
button {
  padding: 0.6em;
  border-radius: 15px;
  background: #1de4ff;
  box-shadow: 0 2px 0 #16afe5;
  cursor: pointer;
  color: white;
  min-width: 15%;
}
input[type="submit"]:hover,
.btn:hover,
button:hover {
  background: #1cdbff;
}
input[type="submit"]:active,
.btn:active,
button:active {
  background: #149ece;
  box-shadow: 0 2px 0 #149ece;
}
/*********************************************************************
 * 2. nav area
 *
 */
.topnav {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
  border-bottom: 3px solid black;
}
@media all and (min-width: 460px) {
  .topnav {
    text-align: right;
  }
}
.topnav a {
  position: relative;
  overflow: hidden;
  padding: 0.36em 0.72em;
  text-decoration: none;
  display: inline-block;
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  font-size: 1em;
  letter-spacing: 0.5px;
  color: #aaaaaa;
}
@media all and (min-width: 460px) {
  .topnav a {
    font-size: 1.2em;
    padding: 0.36em 0.48em;
  }
}
@media all and (min-width: 786px) {
  .topnav a {
    font-size: 1.3em;
    padding: 0.6em 0.78em;
  }
}
.topnav a:hover {
  color: #666666;
}
.topnav a:active {
  color: #aaaaaa;
}
.topnav .current {
  color: black !important;
}
.topnav .edit:hover {
  opacity: 1;
}
/*********************************************************************
 * 3. Main content and sidebar
 *
 */
#page {
  margin: 0 auto;
}
header,
#page {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}
@media all and (min-width: 786px) {
  header,
  #page {
    width: 90%;
  }
}
.container {
  margin: 0 auto;
  padding-left: 0em;
}
@media all and (min-width: 786px) {
  .container {
    padding-left: 5em;
  }
}
header {
  background: #ffffff;
  background: -moz-linear-gradient(top, #ffffff 0%, #ffffff 70%, rgba(255, 255, 255, 0) 100%);
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #ffffff), color-stop(70%, #ffffff), color-stop(100%, rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(top, #ffffff 0%, #ffffff 70%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff 70%, rgba(255, 255, 255, 0) 100%);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  padding: 0 0 2em;
}
.logo {
  text-align: center;
  margin: 0.36em 0;
}
@media all and (min-width: 460px) {
  .logo {
    text-align: left;
    margin: 0.7em 0 -1em;
    width: 55%;
  }
}
@media all and (min-width: 786px) {
  .logo {
    margin: 0.7em 0 -1.3em;
  }
}
.logo:active {
  opacity: 0.7;
}
.logo .st0 {
  fill: #08AFE6;
}
.logo .st1 {
  fill: #E95AA1;
}
.logo .st2 {
  fill: #6DC49C;
}
.logo .st3 {
  fill: #F79120;
}
.logo .st4 {
  fill: #F7D52E;
}
.logo svg {
  max-width: 400px;
}
.logo svg:hover .st0 {
  animation: pulseOne 0.8s ease 0s alternate infinite backwards;
}
.logo svg:hover .st1 {
  animation: pulseTwo 0.8s ease 0.2s alternate infinite backwards;
}
.logo svg:hover .st2 {
  animation: pulseThree 0.8s ease 0.4s alternate infinite backwards;
}
.logo svg:hover .st3 {
  animation: pulseFour 0.8s ease 0.5s alternate infinite backwards;
}
.logo svg:hover .st4 {
  animation: pulseFive 0.8s ease 0.7s alternate infinite backwards;
}
#main {
  padding-top: 5em;
  clear: both;
}
#content {
  padding-bottom: 2em;
}
@media all and (min-width: 786px) {
  .sidebar {
    float: left;
    width: 30%;
  }
}
@media all and (min-width: 786px) {
  .has-sidebar .body {
    float: right;
    width: 65%;
    margin-left: 5%;
  }
}
.project-page #content,
.about-page #content {
  width: 100%;
  max-width: 786px;
  margin: 0 auto;
}
.text-content a {
  color: #16afe5;
  text-decoration: underline;
}
.text-content a:visited {
  color: #1ad2ff;
}
.text-content a:hover {
  color: #128cb7;
}
.text-content a:active,
.text-content a:focus {
  color: #16afe5;
}
.nav {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
}
.nav .nav {
  padding-left: 1.5em;
  list-style: disc;
}
.nav li {
  margin: 1em 0;
}
.nav.nav-tree li {
  margin-top: 0;
  margin-bottom: 0;
}
.nav a {
  font-weight: bold;
}
.nav.nav-tree li a {
  color: #777;
}
.nav.current > a {
  color: #333;
}
/*
*
* specific areas
*
*/
.strapline {
  text-align: center;
  font-size: 1.5em;
  line-height: 1.3em;
  width: 80%;
  margin: 1.7em auto;
  letter-spacing: -0.3px;
}
@media all and (min-width: 786px) {
  .strapline {
    font-size: 1.8em;
    line-height: 1.4em;
    width: 70%;
  }
}
@media all and (min-width: 920px) {
  .strapline {
    width: 50%;
  }
}
.tags {
  margin: 1em 0;
  text-align: center;
}
.tags a {
  padding: 0 0.3em 0 0;
  color: #aaaaaa;
}
.tags a:after {
  content: '|';
  color: #16afe5;
  padding: 0 0 0 0.3em;
}
.tags a:nth-child(5n+2):after {
  color: #eb59a1;
}
.tags a:nth-child(5n+3):after {
  color: #f79121;
}
.tags a:nth-child(5n+4):after {
  color: #f6d52f;
}
.tags a:nth-child(5n+5):after {
  color: #6dc49c;
}
.tags a:last-child:after {
  content: '';
  padding: 0;
}
.tags a:hover {
  color: #888888;
}
.tags a.active {
  color: black;
}
.grid-container {
  margin: 0 -1%;
  width: 102%;
  display: block;
  position: relative;
}
.grid-item {
  opacity: 0;
  width: 100%;
  padding: 1%;
}
@media all and (min-width: 460px) {
  .grid-item {
    width: 50%;
  }
}
@media all and (min-width: 786px) {
  .grid-item {
    width: 33.3332%;
  }
}
.grid-item img {
  transform: translateY(10px);
  -webkit-transform: translateY(10px);
  transform: translateY(10px) scale(1);
  -webkit-transform: translateY(10px) scale(1);
  z-index: 1;
  filter: blur(0px);
  -webkit-filter: blur(0px);
  display: block;
}
.grid-item .item-inner {
  position: relative;
  overflow: hidden;
}
.grid-item .overlay {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  z-index: 2;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.1);
}
.grid-item h2 {
  font-weight: 300;
  padding: 0 5%;
  text-align: center;
  color: white;
  margin: 0 auto;
  top: 35%;
  left: 0;
  right: 0;
  position: absolute;
  letter-spacing: 0.8px;
}
@media all and (min-width: 786px) {
  .grid-item h2 {
    top: 40%;
  }
}
.grid-item.on {
  opacity: 1;
}
.grid-item.on img {
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
}
.grid-item:hover .overlay {
  opacity: 1;
}
.grid-item:hover img {
  filter: blur(4px);
  -webkit-filter: blur(4px);
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
}
.slider {
  position: relative;
}
.slider .swiper-wrapper img {
  width: 100%;
  max-width: auto;
}
.slider .swiper-pagination-bullet {
  margin: 0 3px !important;
}
.slider .swiper-pagination-bullet-active {
  background: #16afe5;
}
.slider .swiper-button-prev,
.slider .swiper-button-next {
  display: none;
}
@media all and (min-width: 460px) {
  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    display: block;
  }
}
.slider,
.videos,
.contact-form {
  margin: 2.2em 0 2em;
}
.post {
  border-bottom: 3px solid black;
  padding-bottom: 1em;
}
.post:last-child {
  border-bottom: 0;
}
.related-projects {
  border-top: 3px solid #aaaaaa;
  padding-top: 1em;
  margin-top: 1em;
}
.related-projects h3 {
  text-align: center;
}
.related-projects .grid-item {
  width: 50%;
  display: inline-block;
  opacity: 1;
}
.project-nav .next,
.project-nav .prev {
  background-repeat: no-repeat;
  background-color: white;
  background-size: 22px;
  display: inline-table;
  top: 50%;
  z-index: 99;
}
@media all and (min-width: 786px) {
  .project-nav .next,
  .project-nav .prev {
    position: fixed;
    padding: 1em 1em 1em 1em;
    height: 40px;
  }
}
.project-nav .next:hover,
.project-nav .prev:hover {
  transform: translateX(0);
}
.project-nav .next:active,
.project-nav .prev:active {
  opacity: 0.7;
}
.project-nav .next {
  transform: translateX(72%);
  background-position: 10% center;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23222222'%2F%3E%3C%2Fsvg%3E");
  right: 0;
  padding-left: 3.8em;
}
@media all and (max-width: 786px) {
  .project-nav .next {
    float: right;
    transform: translateX(0);
    background-position: 90% center;
    padding: 0 2.5em 0 0;
  }
}
.project-nav .next.first,
.project-nav .prev.last {
  opacity: 0.2;
}
.project-nav .next.first:hover,
.project-nav .prev.last:hover {
  opacity: 1;
}
.project-nav .prev {
  transform: translateX(-72%);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23222222'%2F%3E%3C%2Fsvg%3E");
  background-position: 90% center;
  left: 0;
  padding-right: 3.8em;
}
@media all and (max-width: 786px) {
  .project-nav .prev {
    background-position: 10% center;
    float: left;
    transform: translateX(0);
    padding: 0 0 0 2.5em;
  }
}
/*********************************************************************
 * 4. Footer
 *
 */
#footer {
  margin: 1em 0 0.4em;
  padding: 0.9em 0;
  clear: both;
  border-top: 3px solid black;
  font-size: 80%;
  text-align: center;
}
/*********************************************************************
* 4. Helper classes
*
*/
.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  *zoom: 1;
}
.hide {
  display: none;
}
.no-opacity {
  opacity: 0;
}
.opacity {
  opacity: 1;
}
.absolute {
  position: absolute;
}
.full-width {
  width: 100%;
}
.align_left {
  /* for images placed in rich text editor */
  float: left;
  margin: 0 1em 0.5em 0;
  position: relative;
  top: 0.5em;
  max-width: 50%;
}
.align_right {
  /* for images placed in rich text editor */
  float: right;
  margin: 0 0 0.5em 1em;
  max-width: 50%;
}
.align_center {
  /* for images placed in rich text editor */
  display: block;
  margin: 1em auto;
  position: relative;
  top: 0.5em;
}
.three-d {
  text-shadow: 1px 1px 0 #19c9ff, 1px 2px 0 #18c1fc, 1px 3px 0 #17b8f0, 1px 4px 0 #16afe5;
}
/* ==========================================================================
Print styles
========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
  }
  thead {
    display: table-header-group;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  pre,
  blockquote,
  h2,
  h3,
  tr,
  img {
    page-break-after: avoid;
  }
}
