

@font-face {
    font-family: 'Saira Regular';
    src: url('../fonts/Saira_Condensed/SairaCondensed-Regular.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Saira Bold';
    src: url('../fonts/Saira_Condensed/SairaCondensed-Bold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Nunito Regular';
    src: url('../fonts/Nunito/Nunito-Regular.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Nunito Bold';
    src: url('../fonts/Nunito/Nunito-SemiBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
a {
    color: #0089b3;
    text-decoration: none;
    background-color: transparent;
}
a:hover {
    text-decoration: underline;
}
h1 {font-size: 5em;}

h2 {font-size: 3em;}

h3 {font-size: 2em;}

h4 {font-size: 1.563em;}

h5 {font-size: 1.25em;}

strong{
    font-family: 'Nunito Bold';
    font-size: 1.1em;
}

html, .container-fluid{
    height:100%;
    padding: 0;
}
body{
    margin:0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    background-size: 100% auto;
    font-family: 'Nunito Regular', sans-serif;
    font-size: 16px;
    position: relative;
}

/********************************************
 navigation
*********************************************/

#main-menu {
    position: fixed;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    width: 80%;
    padding: 48px 10%;
    -webkit-transition: all .10s ease .10s;
    -moz-transition: all .10s ease .10s;
    transition: all .10s ease .10s;
    z-index: 50;
    min-height: 64px;
}
#main-menu.affix{
    padding: 16px 10%;
    background:rgba(238, 242, 243,0.8);
}
#main-menu .logo{
    height: 62px;
    width: 62px;
} 
#main-menu .logo .mk-logo{
    height: 62px;
    width: 62px;
    box-sizing: border-box;
}
/* #main-menu .logo .mk-logo.cs{
    background: #404545;
}  */
.menu-spacer{
     align-self: stretch;
     flex-grow: 1;
}
ul.nav-menu-top {
    display: inline-block;
    margin: 0;
    padding: 6px 0;
    font-family: 'Saira Regular', sans-serif;
}
ul.nav-menu-top li {
    display: inline-block;
    margin: 1px;
	height: 100%;
}
ul.nav-menu-top li a.nav-link{
    text-decoration: none;
    display: inline-block;
    line-height: 32px;
    border-radius: 32px;
    margin: 0 8px;
    padding: 7px 24px;
    min-width: 54px;
    text-align: center;
    color: #666666;
    font-size: 16px;
    background-size: 1px;
    position: relative;
    border: 1px solid transparent;
}
ul.nav-menu-top li a:hover,
ul.nav-menu-top li a.active{
    color: #333333;
    text-shadow: 0px 0px #000;
    border: 1px solid #5D5D5D;
	/*background: #529400;*/

}
/*** Top-menu Completed ****/

/*** Hamburger-menu ****/
.hamburger {
  padding: 15px 15px;
  display: none;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; 
  margin: 4px 0;
}
.hamburger:hover {
    opacity: 0.7; 
}
.hamburger.is-active:hover {
    opacity: 0.7; 
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #000; 
}
.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative; 
  vertical-align: middle;
}
.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; 
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; 
}
.hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; 
}
.hamburger-inner::before {
    top: -10px; 
}
.hamburger-inner::after {
    bottom: -10px; 
}
/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); 
}
.hamburger--elastic-r .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.125s 0.275s ease; 
}
.hamburger--elastic-r .hamburger-inner::after {
    top: 20px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); 
}

.hamburger--elastic-r.is-active .hamburger-inner {
    transform: translate3d(0, 10px, 0) rotate(-135deg);
    transition-delay: 0.075s;
}
.hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; 
}
.hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(270deg);
    transition-delay: 0.075s; 
}

/**** Main ****/
main{
    background: #F8F8F8;
    height: 100%;
    overflow: auto;
    scroll-behavior: smooth;
}
.section{
    display: flex;
    box-sizing: border-box;
}
.section.myintro{
    padding-top: 200px;
    padding-bottom: 150px;
    min-height: 100%;
}

