/*--------------------*/
/*FONTS*/
/*--------------------*/

/*@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600,700&display=swap');*/

:root {
    --gunmetal:rgb(41, 45, 46);
    --primaryColor:#7AC013;
    --lightText:rgb(228, 228, 228);
}

/*--------------------*/
/*SETUP*/
/*--------------------*/

*{
  margin: 0;
  box-sizing: border-box;
}

html{
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  overflow-x: hidden; 
  scroll-behavior: smooth;
  font-family: Larsseit-Regular, Arial;
}

/*--------------------*/
/*FADE IN EFFECT*/
/*--------------------*/

.fadein{
  opacity: 0;
  transform: translate(0, 60px) scale(1);
  transition: all .6s ease;
}

.zoomin{
    opacity: 0;
    transform: scale(1.2);
    transition: all .6s ease;
}

.in-view{
  opacity: 1;
  transform: translate(0, 0px) scale(1);
}

/*--------------------*/
/*BUTTONS*/
/*--------------------*/

.button-solid {
  background-color: #7AC013;
    border: none;
    color: white;
    padding: 15px 64px;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 40px 4px;
    border-radius: 32px;
    	font-family: Larsseit-Medium;
	font-weight: normal;
	font-style: normal;
    letter-spacing: 2px;
    transition: all .6s ease;
  }

  .button-solid:hover{
    transform: scale(1.05);
  }

.button-app-store {
    position: relative;
    background-color: var(--gunmetal);
    border: none;
    padding: 15px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60%;
    font-size: 16px;
    margin: 40px 4px;
    border-radius: 32px;
    letter-spacing: 2px;
    transition: all .6s ease;
    text-decoration: none;
  }

  .button-app-store p{
    color: white;
    display: flex;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    font-family: Larsseit-Regular;
	font-weight: normal;
	font-style: normal;
    
  }

  .app-store-icon img{
    display: flex;
    width: 24px;
    height: 24px;
    margin: 0 28px 0 0;
    transform: translateY(-2px);
  }


  .button-app-store:hover{
    transform: scale(1.05);
  }

  .button-ghost{
    border: 2px solid #7AC013;
    padding: 15px 64px;
    color: #7AC013;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
    font-size: 16px;
    margin: 40px 4px;
    border-radius: 32px;
    font-family: Larsseit-Medium;
    letter-spacing: 2px;
    transition: all .6s ease;
  }

  input[type=submit] {
    display: block;
    background-color: #7AC013;
    color: white;
    text-transform: uppercase;
    font-size: 16px;
    padding: 15px 64px;
    border: none;
    border-radius: 32px;
    margin:20px 0;
    transition: all .6s ease;
    cursor: pointer;
    -webkit-appearance: none;
  }

  input[type=submit]:hover{
    transform: scale(1.05);
  }

/*--------------------*/
/*TYPOGRAPHY*/
/*--------------------*/

.subheader{
    text-transform: uppercase;
    font-family: Larsseit-Medium;
	font-weight: normal;
	font-style: normal;
    color: rgb(170, 178, 187);
}

.header2{
    font-size: 38px;
    font-family: Larsseit-Bold;
	font-weight: normal;
	font-style: normal;
    text-align: center;
    color: var(--gunmetal);
    padding-top: 20px;
    margin-bottom: 12px;
    letter-spacing: 2px;
}


p{
    color: rgb(110, 110, 110);
    line-height: 200%;
    font-size: 20px;
    font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
    text-decoration: none;
}

a{
    color: #7AC013;
}


/*--------------------*/
/*ANIMATION*/
/*--------------------*/

