body, html {
	height: 100%;
}
body {
	font-family: 'Source Sans Pro', 'Helvetica', 'Arial', sans-serif; color: #000; overflow-x: hidden;
}

/* GENERIC STYLES */

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

h3 {
	font-size: 24px;
}

h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
	display: block; color: #008da9; margin-bottom: 13px;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
	display: block;
}

.images {
	padding: 8px; border: 1px solid #d8d8d8;
}

.col1-4 .images {
	padding: 0; border: none; margin-bottom: 15px;
}

.images img {
	vertical-align: bottom;
}

.galeria img {
    width: 150px;
    border: 1px solid #ddd;
    padding: 6px;
}

a {
	text-decoration: none; color: #000; font-weight: 600;
}

a em, em span {
	color: #888888;
}

em {
	font-style: italic;
}

strong {
	font-weight: 700;
}

p, dd, blockquote {
	line-height: 26px; font-size: 18px; font-weight: 300;
}

blockquote {
	font-size: 24px; line-height: 32px; font-style: italic; padding: 5px 0 25px;
}

a.button {
	text-transform: uppercase; display: inline-block; background: #008da9; padding: 14px 24px; margin: 0 8px 8px 0 ; color: #fff; border-radius: 3px; text-shadow: none;
}

a.button:hover {
	background: #e45554 !important;
}

header#main a.button, header#main input {
	background: #474e5d; float: right; margin: -3px 40px 0 0; color: #fff;
}

header#main a.button:hover {
	background: #353a46 !important;
}

header#main input {
	display: none; max-width: 160px; margin: -5px 25px 0 0; max-height: 46px;
}

.images a {
	position: relative; display: block;
}

span.images {
	display: inline-block; width: 50%; margin: 0; padding: 0; border: none; float: left;
}

.rollover {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #008da9; opacity: 0.8; display: none;
}

.rollover i {
	background: #fff; padding: 12px 13px 8px; border-radius: 999px; display: inline-block; color: #008da9; position: absolute; margin: -22px 0 0 -22px; left: 50%; top: 50%;
}

.rollover i.icon-plus.icon-2x {
	font-size: 23px !important;
}

.remove-bottom {
	margin-bottom: 0;
}

.floatleft {
	float: left;
}

.floatright {
	float: right;
}

input, textarea {
	border: none; background: none; width: 100%; padding: 15px; font-size: 18px; font-weight: 300; font-family: 'Source Sans Pro', 'Helvetica', 'Arial', sans-serif; 
}

footer input {
	background: #373737; color: #fff;
}

textarea {
	background: #ecf0f1; border-top: 1px solid #fff;
}

input[type="submit"] {
	background: #008da9 !important; display: inline-block; width: auto !important; color: #fff; margin-top: 15px; font-weight: 600; padding-left: 32px; padding-right: 32px; cursor: pointer;
}

input.search {
	background: #008da9; color: #fff; border-radius: 3px;
}

::-webkit-input-placeholder {
    color:    #fff;
}
:-moz-placeholder {
    color:    #fff;
}
::-moz-placeholder {
    color:    #fff;
}
:-ms-input-placeholder {
    color:    #fff;
}

hr {
	height: 1px; border: none; background: #d8d8d8; margin: 25px 0 30px;
}

hr.thick {
	height: 3px; position: relative; top: -8px;
}

hr.fino {
	height: 1px; border: none; background: #ffffff; margin: 5px 0 30px;
}

.centered {
	text-align: center;
}

.break {
	width: 100%; clear: both; padding: 80px 0 0 0;
}

/*  END GENERIC STYLES */


/* HEADER AND SUBHEADER STYLES */


.search-icon {
	position: absolute; top: 17px; right: 0; size: 22px; color: #fff; right: 15px;
}

header#main {
	background: #008da9; padding: 30px 0 10px; z-index: 999; position: relative;
}

#sub {
	background: #ecf0f1; padding: 20px 0;
}

.breadcrumbs {
	color: #888888; padding: 10px 0 15px;
}

