@charset "UTF-8";
@keyframes float {
  0% {
    transform: translate(0%, 0%); }
  50% {
    transform: translate(-50%, 10%) rotate(10deg); }
  51% {
    transform: translate(-50%, -80%) rotate(10deg); }
  55% {
    transform: translate(50%, -80%) rotate(-20deg); }
  100% {
    transform: translate(0%, 0%) rotate(0deg); } }

@keyframes walkaround {
  0% {
    transform: translate(0%, 0%); }
  50% {
    transform: translate(-50%, 0%); }
  55% {
    transform: translate(-50%, 0%); }
  100% {
    transform: translate(0%, 0); } }

@keyframes animateMask {
  0% {
    d: path("M331.32,638.46\a 				 C179.94,618.88,60.86,593.73,84,321.65,108.55,32.69,339.6,45.5,473.86,55.42\a 				 c183.76,13.58,311,74.09,416.82,163.25,151.13,127.38,122.9,443.67-46.08,449.1\a 				 S458.79,655,331.32,638.46Z"); }
  40% {
    d: path("M331.63,662.14C180.25,642.56,41.67,593.5,64.8,321.41,89.36,32.45,336.94,16.09,471.2,26,655,39.59,765.67,139.9,871.45,229.05c151.13,127.38,140.24,413.12-28.74,418.55S459.1,678.62,331.63,662.14Z"); }
  60% {
    d: path("M331.63,662.14C180.25,642.56,41.67,593.5,64.8,321.41,89.36,32.45,336.94,16.09,471.2,26,655,39.59,765.67,139.9,871.45,229.05c151.13,127.38,140.24,413.12-28.74,418.55S459.1,678.62,331.63,662.14Z"); }
  100% {
    d: path("M331.32,638.46C179.94,618.88,60.86,593.73,84,321.65,108.55,32.69,339.6,45.5,473.86,55.42c183.76,13.58,311,74.09,416.82,163.25,151.13,127.38,122.9,443.67-46.08,449.1S458.79,655,331.32,638.46Z"); } }

/*colors*/
/*width*/
/*img*/
/*mycolor*/
/*font*/
.project-header {
  color: #35d0ba;
  margin: auto;
  width: 95%; }
  .project-header > h1 {
    color: inherit;
    font-family: "Playfair Display", "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
    font-size: 36px;
    height: 100%;
    position: relative;
    -webkit-animation: project-fadein ease-in-out .25s;
    animation: project-fadein ease-in-out .25s; }
  .project-header > hr {
    background-color: #35d0ba;
    width: 70px;
    -webkit-animation: hr-fadein ease-in-out .4s;
    animation: hr-fadein ease-in-out .4s; }

.close-modal {
  position: fixed;
  top: 55px;
  right: 25px;
  z-index: 1000;
  background-color: transparent;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  color: #35d0ba;
  -webkit-animation: project-fadein ease-in-out .4s;
  animation: project-fadein ease-in-out .4s; }
  .close-modal:after {
    content: "back to projects";
    text-transform: uppercase;
    font-size: 14px; }
  .close-modal:hover {
    color: inherit;
    text-decoration: none;
    opacity: 1;
    letter-spacing: 1px; }

.close-modal:hover {
  opacity: .3; }

.project-img, .project-img-secondary {
  width: 100%;
  margin: 10px 0;
  animation: img-fadin 1s ease-in-out; }
  .project-img-secondary {
    box-shadow: 0 0 80px rgba(0, 0, 0, 0.5); }

