@import url('https://fonts.googleapis.com/css?family=Fira+Sans:100,200,300,400,500,600,700,800,900');




  
  


body {
  font-family: 'Sf Pro Display', Lato;
  letter-spacing: 0.5px;
  font-size: 15px;
  line-height: 1.6;
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  color: #1c1b1b;
  word-spacing: 1.88px;
}

.flash {
  background-color: #1c1b1b;
  width: 100%;
  height: 100vh;
}

label .menu {
  position: absolute;
  top: 11px;
  right: 40px;
  z-index: 100;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50% 50% 50% 50%;
  transition: 0.3s ease-in-out;
  box-shadow: 0 0 0 0 rgba(244, 244, 244, 1), 0 0 0 0 rgba(244, 244, 244, 1);
  cursor: pointer;
  overflow: hidden;
}

label .hamburger {
  position: absolute;
  top: 30px;
  right: 20px;
  width: 20px;
  height: 2px;
  background: #000;
  display: block;
  -webkit-transform-origin: center;
  transform-origin: center;
  transition: 0.3s ease-in-out;
}
label .hamburger:after,
label .hamburger:before {
  transition: 0.3s ease-in-out;
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
}
label .hamburger:before {
  top: -6.6px;
}
label .hamburger:after {
  bottom: -6.6px;
}
label input {
  display: none;
}
label input:checked + .menu {
  box-shadow: 0 0 0 100vw #1c1b1b, 0 0 0 100vh #1c1b1b;
}
label input:checked + .menu .hamburger {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
label input:checked + .menu .hamburger:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  bottom: 0;
}
label input:checked + .menu .hamburger:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  top: 0;
}
label input:checked + .menu + nav {
  opacity: 1;
}
label nav {
  z-index: 200;
  position: absolute;
  top: 320%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 0.3s 0s ease-in-out;
  list-style: none;
  list-style-type: none;
  display: flex;
}


label nav a{
  margin: 40px;
}


label nav a::before {
  color: #fff; /* Change the color */
  list-style: none;
  list-style-type: none;
}

label a {
  margin-bottom: 1em;
  display: block;
  text-decoration: none;
  color: #fff;
}

header {
  position: fixed;
  padding: 24px 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  z-index: 10;
}

.container {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  padding: 0 15px 0 60px;
}

header h1 {
  font-family: Montserrat;
  font-weight: 700;
  letter-spacing: 3px;
  font-size: 24px;
  color: #1c1b1b;
}

header a {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}



header nav a {
  display: inline-block;
  text-decoration: none;
  opacity: 1;
}

header nav a::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background: #fff;
  transition: width 0.3s;
}

header nav a:hover {
  opacity: 0.5;
}

header nav a:hover::after {
  width: 100%;
  opacity: 0.8;
}

