@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,700;1,400&display=swap');

:root {
  font-size: 36px;
  --accent: #d0b;
}

body {
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  font-size-adjust: 100%;
  line-height: 1.5em;
  background-color: #fafafa;
}

/* #bg-video {
  display: hidden;
  position: absolute;
  opacity: 0;
} */


/* Typographics */
/* -------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 700;
  line-height: 1em;
  word-break: break-word;
  margin-bottom: .5em;
}

h1 {
  font-size: 4.5em;
  margin-top: 3em;
  margin-bottom: .5em;
}

h2 {
  font-size: 3em;
  margin-top: 5em;
  margin-bottom: 3em;
}

h3 {
  font-size: 2em;
  margin-bottom: .8em;
  /* margin-top: 2em; */
}

h4 {
  font-size: 1em;
  margin-top: 3em;
  margin-bottom: 1em;
}

h5 {
  font-size: 1em;
  margin-top: 2em;
}

p {
  margin: 1em 0;
}

a {
  color: #30f;
  text-underline-offset: .1em;
}

ul.list {
  list-style: none;
  /* padding-inline-start: 1em; */
  margin: .5em 0;
}

ul.list li {
  padding-left: 1.7em;
  margin-bottom: inherit;
}

ul.list li::before {
  content: "—";
  color: var(--accent);
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
}

q {
  font-weight: 400;
  font-style: italic;
}

q+span {
  font-weight: 400;
}

.accent {
  color: var(--accent);
}


/* Layout */
/* -------------------------------------------------- */

/* part {
  padding-top: 3em;
  padding-bottom: -4em;
} */

article {
  margin-bottom: 5em;
}

.grid-a150 {
  padding: 0 1em;
}

/* .grid-item {
  margin: 1em;
} */

.cut-in {
  border: solid .5em var(--accent);
  margin: 3em 1em;
  padding: 2em;
}

.cut-in h2 {
  margin-top: 0;
  margin-bottom: 1.5em;
}

.flex {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline-start: 0;
}

.flex>li {
  margin: 0;
}

.flex.row {
  flex-direction: row;
  justify-content: left;
  align-items: center;
  flex-wrap: wrap;
}

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

.badges {
  margin-bottom: 1.5em;
}

.gap-05 {
  gap: .5em;
}

.gap-1 {
  gap: 1em;
}

.gap-2 {
  gap: 2em;
}


/* Sections */
/* -------------------------------------------------- */

#customers {
  margin-top: 3em;
}

#skills .grid-item {
  margin-top: 8em;
}

#portfolio .grid-item {
  margin-top: 3em;
  margin-bottom: 3em;
}


/* User Card */
/* -------------------------------------------------- */

/* #userpic {
  width: .8em;
  height: .8em;
  position: relative;
  top: .1em;
  float: left;
  margin-right: .15em;
} */


/* Images */
/* -------------------------------------------------- */

.logo-customer {
  display: block;
}

.logo-customer img {
  display: block;
  max-width: 8em;
  max-height: 2em;
}

.logo-analytics {
  display: block;
}

.logo-analytics img {
  max-height: 2.5em;
  max-width: 8em;
}

.badge {
  display: block;
  background-color: var(--accent);
  width: fit-content;
  padding: .5em 1em;
  border-radius: 2em;
  color: #fff;
}

.achievements {
  margin: 2em 0;
}

.achievement-group {
  display: inline-block;
}

.achievement {
  width: 4em;
  height: 4em;
  margin-left: .3em;
}

.achievement~.achievement {
  margin-left: -2.5em;
}

/* #gopractice-certificate {
  max-width: 50%;
} */

/* .photo {
  max-width: 100%;
  height: auto;
} */

.pic-wrap {
  margin: auto;
  width: 100%;
  /* min-height: 30em; */
  display: block;
}

.center {
  max-width: fit-content;
  /* min-height: 100%; */
  margin: auto;
}

.project-pic {
  display: block;
  height: auto;
  max-width: 80%;
  max-height: 30em;
  margin: auto;
  grid-column: span 1;
  filter: drop-shadow(0 0 1em #88888850);
}

#business-class-landing {
  margin: auto;
  max-width: 100%;
}

#img-bc-ipra {
  position: absolute;
  width: 8em;
  height: 8em;
  z-index: 1;
  translate: 10em 1em;
  /* filter: drop-shadow(0 .2em .2em #33333333); */
}

/* .pic-wrap #img-bctest-2 {
  position: absolute;
  max-width: 16em;
  translate: 12.5em 0;
}

.pic-wrap #img-bctest-1 {
  position: absolute;
  max-width: 16em;
  translate: 0 6em;
} */




/* Navigation */
/* -------------------------------------------------- */

