html{
    min-height:100%;/* make sure it is at least as tall as the viewport */
    position:relative;
	scroll-behavior: smooth;
}
body {
	height: auto;
	margin: 0;
	padding: 0;
	font-size: 15px;
	font-family: 'lato', sans-serif;
	font-weight: 400;
	color: black;
}
a, a:hover, a:active, a:visited {
	text-decoration: none;
	color: #0096EC;
}
* {
  box-sizing: border-box; /* this is to include padding and border within the width of the element */
}
.row::after { /* this is to make element not ovveride because of the float left */
  content: "";
  clear: both;
  display: table;
}

[class*="col-"] {
  float: left;
  padding: 15px;
}

/* For mobile phones: */
[class*="col-"] {
  width: 100%;
}


/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {}

@media only screen and (min-width: 600px) {
  /* For tablets: */
  .col-s-1 {width: 8.33%;}
  .col-s-2 {width: 16.66%;}
  .col-s-3 {width: 25%;}
  .col-s-4 {width: 33.33%;}
  .col-s-5 {width: 41.66%;}
  .col-s-6 {width: 50%;}
  .col-s-7 {width: 58.33%;}
  .col-s-8 {width: 66.66%;}
  .col-s-9 {width: 75%;}
  .col-s-10 {width: 83.33%;}
  .col-s-11 {width: 91.66%;}
  .col-s-12 {width: 100%;}
  .step { width: 33.334% !important; height: 400px !important; }
}

@media only screen and (min-width: 768px) {
  /* For desktop: */
  .col-1 {width: 8.33%;}
  .col-2 {width: 16.66%;}
  .col-3 {width: 25%;}
  .col-4 {width: 33.33%;}
  .col-5 {width: 41.66%;}
  .col-6 {width: 50%;}
  .col-7 {width: 58.33%;}
  .col-8 {width: 66.66%;}
  .col-9 {width: 75%;}
  .col-10 {width: 83.33%;}
  .col-11 {width: 91.66%;}
  .col-12 {width: 100%;}
}

ul {
	list-style: none;
	padding: 0;
}

/* text selection */
::-moz-selection { background: #ec5600; color: #fff;}
::selection { background: #ec5600; color: #fff;}

/* custom scrollbars */
::-webkit-scrollbar {
  width: 5px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  background: #888;
}
::-webkit-scrollbar-thumb:hover {
  background: #555;
}
::-webkit-scrollbar-button {
	background: #555;
}

form
{
  display: block;
  margin: 30px;
  overflow: hidden;
  background: #FFF;
  border-radius: 5px;
  font-size: 0;
}

@media(min-width:800px){
  form > div {
    display: inline-block;
  }
  form > div.col-submit {
    display: block;
  }
}

form > div > label
{
  display: block;
  padding: 20px 20px 10px;
  vertical-align: top;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: #939393;
  cursor: pointer;
}

form > div.col-1, form > div.col-2, form > div.col-3, form > div.col-4 { 
  border-bottom: 1px solid #E4E4E4;
}

@media(min-width: 800px){
  form > div.col-1, form > div.col-2, form > div.col-3, form > div.col-4 { box-shadow: 1px 1px #E4E4E4; border: none; }  
}

@media(min-width:800px){
	form > div.col-1 { width: 100% }
	form > div.col-2 { width: 50% }
	form > div.col-3 { width: 33.3333333333% }
	form > div.col-4 { width: 25% }
}

form > div > label > input
{
  display: inline-block;
  position: relative;
  width: 100%;
  height: 27px;
  line-height: 27px;
  margin: 5px -5px 0;
  padding: 7px 5px 3px;
  border: none;
  outline: none;
  border-radius: 3px;
  background: transparent;
  font-size: 14px;
  font-weight: 200;
  opacity: .66;
  transition: opacity .3s, box-shadow .3s;
}

form > div > label > textarea
{
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100px;
  line-height:18px;
  margin: 5px -5px 0;
  padding: 7px 5px 3px;
  border: none;
  outline: none;
  border-radius: 3px;
  background: transparent;
  font-size: 14px;
  font-weight: 200;
  opacity: .66;
  transition: opacity .3s, box-shadow .3s;
  resize:vertical;
}


form > div.col-submit {
  text-align: center;
  padding: 20px;
}

form > div.col-submit button {
  background: #0067A5 ;
  font-size: 14px;
  color: #fff;
  padding: 1em;
  display: block;
  width: 100%;
  cursor: pointer;
  border: 0;
  border-radius: 5px;
  text-transform: uppercase;
}

@media(min-width: 800px){
  form > div.col-submit button {
    width: 30%;
    margin: 0 auto;
  }
}

form > div.col-submit button:hover {
  background: #004BA5;
}

form > div > label > input:focus, form > div > label > textarea:focus
{
  opacity: 1;
  box-shadow: 0 3px 4px rgba(0, 0, 0, .15);
}

.error {
	opacity: 1;
	box-shadow: 0 3px 4px rgba(255,0,0,0.5);
	background:rgba(255,0,0,0.1);
}

.validated {
	opacity: 1;
	box-shadow: 0 3px 4px rgba(0,153,0,0.5);
	background:rgba(0,153,0,0.1);
}

#nameerror {
	display:none;
	color:red;
	font-size:12px;
}

#emailerror {
	display:none;
	color:red;
	font-size:12px;
}

#messageerror {
	display:none;
	color:red;
	font-size:12px;
}
.contact.footer-cto {
height: 100% !important; 
}
.contact-container {
	display: inline-block;
	margin: 40px auto;
	max-width: 1200px;
	width: 100%;
}