.hello {
  font-family: Fira Sans;
  font-size: 60px;
  line-height: 100px;
  text-align: center;
  color: #1c1b1b;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

 .grid  {
  width: 1440px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows:100px ;
}

.hello div {
  font-weight: 100;
  transform: scale(0.2);
  transition: transform 0.2s;
}






.intro {
  height: 400px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 60px 60px 60px 60px;
  max-width: 1440px;
  margin: 0 auto 20px auto;
  font-size: 50px;
  font-family: 'Sf Pro Text Heavy', Sf Pro Display;
  line-height: 1;
  letter-spacing: 0;
} 



.cases a {
  text-decoration: none;
  color: #1c1b1b;
}

/*WindowOnload Fade-In*/

@keyframes chainReaction {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*div p {
  animation: chainReaction 2s;
  opacity: 0;
  animation-fill-mode: forwards;
}*/

.intro,
.cases,
.header {
  animation: chainReaction 1.5s;
  opacity: 0;
  animation-fill-mode: forwards;
}

.header {
  animation-delay: 0.3s;
}

.intro {
  animation-delay: 0.3s;
}

.cases {
  animation-delay: 0.8s;
}
/*WindowOnload Fade-In*/

.cases {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  
}

.cases .container {
  max-width: 1440px;
  border-bottom: 1px #f5f5f5 solid;
  padding: 0 0 60px 0;
  
}

.row {
  display: flex;
}

.case {
  width: 700px;
  height: 440px;
  text-align: center;
  margin-bottom: 30px;
  background-color: #fff;
}


.case img {
  width:152px;
}

/* 
.zoom {
  transition: width 0.5s ease;
}

.case:hover .zoom {
  width:168px;
} 
*/



.first {
  margin-right: 20px;
}

.box {
  background-color: #f9f9f9;
  height: 360px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.overlay {
  opacity: 0;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.85);
  height: 100%;
  width: 100%;
  padding: 30px;
  transition: opacity 0.5s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.case a:hover .overlay {
  opacity: 1;
}

.shadow {
  transition:box-shadow .2s ease-out, background 1s ease-in;
}

.shadow:hover {
    -webkit-box-shadow: 0 2px 20px 5px rgba(0,0,0,.05);
    -moz-box-shadow: 0 2px 20px 5px rgba(0,0,0,.05);
    box-shadow: 0 2px 20px 5px rgba(0,0,0,.05);
}



.case .overlay h2 {
  color: #fff;
  font-size: 20px;
  margin-top: 0;
}

.case .overlay p {
  color: #dddddd;
}

.case h2 {
  font-weight: 700;
  margin-top: 10px;
}

.case p {
  font-size: 14px;
}



footer {
  padding: 60px 20px;
  margin: 0 auto 0 auto ;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 1440px;
  text-align: center;
  font-size: 14px;
}

.social {
  background-color: #fefffe;
  display: flex;
  align-items: center;
  justify-content: center;
}


.fa {
  text-decoration: none;
}

.fa:hover {
  opacity: 0.6;
}



.fa-linkedin,
.fa-instagram {
  color: #1c1b1b;
}

.fa-instagram {
  margin-right: 30px;
}

.social a {
  text-decoration: none;
  color: #1c1b1b;
}




@media (max-width: 700px) {
  .row {
    flex-direction: column;
  }
  .row {
    align-items: center;
    justify-content: center;
  }

  .first {
    margin-right: 0;
  }
  
  .intro p {
    font-size: 64px;
  }
  
}


@media (max-width: 600px) {
  .case {
    max-width: 600px;
  }

  
}

@media (max-width: 500px) {
  .case {
    max-width: 500px;
  }
  
  header .container {
    padding: 0 15px 0 40px;
  }
  
  .intro {
      padding: 40px;
  }
  
  label .menu {
    right: 20px;
  }
  
  footer {
    flex-direction: column-reverse;
  }
  
  .social {
    margin-bottom: 10px;
  }
  
    .intro p {
    font-size: 48px;
  }
  
}

@media (max-width: 400px) {
  .case {
    max-width: 400px;
  }
  
  header nav {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 320px) {
  .case {
    max-width: 320px;
  }
}




/*About*/

header {
  background-color: #fff;
}

.about {
  background-color: #f9f9f9;

}

.about .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  padding-top: 80px;
}

.about .container div {
  max-width: 640px;
  margin-top: 20px;
  padding: 20px;
}

.profile {
  background-color: #fff;
   border-bottom: 1px #f5f5f5 solid;
}

.profile .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
}


.profile .container div {
  max-width: 456px;
  text-align: center;
}

.map {
   background-color: #f9f9f9;
}

.map .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  text-align: center;
}




.contact {
  background-color: #1F1F20;
  color: #fff;
  text-align: center;
  display: flex;
    height: 100vh;
}

.contact .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.signupform {
margin-top: 72px;
  display: flex;
  flex-direction: column;
  text-align: left;
  color: #636c72;
  
}

/* Style the input elements and the submit button */
input  {
  padding: 0;
  display: inline-block;
  box-sizing: border-box;
  border: none;
  border-bottom: 1px solid #fff;
  outline: none;
  width: 600px;
  background-color: #1F1F20;
  font-size: 15px;
  color: #fff;
}

textarea {
  border: none;
  background-color: #1F1F20;
  border-bottom: 1px solid #fff;
  outline: none;
  color: #fff;
  margin-top: 20px;
}






/* Style the submit button */
.contact button {
  color: white;
  background-color: #1F1F20;
  border: 1px solid #fff;
  width: 104px;
  padding: 10px 8px;
  margin: 8px auto 8px auto;
  font-size: 14px;
}

.contact button:hover {
  background-color: #fff;
  color: #1c1b1b;
}



.successmessage {
   display: none;
}



textarea,
input{
-webkit-appearance: none;
border-radius: 0;
}



/*Spotify Case*/

/*WindowOnload Fade-In*/

@keyframes chainReaction {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*div p {
  animation: chainReaction 2s;
  opacity: 0;
  animation-fill-mode: forwards;
}*/



.section {
  width: 100%;
}

.hero {
  margin-left: auto;
  margin-right: auto;
}

.hero .container {
  height: 440px;
  display: flex;
  align-items: center;
}

.project,
.background,
header,
.hero img {
  animation: chainReaction 2s;
  opacity: 0;
  animation-fill-mode: forwards;
}

header {
  animation-delay: 0.3s;
}

.project {
  animation-delay: 0.8s;
}

.hero img {
  animation-delay: 1s;
}

.background {
  animation-delay: 1s;
}
/*WindowOnload Fade-In*/



.heroimage {
  max-width: 1440px;
   margin-left: auto;
  margin-right: auto;
}



.project {
  height: 400px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 60px;
  font-size: 44px;
  font-weight: 400;
  font-family: 'Berlingskeserif Blk', Sf Pro Display;
  line-height: 1.25;
  letter-spacing: 0px;
  width: 1440px;
  margin: 0 auto 60px auto;
}

.background {
  background-color: #1b1c1c;
  color: #fff;
  padding: 40px 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;

}

.background .container {
  justify-content: space-around;
  align-items: center;
}

.background .description {
  max-width: 440px;
  margin: 10px 20px;
}

.background h2 {
  font-weight: 700;
  color: #a1a1a1;
}

.process,
.next_steps {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}

.results {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  margin-top: 80px;
  display: flex;
  justify-content: center;
  background-color: #f9f9f9;
  padding: 80px 20px 100px 20px;
}

.research,
.ideate,
.test {
  padding-top: 80px;
}

.content {
  max-width: 640px;
  margin: 20px;
}

.content h1 {
  font-weight: 700;
  font-size: 24px;
}

.define,
.design,
.next_steps {
  margin-top: 80px;
  display: flex;
  justify-content: center;
  background-color: #f9f9f9;
  padding: 80px 20px;
}

.ideate {
  flex-direction: column;
  align-items: center;
  width: 100%;
  display: flex;
  justify-content: center;
}

.research img {
  margin: 60px 0;
  width: 640px;
}

.ideate img {
  margin: 60px 0;
  width: 640px;
}

.define img {
  width: 640px;
  margin: 60px 0;
  height: auto;
}

.design img {
  width: 640px;
  margin: 60px 0;
  height: auto;
}

.test img {
  width: 640px;
  margin: 60px 0;
  height: auto;
}

.results img {
  width: 640px;
  margin: 60px 0;
  height: auto;
}

.test {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.invision {
  max-width: 600px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-left: 49px;
}

.next_steps {
  margin: 0;
}







/* sidebar */
.sidebar {
  display: none;
}

.sidebar nav a {
  margin: 0;
  text-decoration: none;
  color: #c1c1c1;
}

._1sRgGCKXJb._1dBKZPXEJJ {
  position: fixed;
  top: 50%;
  left: auto;
  width: 25%;
  transform: translateY(-50%);
  margin-left: 40px;
}

._1vmZjcGs6l {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
}

._2wBYtFaKnU:not(:last-child) {
  margin-bottom: 25px;
}
._2wBYtFaKnU {
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  vertical-align: baseline;
  border: 0;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #c1c1c1;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto;
  text-align: left;
}

._2wBYtFaKnU:not(:last-child) {
  margin-bottom: 25px;
}
._2wBYtFaKnU {
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  vertical-align: baseline;
  border: 0;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #c1c1c1;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto;
  text-align: left;
}

.bA0t87xLwJ {
  position: absolute;
  bottom: 20px;
  left: -4px;
}

.qE-TFZyUvH {
  position: absolute;
  top: 50%;
  left: 1px;
  width: 1px;
  height: 240px;
  background: #e5e5e5;
  transform: translateY(-50%);
}

._3QS34ueFyC {
  width: 1px;
  height: 0;
  background: #1c1b1b;
  transform-origin: 50% 0;
  transform: translateY(-50%);
  transition: transform 0.25s ease-out;
}

._1sRgGCKXJb._1dBKZPXEJJ {
  position: fixed;
  top: 50%;
  left: auto;
  width: 25%;
  transform: translateY(-50%);
}

.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 50; /* Sit on top */
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  background-color: #fefefe; /* Fallback color */
  background-color: #fefefe; /* Black w/ opacity */
  width: 100%;
  height: 100vh;
}

.modal-content {
  position: fixed;
  top: 50%;
  left: 50%;
  max-width: 1000px;
  width: 95%;
  transform: translate(-50%, -50%);
}

.close-btn {
  width: 100%;
  padding: 20px 30px;
  text-align: right;
  margin-bottom: 10px;
}

#scrollBtn {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 16px; /* Place the button at the bottom of the page */
  right: 16px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: rgba(244, 244, 244, 0.7); /* Set a background color */
  color: #aaa; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  height: 52px;
  width: 52px;
  border-radius: 50%; /* Rounded corners */
  font-size: 12px; /* Increase font size */
}

#scrollBtn:hover {
  background-color: #fff;
  color: #000;
  box-shadow: 0 0 5px 5px rgba(128, 128, 128, 0.05);
  transition: all 1s ease;
}

