.pi-text-justify {
	text-align: justify;
}

.single-line-title, 
.single-line-ellipses {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	width: 100%;
	display: block;
}

.pi-section-base .pi-text-base {
	color: #CCC !important;
}

.pi-hexagon-texture { background: url(../img/hexagon.png) repeat; }

.pi-nowrap { white-space: nowrap; }

.form-control { -webkit-appearance: none; }

.aspect-ratio {
	height: 0px;
	padding-bottom: 56%;
  	margin-bottom: 1em;
	position: relative;
  	text-align: center;
}
.aspect-ratio iframe, 
.aspect-ratio object, 
.aspect-ratio object embed {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0; top: 0;
}

/* HEADER */

#headerlogo{
	/*width: 221px;
	height: 77px;
	margin-top: 17px;*/
	margin-top: 8px;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

/* FULL-HEIGHT HEADER */

.pi-row-reduced #headerlogo {
	margin-top: 0px;
}

@media screen and (max-width: 417px) {
	#headerlogo { width: 184px; margin-top: 21px; }
	.pi-row-reduced #headerlogo { margin-top: 12px; }
}

@media screen and (max-width: 310px) {
	#headerlogo { display: none; }
}


/* BANNER */

.parallax-header-texture {
	background: rgba(24, 28, 32, 0.4);
}

/* SERVICES */

.service-block-thumbnail {
	background-size: cover;
	background-repeat: no-repeat;
	display: block;
	width: 100%;
	padding-bottom: 41.5%;
}

#services .pi-service-block:nth-child(6) .pi-icon-box-icon-circle { background-color: #72E05A; }
#services .pi-service-block:nth-child(5) .pi-icon-box-icon-circle { background-color: #5AE089; }
#services .pi-service-block:nth-child(4) .pi-icon-box-icon-circle { background-color: #5AE0BC; }
#services .pi-service-block:nth-child(3) .pi-icon-box-icon-circle { background-color: #5ADBE0; }
#services .pi-service-block:nth-child(2) .pi-icon-box-icon-circle { background-color: #5AA8E0; }
#services .pi-service-block:nth-child(1) .pi-icon-box-icon-circle { background-color: #5A84E0; }

/* BLOGS */

.blog-block-thumbnail {
	background-size: cover;
	background-repeat: no-repeat;
	display: block;
	width: 100%;
	padding-bottom: 69.7%;
}

/* TESTIMONIALS */

.pi-testimonial-content:after {
	left: initial;
	right: 20px;
}

pi-testimonial-content {
	-moz-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    -webkit-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    -moz-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    -o-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    transition: width 1s ease-in-out, left 1.5s ease-in-out;
}

.pi-testimonial-excerpt { cursor: pointer; }
.pi-testimonial-story { display: none; }

/* MAPS */

.pi-google-map { height: 400px !important; }
@media screen and (max-width: 479px) {
	.pi-google-map { height: 300px !important; }
}


/* CONTACT FORM */

#contact-form .contact-form-description {
	font-size: 20px;
	padding-top: 8px;
	padding-bottom: 8px;
	font-weight: 600;
}

#contact-form .pi-row.pi-grid-small-margins {
	padding-top: 10px;
}

#contact-form textarea {
	height: 182px;
}


/* CONTACT SLIDER */

#widget-contactslider-container{
	width: 300px;
	position: fixed;
	left: -252px;
	top: 151px;
	z-index:1000000;
	min-height: 111px;
	
	-webkit-box-shadow: 15px 0px 10px 0px rgba(0, 0, 0, 0.8);
	-moz-box-shadow: 15px 0px 10px 0px rgba(0, 0, 0, 0.8);
	box-shadow: 15px 0px 10px 0px rgba(0, 0, 0, 0.8);
}

.widget-contactslider-padding-10{
	padding: 20px;
}

