/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* My Reset Styles */
/*-----Prevents iPhone from resizing in landscape mode -----*/
html {
  -webkit-text-size-adjust: none;
}

/*----------- apply a natural box layout model to all elements --------------*/
* {
  box-sizing: border-box;
}

/* End of Reset*/
/* 760px (size we want) / 16 (16px = 1em) = 47.5em  For Tablet*/
/* 1140px (size we want) / 16 (16px = 1em) = 71.25em For Desktop*/
/*----- Clearfix -----*/
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

html,
body {
  height: 100%;
}

body {
  font-family: "Lato", sans-serif;
  font-weight: 400;
}

p {
  line-height: 1.4;
  margin-bottom: 15px;
  font-size: 18px;
}
p:last-child {
  margin-bottom: 0px;
}

h6, h5, h4, h3, h2, h1 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

h1 {
  font-size: 1.75em;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.2em;
}

h4 {
  font-size: 1em;
}

h5 {
  font-size: 0.8em;
}

h6 {
  font-size: 0.6em;
}

img {
  width: 100%;
  display: block;
}

a,
a:visited {
  text-decoration: none;
}

.page_title {
  font-size: 2rem;
  margin: 20px 0;
  padding: 0 3%;
}

::-moz-selection {
  /* Code for Firefox */
  color: #fff;
  background: #68cce4;
}

::selection {
  color: #fff;
  background: #68cce4;
}

.white-text {
  color: #fff;
}

.center-text {
  text-align: center;
}

.center-content {
  width: 100%;
  text-align: center;
}

.center-content--margin {
  margin: 40px 0;
}

.pl-20 {
  padding-left: 20px;
}

.tb-margin-50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.tb-margin-50-mob {
  margin-top: 50px;
  margin-bottom: 50px;
}

@media (min-width: 47.5em) {
  .tb-margin-50-mob {
    margin-top: 0px;
    margin-bottom: 0px;
  }
}
.tb-margin-100 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.mt-50 {
  margin-top: 50px;
}

.box-bg {
  width: 80%;
  height: auto;
  margin: 0 auto;
  background-color: #68cce4;
  position: relative;
}
@media (min-width: 47.5em) {
  .box-bg {
    width: 50%;
  }
}
@media (min-width: 71.25em) {
  .box-bg {
    width: 70%;
  }
}

.small {
  font-size: 0.9em;
  color: #333;
}

.w-100 {
  width: 100%;
}

.h-500 {
  min-height: 500px;
}

.h-600 {
  min-height: 600px;
}

.header {
  position: relative;
  width: 100%;
  height: 80px;
  z-index: 10;
  display: block;
  padding: 0 3%;
  background-color: rgba(255, 255, 255, 0.01);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}

.header_logo {
  max-width: 50px;
  display: inline-block;
}

.header_title {
  display: inline-block;
  font-size: 1.35em;
  color: #68cce4;
  margin-left: 20px;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

.mainNav {
  display: none;
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px;
  border-radius: 100px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
  background-color: rgba(255, 255, 255, 0.25);
}
.mainNav h2 {
  text-indent: -100000px;
  height: 0;
  margin: 0;
}

.mainNav_list li {
  display: inline-block;
  border-right: 1px solid rgba(0, 0, 0, 0.25);
}
.mainNav_list li:last-child {
  border-right: 0;
}
.mainNav_list li:first-child a {
  border-radius: 50px 0 0 50px;
}
.mainNav_list li:last-child a {
  border-radius: 0 50px 50px 0;
}
.mainNav_list a,
.mainNav_list a:visited,
.mainNav_list a:link {
  display: block;
  color: #293241;
  text-decoration: none;
  transition: 0.3s ease;
  font-size: 1.25em;
  padding: 10px 15px;
}
.mainNav_list a:hover, .mainNav_list a:active,
.mainNav_list a:visited:hover,
.mainNav_list a:visited:active,
.mainNav_list a:link:hover,
.mainNav_list a:link:active {
  color: #293241;
  background-color: #e0fbfc;
  box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.2);
}

.sticky {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.sticky .mainNav {
  background-color: rgba(255, 255, 255, 0.5);
}
.sticky .mainNav_list a,
.sticky .mainNav_list a:visited,
.sticky .mainNav_list a:link {
  color: #293241;
}
.sticky .mainNav_list a:hover, .sticky .mainNav_list a:active,
.sticky .mainNav_list a:visited:hover,
.sticky .mainNav_list a:visited:active,
.sticky .mainNav_list a:link:hover,
.sticky .mainNav_list a:link:active {
  color: #293241;
  background-color: #fff;
  box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.2);
}