nav {
  position: fixed;
  z-index: 64;
  width: 100%;
  height: 4em;
  background: inherit;
  /* background: linear-gradient(180deg, #fafafa 0%, #fafafacc 100%);
  -webkit-backdrop-filter: blur(8px); */
  /* backdrop-filter: blur(8px); */
  -webkit-box-shadow: 0px 5px 5px 0px #33333316;
  box-shadow: 0px 5px 5px 0px #33333316;
  transition: .4s;
  top: -5em;
}

#navigation-container {
  display: flex;
  max-width: 956px;
  padding-left: 1em;
  height: 100%;
  justify-content: left;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

nav.visible {
  top: 0;
}

nav a {
  margin-right: 1em;
  text-decoration: none;
  color: #000;
}

a.active {
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: .5em;
}


/* Theme Toggle */
/* -------------------------------------------------- */

#nav-spacer {
  flex-grow: 1;
}

#theme-toggle {
  margin-right: 1.2em;
}

.switch {
  position: relative;
  display: inline-block;
  width: 2.4em;
  height: 1.4em;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 1.2em;
  background-color: #00000033;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 1em;
  width: 1em;
  left: .2em;
  bottom: .2em;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked+.slider {
  background-color: #0f0;
}

input:checked+.slider:before {
  -webkit-transform: translateX(1em);
  -ms-transform: translateX(1em);
  transform: translateX(1em);
  background-color: #000;
}


/* Footer */
/* -------------------------------------------------- */

footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 4em;
  margin-top: 4em;
  background-color: #eee;
}


/* Blob */
/* -------------------------------------------------- */

/* .blob {
  position: fixed;
  top: 0;
  left: 0;
  fill: #30f;
  opacity: 20%;
  -webkit-filter: blur(4em);
  filter: blur(4em);
  width: 50vmax;
  z-index: -1;
  animation: blob 20s ease-in-out infinite;
  transform-origin: 50% 50%;
} */

/* @keyframes blob {
  0% {
    transform: scale(.6) translate(0vw, 0vh) rotate(160deg);
  }

  8% {
    transform: scale(.8) translate(90vw, 0vh) rotate(80deg);
  }

  15% {
    transform: scale(1) translate(-60vw, 20vh) rotate(0deg);
  }

  30% {
    transform: scale(.8, 1) translate(50vw, 60vh) rotate(60deg);
  }

  40% {
    transform: scale(.8, 1) translate(-40vw, 30vh) rotate(100deg);
  }

  60% {
    transform: scale(1.3) translate(0vw, 50vh) rotate(-20deg);
  }

  80% {
    transform: scale(1.3) translate(0vw, 50vh) rotate(80deg);
  }

  100% {
    transform: scale(2) translate(0vw, -40vh);
  }
} */

/* @keyframes blob {
  0% {
    transform: scale(1) translate(0);
  }

  40% {
    transform: scale(.8, 1) translate(80vw, 30vh) rotate(60deg);
  }

  80% {
    transform: scale(1.3) translate(-30vw, 50vh) rotate(-30deg);
  }

  100% {
    transform: scale(1) translate(0);
  }
} */

/* :root * {
  animation-play-state: paused;
  animation-delay: calc(var(--scroll) * -1s);
  animation-iteration-count: 1;
  animation-fill-mode: both;
} */


/* Animation Stopper  */
/* -------------------------------------------------- */

/* .animation-stopper * {
  animation: none !important;
  -webkit-transition: none !important;
  transition: none !important;
} */


/* Media Queries  */
/* -------------------------------------------------- */

@media only screen and (min-width: 1000px) {
  body {
    font-size: 16px;
  }

  .grid-a150 {
    display: grid;
    grid-template-columns: auto 470px 50%;
    padding: 0;
    /* grid-column-gap: 4em; */
    /* width: 100%; */
    /* max-width: 980px; */
  }

  .grid-5050 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0;
  }

  .grid-item.left {
    grid-column: span 1;
    grid-column-start: 2;
    grid-column-end: 3;
  }

  .grid-item.right {
    grid-column: span 1;
    grid-column-end: 4;
    display: grid;
    grid-template-columns: 470px auto;
  }

  .grid-item.two-col {
    grid-column: span 2;
    grid-column-end: 4;
  }

  .grid-item.wide {
    grid-column: span 3;
    grid-column-end: 4;
    margin: 4em;
  }

  img.big {
    grid-column: span 2;
    max-height: 40em;
  }

  .gap-2 {
    gap: 4em;
  }

  #user-card {
    margin-right: 1em;
  }

  .cut-in {
    margin-left: auto;
    margin-right: auto;
  }

  #design-as-a-service .cut-in {
    max-width: 640px;
  }

  #data-driven-design .cut-in {
    max-width: 940px;
    padding: 4em;
  }

  #about {
    min-height: 100vh;
  }

  #customers {
    margin-top: 6em;
    /* width: 100vw; */
    justify-content: center;
  }

  #img-bc-ipra {
    translate: 16em;
    opacity: 50%;
  }

  /* #customers .flex {

  } */
}