.widget-contactslider-label{
	width: 110px;
	text-align: center;
	position: absolute;
	top: 43px;
	left: 228px;
	text-transform: uppercase;
	transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

/* NEWSLETTER SLIDER */

#widget-newsletterslider-container{
	width: 249px;
	position: fixed;
	left: -252px;
	top: 275px;
	z-index:1000000;
	min-height: 111px;
	padding-left: 0px;
	box-shadow: 1px 3px 5px 0px rgba(0, 0, 0, 1);
}

.widget-newsletterslider-label{
	position: absolute;
	top: 31px;
	left: 218px;
	padding: 20px 12px;
	width: auto;
	margin: 0px;
	text-transform: uppercase;
	transform: rotate(90deg) translateX(0.25px);
	-ms-transform: rotate(90deg) translateX(0.25px);
	-webkit-transform: rotate(90deg) translateX(0.25px);
		
	box-shadow: 2px -2px 5px -2px rgba(0, 0, 0, 1);
	
}

.widget-newsletterslider-label a
{
	position:relative;
	top: -1px;
}
#newsletterslider h3 {
	padding: 5px;
}
#widget-newsletterslider-container .pi-section-base, #widget-newsletterslider-container .pi-section-base h2, #widget-newsletterslider-container a{
	color: #ffffff !important;
	text-decoration:none !important;
}


@media screen and (max-width: 1175px) {
	#widget-contactslider-container, 
	#widget-newsletterslider-container {
		left: -320px;
	}
}

/* SEARCH SLIDER */

#widget-searchslider-container{
	width: 300px;
	position: fixed;
	left: -252px;
	top: 277px;
	z-index:1000000;
	min-height: 111px;
	
	
	-webkit-box-shadow: 15px 0px 10px 0px rgba(0, 0, 0, 0.8);
	-moz-box-shadow: 15px 0px 10px 0px rgba(0, 0, 0, 0.8);
	box-shadow: 15px 0px 10px 0px rgba(0, 0, 0, 0.8);
}


.searchHeight {
	min-height:75px;
}

.widget-searchslider-padding-10{
	padding: 20px;
}

.widget-searchslider-label{
	width: 110px;
	text-align: center;
	position: absolute;
	top: 43px;
	left: 228px;
	text-transform: uppercase;
	transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


@media screen and (max-width: 1175px) {
	#widget-searchslider-container{
		left: -320px;
	}
}
.cse .gsc-control-cse, .gsc-control-cse {
	background: none !important;
	border: none !important;
}

/* RIGHT-SIDE JUMPER BUTTONS */

.jumper-nav-desktop-container {}

.nav-rightside-shell {
	display: inline-block;
	position: fixed;
	right: -134px;
	padding: 8px 0px 8px 8px;
	z-index: 200;
	
	-webkit-box-sizing: border-box;
  	-moz-box-sizing: border-box;
  	box-sizing: border-box;
  	
  	-webkit-transition:all .3s ease-in-out;
	-moz-transition:all .3s ease-in-out;
	-ms-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out;
	
	-webkit-box-shadow: 1px 0px 10px 0px rgba(0, 0, 0, 0.8);
	-moz-box-shadow: 1px 0px 10px 0px rgba(0, 0, 0, 0.8);
	box-shadow: 1px 0px 10px 0px rgba(0, 0, 0, 0.8);
}

.jumper-nav-desktop-container .nav-rightside-shell { width: 180px !important; }
.jumper-nav-desktop-container .nav-rightside-shell:nth-child(1) { top: 150px; }
.jumper-nav-desktop-container .nav-rightside-shell:nth-child(2) { top: 210px; }
.jumper-nav-desktop-container .nav-rightside-shell:nth-child(3) { top: 270px; }
.jumper-nav-desktop-container .nav-rightside-shell:nth-child(4) { top: 330px; }
.jumper-nav-desktop-container .nav-rightside-shell:nth-child(5) { top: 390px; }
.jumper-nav-desktop-container .nav-rightside-shell:nth-child(6) { top: 450px; }
.jumper-nav-desktop-container .nav-rightside-shell:nth-child(7) { top: 510px; }