.responsive {
  display: block;
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  z-index: -1;
  border-bottom: 5px solid #b0b5ba;
  background: rgb(255, 255, 255);
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgb(237, 237, 237) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#ededed",GradientType=0 );
}
.responsive .mainNav_list {
  margin-top: 20px;
}
.responsive .mainNav_list li {
  padding: 1.5em 1em;
}
.responsive .mainNav_list a {
  font-size: 1.5em;
}

.menuIcon {
  display: block;
  border: 0;
  font-size: 1.75em;
  color: #b0b5ba;
  background: transparent;
}
@media (min-width: 47.5em) {
  .menuIcon {
    display: none;
  }
}

.sticky {
  position: fixed;
  top: 0;
  left: 0;
}

.footer {
  color: #b0b5ba;
  font-size: 1em;
  display: block;
  padding-top: 5px;
  padding-bottom: 10px;
  width: 100%;
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  line-height: 1.4;
  margin-top: 50px;
  position: relative;
}

.footer_content {
  margin-top: 100px;
  margin-bottom: 50px;
}
@media (min-width: 47.5em) {
  .footer_content {
    margin-top: 50px;
  }
}

.footer_title {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  color: rgba(0, 0, 0, 0.4);
  padding: 0.5em 1em;
  width: 60%;
}
@media (min-width: 47.5em) {
  .footer_title {
    padding-left: 2em;
    padding-right: 2em;
    width: 40%;
  }
}

.img {
  width: 100px;
  height: 100px;
  margin: 10px auto;
  background-image: url("/assets/site/me.png");
  background-size: 140% 140%;
  background-position: 50% -10px;
  display: block;
  border-radius: 100px;
}

.footer_icons {
  margin: 15px 0;
}
.footer_icons li {
  display: inline-block;
  margin: 0 15px;
  animation-delay: 0.5s;
}
.footer_icons a {
  text-decoration: none;
  transition: 0.3s ease;
  color: #b0b5ba;
  font-size: 2.25rem;
}
.footer_icons a:hover {
  color: #68cce4;
}

.footer_copyright {
  padding: 0 3%;
}
.footer_copyright ul {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 47.5em) {
  .footer_copyright ul {
    width: auto;
    margin-bottom: 0px;
  }
}
.footer_copyright li {
  display: inline-block;
  margin-right: 10px;
}
.footer_copyright a,
.footer_copyright a:visited,
.footer_copyright a:link,
.footer_copyright a:active {
  color: #b0b5ba;
}
.footer_copyright a:hover {
  color: #68cce4;
}

