html {
  font-size: 62.5%
}
body {
  padding: 0;
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  font-size: 1.8rem
}
main {
  padding: 0 24px
}
.fa-icon {
  position: relative
}
.fa-icon::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: .25em;
  background: var(--cta)
}
.mask-icon::before {
  content: '';
  display: inline-block;
  mask-type: luminance;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left top;
  mask-position: left top;
  -webkit-mask-size: contain;
  mask-size: contain;
  background: var(--cta);
  margin-right: .5em
}
.smaller {
  font-size: .85em
}
.resume header h2,
.resume header h3 {
  margin: 0
}
.resume header h3 {
  font-size: 1.3em;
  margin-bottom: 2em
}
.employment-history {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  -webkit-column-gap: .5em;
  -moz-column-gap: .5em;
  column-gap: .5em;
  margin: 0 -12px
}
@media (max-width:860px) {
  .employment-history {
    display: block
  }
}
.employment-history p {
  margin: 0
}
.employment-company {
  font-weight: 600
}
.employment-location {
  display: none
}
.employment-duration,
.employment-position {
  font-size: .8em
}
.employment-title {
  padding: 0 12px .5em;
  cursor: pointer;
  grid-column: 1;
  background-color: transparent;
  position: relative;
  transition: background-color 1.3s,color 1.3s
}
.employment-title:hover {
  background-color: var(--highlight);
  color: var(--text-highlight);
  transition: background-color .3s,color .3s
}
.employment-title:nth-of-type(even) {
  grid-column: 2;
  padding-right: 12px
}
.employment-title[data-ord="1"],
.employment-title[data-ord="2"] {
  grid-row: 1
}
.employment-title[data-ord="3"],
.employment-title[data-ord="4"] {
  grid-row: 3
}
.employment-title[data-ord="5"],
.employment-title[data-ord="6"] {
  grid-row: 5
}
.employment-title[data-ord="7"],
.employment-title[data-ord="8"] {
  grid-row: 7
}
.kubrick .employment-title .employment-company {
  color: var(--cta)
}
.employment-title.active {
  background-color: var(--light-background)
}
.kubrick .employment-title.active .employment-company {
  color: var(--text)
}
.berlin .employment-title.active {
  color: var(--background)
}
.employment-details {
  position: relative;
  grid-column: 1/-1;
  margin-left: 0;
  padding: 12px;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  background-color: var(--light-background);
  transition: max-height .3s,opacity 1s
}
.employment-details[data-ord="1"],
.employment-details[data-ord="2"] {
  grid-row: 2
}
.employment-details[data-ord="3"],
.employment-details[data-ord="4"] {
  grid-row: 4
}
.employment-details[data-ord="5"],
.employment-details[data-ord="6"] {
  grid-row: 6
}
.employment-details[data-ord="7"],
.employment-details[data-ord="8"] {
  grid-row: 8
}
.berlin .employment-details {
  color: var(--background)
}
.employment-title.active + .employment-details {
  max-height: 100vh;
  opacity: 1
}
@media (max-width:860px) {
  .employment-title.active + .employment-details {
    max-height: 100%
  }
}
.employment-resume {
  background: var(--medium);
  margin-left: 12px;
  margin-top: 24px;
  grid-column: 1/-1;
  min-height: 5em;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}
