/* General */
html,
body {
  height: 100%;
}

body {
  font-family: "Varela Round", sans-serif;
  font-size: 1rem !important;
  overflow-x: hidden;
  background-color: #fff !important;
  position: relative;
  color: #67809f !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .1px;
}

@media (max-width: 768px) {
  table {
    white-space: nowrap;
  }
}

tr:nth-child(even) td {
  background: rgba(0, 0, 0, 0.05);
}

td {
  padding: 5px 15px 5px 2px;
}

section {
  padding: 8em 5em;
}

.section-dark {
  background: #eef2f5;
}

.section-darkest {
  background: #232e33;
}

img {
  max-width: 100%;
}

.card-columns .card {
  margin-bottom: 2em;
}

@media (min-width: 34em) {
  .card-columns {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
  }
}

@media (min-width: 48em) {
  .card-columns {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
  }
}

/*@media (min-width: 62em) {
    .card-columns {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
}*/

.white {
  color: white;
}

.softGray {
  color: rgb(90, 90, 90);
}

.hardGray {
  color: rgb(60, 60, 60);
}

.lead {
  font-weight: 400;
}

.primary {
  color: #05c1d9;
}

.primary-white {
  color: #05c1d9;
  background: #fff;
}

.primary:hover {
  color: #06d8f2;
}

.secondary {
  color: #8dce25;
}

.secondary:hover {
  color: #7cb520;
}

.secondary-bg {
  background: #8dce25 !important;
}

.secondary-bg:hover {
  background: #7cb520 !important;
}

a {
  color: #05c1d9;
  text-decoration: none !important;
}

a:hover {
  color: #06d8f2;
}

a:focus {
  outline: none;
}

.text-muted {
  color: #888;
}

.no-gutter > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.btn,
.btn.focus,
.btn:focus {
  -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  background: #05c1d9;
  color: white;
  border: none;
  outline: none;
  font-size: 16px;
  padding: 10px 20px;
  min-width: 150px;
}

.btn:hover {
  -webkit-box-shadow: 0 6px 10px rgba(0, 0, 0, 0.23),
    0 10px 30px rgba(0, 0, 0, 0.19);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.23), 0 10px 30px rgba(0, 0, 0, 0.19);
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  background: #06d8f2;
  color: white;
}

.btn-white,
.btn-white:hover,
.btn-white:focus,
.btn-white.focus {
  background: white;
  color: #05c1d9;
}

.form-horizontal .form-group {
  margin-left: 0;
  margin-right: 0;
}

/* Navigation */
#mainNav {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background-color: white;
  padding: 1em;
}

.navbar-brand > img {
  display: inline-block !important;
  max-height: 1.8em;
  margin: 0.2em 0;
}

.navbar-logo > p {
  color: #05c1d9;
  display: inline-block;
  margin-left: 0.4em;
  line-height: 0px;
  font-weight: 600;
}

.button:focus {
  outline: none !important;
  box-shadow: none;
}

.navbar-toggler,
.navbar-toggler-icon {
  outline: none;
  padding: 0px;
  border: none !important;
}

.navbar-toggler:hover {
  background-color: #ddd;
}

.nav-item a {
  color: #444d56;
  padding: 1em !important;
  transition: all 0.5s ease-in-out;
  font-weight: 600;
  font-size: 0.9em;
}

.nav-item a:hover,
.nav-link.active {
  color: #8dce25 !important;
  font-weight: bold;
}

@media (max-width: 990px) {
  .nav-item a {
    padding: 1em 0;
    display: block;
  }

  .nav-item {
    padding: 0;
  }
}

/* Header */
header .header-background {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #06d8f2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 800 800'%3E%3Cg %3E%3Ccircle fill='%2306d8f2' cx='400' cy='400' r='600'/%3E%3Ccircle fill='%2306d3ed' cx='400' cy='400' r='500'/%3E%3Ccircle fill='%2306cfe8' cx='400' cy='400' r='400'/%3E%3Ccircle fill='%2305cae3' cx='400' cy='400' r='300'/%3E%3Ccircle fill='%2305c6de' cx='400' cy='400' r='200'/%3E%3Ccircle fill='%2305c1d9' cx='400' cy='400' r='100'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#06d8f2', endColorstr='#05c1d9', GradientType=1);
  z-index: 0;
}

header {
  position: relative;
  width: 100%;
  height: 100%;
  color: white;
}

header .container {
  position: relative;
  height: 100%;
  z-index: 2;
  padding-top: 3em;
}

.hover-shadow {
  border-radius: 4px;
  margin: 8px 0px;
  -webkit-transition: box-shadow 200ms ease, -webkit-transform 300ms ease;
  transition: box-shadow 200ms ease, -webkit-transform 300ms ease;
  transition: box-shadow 200ms ease, transform 300ms ease;
  transition: box-shadow 200ms ease, transform 300ms ease,
    -webkit-transform 300ms ease;
}

