@import url(normalize.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700,700italic);
html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  left: 0;
  top: 0;
  font-size: 100%; }

* {
  font-family: "Lato", Helvetica, sans-serif;
  line-height: 1.5; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.375rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1rem; }

h6 {
  font-size: 0.875rem; }

p {
  font-size: 1.125rem;
  font-weight: 200;
  line-height: 1.8; }

.font-light {
  font-weight: 300; }

.font-regular {
  font-weight: 400; }

.font-heavy {
  font-weight: 700; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.center {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

.justify {
  text-align: justify; }

.hidden-sm {
  display: none; }

.container {
  width: 90%;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (min-width: 33.75em) {
    .container {
      width: 80%; } }
  @media only screen and (min-width: 60em) {
    .container {
      width: 75%;
      max-width: 60rem; } }

.row {
  position: relative;
  width: 100%; }

.row [class^="col"] {
  float: left;
  margin: 0.5rem 2%;
  min-height: 0.125rem; }

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

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  width: 96%; }

.col-1-sm {
  width: 4.3333333333%; }

.col-2-sm {
  width: 12.6666666667%; }

.col-3-sm {
  width: 21%; }

.col-4-sm {
  width: 29.3333333333%; }

.col-5-sm {
  width: 37.6666666667%; }

.col-6-sm {
  width: 46%; }

.col-7-sm {
  width: 54.3333333333%; }

.col-8-sm {
  width: 62.6666666667%; }

.col-9-sm {
  width: 71%; }

.col-10-sm {
  width: 79.3333333333%; }

.col-11-sm {
  width: 87.6666666667%; }

.col-12-sm {
  width: 96%; }

@media only screen and (min-width: 45em) {
  .col-1 {
    width: 4.3333333333%; }

  .col-2 {
    width: 12.6666666667%; }

  .col-3 {
    width: 21%; }

  .col-4 {
    width: 29.3333333333%; }

  .col-5 {
    width: 37.6666666667%; }

  .col-6 {
    width: 46%; }

  .col-7 {
    width: 54.3333333333%; }

  .col-8 {
    width: 62.6666666667%; }

  .col-9 {
    width: 71%; }

  .col-10 {
    width: 79.3333333333%; }

  .col-11 {
    width: 87.6666666667%; }

  .col-12 {
    width: 96%; }

  .hidden-sm {
    display: block; } }
html {
  background: #000000;
  scroll-behavior: smooth; }

body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  margin: 0;
  padding: 0;
  color: white; }
  body h1 {
    color: white; }
  body p {
    color: white; }
  body a {
    color: white; }

main {
  flex: 1; }
  main section#first {
    min-height: 100vh;
    background: url(/assets/pics/laptop-back.jpg) center fixed;
    background-size: cover; }
    main section#first #scroll_hint {
      position: absolute;
      bottom: 20px;
      left: 50%;
      margin-left: -25px;
      animation: pulse 3s ease-in-out infinite, slideupdown 3s ease-in-out infinite; }
      main section#first #scroll_hint img {
        width: 50px; }
    main section#first header {
      right: 0;
      left: 0;
      top: 0;
      position: fixed;
      display: block;
      background: rgba(0, 0, 0, 0.8);
      z-index: 999; }
      main section#first header div#logo {
        visibility: visible;
        transition: all .3s linear;
        padding-left: 15px; }
        main section#first header div#logo.hidden {
          visibility: hidden;
          opacity: 0; }
        main section#first header div#logo img {
          max-width: 120px;
          padding: 0.5rem; }
      main section#first header div#actions {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0; }
        main section#first header div#actions .button {
          height: 100%;
          display: inline-block;
          text-decoration: none;
          margin: 0;
          text-align: center;
          text-transform: uppercase;
          position: relative;
          overflow: hidden; }
          main section#first header div#actions .button:before {
            width: 0;
            height: 0;
            left: 50%;
            top: 50%;
            border-radius: 1000px;
            position: absolute;
            content: '';
            background: rgba(255, 255, 255, 0.2);
            transition: all .3s linear; }
          main section#first header div#actions .button:hover:before {
            position: absolute;
            top: 0;
            left: -50%;
            width: 500px;
            height: 500px; }
          main section#first header div#actions .button div.align {
            padding-left: 1rem;
            padding-right: 1rem;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center; }
            main section#first header div#actions .button div.align .icon {
              padding-right: 1rem; }
        main section#first header div#actions .button.contact {
          background: #2a9c5e; }
        main section#first header div#actions .button.portal {
          background: #2692ff;
          padding: 0rem;
          margin: 0rem; }
    main section#first div#badge {
      background: rgba(0, 0, 0, 0.8);
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100vh; }
      main section#first div#badge div#badge_image {
        text-align: center;
        animation: saturate .6s ease-in; }
        main section#first div#badge div#badge_image #badge_image_image.hidden {
          opacity: 0;
          transition: opacity .3s linear; }
        main section#first div#badge div#badge_image img.headerimg {
          max-height: 25vh;
          max-width: 80vw; }
        main section#first div#badge div#badge_image div#badge_text {
          text-align: center;
          font-size: 3em;
          color: #2692ff; }
        main section#first div#badge div#badge_image div#icons_row .icon {
          display: inline-block;
          padding-right: 2em;
          padding-left: 2em; }
          main section#first div#badge div#badge_image div#icons_row .icon .icon_image img {
            max-width: 250px;
            max-height: 15vh; }
          main section#first div#badge div#badge_image div#icons_row .icon .icon_text {
            font-size: 1.2rem;
            font-weight: bold;
            text-transform: uppercase;
            color: white; }
  main section#second, main section#fifth {
    background: url(/assets/pics/dark_wall.png) repeat fixed;
    padding-top: 4rem;
    padding-bottom: 4rem; }
    main section#second .container, main section#fifth .container {
      max-width: 100%; }
    main section#second .blurb .icons .icon, main section#fifth .blurb .icons .icon {
      display: inline-block;
      vertical-align: middle;
      padding: 1rem; }
      main section#second .blurb .icons .icon img, main section#fifth .blurb .icons .icon img {
        max-width: 100px;
        filter: saturate(0); }
  main section#third .services {
    display: flex;
    flex-direction: row;
    background: linear-gradient(90deg, #FF6314 49%, #2a9c5e 50%);
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden; }
    main section#third .services .service {
      flex: 1fr;
      padding: 20px 40px;
      color: white;
      min-height: 400px;
      position: relative;
      transform: skew(10deg);
      transition: all .3s linear;
      flex: 2;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: "Lato", sans-serif; }
      main section#third .services .service .content {
        padding-left: 2em;
        transform: skew(-10deg);
        text-align: center;
        font-size: 15pt; }
      main section#third .services .service.active {
        flex: 3; }
        main section#third .services .service.active .content {
          display: block; }
      main section#third .services .service:first-child .title {
        padding-bottom: 1em; }
      main section#third .services .service:last-child .title {
        padding-top: 40px;
        transform: translate(3em) rotate(90deg); }
      main section#third .services .service.first {
        background: #FF6314; }
        main section#third .services .service.first .starter-price {
          font-weight: bold;
          padding: 2rem; }
      main section#third .services .service.second {
        background: #2692ff; }
      main section#third .services .service.third {
        background: #636b6f; }
      main section#third .services .service.fourth {
        background: #2a9c5e; }
      main section#third .services .service .title {
        transform: translate(2em) rotate(90deg);
        transform-origin: 0 0;
        position: absolute;
        left: 0;
        top: 0;
        width: 400px;
        right: 0;
        text-align: center;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 25pt; }
  main section#fourth {
    background: url(/assets/pics/backgrounds/code.jpg) no-repeat fixed;
    background-size: cover;
    padding-top: 4em;
    position: relative; }
    main section#fourth p, main section#fourth h1, main section#fourth h2 {
      color: white; }
    main section#fourth .mask {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      background: rgba(0, 0, 0, 0.7); }
    main section#fourth .profiles .profile {
      color: white; }
      main section#fourth .profiles .profile .image img {
        width: 100%;
        clip-path: url(#myClip); }
      main section#fourth .profiles .profile .name {
        font-size: 1.5em;
        font-weight: bold; }
      main section#fourth .profiles .profile .title {
        color: white; }