.modal {
  display: block;
  position: fixed; /* Stay in place */
  z-index: 999; /* Sit on top */
  padding-top: 50px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; /* Enable scroll if needed */
  transition: 0.3s;
  background: #68cce4;
  background: linear-gradient(to bottom, rgb(104, 204, 228) 0%, rgba(103, 139, 188, 0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#68cce4", endColorstr="#e6678bbc",GradientType=0 );
  opacity: 1; /* changed by JS */
  transform: scale3d(0, 0, 0); /* Hidden by default changed by JS */
}
.modal .close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  transition: 0.3s;
}
.modal .close:hover {
  cursor: pointer;
}

.modal--notification {
  width: 80%;
  height: 200px;
  padding-top: 10px;
  top: 40%;
  left: 10%;
  transform: scale3d(0, 0, 0);
}
@media (min-width: 47.5em) {
  .modal--notification {
    left: 30%;
    width: 400px;
    height: 125px;
  }
}

.modal_content {
  padding: 0 3%;
  color: #f1f1f1;
}

.modal_title {
  font-size: 1.75rem;
  font-weight: 700;
}
@media (min-width: 47.5em) {
  .modal_title {
    font-size: 2.5rem;
  }
}

.modal_message {
  margin: 10px 0;
  font-size: 1.75em;
  padding-right: 50px;
}

.blog-section_flex {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.blog-section_flex .blog-section_flex_card {
  width: 100%;
  margin-bottom: 40px;
}
.blog-section_flex .blog-section_flex_card p {
  line-height: 1.4;
  margin-bottom: 10px;
}
.blog-section_flex .blog-section_flex_card a, .blog-section_flex .blog-section_flex_card a:visited {
  text-decoration: none;
  color: #b0b5ba;
  transition: color 0.3s ease;
}
.blog-section_flex .blog-section_flex_card a:hover, .blog-section_flex .blog-section_flex_card a:visited:hover {
  color: rgb(93.3333333333, 57.7777777778, 134.2222222222);
}
.blog-section_flex .blog-section_flex_card a.contLink, .blog-section_flex .blog-section_flex_card a.contLink:visited {
  margin: 0.25em 0;
}
.blog-section_flex .blog-section_flex_card:first-child h3 {
  color: rgb(93.3333333333, 57.7777777778, 134.2222222222);
  margin: 0.75em 0;
}
.blog-section_flex .blog-section_flex_card:first-child h3:hover {
  color: #9068be;
}

.blog-section_flex_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.blog-section_flex_inner div {
  width: 45%;
  margin-bottom: 20px;
}
.blog-section_flex_inner h3 {
  margin: 0.75em 0;
  color: rgb(93.3333333333, 57.7777777778, 134.2222222222);
}
.blog-section_flex_inner h3:hover {
  color: #9068be;
}

@media (min-width: 47.5em) {
  .blog-section_flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
  }
  .blog-section_flex .blog-section_flex_card {
    width: 50%;
    margin: 0;
  }
  .blog-section_flex .blog-section_flex_card:first-child {
    width: 45%;
  }
  .blog-section_flex_inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  .blog-section_flex_inner div {
    width: 100%;
    margin-bottom: 10px;
  }
  .blog-section_flex_inner img {
    float: left;
    width: 40%;
    margin-right: 15px;
    margin-bottom: 15px;
  }
  .blog-section_flex_inner h3 {
    margin-top: 0;
  }
}
.blog_card {
  max-width: 460px;
  margin: 0 auto 50px auto;
}
@media (min-width: 47.5em) {
  .blog_card {
    margin-left: 0px;
    margin-right: 0px;
  }
}

.blog_card--latest {
  margin-bottom: 50px;
}
@media (min-width: 47.5em) {
  .blog_card--latest {
    margin-bottom: 0px;
  }
}

.blog_section_title {
  border-bottom: 1px solid #b0b5ba;
  color: #b0b5ba;
  margin-bottom: 50px;
}

.blog_card_title {
  font-size: 1.45em;
  padding: 0.4em 0em 0.3em 0em;
  color: #9068be;
  transition: 0.3s ease;
}
.blog_card_title:hover {
  color: rgb(68.5416666667, 42.4305555556, 98.5694444444);
}

.blog_card_text {
  padding: 0.4em 0;
  line-height: 1.5em;
}

.blog_link, .blog_link:visited {
  padding: 0.25em 0;
  color: #b0b5ba;
  transition: color 0.3s ease;
}
.blog_link:hover, .blog_link:visited:hover {
  color: #9068be;
}

.main--article {
  overflow: hidden;
}

.blogArticle {
  padding-left: 6%;
  padding-right: 6%;
  margin: 50px auto 0;
  width: 90%;
  max-width: 1024px;
}
@media (min-width: 71.25em) {
  .blogArticle {
    width: 100%;
  }
}
.blogArticle strong {
  font-weight: 700;
}
.blogArticle img {
  padding: 0;
}
.blogArticle h1 {
  font-size: 2.4em;
  margin-bottom: 25px;
  text-align: center;
}
.blogArticle h2 {
  margin-top: 2.75em;
}
.blogArticle p {
  font-size: 1.3em;
  line-height: 1.35em;
  margin: 30px 0;
  color: #454545;
}
.blogArticle a {
  color: #68cce4;
  transition: color 0.3s ease;
}
.blogArticle a:hover {
  color: #b0b5ba;
}
.blogArticle blockquote {
  color: #b0b5ba;
  line-height: 1.35em;
  font-size: 1.3em;
}
.blogArticle blockquote .quoteIcon {
  padding: 0 0.25em;
}
.blogArticle .blogLinkList {
  margin-bottom: 50px;
}
.blogArticle .blogLinkList li {
  padding: 10px 0;
}
.blogArticle .blogLinkList a {
  text-decoration: none;
  font-size: 1.25em;
  color: #b0b5ba;
}
.blogArticle .blogLinkList a:hover {
  color: #68cce4;
}
.blogArticle .articleBanner {
  margin-bottom: 30px;
}
.blogArticle .imgLeft, .blogArticle .imgRight {
  width: 100%;
  margin: 0 auto;
  max-width: 700px;
}
.blogArticle .imgLeft figcaption, .blogArticle .imgRight figcaption, .blogArticle figcaption {
  font-size: 1em;
  color: #b0b5ba;
  text-align: center;
  padding-top: 20px;
}

@media (min-width: 47.5em) {
  .blogArticle .articleBanner {
    width: 140%;
    margin-left: -20%;
  }
}
@media (min-width: 71.25em) {
  .blogArticle .imgLeft {
    float: left;
    clear: both;
    margin: 10px 30px 10px -80px;
    width: 50%;
  }
  .blogArticle .imgRight {
    float: right;
    clear: both;
    margin: 5px -80px 10px 30px;
    width: 50%;
  }
  .blogArticle .float_text--left {
    margin-right: -80px;
  }
  .blogArticle .float_text--right {
    margin-left: -80px;
  }
}
.cookie-popup {
  background-color: #fff;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
  z-index: 1000000;
  width: 300px;
  padding: 0.25em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  bottom: 15px;
  right: 15px;
}
.cookie-popup > * {
  margin: 0.5em;
}

.cookie-popup_btn {
  padding: 0.25em 0.75em;
  font-size: 1rem;
  color: #68cce4;
  background-color: #fff;
  border: 1px solid #e1e8f0;
  transition: 0.3s ease;
}
.cookie-popup_btn:hover {
  background-color: #68cce4;
  color: #fff;
}

.portfolio-sidebar {
  display: none;
}
@media (min-width: 47.5em) {
  .portfolio-sidebar {
    display: inline-block;
    width: 30%;
    height: 100%;
    overflow-x: hidden;
    padding: 0px 10px;
    float: left;
  }
  .portfolio-sidebar p {
    margin: 15px 0px;
  }
}
@media (min-width: 71.25em) {
  .portfolio-sidebar {
    width: 20%;
  }
}

.gallery {
  width: 100%;
  margin-left: 0px;
}
.gallery h1, .gallery h2, .gallery h3 {
  padding-left: 3%;
  padding-right: 3%;
}
@media (min-width: 47.5em) {
  .gallery {
    width: 70%;
    margin-left: 30%;
  }
}
@media (min-width: 71.25em) {
  .gallery {
    width: 80%;
    margin-left: 20%;
  }
}

.filter-btn {
  display: inline;
  font-size: 1em;
  border: #9068be 1px solid;
  background-color: transparent;
  color: #9068be;
  padding: 0.3em;
  transition: 0.3s;
  margin-bottom: 0.25em;
}
.filter-btn:hover {
  color: #fff;
  background-color: #9068be;
}

.filter-btn--active {
  color: #fff;
  background-color: #9068be;
}

.gallery_title {
  color: #b0b5ba;
  border-bottom: 1px solid #b0b5ba;
  padding-bottom: 10px;
  margin: 50px 0 25px 0;
}

.gallery_card {
  flex-basis: 50%;
}
@media (min-width: 47.5em) {
  .gallery_card {
    flex-basis: 33%;
  }
}
@media (min-width: 71.25em) {
  .gallery_card {
    flex-basis: 25%;
  }
}

.filterDiv {
  display: none;
}

.show {
  display: block;
}

.gallery_card_container {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  overflow: hidden;
}
.gallery_card_container:before {
  content: "";
  display: block;
  width: 40px;
  height: 20px;
  border-radius: 5%;
  background-color: #68cce4;
  opacity: 0.85;
  position: absolute;
  bottom: 10px;
  right: 10px;
  transform-origin: 100% 100%;
  transition: 0.3s ease;
}
@media (min-width: 47.5em) {
  .gallery_card_container:hover:before {
    transform: scale(10);
    right: -10px;
    bottom: -10px;
  }
  .gallery_card_container:hover .gallery_card_content {
    left: 0px;
    visibility: visible;
  }
}

.gallery_btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: #e1e8f0;
  color: #000;
  padding: 10px;
  font-size: 0.8em;
}