.description-text {
  margin: 0 20px;
  animation: img-fadin 1s ease-in-out; }
  .description-text > h2 {
    display: inline-block;
    font-size: 11px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 3px;
    background-color: #35d0ba;
    margin: 20px 15px;
    padding: 5px 10px;
    color: #FFFFFF; }
  .description-text > p {
    font-size: 12px;
    letter-spacing: 1.5px;
    margin: 0 0 10px 0;
    padding: 15px; }

.project-section {
  margin: 100px 0 0 0;
  color: #35d0ba; }
  .project-section-text > h3 {
    font-family: "Playfair Display", "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
    font-size: 60px;
    margin: 0; }
  .project-section-text > h4 {
    font-family: "Playfair Display", "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
    font-size: 18px; }
  .project-section-text > p {
    font-size: 11px;
    width: 70%;
    letter-spacing: 1px; }

.text-left > p {
  float: left; }

.text-right > p {
  text-align: left;
  float: right; }

@keyframes project-fadein {
  0% {
    transform: scaleX(0); }
  100% {
    transform: scaleX(1); } }

@keyframes hr-fadein {
  0% {
    transform: scaleX(0); }
  0% {
    transform: scaleX(1); }
  90% {
    transform: scaleX(1.5); }
  100% {
    transform: scaleX(1); } }

@keyframes img-fadin {
  0% {
    margin-top: 100px;
    opacity: 0; }
  30% {
    margin-top: 100px;
    opacity: 0; }
  100% {
    margin-top: 10px;
    opacity: 1; } }

* {
  box-sizing: border-box; }

body {
  width: 100%;
  transition: opacity 1s ease-in-out; }
  @media (max-width: 800px) {
    body {
      overflow-x: hidden; } }

p {
  line-height: 1.5em; }

a {
  text-decoration: none;
  color: #050505; }

body.preload {
  opacity: 0; }

.bottom-line::before {
  content: '';
  position: absolute;
  width: 75%;
  left: 0;
  right: 0;
  margin: auto;
  height: 2px;
  bottom: 0%;
  background-color: #ff9233; }

/*nav*/
.navbar {
  background-color: #FFFFFF;
  transition: all .8s ease-in-out; }

.navbar.small {
  padding: 0 1rem; }

.mynav {
  top: 5%;
  margin: auto 5%;
  filter: brightness(0%);
  transition: all .8s ease-in-out; }
  .mynav:hover {
    transition: all .8s ease-in-out;
    filter: brightness(100%); }

.mynav.small {
  transform: scale(0.7); }

.navbar-nav a {
  margin: auto 2vw; }

#content {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  width: 100%;
  height: 800px; }

.page {
  width: 100%; }

.portrait-page {
  position: relative;
  min-height: 800px;
  width: 100%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  font-weight: lighter;
  padding: 25% 0; }

h1 {
  font-family: "Playfair Display", "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  font-style: italic; }

.half {
  position: absolute;
  bottom: 10%;
  z-index: 10;
  left: 7vw;
  padding: 80px;
  color: #050505; }
  @media (max-width: 800px) {
    .half {
      position: relative;
      width: 100%;
      opacity: 1;
      top: 38vh;
      padding: 10px;
      left: auto; } }
  .half > h1 {
    font-family: "Playfair Display", "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
    font-size: 2em;
    font-style: normal;
    font-weight: bold;
    padding: 10px 0; }
    @media (max-width: 800px) {
      .half > h1 {
        font-size: 1em;
        text-align: left;
        margin: 50px 0; } }
  .half > p {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
    letter-spacing: .2em; }
  .half > a {
    color: #050505;
    font-size: 2em;
    margin-right: 10px;
    transition: all .8s ease-in-out; }
    .half > a:hover {
      color: #35d0ba;
      pointer-event: cursor;
      text-shadow: rbga(0, 0, 0, 0.5);
      transition: all .8s ease-in-out; }

.portrait-img {
  position: absolute;
  width: 40vw;
  top: 10%;
  z-index: -1;
  right: 12.5vw; }
  @media (max-width: 800px) {
    .portrait-img {
      position: absolute;
      width: 100%;
      z-index: -1;
      margin: 0;
      top: 10px;
      left: 0;
      right: 0; } }

/*skills*/
#person.animation {
  animation: float 5s ease-in-out 1; }

#crab {
  transform: translate(0%, 0%); }

#crab.animation {
  animation: walkaround 5s ease-out 1; }

#maskPath {
  d: path("M331.32,638.46C179.94,618.88,60.86,593.73,84,321.65,108.55,32.69,339.6,45.5,473.86,55.42c183.76,13.58,311,74.09,416.82,163.25,151.13,127.38,122.9,443.67-46.08,449.1S458.79,655,331.32,638.46Z"); }

#maskPath.animation {
  animation: animateMask 6s ease-in-out infinite; }

.skills-page {
  position: relative;
  min-height: 500px;
  width: 100%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  font-weight: lighter;
  padding-bottom: 5%; }

.skills-content {
  margin: auto 25%; }

.skills-text > p {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  letter-spacing: .2em; }

/*design*/
#design {
  max-width: 1200px;
  color: "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  height: 100%;
  top: 0;
  position: relative;
  margin: auto; }

