/* Margins */

.mt25 {
	margin-top: 25px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

/* */

#main-wrapper {
	background-image: url('../images/crossword.png');
}

img {
	max-width: 100%;
}

.container {
	max-width: 1400px;
}

h3 strong, h2 strong, h4 strong {
	color: #3FA8DA;
}

h3 .small {
	font-weight: 700;
	font-size: 45%;
	line-height: 1.2;
	display: block;
}

h4, .h4, h5, .h5 {
	font-weight: 700;
	text-transform: uppercase;
}

p {
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
	
}

.section-img {
	height: 60vh;
	background-size: cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
	padding: 0;
}

.section-img .overly-mask {
	position: static;
}

/* Home */

#home {
	position: relative;
}

#home-slider-logo {
	margin: -85px auto 50px;
	width: 280px;
	height: 85px;
}

.certificate-listing .section-info {
	padding-bottom: 50px;
}

.certificate-listing .post-list {
	height: 300px;
}

.certificate-listing .post-list img {
	margin-bottom: 25px;
}

.certificate-listing .post-list p {
	text-align: center;
}

.certificate-listing .post-list .service-icon {
	text-align: center;
	margin-bottom: 25px;
}

.certifications-additional {
	background: #EAEAEA;
	padding: 20px;
}

.certifications-additional:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 25px 25px 0;
  border-style: solid;
  border-color: #ccc #fff;
}

.certifications-additional h3 {
	margin-top: 0;
	text-align: center;
}

.certifications-additional p {
	margin-bottom: 0;
}

.post-list.certifications-additional {
	height: auto;
}

.post-list.certifications-additional:hover {
	background: #EAEAEA;
}

#currentneeds {
    background-color: #333;
    padding: 58px 0px 80px 0;
	 position: relative;
	 z-index: 2;
}

#currentneeds h3 {
	color: #fff;
}

#currentneeds .section-info {
	padding: 0;
}

#currentneeds .form-control {
	border-bottom-color: #fff;
}

#currentneeds .cs-placeholder {
	color: #fff;
}

#currentneeds-prompt {
	background-color: #029ece;
	padding: 0;
	height: 0px;
	opacity: 0;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}


#currentneeds-prompt:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 45px 45px 0;
  border-style: solid;
  border-color: #0082AB #333;
}

#currentneeds-prompt.visible {
	opacity: 1;
	height: auto;
	padding: 40px;
	margin-top: 50px;
}

#currentneeds-prompt p {
	color: #fff;
}

#currentneeds-prompt p, #currentneeds-prompt a{
	display: none;
}

#currentneeds-prompt.visible p{
	display: block;
}

#currentneeds-prompt.visible a {
	display: inline-block;
}

/* About */

.svg-icon {
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 60px 0 0;
}


/* Services Offered */

#services-offered .testimonial-wrapper, #deadlines .testimonial-wrapper, #cta .testimonial-wrapper  {
	 background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-image:url(../images/bg/bg-2.jpg);  
}

#services-offered .testimonial-info, #deadlines .testimonial-info, #cta .testimonial-info{    
    color: #fff;
    position: relative;
    z-index: 3;
}

#cta .testimonial-info {
	padding: 50px 0 70px;
}

#services-offered .relative-bg, #deadlines .relative-bg, #cta .relative-bg{
    position: relative;
}
#services-offered .section-title, #deadlines .section-title, #cta .section-title{
    padding: 60px 0 40px 0;
}
#services-offered .section-title-border, #deadlines .section-title-border, #cta .section-title-border{
    border: 4px double #fff;
}

#deadlines h3 {
	color: #fff;
}

.services-offered-info p{
	color: #fff;
	font-size: 100%;
	margin-bottom: 15px;
}

p.special-note {
	border: 1px solid #fff;
	padding: 20px;
	margin: 50px auto 5px;
	max-width: 800px;
	background-color: rgba(0,0,0,0.5);
}

/* Services */

#services-2 ul {
	padding: 0;
}

#services-2 ul li {
	display: block;
	margin: 5px;
}

.service-box {
	border-bottom: none;
}

.service-icon.svg-icon svg {
	fill: #474747;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.service-icon.svg-icon.highlight-blue svg {
	fill: #5CBFEC;
}

.service-icon.svg-icon.highlight-darkblue svg {
	fill: #223F7E;
}

.service-icon.svg-icon.highlight-yellow svg {
	fill: #F8D40B;
}

.service-list .service-box {
	height: 520px;
}

.service-list .service-box > a {
	overflow: hidden;
}