.gallery_card_content {
  visibility: hidden;
  position: absolute;
  top: 0px;
  left: -1000px;
  color: #fff;
  padding: 10px 10px;
  transition: 0.3s ease;
}

.gallary_card_title {
  font-size: 1.25em;
  margin-bottom: 10px;
}

.case_study {
  overflow: hidden;
}

.cs_container {
  width: 100%;
  height: 500px;
  position: relative;
}

.cs_container_content {
  background-color: #68cce4;
  position: relative;
  width: 100%;
  height: 300px;
}

.cs_container_image {
  width: 100%;
  max-width: 768px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cs_container_image img {
  animation-duration: 1s;
  animation-timing-function: linear;
}

.cs_container_title {
  font-size: 6rem;
  display: block;
  color: #fff;
  opacity: 0.75;
  width: 100%;
  text-transform: uppercase;
  white-space: nowrap;
  position: absolute;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-timing-function: linear;
}

.cs_container_title--top {
  top: 10%;
  left: 50%;
}

.cs_container_title--bottom {
  top: 50%;
  left: -50%;
}

.cs_title {
  font-size: 2.5rem;
  margin-bottom: 50px;
  margin-top: 50px;
  font-weight: 600;
}
.cs_title span {
  font-weight: 400;
  display: block;
  font-size: 1.75rem;
  margin-bottom: 10px;
}

.cs_main {
  padding: 0 3%;
  margin-bottom: 100px;
  position: relative;
}

.cs_main_image {
  margin-bottom: 25px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}

.cs_main_image--small {
  max-width: 224px;
  margin-left: auto;
  margin-right: auto;
}

p.cs_main_text {
  margin-bottom: 30px;
}

.cs_main_list {
  margin-bottom: 30px;
}
.cs_main_list li:before {
  content: "";
  background-color: #68cce4;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 2.5px;
  left: 0px;
}
.cs_main_list li {
  margin: 5px 0;
  padding-left: 15px;
  position: relative;
}
.cs_main_list li ul li:before {
  background-color: #9068be;
}

.cs_main_title {
  margin-bottom: 10px;
  font-size: 2rem;
}
.cs_main_title span {
  font-size: 1rem;
  display: block;
}

.cs_main_content {
  position: absolute;
  top: 0;
  right: 0;
  width: 75%;
}
@media (min-width: 47.5em) {
  .cs_main_content {
    position: static;
    width: auto;
  }
}

.cs_main_content_block {
  background-color: #fff;
  position: relative;
  top: 0px;
  left: 0;
  padding: 1em;
  box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.25);
}
@media (min-width: 47.5em) {
  .cs_main_content_block {
    position: static;
    left: 0;
    padding: 0;
    box-shadow: none;
  }
}

