.clearfix {
  *zoom: 1;
}
.clearfix:before, .clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}

body {
  background: url("cubes.png") repeat scroll 0 0 rgba(0, 0, 0, 0);
  text-rendering: optimizelegibility;
  margin: 0;
  padding: 0;
  font-family: 'Open Sans', serif;
}

a {
  color: #313342;
  padding: 20px 0 0;
  text-decoration: none;
  font-weight: 300;
  line-height: 1;
}
a:hover, a.active {
  color: #dd4a38;
}

.page a {
  border-bottom: 1px dotted #313342;
}

h2, h3, h4, h5 {
  color: #2e3846;
  font-family: 'Arvo', serif;
}

h2 {
  font-size: 32px;
  margin-top: 0px;
  font-weight: 200;
}

h3 {
  font-size: 20px;
}

.page {
  margin-top: 36px;
}
.page h2 {
  margin-bottom: 24px;
}

.button {
  background: none repeat scroll 0 0 #DD4A38;
  border-radius: 3px;
  color: #FFFFFF;
  font-family: 'Arvo', serif;
  font-size: 20px;
  line-height: 22px;
  padding: 10px 0px;
  text-align: center;
  transition: all 0.25s ease 0s;
  width: 100%;
  display: block;
  margin-bottom: 20px;
  border: none !important;
}
.button:hover {
  color: #FFFFFF;
  background: #CC4434;
}

header {
  font-family: 'Arvo', serif;
  padding: 24px 12px 12px 12px;
  background: rgba(0, 0, 0, 0.075);
}
header .navigation-left {
  font-size: 32px;
  font-weight: 100;
  line-height: 20px;
  color: #2e3846;
}
header .navigation-left a {
  color: #313342;
}
header .primary-menu {
  font-size: 24px;
  line-height: 42px;
  text-transform: uppercase;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  header .primary-menu {
    padding-top: 12px;
    line-height: 22px;
  }
}
header ul.primary-menu {
  position: relative;
  top: -4px;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  header ul.primary-menu {
    margin-top: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
}
header ul.primary-menu li {
  margin: 0;
  font-family: 'Gudea', sans-serif;
  list-style: none outside none;
  display: inline-block;
  margin-left: 12px;
}
header ul.primary-menu li i {
  font-size: 14px;
  position: relative;
  top: -8px;
  left: -3px;
}
@media only screen and (max-width: 767px) {
  header ul.primary-menu li {
    width: 100%;
    clear: both;
    text-align: center;
    margin-left: 0;
    font-size: 22px;
  }
}
header ul.primary-menu li a {
  padding: 0;
}
header #name {
  text-transform: uppercase;
  font-size: 26px;
  padding-top: 6px;
}
@media only screen and (max-width: 767px) {
  header #name {
    text-align: center;
    line-height: 40px;
  }
}
header #title {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  header #title {
    text-align: center;
  }
}

footer {
  font-family: 'Arvo', serif;
  height: 100%;
  margin-top: 24px;
  padding-top: 12px;
}
footer .footer-inner {
  text-align: right;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
footer .icons {
  font-size: 36px;
  line-height: 36px;
  margin: 0 0 4px 0;
}
footer .icons a {
  display: inline-block;
  height: 48px;
  width: 36px;
  position: relative;
  margin: 0 0 0 8px;
}
footer .icons i {
  color: #2e3846;
  border-radius: 2px;
  position: relative;
  width: 25px;
  padding: 6px;
}
footer .icons i:hover {
  color: #dd4a38;
}
footer .copyright {
  font-size: 11px;
  color: #A2A9B4;
  margin-right: -11px;
  padding-bottom: 12px;
}

#page-research {
  margin-top: 28px;
}
#page-research .venue {
  font-size: 13px;
}
#page-research h3 {
  margin-bottom: 18px;
}

.research-list {
  margin: 0;
  font-family: 'Gudea', sans-serif;
  list-style: none outside none;
  display: inline-block;
}
.research-list .title {
  display: inline-block;
}
.research-list li {
  font-size: 18px;
  display: block;
  margin-bottom: 18px;
}
.research-list a {
  display: inline-block;
  position: relative;
  padding: 0;
  font-size: 16px;
  line-height: 24px;
  padding-left: 8px;
  border-left: 1px dotted #2e3846;
}

.column {
  width: 468px;
}

#page-about .right-column img {
  margin-top: 24px;
}
#page-about .about-welcome {
  margin-left: auto;
  margin-right: auto;
  width: 755px;
}
#page-about .about-welcome img {
  display: inline-block;
}
#page-about .about-welcome h2, #page-about .about-welcome h3, #page-about .about-welcome p {
  margin: 0;
}
@media only screen and (max-width: 767px) {
  #page-about .about-welcome {
    display: none;
  }
}
#page-about .about-welcome-text {
  background: none repeat scroll 0 0 rgba(162, 169, 180, 0.5);
  border-radius: 2px;
  left: 268px;
  padding: 8px;
  position: absolute;
  top: 30px;
}
#page-about .about-definition {
  font-size: 20px;
  font-weight: 100;
  line-height: 24px;
}
#page-about .about-example {
  font-size: 14px;
  font-weight: 100;
  line-height: 25px;
  margin: 0 0 0 12px;
}
#page-about .about-text {
  line-height: 26px;
  margin-bottom: 25px;
  font-size: 14px;
}

.front-grid {
  margin-top: 24px;
}
.front-grid .columns {
  transition: all 0.25s ease 0s;
}
.front-grid .columns *, .front-grid .columns *:before, .front-grid .columns *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.front-grid .columns:hover .grid-description {
  opacity: 1.0;
}
.front-grid .grid-item {
  position: relative;
  z-index: 40;
  line-height: 1;
}
.front-grid .grid-description {
  position: absolute;
  bottom: 2px;
  padding: 16px 8px 18px 8px;
  width: 100%;
  background: rgba(0, 0, 0, 0.833);
  color: #f1f1f1;
  opacity: 0.0;
  transition: all 0.25s ease 0s;
  z-index: 50;
}
.front-grid .grid-description .front-project-title {
  display: block;
  font-size: 14px;
}
.front-grid .grid-description .front-project-summary {
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  .front-grid .row {
    margin-bottom: 0;
  }
  .front-grid .grid-item {
    text-align: right;
    margin-bottom: 20px;
  }
  .front-grid .grid-description {
    background: rgba(0, 0, 0, 0.075);
    text-align: left;
    opacity: 1.0;
    top: 0px;
    width: 66%;
    margin-left: 33%;
    color: #000000;
  }
  .front-grid .grid-image {
    width: 33%;
  }
}

.cover-photo {
  margin-bottom: 32px;
}

.gallery {
  margin-top: 38px !important;
}
@media only screen and (max-width: 767px) {
  .gallery {
    text-align: center;
  }
}
.gallery a {
  border: none;
}
.gallery img {
  line-height: 1;
}

.second-gallery {
  margin-top: 14px;
}