/* common elements */
hr {
	display: block;
	border: none;
	outline: none;
	height: 2px;
	width: 7%;
	color: #0096EC;
	background: #0096EC;
	margin: 0 auto 15px;
	clear: both;
}

.section {
	text-align: center;
	padding: 40px 0;
	position: relative;
}

.no-padding {
	padding: 0 !important;
}

.btn {
	padding: 10px 20px;
	display: inline-block;
	transition: all .3s;
}

.regular {
	border: solid 2px #0096EC;
}

.regular:hover {
	background: #0096EC;
	color: #fff;
}

.section:hover .particles {
	transform: translate(-5%,5%);
}

.whyus {
	background: #eee;
}

/* Main wrapper */
.container {
	max-width: 1200px;
	width: 100%;
	margin: auto;
}

/* Header */

.logo {
	height: 100px;
	text-align: center;
}
.logo img {
	height: 100%;
}

/* Hero image */
.hero {
	position: relative;
}
.hero-image {
	background: #ccc;
	background-size: cover !important;
	background-position: center !important;
	height: 300px;
	width: 100%;
}
.home .hero-image {
	background: url('images/bg6.jpg');
	height: 500px;
}

.inner .hero-image {
	background: url('images/footer_cto_2.jpg');
}

.hero-contents {
	position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-weight: bold;
    color: #fff;
	width: 50%;
	-webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Old versions of Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* Non-prefixed version, currently supported by Chrome, Opera and Firefox */
}

.home .hero-contents {
	top: 50% !important;
}

.hero-text {
    font-size: calc(20px + 12 * ((100vw - 320px) / 680));
	text-transform: uppercase;
	display: block;
	text-shadow: 1px 1px 1px #000;
}

.home .hero-text {
	margin-bottom: 35px;
	text-align: center;
}

.hero-cto {
	background: #0096EC;
	padding: 15px 25px;
	color: #fff !important;
	font-size: 24px;
	text-transform: uppercase;
	transition: all 0.3s;
	border: solid 2px #0096EC;
}
.hero-cto:hover {
	background: #005a99;
}
/* Scroll down arrow */
.scrolldown {
	position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
	color: #fff;
	font-size: 22px
}

.scrolldown a {
	color: #fff !important;
	cursor: pointer;
}

.scrolldown{
  animation: animationFrames linear 4s;
  animation-iteration-count: infinite;
  transform-origin: 50% 50%;
  -webkit-animation: animationFrames linear 4s;
  -webkit-animation-iteration-count: infinite;
  -webkit-transform-origin: 50% 50%;
  -moz-animation: animationFrames linear 4s;
  -moz-animation-iteration-count: infinite;
  -moz-transform-origin: 50% 50%;
  -o-animation: animationFrames linear 4s;
  -o-animation-iteration-count: infinite;
  -o-transform-origin: 50% 50%;
  -ms-animation: animationFrames linear 4s;
  -ms-animation-iteration-count: infinite;
  -ms-transform-origin: 50% 50%;
}

