*{
	color: #3c3c3c;
	font-family: 'PT Sans Narrow', sans-serif;	
}

html, body {
  height: 100%;
}
.main{	overflow: hidden;}

body{
	background: #00c0ff;	
}

h1, h2, h3, h4, h5, h6{
	color: #3c3c3c;
	text-transform: uppercase;
	font-family: 'PT Sans Narrow', sans-serif;
}

.button.hollow{
  border-color: #3c3c3c;
  color: #3c3c3c;
  text-transform: uppercase;
  font-weight: bold;
  border-radius: 0;
}

.button.hollow{
  border-color: #3c3c3c;
  color: #3c3c3c;
  text-transform: uppercase;
  font-weight: bold;
  border-radius: 0;
}

.button.hollow:hover{
	background: rgba(60,60,60,.1);
	color: #000;
	border-color: #000;
}

.gallery-expander a.button.hollow,
.gallery-expander a.button.hollow span{
	border-color: #ccc;
	color: #ccc;
}
.gallery-expander a.button.hollow:hover,
.gallery-expander a.button.hollow:hover span{
	border-color: #fff;
	color: #fff;
}
.white .button.hollow:hover{
	background: rgba(60,60,60,.3);
}

.blue .button{
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
	-moz-box-shadow:    0px 0px 5px 0px rgba(0, 0, 0, 0.3);
	box-shadow:         0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

.icon{
	font-size: 1.5em;
	color: #3c3c3c;
}

.iconList{
	list-style: none;
	margin: 0;
	padding: 0;
}

.iconList li{
	display: inline-block;
	cursor: pointer;
	position: relative;
}

.gallery-items .iconList i{
	color: #ddd;
	font-size: 23px;
}

.has-tip{
	border:0;
	cursor: pointer;
}

.tooltip {
	background: #3c3c3c;
	color: #fff;
	border-radius: 0;
	text-transform: uppercase;

	-webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
	-moz-box-shadow:    0 0 2px 1px rgba(0, 0, 0, 0.2);
	box-shadow:         0 0 2px 1px rgba(0, 0, 0, 0.2);
}

.galleryIcons .tooltip{
	background: #fff;
	color: #3c3c3c;
}


.tooltip::before { border-color: transparent transparent #3c3c3c;}
.tooltip.top::before {border-color: #3c3c3c transparent transparent;}
.tooltip.left::before {border-color: transparent transparent transparent #3c3c3c;}
.tooltip.right::before {border-color: transparent #3c3c3c transparent transparent;}

.galleryIcons .tooltip::before { border-color: transparent transparent #fff;}
.galleryIcons .tooltip.top::before {border-color: #fff transparent transparent;}
.galleryIcons .tooltip.left::before {border-color: transparent transparent transparent #fff;}
.galleryIcons .tooltip.right::before {border-color: transparent #fff transparent transparent;}






.headerNav h1{
	font-size: 20px;   
	line-height: 1;
    padding: 0.7rem 1rem;
}


.headerNav .menu{
	text-align: right;
}

.headerNav .menu > li{
	display: inline-block;
}

.menu > li > a{
	color: #3c3c3c;
}
.menu > li > a:hover{
	color: #000;
}






section{
	position: relative;
	padding-top: 150px;
	padding-bottom: 150px;
}

.white{
	background: #fff;
	padding-top: 100px;

	-webkit-box-shadow: 0px -0px 5px 0px rgba(0, 0, 0, 0.7);
	-moz-box-shadow:    0px -0px 5px 0px rgba(0, 0, 0, 0.7);
	box-shadow:         0px -0px 5px 0px rgba(0, 0, 0, 0.7);
}

.blue{
	text-shadow: 0px 0px 3px rgba(0, 0, 0, .2);
}

#home{ padding-top: 0; }
#footer{ padding: 15px 0;}
#footer p{ margin-bottom: 0;}

#home .text-center h1{
	margin-top: 75px;
}




.main{position: relative;}

.layer1{
	position: absolute;
	top:0;
	bottom: 0;
	height: 200%;
	width: 100%;
	background-image: url('../img/dots.png');
    opacity: .4;
	z-index: -1;
}

.layer2{
	position: absolute;
	top:0;
	bottom: 0;
	height: 100%;
	width: 100%;
	z-index: -2;
    background-image: url('../img/dots.png');
    opacity: .2;
    background-size: 75%;
}

section.white:before{
	content: "";
	height: 40px;
	width: 20%;
	background: #fff;
	position: absolute;
	top:-40px;
	right: 80%;

	-webkit-box-shadow: 0px -2px 2px 0px rgba(0, 0, 0, 0.4);
	-moz-box-shadow:    0px -2px 2px 0px rgba(0, 0, 0, 0.4);
	box-shadow:         0px -2px 2px 0px rgba(0, 0, 0, 0.4);
}

section.white:after{
	content: "";
	width: 57px;
	height: 57px;
	background: #fff;

	position: absolute;
	top:-40px;
	right:80%;
	margin-right: -57px;

	-webkit-transform: rotate(45deg);
	-ms-transform:     rotate(45deg);
	transform:         rotate(45deg);

	-webkit-transform-origin: top left;
	-ms-transform-origin:     top left;
	transform-origin:         top left;

	-webkit-box-shadow: 0px -3px 2px -2px rgba(0, 0, 0, 0.4);
	-moz-box-shadow:    0px -3px 2px -2px rgba(0, 0, 0, 0.4);
	box-shadow:         0px -3px 2px -2px rgba(0, 0, 0, 0.4);
}

.white + section.blue:before{
	content: "";
	height: 40px;
	width: 20%;
	background: #fff;
	position: absolute;
	top:0;
	left: 80%;

	
	-webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.4);
	-moz-box-shadow:    0px 2px 2px 0px rgba(0, 0, 0, 0.4);
	box-shadow:         0px 2px 2px 0px rgba(0, 0, 0, 0.4);
}

.white + section.blue:after{
content: "";
	width: 57px;
	height: 57px;
	background: #fff;

	position: absolute;
	top:-40px;
	left:80%;
	margin-right: -57px;

	-webkit-transform: rotate(45deg);
	-ms-transform:     rotate(45deg);
	transform:         rotate(45deg);

	-webkit-transform-origin: top left;
	-ms-transform-origin:     top left;
	transform-origin:         top left;

	-webkit-box-shadow: 0px 3px 2px -2px rgba(0, 0, 0, 0.4);
	-moz-box-shadow:    0px 3px 2px -2px rgba(0, 0, 0, 0.4);
	box-shadow:         0px 3px 2px -2px rgba(0, 0, 0, 0.4);
}













.port{
	height: 100%;
	width: 100%;
	background-position: center;
	background-size: cover;
	border:1px solid #3c3c3c;
	position: relative;
}

.port:before{
	position: absolute;
	content: "";
	height: 100%;
	width: 100%;
	border:7px solid #fff;
}











.skillBox{
	background: rgba(0,0,0,.2);
	width: 100%;
	padding: 0 15px;
	overflow: hidden;
}

.skillBox .bars{
	padding-top: 1rem;
}

.progress{
	border-radius: 0;
	height: 1.5rem;
	background: rgba(0,0,0,.05);

	-webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
	-moz-box-shadow:    0px 0px 5px 0px rgba(0, 0, 0, 0.3);
	box-shadow:         0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

.progress-meter{
	border-radius: 0;
	height: 1.5rem;
	background: #9700EF;
	transition: all 2s;
}

.progress.offscreen .progress-meter{
	width: 25% !important;
}

.progress:nth-child(2) .progress-meter{background: #C500EF;}
.progress:nth-child(3) .progress-meter{background: #F000EC;}
.progress:nth-child(4) .progress-meter{background: #F000BE;}
.progress:nth-child(5) .progress-meter{background: #F10090;}
.progress:nth-child(6) .progress-meter{background: #F10062;}
.progress:nth-child(7) .progress-meter{background: #F20034;}
.progress:nth-child(8) .progress-meter{background: #F20006;}
.progress:nth-child(9) .progress-meter{background: #F32800;}
.progress:nth-child(10) .progress-meter{background: #F35700;}
.progress:nth-child(11) .progress-meter{background: #F48600;}
.progress:nth-child(12) .progress-meter{background: #F5B600;}

.progress-meter-text{
	font-size: .75rem;
	letter-spacing: .5px;
	text-shadow: 0px 0px 3px rgba(0, 0, 0, .5);
	text-transform: uppercase;
	left:0;
	padding-left: 1rem;
	transform: translate(0%, -50%);
}


.skillBox .guide{
	list-style: none;
	padding: 0;
	margin: 5px 0 0;
	width: 100%;
	position: relative;
	height: 75px;
	border-top:1px solid #fff;
}

.skillBox li{
	color: #fff;
	padding: 0;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1rem;
	text-shadow: 0px 0px 3px rgba(0, 0, 0, .2);

	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);

    -ms-transform-origin: left center;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.skillBox li:nth-child(2) { left: 25%;}
.skillBox li:nth-child(3) { left: 50%;}
.skillBox li:nth-child(4) { left: 75%;}
.skillBox li:nth-child(5) { left: 100%;}

















.menu.filterlist .btn:not(:last-child) a::after{
    content: "/";
    margin: 0 0 0 .5rem ;
	color: #3c3c3c;
}

.menu > li > a{
	color: #3c3c3c;
}
.menu > li > a:hover{
	color: #000;
}

.menu.filterlist .btn.active a{
	color: #00B4E6;
}

h4{
	margin-top: 30px;
}


.gallery-expander img{
	border:1px solid #2c2c2c;
}

.gallery.row.shrink{
margin-left: auto;
margin-right: auto;
}

.row.shrink > .column, .row.shrink > .columns{
	padding: .3rem;
}

.hidden {
	opacity: .5;
	background: red;
}


.close-button{
	line-height: 1;
	font-size: 1.5em;
}

.close-button span{
	color: #bbb;
}


.gallery-items { font-size: 0; }


.gallery-expander {
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 500ms ease;
  -o-transition: max-height 500ms ease;
  transition: max-height 500ms ease;
}

.gallery-contents { position: relative; }

.gallery-contents:after {
  display: block;
  position: absolute;
  bottom: -15px;
  left: 50%;
  margin-left: -30px;
  width: 0;
  height: 0;
  content: '';
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom-style: solid;
  border-bottom-width: 0px;
  -webkit-transition: border-bottom-width 500ms ease;
  -o-transition: border-bottom-width 500ms ease;
  transition: border-bottom-width 500ms ease;
}

.gallery-item.active .gallery-contents:after { border-bottom-width: 30px; }

.gallery-item {
  text-align: left;
  font-size: 25px;
}

.gallery-item .thumbnail {
  cursor: pointer;
}


.gallery-item .title {
  margin-top: 20px;
  padding-bottom: 20px;
  color: #fff;
}

.gallery-contents:after { border-bottom-color: #3c3c3c; }

.gallery-expander { background: #3c3c3c; }

.gallery-expander-contents {
  margin: 0 auto;
  padding: 20px 0;
  color: #fff;
}


.gallery-expander-contents .row{
	margin: 0 auto;
}

.gallery-expander-contents:after {
  clear: both;
  display: table;
  content: '';
}

.gallery-expander-contents div.contents {
  margin-top: 10px;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding: 10px 0;
  font-size: 14px;
  line-height: 24px;
  color: #bbb;
}

.gallery-expander-contents div.image > img {
  width: 100%;
  display: block;
}

.gallery-trigger img{
	border:1px solid #3c3c3c;
	padding: 7px;
	margin: 0.9375rem 0;
	background: #fff;
	position: relative;

	-webkit-filter: grayscale(.5);
	filter: grayscale(.5);

	transition: all .5s;
}

.gallery-trigger.disable img{ 
	opacity: .3;
	  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.gallery-trigger img:hover{
	  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}

.gallery-trigger:hover .thumb:before{opacity: .05;}
.active .gallery-trigger .thumb:before{opacity: 0;}

.contents{
	margin-bottom: 7px;
}

.thumbs .column{
	padding-bottom: 0.9375rem;
	padding-top: 0.9375rem;
}

.gallery.row{
margin-left: -0.9375rem;
    margin-right: -0.9375rem;	
}












form .button{
	margin-top: 1em;
}

label{
	text-align: left;
}

.textinput {
  margin: 1em 0;
  position: relative;
  width: 100%;
}

.textinput input,
.textinput label {
  cursor: text;
  font-size: 1em;
  transition: all 0.15s ease;
}

input:not([type=submit]):not([type=file]),
textarea {
	background: #fff;
	color: #000;
	border: 0;
	height: auto;
	padding: 1rem;

	border-radius: 0;

	-webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
	-moz-box-shadow:    0px 0px 5px 0px rgba(0, 0, 0, 0.3);
	box-shadow:         0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

input:not([type=submit]):not([type=file]):focus,
textarea:focus {	
	background: #fff;
	color: #000;
	border: 0;

	-webkit-box-shadow: none;
	-moz-box-shadow:    none;
	box-shadow:         none;
}

textarea{
	height: 125px;
}

.textinput label {
  color: #010101;
  padding: 0.5em 1%;
  position: absolute;
  z-index: 2;
  top:3px;
  left: 0.5rem;
  letter-spacing: 1px;
}

.textinput input.filled ~ label,
.textinput input:focus ~ label,
.textinput textarea.filled ~ label,
.textinput textarea:focus ~ label  {
  font-size: 0.7em;
  color: #333;
  position: absolute;
  top: -2.35em;
  left: 0.3rem;
  font-style: normal;
  letter-spacing: .5px;
}

.textinput input[type="text"].filled,
.textinput input[type="email"].filled:valid,
.textinput textarea.filled {
  background: #e1e1e1;
}