.breadcrumbs a {
	font-size: 22px; font-weight: 400; color: #888888; position: relative; top: 2px;
}

header#main h1 {
	font-size: 40px;
}

header#main h1, header#main nav a {
	color: #fff; text-transform: uppercase; margin: 0;
}

header#main .wrapper, #sub .wrapper {
	margin: 0 auto; padding: 0;
}

#sub .col1-2 {
	margin: 0 10px 0;
}

.dropdown {
	color: #555; float: right; position: relative;
}

.dropdown > a.button {
	z-index: 99; position: relative; background: #008da9; color: #fff; margin: 0; border-radius: 0;
}

.submenu { 
	background: #008da9; position: absolute; z-index: 100; display: none; padding: 0 0 10px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); width: 100%;
}

.dropdown li a  {
	color: #fff; display: block; padding: 6px 15px; cursor: pointer; text-decoration:none;
}

.dropdown li a:hover { background: rgba(0,0,0,0.2); }

.root {
	list-style:none; margin:0px; padding:0px; font-size: 12px; padding: 11px 0 0 0px; border-top:1px solid #c0392b;
}

.post-navigation {
	float: right; padding: 15px 0;
}

.post-navigation li {
	display: inline-block; margin-left: 18px;
}

.post-navigation li a {
	text-transform: uppercase; font-size: 20px; color: #888888; font-weight: 400;
}

.post-navigation li a i {
	color: #fff; background: #008da9; padding: 3px 5px; border-radius: 99px; display: inline-block; min-width: 23px; text-align: center; font-size: 16px; position: relative; top: -1px;
}

.search-link {
	float: right; padding-top: 12px; color: #fff;
}

#sub .button {
	position: relative; top: 4px;
}

h1#logo a {
	color: #fff;
}

/* END HEADER AND SUBHEADER STYLES */



/* NAV STYLES */

nav {
	padding: 6px 0 0; z-index: 998;  float:right;
}

nav ul li, nav {
	display: inline-block;
}

nav ul a {
	display: inline-block; padding: 7px 10px;
}

nav ul a:hover, nav ul a.active {
	background: rgba(0,0,0,0.2);
}

nav ul ul {
	position: absolute; z-index: 998; top: 71px; display: none; min-width: 170px;
}

nav ul ul li {
	display: block; z-index: 998; background: #474e5d;
}

nav ul ul li a {
	display: block; font-size: 13px; letter-spacing: 1px; padding: 14px 10px;
}

/* END NAV STYLES */



/*  HOMEPAGE STYLES */

.service-icon-wrapper {
	height: 120px; overflow: hidden; margin: 0 0 25px; text-align: center;
}

.service-icon-wrapper span {
	position: relative;
}

.sl-slider img {
	float: left; max-width: 40%; margin: 0 6% 10% 0;
}

.sl-slider .wrapper {
	margin-top: 2%;
}

#call-to-action {
	background: #ecf0f1;
}

#call-to-action .col1-1 {
	text-align: center;
}

#call-to-action .col1-1 .button {
	margin-left: 40px; background: #008da9;
}

#call-to-action .col1-1 h4 {
	display: inline-block;
}

.service {
	text-align: center; padding-top: 30px;
}

.service p, .latest-posts p {
	font-size: 14px; line-height: 22px;
}

.service i.services-icon, .service .icon-stack {
	font-size: 70px; padding-bottom: 23px; display: block; color: #919aa5;
}

.service .icon-stack {
	padding: 0; font-size: 60px; margin: 0 auto;
}

.service .icon-stack.icon-stack2, .contact .icon-stack.icon-stack2, .portfolio .icon-stack.icon-stack2, .contact-social .icon-stack.icon-stack2 {
	color: #008da9;
}

.service i.services-dots, .latest-posts i.services-dots {
	font-size: 32px; display: block; text-align: center;
}

.service h4 {
	margin-bottom: 12px; font-weight: 600;
}