@keyframes animationFrames{
  0% {
    transform:  translate(0px,0px)  ;
  }
  10% {
    transform:  translate(0px,-10px)  ;
  }
  20% {
    transform:  translate(0px,0px)  ;
  }
  75% {
    transform:  translate(0px,0px)  ;
  }
  100% {
    transform:  translate(0px,0px)  ;
  }
}

@-moz-keyframes animationFrames{
  0% {
    -moz-transform:  translate(0px,0px)  ;
  }
  10% {
    -moz-transform:  translate(0px,-10px)  ;
  }
  20% {
    -moz-transform:  translate(0px,0px)  ;
  }
  75% {
    -moz-transform:  translate(0px,0px)  ;
  }
  100% {
    -moz-transform:  translate(0px,0px)  ;
  }
}

@-webkit-keyframes animationFrames {
  0% {
    -webkit-transform:  translate(0px,0px)  ;
  }
  10% {
    -webkit-transform:  translate(0px,-10px)  ;
  }
  20% {
    -webkit-transform:  translate(0px,0px)  ;
  }
  75% {
    -webkit-transform:  translate(0px,0px)  ;
  }
  100% {
    -webkit-transform:  translate(0px,0px)  ;
  }
}

@-o-keyframes animationFrames {
  0% {
    -o-transform:  translate(0px,0px)  ;
  }
  10% {
    -o-transform:  translate(0px,-10px)  ;
  }
  20% {
    -o-transform:  translate(0px,0px)  ;
  }
  10% {
    -o-transform:  translate(0px,0px)  ;
  }
  100% {
    -o-transform:  translate(0px,0px)  ;
  }
}

@-ms-keyframes animationFrames {
  0% {
    -ms-transform:  translate(0px,0px)  ;
  }
  10% {
    -ms-transform:  translate(0px,-10px)  ;
  }
  20% {
    -ms-transform:  translate(0px,0px)  ;
  }
  75% {
    -ms-transform:  translate(0px,0px)  ;
  }
  100% {
    -ms-transform:  translate(0px,0px)  ;
  }
}


/* Home Page */
.title {
	font-weight: 400;
	font-size: 42px;
	line-height: 42px;
	text-transform: uppercase;
}

.services .blocks {
	display: inline-block;
	width: 100%;
}

.service-block {
	margin-bottom: 40px;
	margin-top: 40px;
}

.service-block .title {
	font-size: 24px;
	line-height: 28px;
}

.service-block .description {
	padding-bottom: 20px;
}