/*** Graphic ****/
.intro-image{
    height: auto;
    width: 40%;
    margin-left: 10%;
    display: inline-block;
}
.splash-graphic{
    position: relative;
    width: 290px;
    height: 350px;
    margin: 0 auto;
}
.mk-image{
    position: absolute;
    left: 8px;
    top: 15px;
}
/* @-webkit-keyframes strokeOffset{
    from{
        -webkit-stroke-dashoffset: 7164;
    }
    to{
        -webkit-stroke-dashoffset: ;
    }
} */
@keyframes strokeOffset {
    from{
        stroke-dashoffset: 0;
    }
    to{
        stroke-dashoffset: 7164;
    }
}
.mask{
    position: absolute;
}
.mask-path{
    stroke-dasharray: 7164;
    animation: strokeOffset 2s linear forwards;
}
/*** Graphic Completed ****/

.intro{
    width: 32%;
    margin-right: 14%;
    color: #404545;
}
.intro .hello-text{
    font-weight: 500;
    margin-bottom: 0;
    font-family: 'Saira Regular', sans-serif;
}
.title{
    margin-bottom: 10px;
    margin-top: 0;
    font-family: 'Saira Bold', sans-serif;
    line-height: 1em;
    color: #404545;
}
.intro hr{
    border: 1px solid #00bef5;
    background: #00bef5;
}

ul.social-links{
    display: inline-block;
    margin: 0;
    padding: 6px 0;
    font-family: 'Saira Regular', sans-serif;
    list-style: none;
}
ul.social-links li{
    display: inline-block;
}
ul.social-links li a.nav-link{
    padding: 3px;
    min-width: 32px;
    text-align: center;
    font-size: 14px;
    font-family: 'Nunito Regular', sans-serif;
    border: 1px solid #5D5D5D;
    margin-right: 10px;
    color: #404545;
    text-decoration: none;
    display: inline-block;
    border-radius: 32px;
    position: relative;
    line-height: 32px;
}
ul.social-links li.text a.nav-link{
    padding: 3px 20px;
}



/************************************************/

.portfolio-container{
    margin: 0 10%;
}
.case-study{
    margin-top: 100px;
    display: flex;
    flex-direction: row;
    /* text-shadow: 1px 1px 1px #fff; */
}
.case-study .case-details,
.case-study .case-image{
    width: 50%;
    align-self: center;
}
.case-study .case-image img{
    width: 100%;
}
.case-study h3{
    font-weight: 500;
    font-family: 'Saira Regular', sans-serif;
    margin-top: 0;
}
.case-study p{
    margin-top: 32px;
}
.case-seperator{
    width: 50%;
    margin: 7% auto;
    border-top: 1px solid #ddd;
}
.section.work{
    background: #EFF2F3;
    /* border-bottom: 1px solid #333333; */
    padding-top: 100px;
    padding-bottom: 150px;
    flex-direction: column;
}
#portfolio{
	background: #f8f8f8;
}

.portfolioFilter {
  padding: 20px 0;
  text-align: center;
}

.portfolioFilter a {
  margin-right: 6px;
  text-decoration: none;
  border: 1px solid #5D5D5D;
  color: #404545;
  padding: 4px 15px;
  border-radius: 50px;
  display: inline-block;
  min-width: 100px;
  margin: 10px;
  text-align: center;
  line-height: 32px;
  font-size: 14px;
}

.portfolioFilter a.current {
  background: #1e1e1e;
  border: 1px solid #1e1e1e;
  color: #f9f9f9;
}
.portfolioContainer{
    min-height: 250px;
}
/* clear fix */
.portfolioContainer:after {
  content: '';
  display: block;
  clear: both;
}

.ptcategory {
  position: relative;
  float: left;
  width: 24.95%;
  color: #262524;
  overflow: hidden;
  box-sizing: border-box;
}
.ptcategory .mask{
	width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
	margin: 0;
	color: #fff;
	opacity: 0;
	-webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}