#frame, #scroll {
	max-height: 300px;
	min-height: 300px;
}

#frame.portfolio , #scroll.portfolio {
	max-height: 600px;
	min-height: 600px;
}

#frame li, #isotope li {
	display: inline-block; padding: 0; float: left;
}

#isotope li {
	width: 12.5%;
}

#isotope li.size2 {
	width: 25%;
}

#frame li img {
	margin: 0; padding: 0; vertical-align: bottom;
}

#scroll .images, #isotope .images {
	padding: 0; border: 0;
}
.mCSB_scrollTools .mCSB_draggerContainer{
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0; 
	height:auto;
}
.mCSB_scrollTools a+.mCSB_draggerContainer{
	margin:20px 0;
}

/* horizontal scrollbar */
.mCSB_horizontal>.mCSB_container{
	height:auto;
	margin-right:0;
	margin-bottom:60px;
	overflow:hidden;
}
.mCSB_horizontal.mCustomScrollBox>.mCSB_scrollTools{
	width:100%;
	height:16px;
	top:auto;
	right:auto;
	bottom:0;
	left:0;
}

.mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger{
	width:30px;
	height:100%;
}
.mCustomScrollBox{
	-ms-touch-action:none; /*MSPointer events - direct all pointer events to js*/
}

#recent-work {
	padding-bottom: 60px;
}

.slider-section * {
	color: #fff; text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}

.category-holder {
	position: relative; margin-bottom: 12px;
}

.category-holder span {
	position: absolute; top: 14px; left: 14px; color: #fff; background: #000; padding: 9px 13px 11px; border-radius: 2px; opacity: 0.85;
}

.latest-posts .col1-4:hover .category-holder span {
	background: #008da9;
}

.latest-posts h5 {
	color: #888888; font-size: 16px; margin-bottom: 10px;
}

.deets h1 {
	margin-bottom: 5px;
}

/*  END HOMEPAGE STYLES */



/* BLOG STYLES */

.full-width-meta {
	text-align: center;
}

.alt .full-width-meta {
	padding: 30px 0 0;
}

.alt .full-width-meta > div {
	display: inline-block; vertical-align: top; margin: 0 10px 0; width: 130px;
}

.circle-wrapper {
	width: 80px; height: 80px; overflow: hidden; margin: 0 auto; display: block; 
}

.full-width-meta .circle {
	border-radius: 999px; background: #919aa5; width: 80px; height: 80px; margin: 0 auto; overflow: hidden; color: #fff; position: relative;
}

.full-width-meta .circle2 {
	background: #008da9;
}

.full-width-meta .circle i {
	position: relative; top: 16px; font-weight: normal;
}

.full-width-meta .circle.no-bck {
	background: none;
}

.circle img {
	border-radius: 999px;
}

.full-width-meta h5 {
	text-transform: uppercase; font-size: 14px; margin: 15px auto 40px; max-width: 130px; font-weight: 400;
}

.full-width-meta h5 a {
	font-weight: 600;
}

.blog article .col5-6, .blog.has-sidebar article {
	border-bottom: 1px solid #d8d8d8; margin-bottom: 80px; padding-bottom: 40px;
}

.blog div.images {
	margin-bottom: 30px;
}

.blog .col5-6 h2 {
	margin-bottom: 25px;
}

.alt article h2 {
	margin-bottom: 25px;
}

.pagination {
	margin-bottom: 120px;
}

.pagination li {
	display: inline-block; text-align: center;
}

.pagination li a {
	display: inline-block; background: #ecf0f1; padding: 10px 16px 12px; font-size: 20px; border-radius: 3px; margin: 0 6px 0 0;
}

.pagination li a i {
	font-size: 18px;
}

.pagination li a.prev, .pagination li a.next {
	padding: 10px 15px 11px;
}

.pagination li a.active {
	color: #fff; background: #008da9;
}

aside.col1-3 {
	padding-left: 25px;
}

aside div.widget {
	padding: 0 0 35px 35px; border-left: 1px solid #d8d8d8; position: relative;
}

.date-meta {
	float: left; margin: 0 20px 20px 0; width: 80px;
}

.date-meta span {
	display: block; text-align: center;
}

.date-meta span.date-large {
	padding: 12px 0; font-size: 40px; border: 1px solid #d8d8d8; font-weight: 600;
}

.date-meta span.date-small {
	color: #fff; text-transform: uppercase; background: #008da9; font-size: 12px; position: relative; top: -1px; padding: 9px 0 10px;
}

.blog-meta {
	background: #ecf0f1; padding: 6px 15px 7px; display: inline-block; margin: 10px 0 18px;
}

.blog-meta * {
	color: #888888; font-size: 14px; font-weight: 400;
}

.blog-meta a {
	margin-right: 20px;
}

#author-info {
	padding: 20px; background: #ecf0f1; margin-bottom: 60px;
}