.cs_toggle {
  width: 50px;
  height: 100%;
  background-color: #fff;
  display: block;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0px;
  left: -50px;
  box-shadow: -2px 2px 1px rgba(0, 0, 0, 0.25);
}
.cs_toggle i {
  font-size: 2.5rem;
  position: relative;
  color: #9068be;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
@media (min-width: 47.5em) {
  .cs_toggle {
    display: none;
  }
}

.flex-col-half > span {
  margin-bottom: 10px;
  display: block;
}

.sitemap,
.link-page {
  padding: 0 3%;
}
.sitemap h1,
.link-page h1 {
  margin: 25px 0;
}
.sitemap h2,
.link-page h2 {
  margin: 50px 0 25px 0;
}
.sitemap h2 span,
.link-page h2 span {
  display: block;
  margin: 5px 0;
}
.sitemap h3,
.link-page h3 {
  margin: 25px 0 15px 0;
}
.sitemap li,
.link-page li {
  margin-bottom: 15px;
  padding-left: 15px;
  position: relative;
}
.sitemap li:before,
.link-page li:before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #68cce4;
  position: absolute;
  top: 2.5px;
  left: 0;
}
.sitemap a,
.sitemap a:link,
.sitemap a:visited,
.sitemap a:active,
.link-page a,
.link-page a:link,
.link-page a:visited,
.link-page a:active {
  color: #68cce4;
  transition: 0.3s ease;
}
.sitemap a:hover,
.link-page a:hover {
  color: #b0b5ba;
}

.loading_container {
  display: flex;
  justify-content: center;
  align-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #fff;
  z-index: 99;
  opacity: 1;
}

.HYPE_document {
  position: relative;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
}
@media (min-width: 47.5em) {
  .HYPE_document {
    left: 50%;
  }
}

.btn {
  text-decoration: none;
  font-size: 1rem;
  padding: 0.5em;
  border: 1px solid transparent;
  transition: 0.3s ease;
  text-transform: uppercase;
  cursor: pointer;
}

.btn--primary {
  background-color: #68cce4;
  color: #fff;
  border: 1px solid #68cce4;
}
.btn--primary:hover {
  background-color: #fff;
  color: #68cce4;
  border: 1px solid #fff;
}

.btn--primary-transparent {
  background-color: transparent;
  color: #fff;
  border: 1px solid #fff;
}
.btn--primary-transparent:hover {
  background-color: #68cce4;
  color: #fff;
  border: 1px solid #68cce4;
}