.ptcategory .mask .info{
	bottom: 0;
    text-align: left;
    position: absolute;
    width: 100%;
    padding-left: 20px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}
.ptcategory .mask .info h4{
    font-size: 18px;
    margin-bottom: 0;
}
.ptcategory .mask .info .info-text{
	font-size: 0.8em;
	margin-bottom:0;
    margin-top: 4px;
    color: #ffffff;
}
.ptcategory:hover .mask{
	background: rgba(0,0,0,0.6);
	cursor: pointer;
	opacity: 1;
}
.ptcategory:hover .mask .info{
	-webkit-transform: translate3d(0,-20px,0);
    transform: translate3d(0,-20px,0);
	-webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
}
.ptcategory > * {
  margin: 0;
  padding: 0;
}
.ptcategory img{
	width:100%;
	/* padding: 1px; */
    vertical-align: middle;
    border-style: none;
}
.ptcategory:hover img{ 
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
}

.ptcategory-hidden.ptcategory{
  pointer-events: none;
  z-index: 1;
}

.process-container{
	padding-top: 40px;
	padding-bottom: 60px;
}




/***************************************************/

/* Contact page CSS */
#contact{
    background: url('../images/lightbg2.png');
    background-size: 100% auto;
    padding: 100px 0 60px 0;
    position: relative;
    min-height: 100%;
}
.contact-container{
    width: 80%;
    margin: 0 10%;
}
.contact-container .flex-content{
    display: flex;
    align-items: center;
}
.contact-container .row{
    flex: 2;
}
.contact-container .col-or{
    margin: 5%;
    flex: 1;
}
.contact-container .row .col-form h4{
    margin-bottom: 18px;
}
#contact .back-pattern2{
    z-index: 0;
    position: absolute;
    opacity: 0.25;
}
.fa.icon-mail{
    font-weight: normal;
    margin: 12px 12px 12px 0;
}
.fa.icon-phone{
    font-size: 1.5em;
    font-weight: normal;
    margin: 8px 12px 12px 3px;
    vertical-align: middle;
}

.or-span{
	color: #777;
    font-family: Saira Regular;
}

/* FORM Styles */

/* === List Styles === */
.contact_form{
    text-align: left;
}
.contact_form ul {
    list-style-type:none;
    list-style-position:outside;
    padding:0px;
    width: 100%;
}
.contact_form li{
    padding-bottom:12px; 
    padding-top:12px; 
    position:relative;
}
.contact_form li:after{
    content: "";
    display: block;
    clear: both;
}

/* === Form Header === */
.contact_form h2 {
    margin:0;
    display: inline;
}
.required_notification {
    color:#d45252; 
    margin:5px 0 0 0; 
    display:inline;
    /* float:right; */
}

/* === Form Elements === */
.contact_form label {
    width:100px;
    margin-top: 3px;
    display:inline-block;
    padding:3px;
}
.contact_form textarea {
    padding:8px; 
    width:300px;
}

/* form element visual styles */
.contact_form input, .contact_form textarea { 
    border: 1px solid transparent;
    border-bottom-color: #ddd;
    background: transparent;
    border-radius:2px;
    padding-right:30px;
    -moz-transition: padding .25s; 
    -webkit-transition: padding .25s; 
    -o-transition: padding .25s;
    transition: padding .25s;
    float: left;
    padding: 8px;
    width: 100%;
    font-family: 'Nunito Regular';
    font-size: 1em;
    box-sizing: border-box;
}
.contact_form input:focus, .contact_form textarea:focus {
    background: #fff; 
    border:1px solid #ccc;
}