#author-info img {
	float: left; margin: 0 25px 0 0;
}

#author-info p {
	font-size: 16px; line-height: 22px; margin-bottom: 0;
}

.comments .button {
	text-transform: none; padding: 7px 16px 8px; font-weight: 400; background: #008da9; font-size: 14px; position: absolute; top: 30px; right: 30px;
}

.comments li {
	padding: 30px 30px 10px; border: 1px solid #d8d8d8; margin-bottom: 35px; position: relative;
}

.comments li img {
	max-width: 60px; height: auto;
}

.comments .profile-wrapper {
	float: left; margin: 0 20px 0 0;
}

.comments li small {
	text-transform: uppercase; color: #888888; font-size: 11px; padding-bottom: 16px; display: block;
}

ul.children {
	margin-left: 35px;
}

ul.children li:before {
	content: '\f148'; position: absolute; font-family: 'FontAwesome', serif; top: -8px; left: -32px; margin-top: 50%; -webkit-transform:rotate(90deg); -moz-transform:rotate(90deg); -ms-transform:rotate(90deg); -o-transform:rotate(90deg); transform:rotate(90deg); filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1); font-size: 24px; color: #d8d8d8;
}

.custom-archives {
	padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #d8d8d8;
}

.custom-archives li, .custom-archives-page li {
	display: inline-block; margin-right: 10px; position: relative;
}

.custom-archives li a.active, .custom-archives li a:hover {
	color: #008da9;
}

.custom-archives li a.active:after {
	content: ''; width: 8px; height: 8px; position: absolute; bottom: -24px; left: -4px; margin-left: 50%; background: #008da9; border-radius: 99px;
}

.custom-archives-page {
	display: none;
}

.custom-archives-page.active {
	display: block;
}

.custom-archives-page li a {
	font-weight: 400; padding-bottom: 7px; display: inline-block;
}

.tagcloud li {
	display: inline-block;
}

.tagcloud li a {
	display: inline-block; margin: 0 10px 10px 0; background: #ecf0f1; padding: 8px 12px 10px; border-radius: 3px;
}

dl {
	clear: both; margin-bottom: 25px;
}

.latest-posts-post img {
	max-width: 70px; float: left; margin-right: 15px;
}

.latest-posts-post a {
	font-weight: normal;
}

.latest-posts-post .remove-bottom {
	margin-bottom: 5px;
}

.widget-services span {
	float: left; clear: left; margin-right: 15px;
}

.widget-services li {
	margin-bottom: 10px;
}

.widget-services a {
	position: relative; top: 7px;
}

.widget-services span i.icon-stack-base {
	color: #008da9; vertical-align: middle;
}

.widget .testimonial-wrapper {
	margin-bottom: 30px;
}
/* END BLOG STYLES */



/* ABOUT PAGE STYLES */

.skillbar, .mCSB_horizontal > .mCSB_scrollTools .mCSB_draggerRail {
	position: relative; width: 100%; background: #ecf0f1; height: 16px; border-radius: 6px; margin: 12px 0 25px;
}