.service-list .service-box .service-title .small {
	opacity: 1;
	height: auto;
	-webkit-transition: all 1s ease 0.5s;
	-moz-transition: all 1s ease 0.5s;
	-ms-transition: all 1s ease 0.5s;
	-o-transition: all 1s ease 0.5s;
	transition: all 1s ease 0.5s;
}

.service-list .service-box .service-desc {
	opacity: 1;
	height: auto;
	font-size: 85%;
	-webkit-transition: all 1s ease 0.5s;
	-moz-transition: all 1s ease 0.5s;
	-ms-transition: all 1s ease 0.5s;
	-o-transition: all 1s ease 0.5s;
	transition: all 1s ease 0.5s;
}

.service-list .service-box .service-features {
	opacity: 0;
	color: #fff;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.service-list .service-box .service-features h4 {
	color: #fff;
}

.service-list .service-box .service-features ul {
	list-style: none;
	padding: 0 10px;
	font-size: 80%;
	font-family: "Raleway",Arial,sans-serif;
}

.service-list .service-box .service-features ul li {
	margin-bottom: 5px;
}

@media (min-width: 769px) {
	.service-list .service-box > a:hover .service-icon {
		font-size: 40%;
		 -webkit-transform: translateY(-45px);
		 -moz-transform: translateY(-45px);
		 -ms-transform: translateY(-45px);
		 transform: translateY(-45px);
		 padding-bottom: 20px;
	}
	
	.service-list .service-box > a:hover .service-icon.svg-icon svg {
		height: 50px;
		fill: #fff;
	}
	
	.service-list .service-box > a:hover .service-title:before{
		margin-top: 77px;
	}
	
	.service-list .service-box > a:hover .service-desc, .service-list .service-box > a:hover .service-title .small {
		-webkit-transition: all 1s ease;
		-moz-transition: all 1s ease;
		-ms-transition: all 1s ease;
		-o-transition: all 1s ease;
		transition: all 1s ease;
		-webkit-transform: translateY(-100px);
		-moz-transform: translateY(-100px);
		-ms-transform: translateY(-100px);
		transform: translateY(-100px);
		opacity: 0;
		height: 0px;
	}
	
	.service-list .service-box > a:hover .service-features {
		opacity: 1;
		-webkit-transition: all 1s ease 0.5s;
		-moz-transition: all 1s ease 0.5s;
		-ms-transition: all 1s ease 0.5s;
		-o-transition: all 1s ease 0.5s;
		transition: all 1s ease 0.5s;
		-webkit-transform: translateY(-80px);
		-moz-transform: translateY(-80px);
		-ms-transform: translateY(-80px);
		transform: translateY(-80px);
	}

}




/* References */

#references-slider .reference {
	 text-align: center;
}

#references-slider h3 {
    font-size: 120%;
    padding: 0 20px;
}

#references-slider i {
	display: block;
	margin-bottom: 20px;
	font-size: 25px;
	width: 100%;
	color: #3F3D3D;
}

#references-slider.owl-theme .owl-controls .owl-pagination {
	text-align: center;
}

#references-slider.owl-theme .owl-controls .owl-page span {
	background-color: #BABABA;
}

#references-slider.owl-theme .owl-controls .owl-page.active span {
	background-color: #3F3D3D;
}

/* Testimonials */

#testimonial-slider{
    padding: 40px 0 80px 0;
}

.testimonial-text{
    padding: 40px 150px 20px 150px;
}

#testimonial .owl-controls {
	left: 50%;
	margin-left: -47px;
}

/* Contact */

#contact {
	position: relative;
	z-index: 1;
}

#contactform input, #contactform .cs-select {
	margin-bottom: 20px;
}

/* Footer */

.footer-logo img {
	margin: 20px auto;
}
  
#footer .social-icons  {
	list-style: none;
	width: 100%;
	display: block;
	text-align: center;
	margin-top: 20px;
	padding: 0;
}

#footer .social-icons a {
	color: #fff;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

#footer .social-icons a:hover {
	color: #029ece;
}



/* ------------ COMING SOON PAGE ------------ */

.comingsoonpage footer {
	padding: 20px;
}

.comingsoonpage footer .social-icons {
	margin-bottom: 0;
}

#comingsoon {
	min-height: 600px;
	height: 100vh;
	width: 100%;
	background: url('../images/bg/comingsoon-bg.jpg') center fixed no-repeat;
	background-size: cover;
}

