html {
  position: relative;
  min-height: 100%; }

body {
  font: 100% "Raleway", sans-serif;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  background: #fafafa;
  margin: 0 0 100px 0;
  /* bottom = footer height */ }

h2, h3, strong {
  font-weight: 600; }

.float-left {
  float: left;
  position: relative;
  top: -10px;
  margin-right: 15px; }

.float-right {
  float: right;
  position: relative;
  top: -10px;
  margin-right: 15px; }

.container {
  margin: 0 auto;
  width: 90%;
  border-top: 5px solid #a4d800; }

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

#logolink {
  display: block;
  width: 150px; }

#logo {
  display: block;
  width: 132px;
  height: 50px;
  margin: 40px 0 30px 10px; }

#logo path {
  fill: #a4d800;
  stroke: #a4d800; }

/* filters */
#filter {
  width: 90%;
  clear: both;
  padding: 20px 0;
  overflow: hidden; }
  @media (max-width: 559px) {
    #filter {
      padding-top: 0; } }

#filter ul {
  list-style-type: none;
  margin: 0 10px;
  padding: 0;
  float: left; }

#filter ul li {
  float: left;
  margin: 0; }
  @media (max-width: 559px) {
    #filter ul li {
      clear: both;
      margin: 5px 0; } }

#filter ul li a {
  display: block;
  background: #333;
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  padding: 5px 10px; }

#filter ul li a.active {
  background: #a4d800;
  color: #fff;
  text-shadow: 1px 1px #85b200; }

#filter ul li a .fa-circle,
#filter ul li a.active .fa-check-circle {
  display: inline-block; }

#filter ul li a .fa-check-circle,
#filter ul li a.active .fa-circle {
  display: none; }

/* grid */
#grid {
  clear: both;
  display: block;
  overflow: hidden; }

.item {
  float: left;
  width: 100%;
  padding: 100% 0 0 0;
  margin: 0 0 20px 0;
  position: relative; }

@media (min-width: 667px) and (max-width: 999px) {
  .item {
    width: 50%;
    padding: 50% 0 0 0; } }

@media (min-width: 1000px) and (max-width: 1333px) {
  .item {
    width: 33.3%;
    padding: 33.3% 0 0 0; } }
  @media (min-width: 1334px) {
    .item {
      width: 25%;
      padding: 25% 0 0 0; } }

.itemlink {
  position: absolute;
  top: 0;
  left: 10px;
  width: 95%;
  width: calc(100% - 20px);
  height: 100%;
  background: #333; }

.img {
  width: 100%;
  height: 85%;
  height: calc(100% - 80px);
  background: center center no-repeat;
  background-size: cover; }

.item-hover {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  background-color: rgba(1, 3, 7, 0.8);
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }

.item-hover .view-btn {
  position: absolute;
  top: 40%;
  top: calc(50% - 64px);
  width: 100%;
  opacity: 0;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 35px; }

.item-hover .view-btn span {
  color: #fff;
  background: #a4d800;
  border: 2px solid #a4d800;
  width: 60px;
  height: 60px;
  display: inline-block;
  line-height: 58px;
  border-radius: 50%;
  text-align: center; }

.item-description {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 14px;
  line-height: 16px;
  color: #fff;
  width: 100%;
  background: #333;
  padding: 0 0 5px 15px;
  box-sizing: border-box;
  min-height: 80px; }

.item-description h3 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px; }

.item:hover .item-hover,
.item:hover .item-hover .view-btn {
  opacity: 1; }

.item:hover .item-description {
  background: #111; }

.content {
  float: left;
  width: 100%;
  background: #fff;
  border: 5px solid #eee;
  border-width: 5px 0; }

.content .txt {
  float: left;
  width: 100%; }

@media (min-width: 667px) and (max-width: 999px) {
  .content .txt {
    width: 50%; } }

@media (min-width: 1000px) and (max-width: 1333px) {
  .content .txt {
    width: 33%; } }
  @media (min-width: 1334px) {
    .content .txt {
      width: 50%; } }

.content .txt h2 {
  font-size: 18px; }

.content .txt h2, .content .txt p {
  padding: 0 10px; }

.content .imgs {
  float: right;
  width: 100%; }

@media (min-width: 667px) and (max-width: 999px) {
  .content .imgs {
    width: calc(50% - 10px); } }

@media (min-width: 1000px) and (max-width: 1333px) {
  .content .imgs {
    width: 66%; } }
  @media (min-width: 1334px) {
    .content .imgs {
      width: calc(50% - 10px); } }

.content .imgs {
  background: none; }

.content .imgs img {
  width: 98%;
  width: calc(100% - 10px);
  margin: 20px 0 0 0; }

.content p.c {
  font-size: 0.8em;
  color: #666; }

.content span.c {
  display: block;
  height: 20px; }

#footer {
  width: 100%;
  height: 100px;
  background: #a4d800;
  position: absolute;
  left: 0;
  bottom: 0; }

#footer .container {
  border: none; }

#footer p {
  margin: 32px 10px 0 10px;
  font-size: 0.8em;
  color: #fff;
  text-transform: uppercase;
  text-shadow: 1px 1px #85b200; }

#footer p a {
  color: #fff; }

#footer p a#backtotop {
  float: right;
  text-decoration: none; }