.mCSB_horizontal > .mCSB_scrollTools .mCSB_draggerRail {
	height: 10px; border-radius: 3px; margin: 0;
}

.skillbar span, .mCSB_scrollTools .mCSB_dragger {
	position: absolute; top: 0; left: 0; height: 16px; background: #008da9; border-radius: 6px;
}

.mCSB_scrollTools .mCSB_dragger {
	cursor:pointer; width:100%; height: 14px; border-radius: 3px; top: -3px; z-index: 999;
}

.about-image {
	position: relative; overflow: hidden;
}

.about-image img {
	vertical-align: bottom; position: relative;
}

.about-image h3 {
	position: absolute; bottom: 15px; left: 15px; color: #fff; margin-bottom: 0;
}

.about-image h3 small {
	display: block;
}

.team-details {
	background: #008da9; color: #fff; padding: 12px 20px 10px;
}

.team-details * {
	font-size: 14px; line-height: 18px;
}

.social {
	text-align: center;
}

.social li {
	display: inline-block; margin: 0 5px;
}

.social a {
	color: #fff;
}

/* END ABOUT PAGE STYLES */


/* PORTFOLIO STYLES */

.col1-3.details {
	padding-left: 30px; border-left: 1px solid #d8d8d8;
}

.portfolio-image {
	margin-bottom: 50px;
}

.project-details {
	padding: 6px 0 12px;
}

.project-details li {
	border-bottom: 1px solid #d8d8d8; padding-bottom: 10px; margin-bottom: 14px; padding-left: 10px;
}

.project-details li i {
	position: relative; left: -10px;
}


/* END PORTFOLIO STYLES */


/* CONTACT STYLES */

.contact #commentform {
	padding-bottom: 80px;
}

#commentform input {
	background: #ecf0f1;
}

#map {
	height: 450px;
}

#map img {
	max-width: none;
}

#commentform ::-webkit-input-placeholder {
    color:    #919aa5;
}
#commentform :-moz-placeholder {
    color:    #919aa5;
}
#commentform ::-moz-placeholder {
    color:    #919aa5;
}
#commentform :-ms-input-placeholder {
    color:    #919aa5;
}

#commentform textarea {
	min-height: 150px;
}

.input-third {
	float: left; width: 33%; border-right: 1px solid #fff; border-bottom: 1px solid #fff;
}

.input-third:nth-of-type(3) {
	border-right: none; width: 34%;
}

.contact .input-third:nth-of-type(3) {
	border-right: none; width: 34.3%;
}

.contact-social {
	text-align: center; font-size: 34px; padding: 20px 0 80px;
}

.portfolio .contact-social {
	padding-bottom: 50px;
}

.contact-social li {
	display: inline-block; margin: 0 2px;
}

.contact-social li a {
	display: block; overflow: hidden; height: 68px;
}

.contact-social li a span {
	display: block; position: relative;
}

#message, #message2 {
	padding-bottom: 30px; display: none;
}
/* END CONTACT STYLES */


/* SERVICES STYLES */

.button.services-back, .service-hide {
	display: none;
}

.service-hide {
	margin-bottom: -130px;
}

.icon-stack2.service-slider {
	font-size: 130px; color: #008da9;
}

ul.rsilva li { list-style:disc; margin: 0 0 10px 20px;}

/* END SERVICES STYLES */


/* FOOTER STYLES */

footer {
	background: #232323; color: #fff; padding: 20px 0 0 0;
	background-color: #004755;
}

footer hr {
	height: 1px !important; background: #888888; max-width: 80%; margin: 20px 0;
}

footer h3, footer h4 {
	color: #fff;
}

footer h2, footer a {
	color: #fff;
}

footer p {
	font-size: 16px;
}

.contact-details span {
	float: left;
}

.contact-details span .icon-stack-base {
	color: #fff;
}

.contact-details h5, .contact-details p {
	letter-spacing: 0.1em; padding: 0 0 0 50px;
}

.contact-details h5 {
	font-weight: 400; color: #dcdcdc;
}