.comingsoon-content {
	color: #fff;
    position: relative;
    z-index: 3;
	 height: 100vh;
	 padding-bottom: 300px;
}
.comingsoon-content #comingsoon-logo {
	position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

#comingsoon h2, #comingsoon .section-title-border {
	color: #fff;
	border-color: #fff;
}

#comingsoon #maincontent {
	position: absolute;
	z-index: 4;
	bottom: 0;
	min-height: 300px;
	width: 100%;
	background: #fff;
	background-image: url('../images/crossword.png');
	border-top: 10px solid #F8D40B;
}

#comingsoon .section-info {
	padding: 40px 0;
}

#comingsoon .section-info p {
	font-size: 1.2em;
}

#comingsoon ul.hr {
	padding-top: 20px;
}

#comingsoon .hr-line {
	width: 300px;
	border-color: #fff;
}

#comingsoon .hr-title {
    color: #F8D40B;
	 color: #fff;
    font-size: 24px;
    line-height: 1.5;
    padding: 0 15px;
    text-transform: uppercase;
}

/* Make grayscale filter stop in touch devices */
#map.no-gray{
    filter: none;
    -webkit-filter: grayscale(0%);
}



/* ------------ RESPONSIVE ------------ */

@media (max-width: 999px) {
	#comingsoon .hr-line {
		display: none;
	}
	
	.comingsoon-content {
		height: 400px;
		padding-bottom: 0;
	}

	#comingsoon #maincontent {
		position: relative;
	}
	
	#contactform input#email {
		width: 100%;
		margin-right: 0;
	}
	
	#contactform input#phone {
		width: 100%;
		margin-left: 0;
	}
	
}

@media (max-width: 768px) {
	.row {
		margin-left: 15px;
		margin-right: 15px;
	}
	
	p {
		text-align: center;
	}
	
	.logo-wrapper img {
		display: none;
	}
	
	.home-text {
		padding: 0;
	}
	
	#home-text-slider .item {
		padding: 10px;
	}
	
	.home-text h3 {
		font-size: 2em;
	}
	
	.home-text h2 {
		font-size: 2.7em;
	}
	
	#home div.scroll {
		display: none;
	}
	
	ul.hr li.hr-line {
		width: 100%;
	}
	
	h2.section-title, h2.single-title, h2.work-title, .services-info h2 {
		font-size: 18px;
	}
	
	.services-offered-info p {
		margin-bottom: 0;
		line-height: 1.8;
	}
	
	.service-list .service-box > a {
		overflow: visible;
		pointer-events: none;
	}
	
	.request-text {
		font-size: 2em;
	}
	
	.section-info.reference-list {
		padding: 0;
	}
	
	.reference {
		margin-bottom: 30px;
	}
	
	.testimonial-text{
		 padding: 40px 10px 20px 10px;
	}
	
	.certificate-listing .post-list, .post-list {
		height: auto;
		padding: 20px 0;
	}
	
	#currentneeds-prompt.visible p {
		margin-top: 0;
	}
	
	.svg-icon {
		padding: 0;
	}
	
	.circle-point {
		display: none;
	}
	
	#about-listing .listing-wrapper {
		border: none;
	}
	
	.service-list .service-box {
		height: auto;
		margin-bottom: 50px;
	}
	
	.service-list .service-box .service-features {
		opacity: 1;
		color: #474747;
	}
	
	.service-list .service-box .service-features h4 {
		color: #474747;
		margin-top: 30px;
	}
	
	.service-list .service-box .service-features ul {
		font-size: 100%;
	}
	
	#contactform .row {
		margin: 0;
	}
	
	div.cs-skin-underline {
		font-size: 1em;
	}
	
	.comingsoon-content {
		height: 250px;
	}
	
	#comingsoon .section-info p {
		font-size: 16px;
	}
	
}

@media (min-height: 800px) and (max-width: 999px) {
	
	.comingsoon-content {
		height: 400px;
		padding-bottom: 0;
	}

	#comingsoon #maincontent {
		position: absolute;
	}
}



/* --------- HEADER RESIZE --------- */

.cbp-af-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #f6f6f6;
	z-index: 1000;
	height: 0px;
	overflow: hidden;
	-webkit-transition: height 0.3s;
	-moz-transition: height 0.3s;
	transition: height 0.3s;
}

.cbp-af-header .cbp-af-inner {
	margin: 16px 40px 0;
	padding: 0;
}

.cbp-af-header h1,
.cbp-af-header nav {
	display: inline-block;
	position: relative;
}

 /* We just have one-lined elements, so we'll center the elements with the line-height set to the height of the header */