#design h1, #develop h1 {
  width: 100%;
  text-align: right;
  font-size: 40px;
  margin: 0;
  font-family: "Playfair Display", "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  padding: 60px; }

/*develop*/
#develop {
  max-width: 1200px;
  color: "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  height: 100%;
  top: 0;
  position: relative;
  margin: auto; }

.row {
  margin: 0;
  width: 100%; }

.project-menu {
  font-weight: lighter;
  overflow: auto;
  overflow-x: hidden;
  margin: 0 -15px; }

@media (max-width: 800px) {
  .menu-gone-when-small {
    display: none; } }

.project-menu-level-1 {
  font-family: "Playfair Display", "Helvetica Neue", Helvetica, Arial, sans-serif, "微软雅黑";
  font-size: 30px;
  margin: 45px 0; }

.project-menu-level-1 span {
  margin-left: 32px; }

.project-menu-sub-level {
  margin: 0 -15px; }

.project-menu-item {
  font-size: 20px;
  padding: 17px 0;
  margin: 15px 0;
  text-indent: 50px; }

#display {
  padding-left: 0; }
  @media (max-width: 800px) {
    #display {
      position: relative;
      width: 100%;
      padding: 0; } }

.non-display {
  background-color: #2f3034;
  color: #FFFFFF;
  opacity: 0;
  position: absolute;
  padding: 5%;
  font-size: 12px;
  letter-spacing: .6px;
  line-height: 18px; }
  @media (max-width: 800px) {
    .non-display {
      position: relative;
      width: 100%;
      opacity: 1;
      margin: 0;
      padding: 10px 10px; } }
  .non-display h2 {
    margin-bottom: 2px;
    padding: 20px 0 5px 0; }
  .non-display a {
    display: inline-block;
    position: relative;
    z-index: 0;
    background: none;
    vertical-align: middle;
    border: 1px solid;
    padding: 10px 10px;
    margin-left: 3px;
    color: inherit;
    float: right;
    font-size: 11px;
    font-weight: normal;
    letter-spacing: 1px;
    z-index: 0; }
    .non-display a:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      height: 100%;
      width: 100%;
      z-index: -1;
      -webkit-transform: scaleY(0);
      transform: scaleY(0);
      background: #FFFFFF;
      color: #050505;
      opacity: 0;
      -webkit-animation: btn-out linear .25s forwards;
      animation: btn-out linear .25s forwards; }
    .non-display a:hover {
      color: #050505;
      text-decoration: none; }
      .non-display a:hover:after {
        animation: btn-hover linear .25s forwards; }
    .non-display a:active:after {
      opacity: 0; }

.sub-info {
  opacity: .5;
  margin: 0; }

.portfolio-img, .portfolio-img-col-2 {
  margin: auto;
  width: 100%;
  object-fit: contain;
  background-color: inherit;
  max-height: 500px;
  min-height: 300px; }
  @media (max-width: 800px) {
    .portfolio-img, .portfolio-img-col-2 {
      margin: 0;
      padding: 0; } }

.portfolio-img-col-2 {
  width: 49%; }

.portfolio-text {
  text-align: center; }

#Library-ux, #UoE-branding {
  background-color: #00325f;
  color: #FFFFFF; }

#Raccoon-branding {
  background-color: #e59b51;
  color: #050505; }

#Memrise-branding {
  background-color: #351844;
  color: #FFFFFF; }

#Jack-ux {
  background-color: #232c24;
  color: #baab8f; }

#Matchington-interactiveAds {
  background-color: #fff;
  color: #000; }

.selected {
  background-color: #2f3034;
  color: #FFFFFF;
  font-weight: 400;
  cursor: pointer;
  animation: opacityAnimation .8s; }

#menu-selectors-Raccoon {
  margin: 0; }

.active {
  height: 100%;
  opacity: 1;
  z-index: 10;
  animation: opacityAnimation .8s; }
  @media (max-width: 800px) {
    .active {
      height: auto;
      z-index: 0; } }

.ad_demo {
  width: 231px;
  height: 466px;
  position: absolute;
  margin: auto;
  top: 87px;
  left: 0;
  right: 0;
  border: none; }
  @media (max-width: 800px) {
    .ad_demo {
      top: 63px; } }

.mock-up {
  margin-top: 0;
  height: 595px;
  max-height: none; }