/* === Form hints === */
.form_hint {
    background: #d45252;
    border-radius: 3px 3px 3px 3px;
    color: white;
    margin-left:8px;
    padding: 1px 6px;
    z-index: 999; /* hints stay above all other elements */
    position: absolute; /* allows proper formatting if hint is two lines */
    display: none;
}
.form_hint::before {
    content: "\25C0";
    color:#d45252;
    position: absolute;
    top:1px;
    left:-6px;
}
.contact_form input:required:valid + .form_hint {background: #28921f;}
.contact_form input:required:valid + .form_hint::before {color:#28921f;}

/* === Button Style === */
button.submit {
    background-color: #00bef5;
    border: 1px solid #00b3e8;
    text-shadow: 0 0 1px #004053;
    box-shadow: 0px 1px 0px #009cca;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    color: white;
    font-size: 18px;
    padding: 16px 32px;  
    text-align: center;
  
}
button.submit:disabled, button.submit:disabled:hover{
    opacity:0.2;
    cursor: default; 
}
button.submit:hover {
    opacity:.85;
    cursor: pointer; 
}
button.submit:active {
    border: 1px solid #20911e;
}


/***************************************************/
/* Progress blocker*/
#progress-loader{
    position: fixed;
    z-index:2000;
    width: 40%;
    background: #ccc;
    margin: 15% auto;
    left: 30%;
    display: none;
    box-shadow: 1px 1px 5px #ddd;
    border: 1px solid #ccc;
}
#page-loader{
	background: #ccc;
	position: fixed;
	z-index:2000;
	top:0;
	bottom: 0;
	width:100%;
	overflow: hidden;
}