.hover-shadow:hover {
  box-shadow: 0 4px 4px 0 rgba(54, 54, 54, 0.1),
    0 10px 16px 0 rgba(0, 0, 0, 0.1), 0 20px 26px 0 rgba(0, 0, 0, 0.1);
  -webkit-transform: translate(0px, 0px) scale(1.01);
  -ms-transform: translate(0px, 0px) scale(1.01);
  transform: translate(0px, 0px) scale(1.01);
}

@media (min-width: 768px) {
  .phone-container {
    width: 100%;
  }
}

.phone-text {
  padding: 4em 1em;
}

.phone {
  width: 16em;
  height: 33em;
  position: relative;
}

.phone-frame {
  position: absolute;
  z-index: 1;
}

.phone-video {
  background: #232e33;
  position: absolute;
  top: 18px;
  bottom: 0px;
  left: 10px;
  right: 13px;
  -webkit-box-shadow: 10px 10px 120px 20px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 10px 10px 120px 20px rgba(0, 0, 0, 0.5);
  box-shadow: 10px 10px 120px 20px rgba(0, 0, 0, 0.5);
}

/* Services */
.service-box {
  max-width: 25em;
}

.service-box .service-icon {
  width: 6em;
  margin: 1em auto;
}

.service-box .service-icon > img {
  height: 5em;
}

/* About Us */
.about-image {
  padding: 10%;
  max-width: 30em;
  margin: 0 auto;
}

/* Featured In */
.featured {
  padding: 1em;
}

.featured img {
  opacity: 0.4;
}

/* Our Work */
#our-work a p {
  color: #67809f;
}
.section-heading {
  margin: 1em 0;
  font-weight: bold;
}

/* Social */
.social {
  background: #05c1d9;
  color: white;
  text-align: center;
  margin-top: 40px;
}

.social h3 {
  display: inline-block;
  margin: 0 15px 0 0;
  line-height: 44px;
}

.social .follow-us a {
  display: inline-block;
  background: rgba(255, 255, 255, 1);
  color: #05c1d9;
  height: 44px;
  width: 44px;
  line-height: 44px;
  font-size: 24px;
  border-radius: 50%;
  margin: 0 5px;
  box-shadow: 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.social .follow-us a:hover {
  background: rgba(245, 245, 245, 1);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.23), 0 10px 30px rgba(0, 0, 0, 0.19);
}

/* Support */
#support {
  background: #f2f1ef;
}

/* Contact */
.contact-card {
  margin-top: -4em;
}

.contact-card ul {
  list-style: none;
  padding: 8em 0 0;
}

@media (max-width: 768px) {
  .contact-card ul {
    padding: 2em 0 0;
  }
}

.contact-card li {
  margin: 0.5em 0;
}

.contact-card ul a {
  color: #6c757d;
}

#contact {
  padding-bottom: 1em;
  padding-top: 0;
  border-top: 4em solid white;
}

#contact p i {
  margin-right: 15px;
  font-size: 20px;
  text-align: center;
  color: #444d56;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  line-height: 50px;
}

#contact p:after {
  top: -7px;
  left: -7px;
  padding: 7px;
  box-shadow: 0 0 0 2px #8386b5;
  -webkit-transition: -webkit-transform 0.2s, opacity 0.2s;
  -webkit-transform: scale(0.8);
  -moz-transition: -moz-transform 0.2s, opacity 0.2s;
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transition: transform 0.2s, opacity 0.2s;
  transform: scale(0.8);
  opacity: 0;
}

#contact p:hover:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

#contact .contact-right {
  padding-top: 60px;
}

#contact .contact-right p {
  font-size: 1.3em;
}

#contactmsg {
  width: 100%;
  text-align: center;
  font-size: 17px;
  position: relative;
  font-weight: 700;
}

.form-control-wrapper {
  width: 100%;
  max-width: 402px;
  margin: 0 auto;
}

.form-control-wrapper h2 {
  margin-top: 10px;
}

.form-control-wrapper .contact-title {
  margin: 0;
  padding: 20px 0;
}

.form-control-wrapper .submit-button {
  display: block;
  width: 150px;
  margin: 20px 0 10px;
  color: #fff;
}

.rc-anchor-dark {
  background: transparent !important;
}

textarea {
  height: 69px;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #67809f;
  font: inherit;
  -webkit-transition: -webkit-transform 0.3s ease-in-out,
    font-size 0.3s ease-in-out, visibility 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, font-size 0.3s ease-in-out,
    visibility 0.3s ease-in-out;
}

::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #67809f;
}

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #67809f;
  opacity: 1;
}

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #67809f;
  opacity: 1;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #67809f;
}