.cbp-af-header h1,
.cbp-af-header nav a {
	line-height: 230px;
}

.cbp-af-header h1 {
	text-transform: uppercase;
	color: #333;
	letter-spacing: 4px;
	font-size: 4em;
	margin: 0;
	float: left;
}

.cbp-af-header nav {
	float: right;
}

.cbp-af-header nav a {
	color: #aaa;
	font-weight: 700;
	margin: 0 0 0 20px;
	font-size: 1.4em;
}

.cbp-af-header nav a:hover {
	color: #333;
}

/* Transitions and class for reduced height */
.cbp-af-header h1,
.cbp-af-header nav a {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

.cbp-af-header.cbp-af-header-shrink {
	height: 80px;
	box-shadow: 0px 4px 0px rgba(0,0,0,0.1);
}

.cbp-af-header.cbp-af-header-shrink h1,
.cbp-af-header.cbp-af-header-shrink nav a {
	line-height: 90px;
}

.cbp-af-header.cbp-af-header-shrink h1 {
	font-size: 2em;
}

/* Example Media Queries */
@media screen and (max-width: 55em) {
	
	.cbp-af-header .cbp-af-inner {
		width: 100%;
	}

	.cbp-af-header h1,
	.cbp-af-header nav {
		display: block;
		margin: 0 auto;
		text-align: center;
		float: none;
	}

	.cbp-af-header h1,
	.cbp-af-header nav a {
		line-height: 115px;
	}

	.cbp-af-header nav a {
		margin: 0 10px;
	}

	.cbp-af-header.cbp-af-header-shrink h1,
	.cbp-af-header.cbp-af-header-shrink nav a {
		line-height: 45px;
	}

	.cbp-af-header.cbp-af-header-shrink h1 {
		font-size: 2em;
	}

	.cbp-af-header.cbp-af-header-shrink nav a {
		font-size: 1em;
	}
}

@media screen and (max-width: 32.25em) {
	.cbp-af-header nav a {
		font-size: 1em;
	}
}

@media screen and (max-width: 24em) {
	.cbp-af-header nav a,
	.cbp-af-header.cbp-af-header-shrink nav a {
		line-height: 1;
	}
}


.comingsoonv2 .relative-bg {
	height: 100vh;
}

.comingsoonv2 .comingsoon-content {
	height: auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding-bottom: 0;
}

.comingsoonv2 .comingsoon-content .container, .comingsoonv2 .comingsoon-content .container .row, .comingsoonv2 .comingsoon-content .container .row .col {
	height: 100%;	
}

.comingsoon-content2 .section-title {
	padding-top: 80px;
	padding-bottom: 0;
}

.comingsoon-content2 #comingsoon .section-info {
	padding: 20px 0 0;
}

.comingsoon-content2 .section-info p {
	color: #fff;
}

@media (max-width: 999px) {
	
	.navbar .heading-sep {
		display: none;
	}
	
	.comingsoonv2 #comingsoon {
		height: auto;
	}
	
	.comingsoonv2 .image-mask {
		position: fixed;
		z-index: 0;
	}
	
	.comingsoonv2 #footer {
		position: relative;
		padding: 40px 20px;
	}
	
	.comingsoonv2 .relative-bg {
		height: auto;
	}
	
	.comingsoonv2 .comingsoon-content {
		top: auto;
		-webkit-transform: translateY(0%);
	  -ms-transform: translateY(00%);
		transform: translateY(00%);
		padding: 50px 0;
		
	}
	
	.comingsoon-content2 .section-title {
		padding-top: 50px;
	}
	
	.comingsoonv2 .comingsoon-content .section-info .col-sm-6 {
		padding: 0;
	}
}

@media (max-width:768px) {
	
	#home-slider-logo {
		margin-bottom: 10px;
	}
	
	.container {
		min-width: 200px;
	}
	
	.navmenu-open, .navbar .navbar-close {
		top: 18px;
	}
	
	#testimonial .section-title-border {
		border: none;
		padding: 0;
	}
	
	.section-title {
		letter-spacing: 0;
	}
	
	#about .container.mt100 {
		margin-top: 0 !important;
	}
	
	h3 {
		text-align: center;
	}
	
	.cs-placeholder {
		font-size: 14px;
	}
	
	#footer {
		padding: 40px 10px;
	}
	
	.navbar ul li a .primary {
		line-height: 38px;	
	}
	
	.navbar ul li a .secondary, .navbar ul li a:hover .secondary {
		display: none;
	}
	
}

h1.error {
	font-size: 100px;
}