.nav-rightside-shell i { 
	font-size: 28px; 
	width: 28px;
	vertical-align: middle;
	margin-left: 0px; 
	margin-right: 10px; 
}
.nav-rightside-shell span { 
	display: inline-block;
	width: 130px;
	vertical-align: bottom;
	border-top: 1px solid #FFF;
	font-size: 14px;
	hyphens: manual;
  	-moz-hyphens: manual;
  	-webkit-hyphens: manual;
  	overflow: hidden;

}

html:not(.mobile) .nav-rightside-shell:hover { right:0px; }

.ttssb-text { color: #FFF !important; margin-left: 4px; }

@media only screen and (min-width: 768px) {
	.mobile-fixed-nav-bar { display: none !important; }
	.hide-on-desktop { display: none; }
	
}

/***************************
   MOBILE FIXED NAV  
***************************/

.mobile-fixed-nav-bar {
	display: block;
	position: fixed;
	bottom: 0px;
	left: 0px;
	right: 0px;
	padding: 0px;
	z-index: 200;
	background-color: #3D4244;
	box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.4);
}

.mobile-fixed-nav-bar .nav-rightside-shell {
	display: inline-block;
	vertical-align:top;
	position: initial;
	text-align: center;
	background-color: transparent;
	padding: 0px;
	margin-top: 10px;
	margin-bottom: 4px;
	
	-webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.8);
	-moz-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.8);
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.8);
}

.mobile-fixed-nav-bar .nav-rightside-shell i {
	display: inline-block;
	vertical-align:top;
	margin-right: 0px;
	margin-left: 0px;
} 
.mobile-fixed-nav-bar .nav-rightside-shell span {
	display: block;
	vertical-align:top;
	width: auto;
	text-align: center;
	font-size: 12px;
	text-transform: initial;
	border: 0px;
	line-height: normal;
	margin-top: 4px;
	margin-bottom: 4px;
}

@media only screen and (max-width: 767px) {
	.nav-rightside-shell, 
	.nav-leftside-jumper { display: none; }
	.footer-copyright-container { padding-bottom: 80px !important; }
}

/* SOCIAL GALLERIES */

.social-stream-block {
	margin-bottom: 30px; 
	cursor: pointer;
	border: solid #DADADA 1px;
	border-radius: 5px;
	padding-top: 0px;
	max-width: 300px;
}

.social-gallery-thumbnail { 
	height: 0px;
	padding-bottom: 100%; 
	background: rgba(20,20,20,0.7); 
	background-position: 50% 0%; 
	background-repeat: no-repeat;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	background-size: cover;
}

.social-stream-block:hover .social-gallery-thumbnail {
	opacity: 0.9;
}

.social-gallery-title {
	text-align: left;
	font-size: 100%;
	margin: 4px 0px 4px 7px;
}



#social-stream { margin-top: 20px; }

.dcsns-toolbar .filter .link-all { height: 28px !important; padding-top: 3px !important; }

.stream.isotope { overflow: initial !important; }

/* FOOTER */

.footer-map-container {}

.footer-copyright-container {
	padding: 16px 0px;
}

.sitemap-item {
	color: #ccccd5;
	margin-top: 6px;
	margin-bottom: 6px;
}

.sitemap-sub-item-container {
	font-size: 80%;
	padding: 12px;
}

#footerCopyright { padding-top: 20px; }

#footerLogo, #footerSamurai, .hover-fade-image { 
	opacity: 0.6;
	
	-webkit-transition:all .3s ease-in-out;
	-moz-transition:all .3s ease-in-out;
	-ms-transition:all .3s ease-in-out;
	-o-transition:all .3s ease-in-out;
	transition:all .3s ease-in-out; 
}
#footerLogo:hover, #footerSamurai:hover, .hover-fade-image:hover { opacity: 1; }