.p-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 25% auto;
}
#progress-loader .p-wrapper{
	left: 30%;
}
.loader-msg{
    font-size: 0.8em;
    display: flex;
    align-items: center;
}
.circle-chart__circle0{
    animation: rotate 1.3s linear infinite;
  -webkit-animation: rotate 1.3s  linear infinite;
  -moz-animation: rotate 1s  linear infinite;
  transform-origin: 50% 50%;
}
.circle-chart__circle1{
    animation: rotate 1.2s linear infinite;
  -webkit-animation: rotate 1.2s linear infinite;
  -moz-animation: rotate 1s linear infinite;
  transform-origin: 50% 50%;
}
.circle-chart__circle2{
    animation: rotate 1.1s linear infinite;
  -webkit-animation: rotate 1.1s linear infinite;
  -moz-animation: rotate 1s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes rotate {
  to {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes rotate {
  to {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes rotate {
  to {
    transform: rotate(360deg);
  }
}

/***************************************************/
/* Portfolio detail page styles  */
/***************************************************/
.work-container{
    padding-top: 100px;
}
#main-menu.case-study-navbar {
    padding: 16px 10%;
    background: rgba(250, 250, 250,0.5);
}
.case-study-title {
    text-shadow: 1px 1px 1px #fff;
    padding: 12px;
}
.hero-image{
    background: url("../images/cover_hero.png");
    background-size: cover;
}
.details-section{
    padding:32px 0;
}
.details-section h5{
    margin-bottom: 8px;
}
.portfolio-details-container{
	background: #ccc;
	position: fixed;
	z-index:1000;
	top:0;
	bottom: 0;
	width:100%;
	overflow-y: scroll;
	overflow-x: hidden;
	display: none;
}
.details-nav#main-menu{
    padding: 32px 10%;
}
.case-study-details{
    display: flex;
}

.case-study-details .case-details-block{
    width: 50%;
    padding-right: 30px;
    /* align-self: center; */
}
.case-study-details h3{
    color: #E02A2A;
}
.case-study-details h3,
.case-study-details .case-details-block h3,
.case-study-details .case-details-block p,
.case-study-details.full-width p{
    margin-bottom: 8px;
    margin-top: 8px;
}

/* .case-details-block ul{
   list-style: none; 
   padding-left: 0;
} */

.case-study-details.full-width{
    flex-direction: column;
}
.case-study-details.full-width h5{
    margin-bottom: 8px;
    font-family: 'Nunito Bold';
}
.hor-seperator{
    display: inline-block;
    width: 100px;
    margin: 30px 0;
    border-bottom: 1px solid #ddd;
    border-top: 0;
}
.persona{
    width: 80%;
    margin: 0 10%;
}
.boxed{
    border-right: 1px solid #ddd; 
    margin-right: 30px;
}
/************************************************/

/* Casestudy2 */
.hero-image2{
    padding-top: 100px;
    background: url("../images/coverhero2.png");
    background-size: cover;
    min-height: 320px;
}

.case-study-details.fo h3{
    color:#404545;
}

/* Casestudy3*/

.hero-image-pr{
    padding-top: 100px;
    background: url("../images/cover_pr.png") no-repeat;
    background-color: #007BC0;
    background-size: cover;
    background-position: 50% 0;
    min-height: 400px;
}
.case-study-details.pr h3{
    color:#007BC0;
}
.pr-hero-heading{
    padding-top: 128px;
    padding-bottom: 32px;
}

/* Casestudy4*/

.hero-image-vt{
    padding-top: 100px;
    background: url("../images/cover_hero_vt.png") no-repeat;
    background-color: #007BC0;
    background-size: cover;
    background-position: 50% 0;
    min-height: 400px;
}
.case-study-details.vt h3{
    color:#007BC0;
}
.vt-hero-heading{
    padding-top: 128px;
    padding-bottom: 32px;
}

/*
 * Back Arrow
 */

button.arrow {
    height: 48px;
    border: 0;
    background: none;
    position: relative;
    width: 64px;
    padding: 8px;
    box-sizing: content-box;
    border-radius: 5px;
}
button.arrow:hover{
    background: #ededed;
    cursor: pointer;
}
.arrow .arrow-inner {
    background: #404545;;
    width: 48px;
    height: 4px;
    left: 17px;
    top: 30px;
    position: absolute;
}
.arrow .arrow-inner::before, 
.arrow .arrow-inner::after{
    content: " ";
    display: inline-block;
    background: #404545;
    top: 0;
    left: 0;
    width: 32px;
    height: 4px;
    position: absolute;
}
.arrow .arrow-inner::before {
    animation: arrowtop 0.5s linear;
    animation-fill-mode: forwards; 
}
.arrow .arrow-inner::after {
    animation: arrowbottom 0.5s linear;
    animation-fill-mode: forwards; 
}

@keyframes arrowtop {
  100% {
     transform: rotate(135deg) translate(-2px, 12px);
  }
}
@keyframes arrowbottom {
  100% {
     transform: rotate(45deg) translate(4px, 12px);
  }
}

.logo-animate{
    animation: move-right 0.3s linear;
    position: absolute;
    right: 10%;
}

@keyframes move-right {
  0% {
    right: 50%;
    opacity:0;
  }
  100% {
    right: 10%;
    opacity:1;
  }
}

.full-width{
    width: 100% !important;
}
@media (max-width: 800px) {
    ul.nav-menu-top {
        display: none; 
        width: 200px;
        margin-top: 70px;
        margin-right: -70px;
        background-color: #fdfdfd;
        padding: 30px;
        border-radius: 48px;
        border: 1px solid #eeeeee;
        box-shadow: 0 0 10px 0 #dbdbdb;
    }
    ul.nav-menu-top li, ul.nav-menu-top li a{
        width: 100%;
        box-sizing: border-box;
    }
    .c-show{
       display: inline-block !important;
    }
    .c-show .nav-item a.nav-link {
        margin: 8px 0;
    }
    .hamburger {
        display: inline-block;
    }
    .section {
        flex-direction: column;
    }
    .intro-image {
        width: 100%;
        margin-left: 0;
    }
    .intro {
        width: 80%;
        padding: 5% 10%;
    }
    .contact-container .flex-content{
        flex-direction: column;
    }
    .contact-container .row {
        width: 100%;
    }
    .ptcategory {
        width: 50%;
    }
    .case-study .case-details{
        width: 100% !important;
    }
    .case-study .case-image{
        display: none;
    }
    .mobile-column{
        flex-direction: column;
    }
    .mobile-column .case-details-block.boxed{
        width: 100%;
        border-right: 0;
    }
}