.employment-resume p {
  color: var(--light)
}
.employment-resume p a,
.employment-resume p a:visited {
  color: var(--highlight)
}
.berlin .employment-resume p a,
.berlin .employment-resume p a:visited {
  color: var(--highlight2)
}
.employment-resume p a:hover {
  color: var(--light)
}
.socials {
  margin-bottom: 3em
}
.socials ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0
}
.socials li {
  list-style: none;
  margin: 0
}
.socials .social {
  display: block;
  width: 38px;
  height: 38px;
  padding: 6px;
  border: 2px solid var(--text)
}
.drjones .socials .social {
  background-color: var(--background-color)
}
.socials .social span {
  display: none
}
.socials .social::before {
  width: 100%;
  height: 100%;
  max-height: 64px;
  background-color: var(--text)
}
.socials .social:hover {
  background: var(--highlight)
}
.berlin .socials .social:hover::before {
  background: var(--light)
}
.socials .social-li::before {
  -webkit-mask-image: url(/img/svg/linkedin-in-brands.svg);
  mask-image: url(/img/svg/linkedin-in-brands.svg)
}
.socials .social-fb::before {
  -webkit-mask-image: url(/img/svg/facebook-f-brands.svg);
  mask-image: url(/img/svg/facebook-f-brands.svg)
}
.socials .social-mail::before {
  -webkit-mask-image: url(/img/svg/envelope-light.svg);
  mask-image: url(/img/svg/envelope-light.svg)
}
.socials .social-phone::before {
  -webkit-mask-image: url(/img/svg/phone-light.svg);
  mask-image: url(/img/svg/phone-light.svg)
}
.portfolio {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  -webkit-column-gap: 1em;
  -moz-column-gap: 1em;
  column-gap: 1em;
  row-gap: 1em
}
.drjones .portfolio {
  grid-template-columns: 1fr
}
.portfolio header {
  grid-column: 1/-1
}
.portfolio__tile {
  padding: .5em;
  border: 1px solid var(--hightlight2);
  background: var(--background);
  box-shadow: 0 0 6px rgba(var(--shadow),0);
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: all .3s;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column
}
.portfolio__tile:hover {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
  box-shadow: 0 0 12px 3px rgba(var(--shadow),.7)
}
.portfolio__tile:hover [class$="-content"] img {
  opacity: 0
}
.portfolio__tile:hover [class$="-content"] video {
  opacity: 1
}
.portfolio__tile h3 {
  margin-top: 0
}
.portfolio__tile-content {
  display: grid;
  grid-template-rows: repeat(3,auto);
  grid-template-columns: 1fr;
  z-index: 1
}
.portfolio__tile-content img,
.portfolio__tile-content video {
  width: 100%;
  grid-row: 1;
  grid-column: 1;
  transition: all .5s
}
.portfolio__tile-content img {
  opacity: 1
}
.portfolio__tile-content video {
  opacity: 0
}
.portfolio__tile-content h4 {
  margin-bottom: .25em;
  grid-row: 2
}
.portfolio__tile-content p {
  grid-riw: 3
}
.portfolio__tile-details {
  z-index: 2
}
.portfolio__tile-more {
  cursor: pointer;
  margin-top: auto
}
.portfolio__tile-wrapper {
  display: grid;
  grid-template-rows: 3em auto;
  -ms-flex-align: start;
  align-items: start
}
.drjones .portfolio__tile-wrapper {
  grid-template-rows: 2em auto
}
.portfolio__tile-wrapper h3 {
  grid-row: 1
}
.portfolio__tile-wrapper [class$="-content"],
.portfolio__tile-wrapper [class$="-details"] {
  grid-row: 2;
  grid-column: 1
}
.berlin .portfolio__tile:hover,
.kubrick .portfolio__tile:hover {
  -webkit-transform: scale(1.04);
  transform: scale(1.04)
}
.berlin .portfolio__tile-content,
.kubrick .portfolio__tile-content {
  opacity: 1;
  overflow: hidden;
  transition: all .3s
}
.berlin .portfolio__tile-details,
.kubrick .portfolio__tile-details {
  opacity: 0;
  overflow: hidden;
  transition: all .3s
}
.berlin .portfolio__tile.inspect [class$="-content"],
.kubrick .portfolio__tile.inspect [class$="-content"] {
  opacity: 0;
  margin: 0
}
.berlin .portfolio__tile.inspect [class$="-details"],
.kubrick .portfolio__tile.inspect [class$="-details"] {
  opacity: 1
}
.drjones .portfolio__tile {
  -webkit-perspective: 55em;
  perspective: 55em;
  padding: 0;
  background: 0 0;
  box-shadow: 0 0 0 transparent
}
.drjones .portfolio__tile-wrapper {
  background: url(/img/drjones-card-bg-1.jpg) no-repeat center center/cover;
  box-shadow: 0 16px 24px -18px rgba(var(--shadow),1),inset -3px -6px 48px 8px rgba(113,37,12,.6);
  padding: .5em;
  margin: 0;
  transition: .6s;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d
}
.drjones .portfolio__tile.inspect [class$="-wrapper"] {
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg)
}
.drjones .portfolio__tile h3,
.drjones .portfolio__tile-content,
.drjones .portfolio__tile-details {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
.drjones .portfolio__tile h3,
.drjones .portfolio__tile-content {
  z-index: 2;
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
  grid-column: 1/-1
}
.drjones .portfolio__tile-details {
  -webkit-transform: rotateY(-180deg) translateZ(1px);
  transform: rotateY(-180deg) translateZ(1px);
  grid-row: 1/-1;
  grid-column: 1/-1
}
.drjones .portfolio__tile-more {
  margin-top: 12px
}
.berlin .portfolio__tile:hover {
  box-shadow: 0 0 12px 0 rgba(var(--shadow),.7)
}
.synthwave .portfolio__tile {
  background: 0 0;
  position: relative
}
.synthwave .portfolio__tile-content {
  opacity: 1;
  transition: all 1s
}
.synthwave .portfolio__tile-details {
  color: #fff;
  background: linear-gradient(to bottom,#bbf4ff 0,#bbf4ff 48%,#fff 53%,#fff 57%,#85cd20 57%,#85cd20 59%,transparent 60%,transparent 100%);
  background-size: 300% 300%;
  background-position: left bottom;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 0 0 rgba(255,255,255,0);
  transition: background-position .3s;
  transition-timing-function: linear;
  transition-delay: 0s
}
.synthwave .portfolio__tile-details a {
  opacity: 0;
  text-decoration: none
}
.synthwave .portfolio__tile.inspect [class$="-details"] {
  background-position: left top;
  transition: background-position 3s;
  transition-delay: .25s
}
.synthwave .portfolio__tile.inspect [class$="-details"] a {
  opacity: 1;
  transition: all .5s;
  transition-delay: 1.25s;
  color: var(--light);
  -webkit-text-fill-color: var(--light);
  border-bottom: 1px solid #fff
}
.synthwave .portfolio__tile [class$="-wrapper"]::after,
.synthwave .portfolio__tile [class$="-wrapper"]::before,
.synthwave .portfolio__tile::after,
.synthwave .portfolio__tile::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: 5px solid transparent;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1
}
.synthwave .portfolio__tile.inspect,
.synthwave .portfolio__tile:hover {
  background: rgba(19,3,62,.85);
  box-shadow: 0 0 0 2px rgba(var(--shadow),1);
  z-index: 1
}
@media (min-width:860px) {
  .synthwave .portfolio__tile.inspect,
  .synthwave .portfolio__tile:hover {
    -webkit-transform: scale(1.26) rotate(-4deg);
    transform: scale(1.26) rotate(-4deg)
  }
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
  .synthwave .portfolio__tile.inspect,
  .synthwave .portfolio__tile:hover {
    background: rgba(19,3,62,.5);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
  }
}
.synthwave .portfolio__tile.inspect::before {
  -webkit-animation-delay: 0;
  animation-delay: 0
}
.synthwave .portfolio__tile.inspect::after {
  -webkit-animation-delay: .05s;
  animation-delay: .05s
}
.synthwave .portfolio__tile.inspect [class$="-wrapper"]::before {
  -webkit-animation-delay: .1s;
  animation-delay: .1s
}
.synthwave .portfolio__tile.inspect [class$="-wrapper"]::after {
  -webkit-animation-delay: .15s;
  animation-delay: .15s
}
.synthwave .portfolio__tile.inspect [class$="-wrapper"]::after,
.synthwave .portfolio__tile.inspect [class$="-wrapper"]::before,
.synthwave .portfolio__tile.inspect::after,
.synthwave .portfolio__tile.inspect::before {
  -webkit-animation-name: grow_and_glow;
  animation-name: grow_and_glow;
  -webkit-animation-duration: .6s;
  animation-duration: .6s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear
}
.synthwave .portfolio__tile.inspect [class$="-content"] {
  opacity: 0
}