.contact-details p {
	font-weight: 200; padding: 0 0 0 20px;
}

.subfooter {
	border-top: 1px solid #dcdcdc; padding: 30px 0 70px; margin: 20px 0 0 0;
}

.subfooter p, footer p {
	display: inline-block;
}

.flickr {
	margin-bottom: 25px;
}

.flickr li {
	float: left; max-width: 25%; margin: 0; padding: 0;
}

.sub-footer-menu {
	float: right; padding-top: 5px;
}

.sub-footer-menu li {
	float: left; text-transform: uppercase; color: #dcdcdc; margin-left: 20px;
}

.sub-footer-menu li a {
	color: #dcdcdc; font-size: 18px;
}

#newsletter input {
	width: 59%; margin-right: 2%; display: inline-block; border-radius: 3px;
}

#newsletter input[type="submit"] {
	width: 38% !important; display: inline-block; float: right; margin: 0; padding-left: 0; padding-right: 0; cursor: pointer;
}

.footer-social i {
	font-size: 20px; margin-right: 3px;
}

.footer-social a:hover i {
	color: #008da9
}

footer span.images {
	width: 100%;
}

/* END FOOTER STYLES */

#four-oh-four .four-oh-four-wrapper span {
	display: inline-block; background: #919aa5; padding: 45px 80px 55px; color: #fff; border-radius: 999px; font-size: 120px; float: left; clear: left; position: relative; margin: 0;
}

.four-oh-four-wrapper {
	display: inline-block; overflow: hidden; height: 220px;
}

#four-oh-four .four-oh-four-wrapper span.four-oh-four-red {
	background: #008da9;
}


@media only screen and (min-width: 1160px) {

	.sl-slider .wrapper {
		margin-top: 2%;
	}
	
}

/* Standard 960 or larger (browsers) */
@media only screen and (min-width: 960px) and (max-width: 1159px) {
	
	header#main a.button {
		margin-right: 20px; padding: 14px !important;
	}
	.comments .button {
		text-transform: none; padding: 7px 12px 8px 13px; font-weight: 400; background: #008da9; font-size: 14px; position: static; float: left; clear: left; margin: 15px 20px 20px 0;
	}

}

/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 959px) {

	.banner ul li .deets { top: 20px; }
	.search-link, header#main .button, header#main input { display: none !important; }
	.post-navigation li span { display: none; }
	.comments .button {
		text-transform: none; padding: 7px 12px 8px 13px; font-weight: 400; background: #008da9; font-size: 14px; position: static; float: left; clear: left; margin: 15px 20px 20px 0;
	}
}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {

	.js .selectnav { display: inline-block; min-width: 220px; min-height: 30px; }
	header#main .col1-4, header#main .col3-4 { text-align: center; }
	#isotope li { width: 25%; 	}
	#isotope li.size2 { width: 50%; }
	.banner ul li .deets, .sl-slider img, .js #nav, .sub-footer-menu, .team-member img, .icon-stack2.service-slider, .services #sub .button { display: none !important; }
	.team-member h3 { background: #008da9; position: static; padding: 15px 20px; }
	.team-member h3 small { display: inline-block; }
	.team-details { border-color: #fff; }
	.service-hide { margin-bottom: 0; }
	#sub { text-align: center; }
	.slider-section .wrapper, .slider-section .col1-2 { max-width: 280px; }
	#sub .col1-2 { text-align: center; }
	#sub .floatright { float: none; margin: 30px 0; }
	#call-to-action .col1-1 a.button {
		margin-left: 0;
	}
	.post-navigation {
		display: block; margin: 0 auto; float: none;
	}
	.about-image {
		height: auto !important;
	}
	.dropdown {
		float: none;
	}
	aside.col1-3, aside div.widget {
	padding-left: 0px; border: none;
	}
	ul.children {
		padding-left: 0; margin-left: 0;
	}
	ul.children li:before {
		display: none !important;
	}
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
	.testimonial-wrapper p {
		clear: both;
	}
}