
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: "Microsoft YaHei", Consolas, sans-serif;
  min-height: 800px;

  background: rgb(215, 215, 215);
  background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 500, from(rgb(240, 240, 240)), to(rgb(190, 190, 190)));
  background: -webkit-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
  background:  -moz-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
  background:   -ms-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
  background:    -o-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
  background:     radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
}

b, strong { font-weight: bold }
i, em { font-style: italic }

a {
  color: inherit;
  text-decoration: none;
  padding: 0 0.1em;
  background: rgba(255,255,255,0.5);
  text-shadow: -1px -1px 2px rgba(100,100,100,0.9);
  border-radius: 0.2em;

  -webkit-transition: 0.5s;
  -moz-transition:  0.5s;
  -ms-transition:   0.5s;
  -o-transition:    0.5s;
  transition:     0.5s;
}

a:hover,
a:focus {
  background: rgba(255,255,255,1);
  text-shadow: -1px -1px 2px rgba(100,100,100,0.5);
}

@font-face {
  font-family: 'HeaderWebFont';
  src: url('../content/header-font.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
.title-font {
  font-family: 'HeaderWebFont';    
}

.fallback-message {
  font-family: sans-serif;
  line-height: 1.3;

  width: 780px;
  padding: 10px 10px 0;
  margin: 20px auto;

  border: 1px solid #E4C652;
  border-radius: 10px;
  background: #EEDC94;
}

.fallback-message p {
  margin-bottom: 10px;
}

.impress-supported .fallback-message {
  display: none;
}

.step {
  position: relative;
  width: 1000px;
  padding: 40px;
  margin: 20px auto;

  -webkit-box-sizing: border-box;
  -moz-box-sizing:  border-box;
  -ms-box-sizing:   border-box;
  -o-box-sizing:    border-box;
  box-sizing:     border-box;

  font-family: "Microsoft YaHei", Consolas, sans-serif;
  line-height: 1.5;
  
  color: hsl(90,100%,30%);
}

.impress-enabled .step {
  margin: 0;
  opacity: 0.3;

  -webkit-transition: opacity 1s;
  -moz-transition:  opacity 1s;
  -ms-transition:   opacity 1s;
  -o-transition:    opacity 1s;
  transition:     opacity 1s;
}

.impress-enabled .step.active { opacity: 1 }

.slide {
  display: block;

  width: 1000px;
  height: 750px;
  padding: 50px 75px;

/*   background: url("../images/background.jpg") center center no-repeat; */
  background-color: white;
  -webkit-background-size: cover;
  -moz-background-size:  cover;
  -ms-background-size:   cover;
  -o-background-size:    cover;
  background-size:     cover;

  border: 1px solid rgba(0, 0, 0, .3);
  border-radius: 10px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);

  color: hsl(240,96%,96%);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .1);

  font-family: "Microsoft YaHei", Consolas, sans-serif;
  font-size: 30px;
}

.slide q {
  display: block;
  font-size: 50px;
  line-height: 72px;
  margin-top: 100px;
}

.slide q strong {
  white-space: nowrap;
}

.slide ul {
  list-style: disc;
}

.slide h2 {
  display: block;
  color: hsla(200, 56%, 29%, 0.9);
  text-shadow: 0 2px 4px hsla(0, 0%, 0%, .2);
  font-size: 200%;
  font-weight: bold;
  margin-bottom: 50px;
}

.slide svg text {
  font-size: 120%;
}

.slide .left {
  float: left;
  width: 40%;
}

.slide .right {
  float: right;
  width: 60%;
}

.slide .right img {
  width: 500px;
}