.btn--secondary {
  background-color: #9068be;
  color: #fff;
  border: 1px solid #9068be;
}
.btn--secondary:hover {
  background-color: #fff;
  color: #9068be;
  border: 1px solid #fff;
}

.btn--large {
  font-size: 1.25rem;
}

.btn--margin {
  margin-top: 20px;
  margin-bottom: 20px;
}

.btn--inlineblock {
  display: inline-block;
}

.btn--transform-normal {
  text-transform: none;
}

@media (min-width: 47.5em) {
  .btn--right {
    float: right;
  }
  .btn--right:after {
    clear: both;
  }
}

.header .btn {
  font-size: 0.8rem;
}

@media (min-width: 47.5em) {
  .header .btn {
    font-size: 1rem;
  }
}
.hero {
  width: 100%;
  height: 100%;
  min-height: 600px;
}

.hero-row-top {
  margin-bottom: 50px;
}

.hero-row-content {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
  width: 80%;
  padding: 0;
  margin: 0 auto;
}
.hero-row-content .content-box {
  position: relative;
  width: 100%;
  z-index: 1;
  animation-delay: 1.25s;
}
.hero-row-content .content-box .inner {
  background-color: #e1e8f0;
  padding: 25px;
  position: static;
  width: 100%;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
  border-radius: 15px;
  border: 1px solid #c0d0e2;
}
.hero-row-content .content-img {
  width: 100%;
  margin-bottom: 50px;
  animation-delay: 1.1s;
}
.hero-row-content .content-img img {
  border-radius: 15px;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
}

@media (min-width: 47.5em) {
  .hero-row-content {
    width: 60%;
    flex-direction: row;
  }
  .hero-row-content .content-box {
    width: 45%;
  }
  .hero-row-content .content-box .inner {
    position: absolute;
    top: 40px;
    left: 0px;
    width: 120%;
  }
  .hero-row-content .content-img {
    width: 55%;
    margin-bottom: 0px;
  }
}
@media (min-width: 71.25em) {
  .hero-row-content {
    width: 45%;
  }
}
.hero-row-content.about-content {
  width: 90%;
  margin-top: 50px;
}
.hero-row-content.about-content .content-box {
  width: 100%;
  animation-delay: 0s;
}
.hero-row-content.about-content .content-box .inner {
  background-color: #e1e8f0;
  padding: 15px;
  position: static;
  width: 100%;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
  border-radius: 15px;
  border: 1px solid #c0d0e2;
}

@media (min-width: 71.25em) {
  .hero-row-content.about-content {
    width: 60%;
  }
}
.hero_title {
  font-size: 4em;
  font-weight: 700;
  text-align: center;
  margin-top: 20px;
  letter-spacing: -5px;
  animation-delay: 0.5s;
}

@media (min-width: 47.5em) {
  .hero_title {
    font-size: 8em;
    letter-spacing: -10px;
  }
}
@media (min-width: 71.25em) {
  .hero_title {
    font-size: 11em;
    letter-spacing: -15px;
  }
}
.hero_text {
  font-size: 1.05em;
}

.hero_subtitle {
  width: 100%;
  margin: 0 auto;
  font-size: 1.2em;
  text-align: center;
  animation-delay: 2s;
}

@media (min-width: 47.5em) {
  .hero_subtitle {
    width: 75%;
    font-size: 1.5em;
    text-align: left;
  }
}
@media (min-width: 71.25em) {
  .hero_subtitle {
    width: 50%;
  }
}
.hero_flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 75%;
  margin: 0 auto;
}

.flex {
  display: flex;
  justify-content: center;
}

.flex--wrap {
  flex-wrap: wrap;
}

.flex--wrap-phone {
  flex-wrap: wrap;
}
@media (min-width: 47.5em) {
  .flex--wrap-phone {
    flex-wrap: nowrap;
  }
}

.flex--space {
  justify-content: space-between;
}

.flex--around {
  justify-content: space-around;
}

.flex--direction {
  flex-direction: column;
}

.flex--left {
  justify-content: flex-start;
}

.flex--align--space {
  align-content: space-between;
}

.flex--align--center {
  align-items: center;
}

.flex-col-2 {
  flex-basis: 100%;
}
@media (min-width: 47.5em) {
  .flex-col-2 {
    flex-basis: 50%;
  }
}

.flex-col-3 {
  flex-basis: 100%;
}
@media (min-width: 47.5em) {
  .flex-col-3 {
    flex-basis: 30%;
  }
}