.testi-slider-mobile-text, 
.testi-slider-mobile-text-full {
	font-size: 15px;
	text-align: justify;
    text-justify: inter-word;
	
}

.testi-slider-mobile-text-full {
	display: none;
}
@media (max-width: 991px) {
	.testi-slider-mobile-text-full {
		display: block;
	}
}
.testimonialImage {
	width: 80px !important;
	
}

/*Fade-out services boxes*/
.serviceSectionText {
	position:relative;
}
.serviceSectionText p {
	height: 10.85em;
	overflow: hidden;
	margin-bottom: 0px;
}
.serviceSectionMask {
	height: 10.85em;
	width: 100%;
	position:absolute;
	display:block;
	
	background-image: linear-gradient(
		to bottom,
		rgba(255,255,255,0),
		rgba(255,255,255,0) 8em,
		rgba(255,255,255,1));
}

.serviceSectionMask:hover {
	background-image: linear-gradient(
		to bottom,
		rgba(255,255,255,0.5),
		rgba(255,255,255,0.5) 8em,
		rgba(255,255,255,1));
}

.pi-section-grey .serviceSectionMask {
	height: 10.85em;
	width: 100%;
	position:absolute;
	display:block;
	
	background-image: linear-gradient(
		to bottom,
		rgba(244,246,246,0),
		rgba(244,246,246,0) 8em,
		rgba(244,246,246,1));
}

.pi-section-grey .serviceSectionMask:hover {
	background-image: linear-gradient(
		to bottom,
		rgba(244,246,246,0.5),
		rgba(244,246,246,0.5) 8em,
		rgba(244,246,246,1));
}

.headerPadding{
	padding-top: 20px;
	padding-bottom: 10px;
	transition: all 1s ease-in-out 0s;
}

.headerPadding .h1 {
	transition: all 1s ease-in-out 0s;
}

.headerPadding .h1 {
	font-size: 25px;
}

@media screen and (min-width:766px) {
	.headerPadding {
		padding-top:150px;
		padding-bottom:130px;
	}	
	.headerPadding .h1 {
		font-size: 50px;
	}
	 
}

@media screen and (max-width:479px) {
	.service-cell > div .serviceSectionText, 
	.service-cell > div p {
		display: none;
	} 
	.whatWeOfferServiceIcon {
		float:none !important;
		margin:auto;
	}
	.whatWeOfferServiceText {
		margin:auto !important;
		text-align:center;
	}
	
	.pi-slider-arrow {
		top: initial;
		bottom: 20px;
	}

}
@media screen and (min-width: 767px) {
	.blogTitle {
		min-height: 3em;
	}
}


.staticBanner {
	color:white;
	background-color:black; 
	background-position: 50% 50%;
	background-size:cover;
}


h3.articles {
	height: 3.5em;
	display:table;
	width: 100%;
}
h3.articles a {
	height: 3.5em;
	display:table-cell;
	vertical-align:middle;
}

.serviceTitle, .teammateName {
	display:table;
	width: 100%;
	margin-bottom: 0px;
}

.serviceTitle a, .teammateName a {
	display: table-cell;
	width: 100%;
	height: 3em;
	vertical-align: middle;
}

.pi-img-overlay {
	overflow: hidden;
}

@media screen and (max-width:400px) {
	.teammateCaption {
		display:none !important;
	}
}


/** Narrow Articles **/
.imgCircle {
	display:block;
	width:45px;
	height: 45px;
	max-width:100%; 
	border-radius:50%; 
	overflow:hidden;
	position:absolute;
	left: 0px;
	top: 0px;
	text-align:center;
}

.imgCircle img {
	height: 100% !important; 
	width:initial !important; 
	max-width:none !important;
}

.imgCircleText {
	margin-left: 55px;
	min-height: 45px;
	
}

.imgCircleText {
	padding-right: 35px;
	padding-bottom: 10px;
}