/* responsive section */
.responsive-inner {
	float: left;
	width: 65%;
	text-align: left;
}
.responsive-bullet {
	padding-bottom: 20px;
}
.bullet-icon {
	float: left;
}
.bullet-icon .lnr {
	font-size: 30px;
	font-weight: bold;
	color: #0096EC;
}
.bullet-body {
	margin-left: 40px;
}
.bullet-title {
	font-weight: bold;
	font-size:20px;
	text-transform: uppercase;
	transition: all .3s;
}
.responsive-bullet:hover .bullet-title {
	color: #0096EC;
}
.responsive-img {
	position: relative;
	float: left;
	width: 35%;
}
.responsive-img img {
	width: 100%;
}
.responsive-circle {
	background-image: linear-gradient(to bottom right, #0096EC, #3f51b5);
	width: 300px;
	height: 300px;
	position: absolute;
	left: -85px;
	bottom: -55px;
	border-radius: 50%;
	box-shadow: 6px 6px 10px 5px #ccc;
	transition: all .3s;
	z-index: -1;
}
.responsive:hover .responsive-circle {
	transform: scale(1.05);
	left: -100px;
}

/* featured projects */
.project {
  padding: 15px;
  float: left;
  width: 33.33%;
  position: relative;
  
}
.project img {
	width: 100%;
	transition: all .3s;
}
.project-inner {
	position: relative;
	overflow: hidden;
	box-shadow: 0 0 10px 5px #ccc;
}

.project:hover img {
	transform: scale(1.1) rotate(3deg);
}

.tooltip {
	background: rgba(0,0,0,0.75);
	padding: 5px;
	font-size: 14px;
	border-radius: 5px;
	position: absolute;
	top: -25px;
	left: -12px;
	width: 60px;
	text-align: center;
	opacity: 0;
	transition: all .3s;
}
.buttons a:hover .tooltip {
	opacity: 1;
}
@media only screen and (max-width: 700px) {
  .project {
    width: 49.99999%;
    margin: 6px 0;
  }
}

@media only screen and (max-width: 500px) {
  .project {
    width: 100%;
  }
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.lightbox {
  /* Default to hidden */
  display: none;

  /* Overlay entire screen */
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  /* A bit of padding around image */
  padding: 1em;

  /* Translucent background */
  background: rgba(0, 0, 0, 0.8);
}

/* Unhide the lightbox when it's the target */
.lightbox:target {
  display: block;
}

.lightbox span {
  /* Full width and height */
  display: block;
  width: 100%;
  height: 100%;

  /* Size and position background image */
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}


/* Footer */
footer {
	background: #222;
}

.footer-cto {
	height: 400px;
	position: relative;
	text-align: center;
}

.footer-cto .dark-overlay {
	background: rgba(0,138,200,0.8);
	transition: all .3s;
	height: 100%;
}

.footer-cto:hover .dark-overlay {
	background: rgba(0,138,200,0.9);
}

.footer-cto .container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.footer-cto .cto-text h2 {
	font-size: calc(20px + 18 * ((100vw - 320px) / 680));
	line-height: calc(20px + 18 * ((100vw - 320px) / 680));
	font-weight: 300;
	color: #fff;
	margin: 0 0 40px 0;
}

.footer-cto a {
	display: inline-block;
	margin: 0 !important;
	font-size: 24px;
	background: #fff;
	padding: 15px;
	transition: all .3s;
}

.footer-cto a:hover {
	background: #eee;
}

.footer-top {
	display: flex;
	margin-bottom: 60px;
}

.footer-top i {
	color: #0089c7;
	font-size: 32px;
	margin-bottom: 20px;
}

.footer a {
	color: #fff;
}

.footer a:hover {
	color: #cfcfcf;
}

.footer-bottom {
	text-align: center;
	padding: 15px;
}


.social-icons {
	margin: 30px 0;
}

.social-icons a {
	border: solid 2px #fff;
	background: #fff;
	color: #222 !important;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	line-height: 40px;
	display: inline-block;
	margin: 0 5px;
	transition: all 0.3s;
	font-size: 18px;
}

.social-icons a:hover {
	background: #222;
	color: #fff !important;
}

.footer-copy {
	color: #757575;
	font-size: 14px;
}

.back-to-top {
	position: absolute;
	right: 40px;
	bottom: 30px;
}

.svg {
	display: inline-block;
}

#svg {
	width: 90px;
	height: 100%;
}

#svg path:nth-child(1) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
#svg path:nth-child(2) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
#svg path:nth-child(3) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
#svg path:nth-child(4) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
#svg path:nth-child(5) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
#svg path:nth-child(6) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
#svg path:nth-child(7) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
#svg path:nth-child(8) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
#svg path:nth-child(9) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
#svg path:nth-child(10) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
#svg path:nth-child(11) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
#svg path:nth-child(12) {
  -webkit-animation: pweek 1.8s linear infinite;
          animation: pweek 1.8s linear infinite;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

#svg:hover path {
  animation-play-state: paused;
  -webkit-animation-play-state: paused;
}

@-webkit-keyframes pweek {
  0% {
    fill: #0774bb;
  }
  20% {
    fill: #86d0f3;
  }
  40% {
    fill: #ec5600;
  }
  60% {
    fill: #005a98;
  }
  80% {
    fill: #0988c5;
  }
  100% {
    fill: #0774bb;
  }
}

@keyframes pweek {
  0% {
    fill: #0774bb;
  }
  20% {
    fill: #86d0f3;
  }
  40% {
    fill: #ec5600; /* #0aabe2 */
  }
  60% {
    fill: #005a98;
  }
  80% {
    fill: #0988c5;
  }
  100% {
    fill: #0774bb;
  }
}