input,
textarea {
  font: inherit;
  font-size: 1.2em;
  margin: 0px auto;
  width: 100%;
  max-width: 400px;
  display: block;
  border: none;
  padding: 20px 0 10px;
  border-bottom: solid 2px #67809f;
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 96%,
    #67809f 4%
  );
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 96%,
    #67809f 4%
  );
  background-position: -400px 0;
  background-size: 400px 100%;
  background-repeat: no-repeat;
  -webkit-transition: background 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
  transition: background 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
  resize: none;
  overflow: hidden;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: #67809f;
}

input:focus,
input:valid,
textarea:focus,
textarea:valid {
  color: #67809f;
  box-shadow: none;
  outline: none;
  background-position: 0 0;
}

input:focus::-webkit-input-placeholder,
input:valid::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder,
textarea:valid::-webkit-input-placeholder {
  color: #67809f;
  font-size: 0.8em;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px);
  visibility: visible !important;
  opacity: 1;
}

/* Media */
@media (max-width: 1199px) {
  .portfolio-box {
    height: 345px;
  }
}

@media (max-width: 992px) {
  .form-control-wrapper .submit-button {
    margin: 20px auto;
  }

  .contact-right p,
  .contact-title {
    text-align: center;
  }

  h2,
  .h2 {
    font-size: 24px;
  }

  section {
    padding: 4em 1em;
  }
}

@media (max-width: 767px) {
  .portfolio-modal .modal-content {
    height: 100%;
    margin: 0;
  }

  .intro-card .intro-card-actions {
    position: relative;
  }

  .social h3 {
    display: block;
  }

  .portfolio-box {
    height: 280px;
  }

  .container-fluid {
    padding: 0;
  }

  .navbar-header {
    padding: 0 15px;
  }

  .navbar-nav {
    margin: 0;
    text-align: center;
  }

  #contact .contact-right {
    padding-top: 30px;
  }
}

@media (max-width: 650px) {
  .portfolio-box {
    height: 180px;
  }
}

@media (max-width: 450px) {
  .portfolio-box {
    height: 150px;
  }
}

@media (min-width: 768px) {
  header .header-text h1 {
    font-size: 60px;
  }

  .intro-card .container {
    width: 100%;
  }

  .modal-content {
    max-width: 750px;
  }
}

/* FAQ */
ul.accordion-menu {
  list-style: none;
  padding: 0;
  font-weight: 400;
  font-size: 16px;
}

ul.accordion-menu li {
  background: none;
  margin: 7px 0;
  padding: 0;
}

ul.accordion-menu li header {
  color: rgb(90, 90, 90);
  cursor: pointer;
  padding: 10px 20px;
  text-align: left;
  transition: all 200ms ease;
}

ul.accordion-menu li header:hover {
  color: #05c1d9;
}

ul.accordion-menu li section.content {
  overflow: hidden;
  padding: 20px;
  transition: all 200ms linear;
  background-color: #ecf0f1;
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 1px;
  -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 1px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 2px 1px;
}

ul.accordion-menu li section.content a {
  color: #05c1d9;
}

ul.accordion-menu li section.content a:hover {
  text-decoration: underline !important;
}

ul.accordion-menu li section.content p {
  margin: 0;
}

ul.accordion-menu li.closed section.content {
  max-height: 0;
  padding: 0 20px;
}

ul.accordion-menu li.open header {
  background-color: #05c1d9;
}

ul.accordion-menu li.open header span.title {
  color: #fff;
}

ul.accordion-menu li section.content img {
  max-height: 300px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 10px;
}

.question-group {
  font-weight: 600;
  margin-top: 20px !important;
  color: #05c1d9;
}

.faq-image-container p {
  text-align: center;
  font-size: 13px;
}

/* Terms and Privacy */
.terms {
  text-align: justify;
  text-justify: inter-word;
}

.g-recaptcha {
  margin-top: 6px;
}

/* Screenshots */
.screenshot {
  position: relative;
}

.screenshot img {
  max-width: 100%;
  height: auto;
  display: block;
  width: 100%;
}

.slide-up:hover .screenshot-caption {
  opacity: 1;
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
  transition: opacity 0.1s, -webkit-transform 0.4s;
  transition: transform 0.4s, opacity 0.1s;
  transition: transform 0.4s, opacity 0.1s, -webkit-transform 0.4s;
}

.screenshot-caption {
  background: #172026;
  position: absolute;
  color: #dadfe1;
  text-align: center;
  top: auto;
  bottom: 0;
  opacity: 0;
  left: 0;
  width: 100%;
  vertical-align: center;
  padding: 1em;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity 0.1s 0.3s, -webkit-transform 0.4s;
  transition: transform 0.4s, opacity 0.1s 0.3s;
  transition: transform 0.4s, opacity 0.1s 0.3s, -webkit-transform 0.4s;
}