.imgCircleText p {
	border-bottom:solid 1px rgba(0,0,0,0.1);
}
/** End Narrow Articles **/

/** Parallax About Section **/

.aboutParallax {
	min-height: 50vw;
	position: relative;
	padding-top: 20px;
	padding-bottom: 20px;
}

.aboutParallaxBody {
		width: 90%;
		margin: 5%;
		box-shadow: 5px 5px 15px 1px rgba(0,0,0,0.6);
		padding: 45px;
		background-color: rgba(255,255,255,0.7);
		color: black;
		max-width:650px;
	}
	
	.aboutParallaxBody .pi-dropcap, .aboutParallaxBody h1, .aboutParallaxBody h2 {
		color: black !important;
	}
	
@media (min-width:825px) {
	.aboutParallaxBody {
		width: 650px; 
		position: relative;
		margin-left: -750px;
		top: 25%;
		left: 100%;
		background-color: white;
	}

}


/** End Parallax About Section**/


/** Adding boxed option **/
.pi-all.pi-fixed {
  max-width: 1120px;
  margin: 0 auto;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}

.pi-header-rows-fixed .pi-fixed .pi-header-sticky .pi-section-w,
.pi-header-row-fixed .pi-fixed .pi-header-sticky .pi-section-w {
  max-width: 1120px;
  margin: 0 auto;
}

/** End boxed option **/

/* Classes for Tag Page */
.tagBlock {
	height: 5em !important;
	white-space:nowrap;
	margin-bottom: 2em;
}

.tagPicture {
	overflow:hidden;
	text-align:left;
	height: 100%;
	margin-left:15%;
	display:inline-block;
	vertical-align:center;
}
.tagPicture a {
	display:inline-block;
	width: 100%;
	height: 100%;
}
.tagPicture img {
	height: 100%;
	max-width: none;
	width: initial;
	display:inline-block;
}
.tagText {
	white-space:normal;
	display:inline-block;
	vertical-align:top;
	height: 100%;
	margin-bottom: 15px;
	margin-left:-15%;
	padding-left: 17%;
	width:100%;
	padding-right: 30%;
}
.tagTitle {
	margin-left: 15%;
	padding-right: 15%;
}
.tagText .serviceSectionMask {
	height: 6em;
	background-image: linear-gradient(
 		to bottom,
 		rgba(255,255,255,0),
 		rgba(255,255,255,0) 1em,
 		rgba(255,255,255,1));
}
.tagText .serviceSectionMask:hover {
	height: 6em;
	background-image: linear-gradient(
 		to bottom,
 		rgba(255,255,255,0.2),
 		rgba(255,255,255,1));
}
.tagText .serviceSectionText p{
	height: 6em;
}

.TagHeader {
	padding-top: 45px;
	clear:both;
}
.TagHeader .pi-margin-bottom-30 {
	margin-bottom: 5px !important;
}

@media (max-width:767px) {
	.tagTitle, .tagText, .tagPicture {
		margin-left:0px;
		padding-left:0px;
		padding-right: 0px;
	}

}
/*End of clases for Tag Page */

/*Fix for boxed parallax header image */

@media screen and (min-width:1120px) {
	.pi-fixed .pi-section-parallax {
		background-attachment: initial;
		background-position: 50% 0 !important;
	}
}
.pi-row-lg .pi-row-block-logo img {
    max-height: 88px;
}
.pi-header-rows-fixed .pi-row-reduced img, .pi-header-row-fixed .pi-row-reduced img {
    max-height: 70px;
} 

.optin-dialog { position: fixed !important; }
.ui-widget-overlay.ui-front {
	opacity: 0.85;
    filter: Alpha(Opacity=85);
}

.optin-dialog label { display: block; }
.optin-dialog input, 
.optin-dialog select, 
.optin-dialog textarea { display: block; width: 100%; border-color: #AAA; margin-bottom: 12px; }