/* Safari 4.0 - 8.0 */
@-webkit-keyframes opacityAnimation {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes leftRightAnimation {
  from {
    left: 10px; }
  to {
    left: 20px; } }

/* Standard syntax */
@keyframes opacityAnimation {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes leftRightAnimation {
  from {
    left: 10px; }
  to {
    left: 20px; } }

@keyframes btn-hover {
  0% {
    transform: scaleY(0);
    opacity: 0; }
  100% {
    transform: scaleY(1);
    opacity: 1; } }

@keyframes btn-out {
  0% {
    transform: scaleY(1);
    opacity: 1; }
  100% {
    transform: scaleY(0);
    opacity: 0; } }

/*certi*/
.certificates {
  min-height: 350px;
  padding: 70px 20px;
  background: url(../images/certi-bg.JPG) no-repeat fixed center;
  margin: 0 auto; }

.certificates h1 {
  color: #5c9fc5; }

.cT-pic {
  position: relative;
  height: 500px;
  object-fit: cover; }

.center {
  text-align: center;
  background-color: rgba(162, 152, 155, 0.2);
  padding: 50px 0; }

/*----------------------------
experience
------------------------*/
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

#experience {
  background-color: #fff; }

.timeline {
  background: url(../images/certi-bg.JPG) no-repeat fixed;
  background-position: center 80%;
  padding: 70px 20px;
  max-width: 100%; }

.timeline ul {
  padding: 0 !important; }

.timeline ul li {
  list-style-type: none;
  position: relative;
  width: 6px;
  margin: 0 auto;
  padding-top: 50px; }

.timeline ul li::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: inherit; }

.timeline ul li div {
  position: relative;
  bottom: 0;
  width: 400px;
  padding: 15px;
  background: #3a69d1; }

.timeline ul li div::before {
  content: '';
  position: absolute;
  bottom: 7px;
  width: 0;
  height: 0;
  border-style: solid; }

.timeline ul li:nth-child(odd) div {
  left: 45px; }

.timeline ul li:nth-child(odd) div::before {
  left: -15px;
  border-width: 8px 16px 8px 0;
  border-color: transparent #3a69d1 transparent transparent; }

.timeline ul li:nth-child(even) div {
  left: -439px; }

.timeline ul li:nth-child(even) div::before {
  right: -15px;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent #3a69d1; }

time {
  display: block;
  font-size: 1.3 em;
  font-weight: bold;
  margin-bottom: 8px; }

.timeline p {
  font-size: 14px;
  line-height: 20px; }

/* EFFECTS
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.timeline ul li::after {
  transition: background .5s ease-in-out; }

.timeline ul li.in-view::after {
  background: #3a69d1; }

.timeline ul li div {
  visibility: hidden;
  opacity: 0;
  transition: all .5s ease-in-out; }

.timeline ul li:nth-child(odd) div {
  transform: translate3d(200px, 0, 0); }

.timeline ul li:nth-child(even) div {
  transform: translate3d(-200px, 0, 0); }

.timeline ul li.in-view div {
  transform: none;
  visibility: visible;
  opacity: 1; }

/* GENERAL MEDIA QUERIES
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 900px) {
  .timeline ul li div {
    width: 200px;
    font-size: .8em; }
    .timeline ul li div > h2 {
      font-size: 1em; }
  .timeline ul li:nth-child(even) div {
    left: -289px;
    /*250+45-6*/ } }

@media (max-width: 800px) {
  .timeline ul {
    padding: 0;
    margin: 0; }
  .timeline ul li {
    padding: 0;
    margin: 0; }
  .timeline ul li div {
    width: calc(100vw - 91px); }
  .timeline ul li:nth-child(even) div {
    left: 45px;
    transform: none; }
  .timeline ul li:nth-child(odd) div {
    left: 45px;
    transform: none; }
  .timeline ul li:nth-child(even) div::before {
    left: -15px;
    border-width: 8px 16px 8px 0;
    border-color: transparent #3a69d1 transparent transparent; } }

/*contact*/
.myphoto {
  border-radius: 50%;
  height: 120px;
  width: 120px;
  margin: 5px auto;
  border: 4px solid #62c0dd;
  object-fit: cover; }

footer {
  color: #ff9233;
  background-color: #fefed5;
  padding: 30px 50px; }