.flex-col-4 {
  flex-basis: 100%;
}
@media (min-width: 47.5em) {
  .flex-col-4 {
    flex-basis: 25%;
  }
}

.flex-col-33 {
  flex-basis: 100%;
}
@media (min-width: 47.5em) {
  .flex-col-33 {
    flex-basis: 33%;
  }
}

.flex-col-66 {
  flex-basis: 100%;
}
@media (min-width: 47.5em) {
  .flex-col-66 {
    flex-basis: 66%;
  }
}

.flex-col-half {
  flex-basis: 100%;
}
@media (min-width: 47.5em) {
  .flex-col-half {
    flex-basis: 45%;
  }
}

.flex-first {
  order: 1;
}
@media (min-width: 47.5em) {
  .flex-first {
    order: 0;
  }
}

.flex-second {
  order: 2;
}
@media (min-width: 47.5em) {
  .flex-second {
    order: 0;
  }
}

.flex-col-pad20 {
  padding: 0 0px;
}
@media (min-width: 47.5em) {
  .flex-col-pad20 {
    padding: 0 20px;
  }
}

.flex-col-vcenter {
  align-self: center;
}

.flex-tb-margin {
  margin: 20px 0;
}

.flex-gap-10 {
  gap: 10px;
}

.cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  padding: 0 20px;
}
.cards .card:not(.empty) {
  border-radius: 25px;
  box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.25);
}
.cards .inner {
  padding: 15px;
}
.cards .card-img {
  border-radius: 10px 10px 0 0;
  margin-bottom: 15px;
  overflow: hidden;
}
.cards .card-title {
  font-size: 1.5em;
  margin-bottom: 8px;
}
.cards .card-subtitle {
  font-size: 1.1em;
}
.cards .card-desc {
  font-size: 1em;
  margin-top: 15px;
  margin-bottom: 15px;
  line-height: 1.15;
}
.cards .card-tags {
  margin-bottom: 15px;
}
.cards .card-tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.cards .card-tags li {
  padding: 5px 10px;
  border-radius: 25px;
  font-size: 0.8em;
  transition: 0.3s;
}
.cards .card-tags li:hover {
  transform: scale(1.08);
}