.contactForm {
  background: white;
  color: black;
  padding: 2rem; }
  .contactForm div {
    padding: .5rem; }
  .contactForm label {
    font-size: 1.5rem; }
  .contactForm input[type="text"], .contactForm input[type="email"] {
    background: rgba(0, 0, 0, 0.2);
    font-size: 1.5rem;
    padding: .5em;
    border: none;
    max-width: 100%;
    box-sizing: border-box; }
  .contactForm textarea {
    width: 100%;
    box-sizing: border-box;
    font-size: 1.2rem;
    padding: .5rem;
    font-family: "Lato", Helvetica, sans-serif;
    min-height: 7rem;
    background: rgba(0, 0, 0, 0.2);
    color: black; }
  .contactForm button {
    background: #636b6f;
    color: white;
    font-size: 1.5rem;
    border: none;
    padding: .5rem;
    transition: all .3s linear; }
    .contactForm button:hover {
      background-color: #2692ff; }

footer {
  background: #333333;
  padding-top: 3rem;
  padding-bottom: 3rem; }
  footer div {
    color: white; }
  footer .container {
    max-width: 100%;
    width: 100%; }
  footer .logo {
    max-width: 200px; }
  footer .icons {
    font-size: 3em; }

.notransition {
  transition: none !important; }

@keyframes saturate {
  from {
    filter: saturate(0%);
    transform: translateX(-100vw);
    opacity: 0; }
  to {
    filter: saturate(100%);
    transform: translateX(0);
    opacity: 1; } }
@keyframes pulse {
  0% {
    opacity: 1; }
  50% {
    opacity: .3; }
  100% {
    opacity: 1; } }
@keyframes slideupdown {
  0% {
    transform: translateY(0px); }
  50% {
    transform: translateY(10px); }
  100% {
    transform: translateY(0px); } }
.border {
  width: 80px;
  height: 150px;
  border: 3px solid #ffffff;
  border-radius: 8px;
  margin: 0 auto;
  position: relative;
  transition: all .4s linear;
  background: url("/assets/pics/favicon.svg") center no-repeat;
  background-size: 50%;
  filter: saturate(0);
  /* animation: convertIntoOthers 3s linear infinite; */ }

.border.phone {
  width: 80px;
  height: 150px; }

.border.phone:after {
  position: absolute;
  bottom: 5px;
  left: 50%;
  margin-left: -8px;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  border: 3px solid #ffffff;
  content: '';
  opacity: 1; }

.border.phone:before {
  position: absolute;
  border: 3px solid #ffffff;
  left: 5px;
  right: 5px;
  bottom: 25px;
  top: 10px;
  content: '';
  width: auto;
  box-sizing: border-box; }

/* Tablet */
.border.tablet {
  width: 100px; }

.border.tablet:after {
  transition: all .4s linear;
  position: absolute;
  bottom: 3px;
  left: 50%;
  margin-left: -8px;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  border: 3px solid #ffffff;
  content: '';
  opacity: 1; }

.border.tablet:before {
  position: absolute;
  border: 3px solid #ffffff;
  left: 5px;
  right: 5px;
  bottom: 20px;
  top: 10px;
  content: '';
  width: auto;
  box-sizing: border-box; }

/*  Desktop */
.border.desktop {
  width: 180px; }

.border.desktop:after {
  transition: all .4s linear;
  position: absolute;
  bottom: -16px;
  left: 50%;
  margin-left: -20px;
  width: 40px;
  height: 10px;
  border-radius: 0;
  border: 3px solid #ffffff;
  content: ''; }

.border.desktop:before {
  transition: all .4s linear;
  position: absolute;
  border: 3px solid #ffffff;
  left: 5px;
  right: 5px;
  bottom: 10px;
  top: 10px;
  content: '';
  width: auto;
  box-sizing: border-box; }

@media screen and (max-width: 1040px) {
  main section#third .services {
    padding: 0;
    display: block; }
    main section#third .services .service {
      transform: none; }
      main section#third .services .service .content {
        transform: none; } }
/* @keyframes convertIntoOthers{
  0%, 32.9%{
    width: 80px;
  }
  33%, 66%{
    width:150px;
  }
  65.9, 100%{
    width: 80px;
  }
} */

/*# sourceMappingURL=main.css.map */