/* The Close Button */
.close,
.close1 {
  color: #aaa;
  font-size: 32px;
}

.close:hover,
.close1:hover,
.close:focus,
.close1:focus {
  color: #484848;
  text-decoration: none;
  cursor: pointer;
}

@media (max-width: 1000px) {
  h1 {
    font-size: 24px;
  }

  ._1sRgGCKXJb nav {
    display: none;
  }

  .define .content,
  .design .content {
    margin-left: 0;
  }
}

@media (max-width: 920px) {
  .background .container {
    flex-direction: column;
    justify-content: space-around;
  }

  .background .description {
    max-width: 620px;
  }

  .background .upper {
    margin-bottom: 20px;
    margin-right: 0;
  }

  .hero .container {
  }
  .background {
  }
}

@media (max-width: 880px) {
  .define,
  .design {
    margin-left: 0;
  }
  
  input {
    width: 720px;;
  }
}

@media (max-width: 770px) {
  .about .container div {
    width: 690px;
    padding: 20px;
  }

  ._3QS34ueFyC,
  .qE-TFZyUvH {
    display: none;
  }
  
  .invision {
    margin-left: 0;
  }
  
    input {
    width: 640px;
  }
}

@media (max-width: 690px) {
  .hero .container {
    height: 360px;
  }

  .project {
    font-size: 38px;
    align-items: center;
  }

  .about .container div {
    width: 650px;
  }
  
    input {
    width: 560px;
  }
   
  .background {
    height: 560px;
  }
  

}