.begin {
  background: url("../images/background-begin.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size:  cover;
  -ms-background-size:   cover;
  -o-background-size:    cover;
  background-size:     cover;
}

.begin h1 {
  color: hsl(240,20%,20%);
  text-align:right;
  font-size: 300%;
  margin-top: 200px;
  margin-right: 40px;
  letter-spacing: 0;
  font-family: HeaderWebFont;
}

.begin h3 {
  color: hsl(240,60%,60%);
  text-align:right;
  margin-top: 40px;
  margin-right: 40px;
  font-size: 200%;
  font-family: HeaderWebFont;
}

.end {
  background: url("../images/background-end.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size:  cover;
  -ms-background-size:   cover;
  -o-background-size:    cover;
  background-size:     cover;
}

.section h1 {
  display: block;
  color: hsl(240,72%,96%);
  font-size: 300%;
  font-weight: bold;
  margin-top: 200px;
  margin-left: 50px;
  font-family: HeaderWebFont;
}

.highlight.active {
  display:block;
  color: hsl(0,0%,0%);
  background-color: hsla(60,80%,50%,.8);
  border:10px solid hsla(60,80%,50%,1);
  -webkit-animation:flashing 2s infinite;
  animation:flashing 2s infinite;
}

@-webkit-keyframes flashing {
  0%   { opacity: .6; }
  50%  { opacity: 1; }
  100% { opacity: .6; }
}
@keyframes flashing {
  0%   { opacity: .6; }
  50%  { opacity: 1; }
  100% { opacity: .6; }
}

.impress-on-overview .step {
  opacity: 1;
  cursor: pointer;
}

.hint {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 200px;

  background: rgba(0,0,0,0.5);
  color: #EEE;
  text-align: center;

  font-size: 50px;
  padding: 20px;

  z-index: 100;

  opacity: 0;

  -webkit-transform: translateY(400px);
  -moz-transform:  translateY(400px);
  -ms-transform:   translateY(400px);
  -o-transform:    translateY(400px);
  transform:     translateY(400px);

  -webkit-transition: opacity 1s, -webkit-transform 0.5s 1s;
  -moz-transition:  opacity 1s,  -moz-transform 0.5s 1s;
  -ms-transition:   opacity 1s,   -ms-transform 0.5s 1s;
  -o-transition:    opacity 1s,    -o-transform 0.5s 1s;
  transition:     opacity 1s,     transform 0.5s 1s;
}

.impress-enabled .hint { display: block }

.impress-on-bored .hint {
  opacity: 1;

  -webkit-transform: translateY(0px);
  -moz-transform:  translateY(0px);
  -ms-transform:   translateY(0px);
  -o-transform:    translateY(0px);
  transform:     translateY(0px);

  -webkit-transition: opacity 1s 5s, -webkit-transform 0.5s 4.5s;
  -moz-transition:  opacity 1s 5s,  -moz-transform 0.5s 4.5s;
  -ms-transition:   opacity 1s 5s,   -ms-transform 0.5s 4.5s;
  -o-transition:    opacity 1s 5s,    -o-transform 0.5s 4.5s;
  transition:     opacity 1s 5s,     transform 0.5s 4.5s;
}

.impress-enabled      { pointer-events: none }
.impress-enabled #impress { pointer-events: auto }

.name {
  color: hsl(240, 64%, 64%);  
  text-shadow: 0 2px 4px hsla(240, 0%, 0%, 0.2);
  font-size: 8em;
}

.contact {
  color: hsl(240, 32%, 16%);  
  text-shadow: 0 2px 4px hsla(240, 0%, 0%, 0.2);
  font-size: 2em;
}

.timeline {
  border-left: 20px solid hsl(240,60%,80%);  
}

.time {
  color: hsl(240,60%,100%);  
  text-shadow: 0 2px 4px hsla(240, 0%, 100%, .2);
  font-size: 2em;
}

.project {
  color: hsl(240,64%,32%);  
  text-shadow: 0 2px 4px hsla(240, 0%, 100%, .2);
  font-size: 2em;
  font-family: Consolas "Courier New" "Lucida Console" Monospace;
}

.skill {
  color: hsl(240,64%,16%);  
  text-shadow: 0 2px 4px hsla(240, 0%, 100%, .2);
  font-size: 4em;
  font-family: Consolas "Courier New" "Lucida Console" Monospace;
  position: relative;
}
.skill-desc {
  color: hsla(240,8%,48%,0.8);
  font-size: 2em;
  padding: 5px;
  border: dashed 1px;
  border-radius: 5px;
  opacity: 0;
  transition: opacity 2s linear;
}
.step.active .skill-desc {
  opacity: 1;
}

.tech {
  color: hsl(240,64%,16%);  
  text-shadow: 0 2px 4px hsla(240, 0%, 100%, .2);
  font-size: 2em;
  position: relative;
  opacity: 0;
  transition: opacity 2s linear;
}
.tech-desc {
  color: hsla(240,8%,48%,0.8);
  font-size: 1.6em;
  padding: 5px;
  border: dashed 1px;
  border-radius: 5px;
  opacity: 0;
  transition: opacity 4s linear;
}
.step.active .tech {
  opacity: 1;
}
.step.active .tech-desc {
  opacity: 1;
}
.step.past .tech,.tech-desc {
  opacity: 0;
}

.arrow {
  height: 0px;
  position: absolute;
  bottom: 0px;
  margin-bottom: 100px;
  opacity: 0;
  transition: height 2s ease 1s, opacity 1s linear;
}

.step.active .arrow, .step.past .arrow {
  opacity: 1;
}

.arrow-up {
  width: 0; 
  height: 0; 
  border-left: 200px solid transparent;
  border-right: 200px solid transparent;
  border-bottom: 100px solid hsla(240, 96%, 72%, 0.8);
}

.arrow-handle {
  width: 0px;
  margin-left: 100px;
  height: 100%;
  border-right: 200px solid;
  -webkit-border-image: -webkit-linear-gradient(hsla(240, 96%, 72%, 0.8), hsla(240, 96%, 72%, 0.4)) 1 100%;
}