@media (min-width: 47.5em) {
  .cards {
    grid-template-columns: repeat(2, 1fr);
    padding: 0;
  }
}
@media (min-width: 71.25em) {
  .cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
.cards.project .card:not(.empty) {
  background-color: #3d5a80;
  color: #fff;
}
.cards.project .card-tags li {
  color: #1f2733;
  background-color: #98c1d9;
}

.cards.skills .card:not(.empty) {
  background-color: #293241;
  color: #fff;
}
.cards.skills .card-title {
  text-align: center;
  color: #e0fbfc;
}
.cards.skills .card-tags {
  margin-top: 25px;
}
.cards.skills .card-tags ul {
  justify-content: center;
}
.cards.skills .card-tags li {
  color: #1f2733;
  background-color: #98c1d9;
}

.feature-list li {
  margin-bottom: 15px;
  font-size: 1.25em;
}

.section {
  margin: 100px 0;
  padding: 0 3%;
  position: relative;
}

.section_contact_content {
  width: 100%;
  height: 400px;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
}
.section_contact_content .section_title {
  width: 100%;
}

.section_title {
  font-size: 2rem;
  margin: 20px 0;
}

.section_title_bg_container {
  position: absolute;
  top: -45px;
  left: 0px;
  overflow: hidden;
  width: 100%;
}

.section_title_bg_text {
  position: relative;
  left: -100px;
  font-size: 5rem;
  font-weight: 700;
  opacity: 0.25;
  color: #68cce4;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: -5px;
}

.about_title {
  margin: 20px 0;
}

.about_subtitle {
  line-height: 1.3;
}

.service-feature_title {
  margin: 10px 0;
  color: #68cce4;
  font-size: 2.5rem;
}

.service_title {
  margin: 10px 0;
}

.hire-section {
  background-color: #f9f9f9;
  padding: 50px 8%;
}

.hire-section_cell {
  margin-top: 25px;
}

.cta-bg {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%), url("/assets/site/mac.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
}

.img_about {
  border-radius: 50%;
  width: 50%;
  margin: 0 auto;
  transform: rotateY(180deg);
}
@media (min-width: 47.5em) {
  .img_about {
    width: 100%;
  }
}

.img_portfolio {
  width: 75%;
}

.img_services {
  position: relative;
  top: 50px;
  left: 25px;
}
@media (min-width: 47.5em) {
  .img_services {
    left: 75px;
  }
}
@media (min-width: 71.25em) {
  .img_services {
    top: 100px;
    left: 100px;
  }
}

.img_services-inverted {
  left: -25px;
}
@media (min-width: 47.5em) {
  .img_services-inverted {
    left: -75px;
  }
}
@media (min-width: 71.25em) {
  .img_services-inverted {
    left: -100px;
  }
}

.img_services_animate {
  animation-name: zoomMoveLeft;
  animation-duration: 1s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}

.img_services_animate--inverted {
  animation-name: zoomMoveRight;
  animation-duration: 1s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}

@keyframes zoomMoveLeft {
  0% {
    top: 0;
    left: 0;
    transform: scale(0);
  }
  30% {
    top: 0;
    left: 0;
  }
  100% {
    top: 50px;
    left: 25px;
    transform: scale(1);
  }
}
@keyframes zoomMoveRight {
  0% {
    top: 0;
    left: 0;
    transform: scale(0);
  }
  30% {
    top: 0;
    left: 0;
  }
  100% {
    top: 50px;
    left: -25px;
    transform: scale(1);
  }
}
@media (min-width: 47.5em) {
  @keyframes zoomMoveLeft {
    0% {
      top: 0;
      left: 0;
      transform: scale(0);
    }
    30% {
      top: 0;
      left: 0;
    }
    100% {
      top: 70px;
      left: 70px;
      transform: scale(1);
    }
  }
  @keyframes zoomMoveRight {
    0% {
      top: 0;
      left: 0;
      transform: scale(0);
    }
    30% {
      top: 0;
      left: 0;
    }
    100% {
      top: 70px;
      left: -70px;
      transform: scale(1);
    }
  }
}
@media (min-width: 71.25em) {
  @keyframes zoomMoveLeft {
    0% {
      top: 0;
      left: 0;
      transform: scale(0);
    }
    30% {
      top: 0;
      left: 0;
    }
    100% {
      top: 100px;
      left: 100px;
      transform: scale(1);
    }
  }
  @keyframes zoomMoveRight {
    0% {
      top: 0;
      left: 0;
      transform: scale(0);
    }
    30% {
      top: 0;
      left: 0;
    }
    100% {
      top: 100px;
      left: -100px;
      transform: scale(1);
    }
  }
}
.project_description {
  width: 100%;
  position: relative;
  text-align: center;
}
@media (min-width: 47.5em) {
  .project_description {
    text-align: left;
  }
}

.project_title {
  font-size: 2.5rem;
}
@media (min-width: 47.5em) {
  .project_title {
    font-size: 3rem;
  }
}

.project_img {
  margin: 25px auto;
  position: relative;
  width: 75%;
}
@media (min-width: 47.5em) {
  .project_img {
    margin: 0;
    width: 100%;
  }
}

.project_img_col {
  flex-basis: 100%;
  display: none;
}
@media (min-width: 47.5em) {
  .project_img_col {
    flex-basis: 49%;
    display: block;
  }
}

@media (min-width: 71.25em) {
  .project_img--hover {
    transition: 0.3s ease;
  }
  .project_img--hover:hover {
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
  }
}
.form .form_field {
  margin: 25px 0;
}
.form .form_label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.8rem;
}
.form .form_input {
  font-size: 1.2rem;
  padding: 0.5em 0.25em;
}
.form .form_input:focus {
  box-shadow: 0px 0px 10px #fff;
}
.form .input_error {
  color: #e46868;
}
.form textarea {
  font-family: "Lato", sans-serif;
  font-size: 16em;
}

.form--contact .form_input {
  color: #fff;
  width: 100%;
  background-color: rgb(34.8876404494, 164.1011235955, 195.1123595506);
  border: 1px solid rgb(34.8876404494, 164.1011235955, 195.1123595506);
}
.form--contact textarea {
  height: 200px;
}
@media (min-width: 47.5em) {
  .form--contact textarea {
    height: 420px;
  }
}

.page_error_container {
  padding-left: 6%;
  padding-right: 6%;
  margin: 50px auto 0;
  width: 85%;
  max-width: 1024px;
}
.page_error_container h1 {
  font-size: 2.4em;
  margin-bottom: 25px;
}
.page_error_container a {
  color: #68cce4;
  transition: color 0.3s ease;
}
.page_error_container a:hover {
  color: #b0b5ba;
}