.floating {  
  animation-name: floating;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

@keyframes floating {
  from { transform: translate(0,  0px); }
  50%  { transform: translate(0, 15px); }
  to   { transform: translate(0, -0px); }    
}

.scaling {
    animation-name: scaling;
    animation-duration: 20s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;   
}

@keyframes scaling {
  from { transform: scale(1.0); }
  50%  { transform: scale(1.1); }
  to   { transform: scale(1.0); }    
}

/*--------------------*/
/*LOADER*/
/*--------------------*/

.loader {
  position: relative;
  margin: 0px auto;
  width: 100px;
}

.loader:before {
  content: '';
  display: block;
  padding-top: 100%;
}

.circular {
  -webkit-animation: rotate 2s linear infinite;
  animation: rotate 2s linear infinite;
  height: 100%;
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  -webkit-animation: dash 1.5s ease-in-out infinite;
  animation: dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
  stroke: #7AC013;
}

@-webkit-keyframes 
rotate {  100% {
 -webkit-transform: rotate(360deg);
 transform: rotate(360deg);
}
}

@keyframes 
rotate {  100% {
 -webkit-transform: rotate(360deg);
 transform: rotate(360deg);
}
}

@-webkit-keyframes 
dash {  0% {
 stroke-dasharray: 1, 200;
 stroke-dashoffset: 0;
}
 50% {
 stroke-dasharray: 89, 200;
 stroke-dashoffset: -35;
}
 100% {
 stroke-dasharray: 89, 200;
 stroke-dashoffset: -124;
}
}

@keyframes 
dash {  0% {
 stroke-dasharray: 1, 200;
 stroke-dashoffset: 0;
}
 50% {
 stroke-dasharray: 89, 200;
 stroke-dashoffset: -35;
}
 100% {
 stroke-dasharray: 89, 200;
 stroke-dashoffset: -124;
}
}

.loading-wrapper{
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: var(--gunmetal);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3;
}

/*--------------------*/
/*HEADER*/
/*--------------------*/

.gradient-overlay{
  position:absolute;
  height: 100%;
  width: 100%;
  /*background-image: linear-gradient(to bottom, rgba(255,255,255,.8),rgba(0,0,0,0),rgba(0,0,0,0),rgba(0,0,0,0), rgba(0,0,0,.3));*/
  background-image: linear-gradient(to bottom, rgba(31, 31, 31, 0.8),rgba(0,0,0,0),rgba(0,0,0,0.1),rgba(31,31,31, 0.3));
    z-index: 1;
}

.vimeo-wrapper {
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -10;
   pointer-events: none;
   overflow: hidden;
}
.vimeo-wrapper iframe {
   width: 100vw;
   height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
   min-height: 100vh;
   min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
z-index: inherit;
}
  
.video_header{
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
  
.video_header .wrapper__video{
    object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: -1;
}
  
.nav-icon{
    display: inline;
    position:absolute;
    top:80%;
    left:50vw;
    transform: translate(-50%, -50%);
    z-index: 4;

}
.nav-icon img{
      width:36px;
}

.hero-banner{
  overflow: hidden;
  position: relative;
}


.header-nav{
    position:absolute;
    top:0px;
    display:flex;
    justify-content:space-around;
    align-items:center;
    width:100%;
    height: 120px;
    padding:40px 0px;
    z-index:5;
  }
  
  .nav-links{
    display:flex;
    justify-content:space-around;
    flex-direction:row;
    width:40%;
  }
  
  .header-nav ul li{
    list-style:none;
    padding:4px;
  }
  
  .header-nav ul li a{
    color: rgb(228, 228, 228);
    text-decoration:none;
    text-transform:uppercase;
    font-family: Larsseit-Medium;
	font-weight: normal;
	font-style: normal;
      font-size: 18px;
    letter-spacing: 2px;
  }
  
.logo{
    
  position: relative;
    display: flex;
    color: rgb(228, 228, 228);
  transition: all .6s ease;
    align-items: center;
}

.logo:hover{
  transform: scale(1.05);
}

.logo img{
  width:48px;
}

.logo p{
  position: relative;
  display: inline-block;
  color: var(--lightText);
  text-transform: uppercase;
  	font-family: Larsseit-Regular;
	font-weight: normal;
	font-style: normal;
  letter-spacing: 6px;
    font-size: 18px;
  margin-left: 20px;
  line-height: 125%;
}
.logo a{
    text-decoration: none;
}

.logo p span{
    letter-spacing: 10px;
}


.burger{
  display:none;
    z-index: 9;
  
}

.burger div{
  width:24px;
  height:3px;
  margin:4px;
  background-color: #7AC013;
  transition: all .3s ease-in;
}

.toggle .line1{
  transform:rotate(-45deg) translate(-4px,6px);
}
.toggle .line2{
  opacity:0;
}
.toggle .line3{
    transform:rotate(45deg) translate(-4px,-6px);
}
  

/*--------------------*/
/*WORK*/
/*--------------------*/

.work-section{
    padding-top: 20px;
}

.works{
    display: grid;
    grid-template-columns:repeat(1fr, 1fr);
    /*grid-template-rows: minmax(200px, auto);*/

    grid-template-areas:
      'Area1 Area1'
      'Area2 Area3'
      'Area2 Area4'
      'Area5 Area5'
      'Area6 Area7'
      'Area8 Area7'
      ;

    padding:0px 40px 40px 40px;
}

.work_thumbnail{
    margin: 2vw;
    min-height: 240px;
    overflow: hidden;
    border-radius: 8px;
/*    box-shadow: 0px 4px 32px rgba(109, 109, 109, 0.3);*/
}

.thumb-overlay{
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  background-color: rgba(0, 0, 0, .55);
  transition: all .6s ease;
}

.work_thumbnail:hover .thumb-overlay,
.work_thumbnail:active .thumb-overlay{
  opacity: 1;
}

.centered{
  position: absolute;
  top: 50%;
  left: 50%;
  width:80%;
  transform: translate(-50%, -50%);
}

.thumb-overlay h2{
  position: relative;
  color: white;
  text-align: center;
font-family: Larsseit-Medium;
font-weight: normal;
font-style: normal;
  font-size: 28px;
}

.underline{
  position: relative;
  height:4px;
  width:4px;
  top: 50%;
  left: 50%;
  margin: 16px 0px;
  transform: translate(-50%);
  background-color: #7AC013;
  transition: all .6s ease;
}

.work_thumbnail:hover .underline,
.work_thumbnail:active .underline{
  width:120px;
}

.thumb-overlay p{
  text-align: center;
  color: white;
  
}

.work_thumbnail img{
    background-color:black;
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 240px;
    z-index: -1;
    transform: scale(1.01);
    transition: all .6s ease;
}

.work_thumbnail:hover .thumb-img,
.work_thumbnail:active .thumb-img{
  transform: scale(1.1);
}


.Area1{
    grid-area: Area1;
}

.Area2{
    grid-area: Area2;
}

.Area3{
    grid-area: Area3;
}

.Area4{
    grid-area: Area4;
}

.Area5{
    grid-area: Area5;
}

.Area6{
    grid-area: Area6;
}

.Area7{
    grid-area: Area7;
}

.Area8{
    grid-area: Area8;
}

/*--------------------*/
/*CLIENTS*/
/*--------------------*/

.clients-section{
    padding: 20px 40px 60px 40px;
    background-color: rgb(221, 228, 235);
}

.client-logos{
  display: flex;
  flex-direction: row;
  flex-flow: wrap;
  justify-content: center;
}

.client-logo{
  width: 20%;
  min-width: 220px;
  transition: all .6s ease;
  padding: 20px 0px;
}

.client-logo:hover, .client-logo:active{
  transform: scale(1.2);
}

.client-img{
  width: 100%;
}

/*--------------------*/
/*ABOUT ME*/
/*--------------------*/

.about-me-section{
    background-image: url("i/bg_sec2_11.jpg");
    background-size: cover;
    background-position: center;
    padding: 40px;
    text-align: left;
}

.about-me-section .header2{
    text-align: left;
}

.about-me-content{
    padding: 5vh 5vw;
    width: 50%;
    transition: all 2.5s ease;
}

.left{
    text-align: left;
}

/*--------------------*/
/*CONTACT*/
/*--------------------*/

.contact-section{
  background-color: rgb(217, 227, 238);
  padding: 10%;
}

.contact-section p{
  text-align: center;
}

.contact-form{
  position:relative;
  background-color: white;
  border-radius: 4px;
  width: 100%;
  padding: 4% 10%;
  box-shadow: 0px 4px 28px rgba(0, 0, 0, .3);
}

.contact1,
.contact2,
.contact3{
  display: inline-block;
  margin-top: 20px;
}

.contact1,
.contact2{
  width: 49%;
}

.contact3{
  width: 98%;
}

label{
  display: block;
  width:100;
  color: #7AC013;
}

input[type=text],
textarea{
  display: block;
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0px;
  border-radius: 24px;
  border: 1px solid rgba(0, 0, 0, .1);
  font-size: 16px;
  color: var(--gunmetal);
  letter-spacing: 1px;
  outline: none;
  transition: all .6s ease;
}

input[type=text]:focus,
textarea:focus{
  box-shadow: 0px 12px 38px rgba(35, 28, 32, .3);
  transform: scale(1.02);
}

input[type=text]{
  width: 95%;
}

textarea{
  width:98.5%;
  min-height: 120px;
  resize: none;
  margin-bottom: 24px;
}

.warning p{
  text-align: left;
  color: red;
  display: none;
}

::-webkit-input-placeholder { /* Edge */
  color: rgba(0, 0, 0, .4);
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: rgba(0, 0, 0, .4);
}

::placeholder {
  color: rgba(0, 0, 0, .4);
}


/*--------------------*/
/*THANK YOU (CONTACT FORM CONFIRMATION PAGE)*/
/*--------------------*/

.thank-you-section{
    height: 96vh;
    min-height: 580px;
    width: 100vw;
    background-color: rgb(217, 227, 238);
}

.thank-you-form{
    position: absolute;
    top: 140px;
    left:10%;
    background-color: white;
    height: 60%;
    min-height: 380px;
    width: 80%;
    margin: auto;
    text-align: center;
    padding: 8% 10%;
    box-shadow: 0px 4px 28px rgba(0, 0, 0, .3);
}

.thank-you-form h2{
    margin: 32px;
}

/*------------------------------------------------------------*/
/*---------------------CASE STUDIES PAGE----------------------*/
/*------------------------------------------------------------*/

/*--------------------*/
/*IMAGE HERO BANNER*/
/*--------------------*/

.image-header{
  width:100vw;
  height: 100vh;
  min-height: 540px;
}

.image-header img{
  width:100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
  z-index: -2;
}

.image-header-content{
  position: absolute;
  text-align: center;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.image-header-content h2{
  color: white;
  font-size: 48px;
    font-family: Larsseit-Medium;
    font-weight: normal;
	font-style: normal;
  padding: 16px;
}

.image-header-content p{
  color: white;
  font-size: 20px;
  padding: 20px;
}

.gradient-overlay-2{
    position: absolute;
    height: 100%;
    width: 100%;
    background-image: linear-gradient(to bottom, rgba(31, 31, 31, 0.8),rgba(31,31,31,0.4),rgba(31,31,31,0.2),rgba(31,31,31, 0.4));
    z-index: 1;
}

/*--------------------*/
/*ABOUT PROJECT*/
/*--------------------*/

.about-project-section{
  display: flex;
  flex-direction: row;
  align-items: center;
}

.about-project-section-2{
  display: flex;
  flex-direction: row;
  align-items: center;
background: linear-gradient(to bottom, #ffffff, #f5f5f5);
}

.about-project-small,
.about-project-large{
  padding:6%;
}

.kis-pax{
    padding: 4% 4% 0px 2%;
}

.about-project-small{
  position: relative;
  width: 40%;
}


.about-project-section h2{
  	font-family: Larsseit-Regular;
	font-weight: normal;
	font-style: normal;
  font-size: 32px;
  margin-bottom: 20px;
}

.about-project-large{
  width: 60%;
}

.about-project-large-image{
  width: 110%;
}

.image-side{
  position: relative;
  display: flex;
  height: 100%;
}
.image-side img{
  width: 100%;
  height: 100%;
}

.image-side-2 img{
  width: 160%;
  height: 160%;
}



/*--------------------*/
/*CHALLENGE SECTION*/
/*--------------------*/

.challenge-section{
    padding: 8% 10% 10% 10%;
    background-color: #424242;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.challenge-section h4{
    background-color: #7AC013;
    font-family: Larsseit-Regular;
	font-weight: normal;
	font-style: normal;
    padding: 4px 16px;
    text-transform: uppercase;
}

.challenge-section h2{
    color: white;
   	font-family: Larsseit-Medium;
	font-weight: normal;
	font-style: normal;
    font-size: 32px;
    margin: 20px;
}

.challenge-section p{
    color: #e2e2e2;
    font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
    width: 60%;
}


/*--------------------*/
/*ROLES SECTION*/
/*--------------------*/

.roles-section{
  background-color: white;
  text-align: center;
}

.roles-header{
  padding:40px;
  width: 60%;
  margin-left: 20%;
}

.roles-section h2,
.mockup-image h2{
  color: var(--gunmetal);
  	font-family: Larsseit-Regular;
	font-weight: normal;
	font-style: normal;
  font-size: 32px;
  margin: 20px;
    text-align: center;
}

.roles-breakdown{
  width: 100%;
  display: flex;
  flex-direction: row;
}

.role, .role-blue{
  flex: 1;
  background-color: #F6F7F8;
  padding:12px;
  transition: all .4s ease;
  z-index: 1;
}


.role-description h3{
  	font-family: Larsseit-Regular;
    font-size: 20px;
	font-weight: normal;
	font-style: normal;
}

.role-description p{
  font-size: 16px;
  	font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
  padding: 10%;
}

.role-icon img{
  width: 32px;
  margin:32px;
  filter: brightness(0);
}

.role:hover{
  background-color: #7AC013;
  transform: scale(1.05);
  z-index: 2;
}

.role-blue:hover{
  background-color: #00BAFF;
  transform: scale(1.05);
  z-index: 2;
}

.role:hover .role-description h3,
.role:hover .role-description p,
.role-blue:hover .role-description h3,
.role-blue:hover .role-description p{
  color:white;
}

.role:hover .role-icon img,
.role-blue:hover .role-icon img{
  filter: brightness(20);
}

/*--------------------*/
/*TOOLS SECTION*/
/*--------------------*/

.tools-breakdown{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  padding: 4% 10%;
}

.tools-description{
  text-align: center;
  padding: 2% 20%;
}

.tools-description h2{
  color: var(--gunmetal);
  	font-family: Larsseit-Regular;
	font-weight: normal;
	font-style: normal;
  font-size: 32px;
  margin: 20px;
}

.tool{
  width:20%;
  min-width: 240px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tool-icon{
  width: 96px;
  transition: all .5s ease;
}

.tool h3{
  	font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
  font-size: 18px;
  padding: 20px;
  text-align: center;
}

.tool:hover .tool-icon{
  transform: scale(1.1);
}

.gray-bg{
  background-color: #F6F7F8;
}

/*--------------------*/
/*INSIGHTS*/
/*--------------------*/

.insights{
    padding: 0% 6% 4% 6%;
    text-align: center;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}

.insight{
    width: 33.33333%;
    padding: 32px;
    margin-bottom: 20px;
}

.insight-statistic{
    font-size: 56px;
    font-family: Larsseit-Bold;
	font-weight: normal;
	font-style: normal;
    color: #00BAFF;
    
}

/*--------------------*/
/*PAIN POINTS SECTION*/
/*--------------------*/

.pain-points-section{
    
    padding: 4% 8% 4% 8%;
    background-color: #596A85;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pain-points-header h2{
    color: white;
    font-family: Larsseit-Medium;
	font-weight: normal;
	font-style: normal;
  font-size: 40px;
  margin: 28px 20%;
}

.pain-points{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.pain-point{
    background-color: white;
    display: flex;
    padding: 12px;
    border-radius: 10px;
    box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.10);
    min-width: 280px;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 18px;
}

.pain-point img{
    padding-right: 10px;
}

/*--------------------*/
/*HALF IMAGE SECTION*/
/*--------------------*/

.half-image-section{
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100vh;
    min-height: 760px;
}

.image-left-div{
    width: 50%;
    display: flex;
    min-height: 480px;
    overflow-x: hidden;
    flex-wrap: wrap;
    
}

.image-left-div img{
    height: 100%;
    display: flex;
    justify-content: center;
    height: 100%;
    transform: translateX(-20%);
}

.content-right-div{
    width: 50%;
    padding: 4% 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content-right-div h3{
    font-size: 56px;
    color: var(--gunmetal);
    font-family: Larsseit-Bold;
	font-weight: normal;
	font-style: normal;
    margin-bottom: 16px;
}

.single-insight{
    padding: 10%;
    text-align: center;
}

/*--------------------*/
/*HALF CONTENT SECTION*/
/*--------------------*/

.half-content-section{
    width: 100%;
    display: flex;
    flex-direction: row;
    min-height: 480px;
    padding: 8%;
}

.half-content{
    width: 50%;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    padding: 0% 4%;
}

.half-content img{
    align-self: center;
}

.half-content h4{
    font-size: 18px;
    letter-spacing: 4px;
    font-family: Larsseit-Thin;
    text-transform: uppercase;
    color: #596A85;
}

.half-content h2{
    font-size: 40px;
    font-family: Larsseit-Bold;
    color: var(--gunmental);
}

.light-gray-bg{
    background-color: #F2F4F7;
}

/*--------------------*/
/*TIMELINE SECTION*/
/*--------------------*/

.timeline-section{
  background-color:#F6F7F8;
  display: flex;
  padding: 8% 10%;
}

.timeline-summary{
  flex:1;
  padding:4% 0;
}

.timeline-summary-content{
  position:sticky;
  position: -webkit-sticky;
  top:20%;

}

.timeline{
  flex:3;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding:0 4%;
}

.timeline-item{
  display: flex;
  position: relative;
  flex-direction: row;
  height:100%;
}

.tl{
  flex:1;
  position: relative;
  height: auto;
  width:32px;
  transform: translateY(16px);
}

.tl-circle{
  position: relative;
  width:32px;
  height: 32px;
  border-radius: 50%;
  background-color: #E5E5E5;
  top:0;
  left:50%;
  transform: translate(-50%, -50%);
}

.tl-circle-inner{
  position: absolute;
  width:26px;
  height: 26px;
  border-radius: 50%;
  background-color: #7AC013;
  top:0;
  left:50%;
  z-index: 4;
  transform: translate(-50%, -50%) scale(0.01);
  transition: all .3s ease-in;
}

.tl-line{
  width:4px;
  height:100%;
  position: absolute;
  top:0;
  left:50%;
  transform: translateX(-50%);
  background-color: #E5E5E5;
}

.timeline-item-desc{
  flex:6;
  position: relative;
  margin: 0px 20px 0px 20px;
  border-radius: 8px;
  transition: all .5s ease;
}

.timeline-item-callout{
  background-color: #F6F7F8;
  border-radius: 8px;
  padding: 20px 40px;
  margin: 20px 0;
  border: 1px solid #e0e0e0;
  position: relative;
  transform: translateY(-32px);
  transition: all .5s ease;
}

/*This is the callout arrow on the above div*/
.timeline-item-callout:before{
  content:'';
  position:absolute;
  width:16px;
  height: 16px;
  background:#F6F7F8;
  top:25%;
  left:0;
  transform: translateX(-51%) translateY(-50%)  rotate(-45deg);
  border-left:1px solid #e0e0e0;
  border-top: 1px solid #e0e0e0;
  border-right:1px solid transparent;
  border-bottom: 1px solid transparent;
  transition: all .5s ease;
}

.timeline-summary h2{
  	font-family: Larsseit-Medium;
	font-weight: normal;
	font-style: normal;
  font-size: 28px;
  margin-bottom: 20px;
}

.timeline-item h2{
  	font-family: Larsseit-Regular;
	font-weight: normal;
	font-style: normal;
  font-size: 20px;
  margin-bottom: 8px;
}

.timeline-item p{
  	font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
  font-size: 18px;
}

.timeline-item:hover .timeline-item-callout,
.timeline-item:hover .timeline-item-callout:before{
  background-color: #FFF;
  border: 1px solid transparent;
}
.timeline-item:hover .timeline-item-callout{
  box-shadow: 0px 4px 28px rgba(0, 0, 0, .3);
}

.timeline-item:hover .tl-circle-inner{
    background-color: #7AC013;
    transform: translate(-50%, -50%) scale(1);
}

/*--------------------*/
/*CONTENT SECTION*/
/*--------------------*/

.content-section{
  padding: 4% 16%;
}
.content-info{
  padding: 4%;
}
.content-info ul{
  padding: 20px;
  line-height: 150%;
}

.content-info ul li{
    line-height: 200%;
    font-size: 20px;
    font-family: Larsseit-Light;
    font-weight: normal;
    font-style: normal;
    color: rgb(41, 45, 46);
    margin-left: 20px;
}

.content-title{
  position: relative;
}

.content-title h2{
  position: relative;
  top:50%;
  font-size: 36px;
  	font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
  left: 0;
  padding: 20px 0;
}

.content-title h3{
  position: absolute;
  font-size: 96px;
  color: #F2F2F2;
 	font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
  z-index: -1;
  left: 0;
  top:-20%;
}

/*--------------------*/
/*VIDEO SECTION*/
/*--------------------*/

.video-section{
  padding:2% 8% 2% 8%;
}

.video-section h2{
  padding:4%;
  text-align: center;
  	font-family: Larsseit-Medium;
	font-weight: normal;
	font-style: normal;
  font-size: 32px;
}

.video-responsive{
  overflow:hidden;
  padding-bottom:56.25%;
  position:relative;
  height:0;
}
.video-responsive iframe{
  left:0;
  top:0;
  height:100%;
  width:100%;
  position:absolute;
}

/*--------------------*/
/*UI DESIGNS + MOCKUPS*/
/*--------------------*/

.ui-designs-1{
  position: relative;
  padding-top: 4%;
}

.mockups-1{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  justify-items: center;
}

.mockups-1 img{
  margin-top: 10%;
  width: 75%;
}

.ui-designs-1-bg{
  position: absolute;
  background-image: linear-gradient(to bottom,#8CFFF9 , #00A0DD );
  width: 100vw;
  height: 85%;
  top: 0;
  z-index: -1;
}

.ui-designs-2 img{
  position: relative;
  width: 90%;
  margin-left: 10%;
}

.mockup-image{
  overflow: hidden;
    position: relative;
}

.mockup-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
}

.mockup-medium{
  padding: 4% 8%;
}

.mockup-medium img{
  width: 100%;
  height: 100%;
}

.kiosk-parallax{
    background-image: url(i/store_kiosk_SOH.jpg);
  height: 680px;
    background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/*--------------------*/
/*Mobile Wallet Ticket Section*/
/*--------------------*/

.mobile-wallet-section{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    background-color: #e8e8e8;
}

.text-half-section{
    width: 50%;
    padding: 10%;
}

.image-half-section{
    width: 50%;
}

.image-half-section img{
    width: 120%;
}

/*--------------------*/
/*CODEPENS*/
/*--------------------*/

.codepenpreview{
    margin: 20px 0;
}


/*--------------------*/
/*FOOTER*/
/*--------------------*/


footer{
  min-height: 120px;
  background-color: rgb(41, 45, 46);
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
}

.footer-nav{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 20px 0px 40px 0px;
}

.copyright-info{
  display: flex;
  align-items: center;
  color: rgb(150, 150, 150);
    font-size: 16px;
    font-family: Larsseit-Light;
	font-weight: normal;
	font-style: normal;
    justify-content: center;
}
.copyright-info span{
    font-family: Helvetica;
    margin: 0 4px;
}

footer ul{
  list-style: none;
  display: flex;
  flex-direction: row;
  width: 30%;
  justify-content: space-around;
  align-items: center;
}

footer ul li a{
  text-decoration: none;
  text-transform: uppercase;
  color: rgb(150, 150, 150);
    font-size: 16px;
}


.uparrow{
  width: 100%;
  padding-top: 20px;
  margin: 10px;
  display: flex;
  justify-content: center;
}
.uparrow img{
  width:28px;
  transform: translateX(-50%);
}



/*------------------------------------------------------------*/
/*-------------------------MEDIA QUERIES----------------------*/
/*------------------------------------------------------------*/

@media screen and (max-width:768px){

  /*--------------------*/
  /*NAV MOBILE*/
  /*--------------------*/

    .burger{
      display:block;
    }
    
    .nav-links{
    position:absolute;
    display:flex;
    flex-direction:column;
    padding: 40px 0;
    align-items:center;
    width:75%;
    background-color:rgba(0,0,0,.85);
    top:0px;
    right:0px;
    height:100vh;
    transform:translateX(100%);
    transition: transform 0.5s ease-in;
  }
  
  .header-nav ul li{
    list-style:none;
    padding:40px 8px;
  }

  .header-nav ul li a{
    color:rgb(201, 201, 201);
  }
    
    .nav-active{
    transform:translateX(0%);
  }

  /*--------------------*/
  /*WORKS MOBILE*/
  /*--------------------*/

  .works{
    grid-template-columns:1fr;
    /*grid-template-rows: minmax(200px, auto);*/

    grid-template-areas:
      'Area1'
      'Area2'
      'Area3'
      'Area4'
      'Area5'
      'Area6'
      'Area7'
      'Area8'
      ;

    padding:0px 20px 36px 20px;
  }
    
/*
    .work_thumbnail .thumb-overlay,
    .work_thumbnail .thumb-overlay{
        opacity: 1;
    }
    
    .work_thumbnail .underline,
    .work_thumbnail .underline{
        width:120px;
    }
*/

  /*--------------------*/
  /*CLIENTS MOBILE*/
  /*--------------------*/


  .client-logos{
    flex-direction: column;
    flex-flow: wrap;
    justify-content: center;
  }
  
  .client-logo{
    flex-basis: 60%;
  }

  /*--------------------*/
  /*ABOUT ME MOBILE*/
  /*--------------------*/

  .about-me-section{
    background-image: none;
      padding: 40px;  
  }

  .about-me-content{
      width: 80%;
      height: auto;
      text-align: center;
      transition: all 2.5s ease;
      margin-left: 10%;
  }
    
    .about-me-section .header2{
        text-align: center;
    }
    
  /*--------------------*/
  /*ABOUT PROJECT MOBILE*/
  /*--------------------*/

  .image-side{
    display: flex;
  }
    
    .image-side-2{
        display: flex;
        width: 100%;
    }
    
    .image-side-3{
        display: none;
    }
    
    .image-side-2 img{
        display: flex;
        width: 100%;
    }
    
    .about-project-section{
  flex-direction: column;
  align-items: center;
    justify-content: center;
background: linear-gradient(to bottom, #fcfcfc, #f5f5f5,#f5f5f5 );
}
    
.about-project-section-2{
  flex-direction: column;
  align-items: center;
    justify-content: center;
background: linear-gradient(to bottom, #fcfcfc, #f5f5f5,#f5f5f5 );
}

  .about-project-small,
  .about-project-large{
    text-align: center;
    width: 100%;
  }
  
  /*--------------------*/
  /*ROLES MOBILE*/
  /*--------------------*/

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

  .role-description p{
  padding: 15%;
  }
    
.roles-header{
  padding:40px;
  width: 80%;
  margin-left: 10%;
}
    
    /*--------------------*/
  /*INSIGHTS MOBILE*/
  /*--------------------*/
    
    .insights{
        
    padding: 2% 20% 10% 20%;
        
    }
    
    .insight{
    width: 100%;
    padding:40px;
    margin-bottom: 20px;
}
    
    /*--------------------*/
  /*HalfImage Section mobile*/
  /*--------------------*/
    
    .half-image-section{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 760px;
    }
    
    .image-left-div{
    width: 100%;
    display: flex;
    min-height: 200px;
    overflow-x: hidden;
    flex-wrap: wrap;
    
}

.image-left-div img{
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    transform: translateX(0);
}

.content-right-div{
    width: 100%;
    padding: 10% 12%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content-right-div h3{
    font-size: 56px;
    color: var(--gunmetal);
    font-family: Larsseit-Bold;
	font-weight: normal;
	font-style: normal;
    margin-bottom: 16px;
}

.single-insight{
    padding: 10%;
    text-align: center;
}

    .footnote{
        font-size: 14px;
        color: #abb2b5
    }
    
    /*--------------------*/
    /*HALF CONTENT SECTION MOBILE*/
    /*--------------------*/
    
    .half-content-section{
    flex-direction: column;
    min-height: 480px;
    padding: 12%;
}

.half-content{
    width: 100%;
    align-content: center;
    justify-content: center;
    padding: 8% 8%;
}
    
    .flex-reverse{
        flex-direction: column-reverse;
    }
  /*--------------------*/
  /*TIMELINE SECTION MOBILE*/
  /*--------------------*/

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

  .timeline-summary{
    flex:1;
    padding:4% 0 12% 0;
    text-align: center;
  }

  .timeline{
    flex:1;
    position: relative;
    display: flex;
    flex-direction: column;
    padding:0;
  }
    
    
/*--------------------*/
  /*WALLET SECTION MOBILE*/
  /*--------------------*/
    
    
.mobile-wallet-section{
    flex-direction: column;
    align-items: center;
    background-color: #e8e8e8;
}
    
    .text-half-section{
    width: 100%;
    padding: 16%;
}

.image-half-section{
    width: 100%;
}
    
.image-half-section img{
    width: 100%;
    padding-left: 12%;
}

  /*--------------------*/
  /*CONTACT SECTION MOBILE*/
  /*--------------------*/

  .contact1,
  .contact2{
    width: 98%;
  }
    
    g-recaptcha{
        transform:scale(0.77);
        -webkit-transform:scale(0.77);
        transform-origin:0 0;
        -webkit-transform-origin:0 0;
    }
    
  /*--------------------*/
  /*FOOTER SECTION MOBILE*/
  /*--------------------*/

  .footer-nav{
    flex-direction: column;
    justify-content: space-evenly;
    margin-bottom: 20px;
  }

  .copyright-info{
    padding: 20px;
    flex-direction: column;
    font-size: 80%;
  }

  footer ul{
    flex-direction: column;
    width: 100%;
    padding: 0px;
  }

  footer ul li{
    padding: 20px;
  }


}