/* Thomsoon.com - OnePage CSS Responsive theme
-- version 1.0
-- Copyright (c) 2014 Thomsoon.com
-- licensed under the MIT
--
-- http://www.thomsoon.com/
--
*/

/* Font Google - strong reaload time */
@import url(http://fonts.googleapis.com/css?family=Lato:400,300,100,700,900&subset=latin,latin-ext);


/*
 * Theme Name: Onepage
 * Author: Thomsoon
 * Created: 14/11/2014
 */


.preloader{
  position:fixed;
  width:100%;
  height:100%;
  background:white;
  z-index:99999;
}
 
.preloader .item{
  position:absolute;
  width:50px;
  height:50px;
  left:49%;
  top:50%;

} 


html, body{
  font-family: 'Source Sans', sans-serif;
  font-size:15px;
  -webkit-font-smoothing: subpixel-antialiased!important;
  font-weight:400;
  height:100%;
}

a{
  text-decoration:none;
  outline:none;
  font-size:14px;
  font-weight:400;
  font-family: 'Source Sans', sans-serif;
}

h1{
  font-size:32px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:9px;
  line-height:1.2;
  font-family: 'Source Sans', sans-serif;
  font-style: bold;
}

p{
  font-size:14px;
  line-height: 20px;
  color:black;
  font-weight:300;
  letter-spacing:1px;
  margin-top:40px;
}

h1 span{
  color:#2fa68e;
}


::selection {
  background: black;
  color:white;
}

::-moz-selection {
  background: white;
  color: white;
}


.container{
  position:absolute;
  width:100%;
  height:100%;
}






/* Start page */

.start-page{
  position:relative;
  width:100%;
  height:100%;
  z-index:10;
  background: #dfdfdf;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.start-page hr{
  color: white;
  margin-top:30px;
  background-color: black;
  height: 2px;
  width:690px;
  border:0;

}

.start-page .opacity{
  position:absolute;
  width:100%;
  height:100%;
}


.start-page .content{
  position:relative;
  width:900px;
  margin:0 auto;
  height:100%;
}

.start-page .content .text{
  position:absolute;
  text-align:center;
  margin:auto;
  top:0; 
  left:0; 
  bottom:0; 
  right:0;
  width:900px;
  height:300px;
/*  background: blue;
*/}

.start-page .content .text .logo{
  width:900px;
  height:82px;
  margin:0 auto 140px;  
}

.start-page .content .arrow-down{
  position: absolute;
  bottom: 110px;
  left: 50%;
  margin-left: -10px;
  width: 50px;
  height: 70px;
  display: block;
  -webkit-animation: bounce-fade 1.2s infinite; /* Safari 4+ */
  -moz-animation:    bounce-fade 1.2s infinite; /* Fx 5+ */
  -o-animation:      bounce-fade 1.2s infinite; /* Opera 12+ */
   animation:        bounce-fade 1.2s infinite; /* IE 10+ */
}


@-webkit-keyframes bounce-fade {
    0%   { opacity: 0; bottom: 40px; }
    100% { opacity: 1; bottom: 25px; }
}
@-moz-keyframes bounce-fade {
    0%   { opacity: 0; bottom: 40px; }
    100% { opacity: 1; bottom: 25px; }
}
@-o-keyframes bounce-fade {
    0%   { opacity: 0; bottom: 40px; }
    100% { opacity: 1; bottom: 25px; }
}
@keyframes bounce-fade {
    0%   { opacity: 0; bottom: 40px; }
    100% { opacity: 1; bottom: 25px; }
}


/* Menu */

.menu{
  position:relative;
  width:100%;
  height:60px;
  background:white;
  border-bottom:1px solid #f2f2f2;
  z-index:1000;
}

.menu-content{
  width:900px;
  position:relative;
  margin:0 auto;

}

.menu-content .logo {
   width: 23px;
  height: 60px;
  float:left;
  list-style: none;
}

.menu-content ul{
  width:500px;
  float:right;
  text-align:right;
  list-style:none;
/*  background: green;
*/}

.menu-content li{
   display: inline-block;
   position: relative;
}

.menu-content li a{
  color:#333;
  font-size:16px;
  display: block;
  padding: 0 0px 0 40px;
  line-height:65px;
  -webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	-ms-transition: all 0.2s ease-in;
	-o-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
/*  background: yellow;
*/}

.menu-content li.active a{
  text-decoration: underline;
}

.menu-content li a:hover{
  color: grey;
}


/* Portfolio grid */

.grid{
  margin-top:70px;
  width:100%;
  position:relative;
  margin-bottom:250px;
  overflow:hidden;
}

.grid li{
  width:442px;
  height: 333px;
  margin: 0px 8px 16px 8px;
  float: left;
  position: relative;
  overflow: hidden;
/*  background: green;
*/}

.grid img{
  width:442px;
  height: 100%;
  float: left;
  position: relative;
}

.grid .text {
  position: absolute;
  width: 442px;
  height:100%;
  background: black;
  z-index: 2;
  opacity:0;
    -webkit-transition: all 0.6s ease-in;
	-moz-transition: all 0.6s ease-in;
	-ms-transition: all 0.6s ease-in;
	-o-transition: all 0.6s ease-in;
	transition: all 0.6s ease-in;
}

.grid .text:hover {
  opacity:1;
}

/*.grid .no-text {
  position: absolute;
  width: 435px;
  height:100%;
  background: rgba(173,160,116,0.5);
  z-index: 2;
  opacity:0;
  -webkit-transition: all 0.6s ease-in;
	-moz-transition: all 0.6s ease-in;
	-ms-transition: all 0.6s ease-in;
	-o-transition: all 0.6s ease-in;
	transition: all 0.6s ease-in;
}

.grid .no-text:hover {
  opacity:1;
}*/

.grid p {
  font-size: 18px;
  text-align:center;
  line-height:26px;
  margin-top:130px;
  font-weight: 400;
  letter-spacing:1px;
  color: #FFF;
  font-family: 'Source Sans', sans-serif;
}

.grid p.description {
  font-size: 12px;
  margin-top:20px;
  text-align:center;
  line-height:20px;
  font-weight: 400;
  color: #FFF;
  position:relative;
  font-family: 'Source Sans', sans-serif;
}

.clear { 
    clear:both; 
}

/* Contact */

.contact{
  position:relative;
  width:100%;
  background:white;
  z-index:10;
  overflow:hidden;
  margin-bottom: 80px;  
}


.contact .content{
  position:relative;
  width:900px;
  height:auto;
  margin:80px auto 0px;
/*  background:green;
*/  z-index:10;
}

.contact h1{
  font-size:32px;
  color:black;
  text-align:center;
  margin-top:120px;
  letter-spacing:6px;
  text-transform:uppercase;
  line-height:1.2;
}

.contact hr{
  color: black;
  margin-top:20px;
  background-color: black;
  height: 2px;
  width:200px;
  border:0;
}

.contact p{
  color: black;
  margin:80px auto;
  width:900px;
  line-height:26px;
  letter-spacing:0;
  font-size:20px;
  font-weight:400;
  text-align:center;
/*  background: yellow;
*/}

/*strong{
  font-weight:700;

}

input{

  width:180px;
  height:40px;
  background:#f8f7f7;
  border-top:1px solid #333;
  border-bottom:0;
  border-left:0;
  border-right:0;
  color:#333;
  font-weight:300;
  line-height:40px;
  padding-left:15px;
  font-family: 'Lato', sans-serif;
  font-size:14px;
  margin-bottom:10px;
}

input:focus{background:#f4f4f4;}

textarea{

  width:420px;
  height:150px;
  border-top:1px solid #333;
  border-bottom:0;
  line-height:20px;
  border-left:0;
  border-right:0;
  background:#f8f7f7;
  color:#333;
  font-weight:300;
  padding:15px 0 0 15px;
  font-family: 'Lato', sans-serif;
  font-size:14px;
  margin-bottom:10px;
}

textarea:focus{background:#f4f4f4;}


input.submit{
  width:100px;
  height:34px;
  float:right;
  margin:20px 10px 0 0;
  border:0;
  font-weight:700;
  text-align:right;
  background:none;
  -webkit-transition: all 0.6s ease-in;
	-moz-transition: all 0.6s ease-in;
	-ms-transition: all 0.6s ease-in;
	-o-transition: all 0.6s ease-in;
	transition: all 0.6s ease-in;
}*/

/* About us */

.about-us{
  position:relative;
  width:100%;
  height:900px;
  background:#dfdfdf;
  z-index:10;
}

.about-us .content{
  position:relative;
  width:900px;
  margin: 0 auto;
  overflow: hidden;
/*  background: blue;
*/}

.about-us h1{
  font-size:32px;
  color:black;
  text-align:center;
  margin-top:120px;
  letter-spacing:6px;
  text-transform:uppercase;
  line-height:1.2;

}

.about-us hr{
  color: black;
  background-color: black;
  margin-top: 20px;
  height: 2px;
  width:225px;
  border:0;

}

.about-us p.title{
  color: black;
  margin:100px auto 0;
  width:900px;
  line-height:26px;
  letter-spacing:0;
  font-size:20px;
  text-align:left;
  font-weight: 400;
  font-family: 'Source Sans', sans-serif;
}

.about-us h2{
  text-align:center;
  margin-top:50px;
  font-size:26px;
  color:black;
  line-height:1.2;
  letter-spacing:6px;
  width:100%;
  position:relative;
  font-weight:400;
}

.about-us p{
  text-align:center;
  font-size:14px;
  width:250px;
  margin:30px auto;
  color:#a4a4a4;
  line-height:26px;
  letter-spacing:0;
  position:relative;
  font-weight:300;
}

/* Portfolio */


.portfolio{
  position:relative;
  width:100%;
  z-index:10;
}

.portfolio .portfolio-margin{
  position:relative;
  width:1374px;
/*  width:916px;*/
  overflow:hidden;
  margin:0 auto;
/*  background: yellow;
*/}

.portfolio .portfolio-margin .c-filter{
  width: 1374px;
  height: 60px;
  margin-top: 100px;
}

.c-filter ul{
  width: 745px;
  margin-left: 23%;
  }

.c-filter__links li{
   display: inline-block;
   position: relative;

}

.c-filter__links a.active {
  text-decoration: underline;
}


.menu-content li a:hover{
  color: grey;
}


.c-filter__links a{
  color:#333;
  font-size:16px;
  text-align: center;
  display: block;
  padding: 0 20px 0 20px;
  line-height:60px;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
/*  background: yellow;
*/}


/*_______________________________________________*/


.c-filter__target:not(:target) ~ .c-filter__item {
  opacity: 1;
  visibility: visible;
}

/**
 * As soon as we target anything, turn all items ‘off’.
 */
.c-filter__target:target ~ .c-filter__item {
  opacity: 0.5;
  /*visibility: hidden;*/
}

[id="tag:store"]:target ~ [data-tag~="store"],
[id="tag:css"]:target ~ [data-tag~="css"],
[id="tag:accessibility"]:target ~ [data-tag~="accessibility"],
[id="tag:performance"]:target ~ [data-tag~="performance"],
[id="tag:vim"]:target ~ [data-tag~="vim"] {
  opacity: 1;
  visibility: visible;
}

[id="tag:store"]:target ~ .c-filter__links [href="#tag:store"],
[id="tag:css"]:target ~ .c-filter__links [href="#tag:css"],
[id="tag:accessibility"]:target ~ .c-filter__links [href="#tag:accessibility"], [id="tag:performance"]:target ~ .c-filter__links [href="#tag:performance"],
[id="tag:vim"]:target ~ .c-filter__links [href="#tag:vim"] {
  background-color: #f43059;
  color: #fff;
  pointer-events: none;
}
/*
.c-article {
  background-color: #fff;
  padding: 1em;
  border-bottom: 1px solid #e5e5e5;
}*/




.portfolio .portfolio-margin .read-more{
  width:183px;
  height:47px;
  position:relative;
  margin:50px auto 100px;
  line-height:47px;
  border:1px solid #333333;
  text-transform:uppercase;
  text-align:center;
  color:#333333;
  cursor:pointer;
  font-size:14px;
  background:none;
  -webkit-transition: all 0.6s ease-in;
  -moz-transition: all 0.6s ease-in;
  -ms-transition: all 0.6s ease-in;
  -o-transition: all 0.6s ease-in;
  transition: all 0.6s ease-in;
  letter-spacing:1px;
}

.portfolio .portfolio-margin .read-more:hover{
  background:#ada074;
  color:white;
  border:1px solid #ada074;
}

.portfolio .portfolio-margin h1{
  font-size:32px;
  color:black;
  text-align:center;
  margin-top:120px;
  letter-spacing:6px;
  text-transform:uppercase;
  line-height:1.2;
}

.portfolio .portfolio-margin h2{
  font-size:34px;
  color:black;
  text-align:center;
  letter-spacing:6px;
  text-transform:uppercase;
  line-height:1.2;
}

.portfolio .portfolio-margin hr{
  color: black;
  margin-top:20px;
  background-color: black;
  height: 2px;
  width:230px;
  border:0;
}


/* Footer */


.footer{
  position:relative;
  bottom:0;
  width:100%;
  background:#dfdfdf;
}

.footer .logo{

  position:relative;
  width:300px;
  height:35px;
  margin: 0 auto;
  padding-top:50px;
/*  background: green;
*/
}

.footer .menu-footer{
  width:80%;
  text-align:center;
  margin:0 auto;
  padding-top:30px;
  overflow: hidden;
  position:relative;  
/*  background: yellow;
*/}


.footer .menu-footer a{
  line-height:46px;
  padding:10px;
  color:black ;
  font-family: 'Source Sans', sans-serif;
  -webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	-ms-transition: all 0.2s ease-in;
	-o-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}

/*.footer .menu-footer a:hover{
  text-decoration-color: underline 1px;
}*/


.footer .copyright{
  width:80%;
  position:relative;
  font-weight:300;
  margin:0 auto;
  padding:30px 0 50px;
  text-align:center;
  font-size:14px;
  line-height:36px;
  color:black;
}