@media (max-width: 620px) {
  .background {
    padding: 30px 10px;
    height: 640px;
  }



  .about .container div {
    width: 580px;
    padding: 20px;
  }
  
    input {
    width: 420px;
  }
}

@media (max-width: 500px) {
  .about .container div {
    width: 460px;
    padding: 20px;
  }
  
  .project {
    padding: 40px;
  }
  
  footer {
    padding: 60px 20px;
  }


 .background {
    height: 680px;
  }



  nav {
    display: none;
  }
  header h1 {
    margin-left: 0;
  }



  ._3QS34ueFyC,
  .qE-TFZyUvH {
    display: none;
  }

  iframe {
    transform: scale(0.5);
  }

  .research,
  .ideate,
  .test {
    padding-top: 30px;
  }
  
    input {
    width: 360px;
  }
  
}

@media (max-width: 400px) {
  .hero img {
    display: none;
  }


  .about .container div {
    width: 360px;
    padding: 20px;
  }
  
  .project {
    font-size: 32px;
    padding: 40px 40px 20px 40px;
  }
  
   .background {
    height: 740px;
  }
}

@media (max-width: 380px) {
  .about .container div {
    width: 340px;
    padding: 20px;
  }
    input {
    width: 240px;
  }
}

/*Rally Case*/

.rally .menu {
  display: ;
}

.principles {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  margin: 40px 0 80px 0;
}

.circle {
  height: 176px;
  width: 176px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
   box-shadow: 0 0 25px 15px rgba(128, 128, 128, 0.02);
}


.square {
  max-width: 640px;
  background-color: #fff;
  border-radius: 1%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  box-shadow: 0 0 25px 15px rgba(128, 128, 128, 0.02);
  Padding: 56px 48px 48px 48px;
}


ul li::before {
  color: #3c5be1; /* Change the color */
  font-weight: bold; /* If you want it to be bold */
  width: 1em; /* Also needed for space (tweak if needed) */
  display: inline-block;
 content: "\2022";
}



@media (max-width: 690px) {
  .circle {
    width: 140px;
    height: 140px;
  }
}

@media (max-width: 500px) {
  .circle {
    width: 100px;
    height: 100px;
  }
}


.next_steps {
  display: none;
}




.casefooter:hover {
  opacity: 1;
}

.casefooter::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background: #1c1b1b;
  transition: width 0.3s;
}



.casefooter:hover::after {
  width: 100%;
  opacity: 0.8;
}








