/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body {
    font: 16px/1.5 'Open Sans', Helvetica, Helvetica Neue, Arial, sans-serif;
    background-color: #3883d8;
/*    color: #222;
    overflow-x: hidden;
    height: 100%;
    transition: background-color 0.4s linear;
    */
    /*min-height: 100%;*/
    /*background-color: #0C99D5;*/
    /*background-image: linear-gradient(to bottom, rgba(12, 153, 213, 0) 0px, rgba(12, 153, 213, 0) 100px, #0C99D5 450px, #0C99D5), repeating-linear-gradient(118deg, rgba(12, 153, 213, 0) 0px, #00A7E0 550px, rgba(12, 153, 213, 0) 550px, #00A7E0 800px, rgba(12, 153, 213, 0) 800px, #00A7E0 950px);*/
    /*overflow: hidden;*/
}

#bunny {
    background: url(../img/creature2.png);
    width: 49px;
    height: 59px;
    position: absolute;
    z-index: 10;
    opacity: 0;
}
#bunny1 {
    background: url(../img/creature2.png);
    width: 49px;
    height: 59px;
    position: absolute;
    z-index: 10;
    /*opacity: 0;*/
    left: 50px;
    top: 100px;
}

#css3-icon {
    width:55px; height:76px;
    background:url(../img/css3-icon.svg);   
    background-size:cover;
    /*opacity: 0;*/
}

#html5-icon {
    width:66px; height:93px;
    background:url(../img/html5-icon.svg);  
    background-size:cover;
    /*opacity: 0;*/
}

#js-icon {
    width:55px; height:76px;
    background:url(../img/js-icon.svg);   
    background-size:cover;
    /*opacity: 0;*/
}
#firefox-page {
    width:1109px; height:690px;
    background: url(../img/firefox_browser.jpg);
    background-size:cover;
    border: 1px solid #CCC;
    opacity: 0.5;
}

#hero {
    width: 320px;
    height: 340px;
    background: url(../img/hero_frame_v2_3.png) left center;
    animation: play 5s steps(8) infinite;
}
@keyframes play {
    100% { background-position: -2560px; }
}

#hero1 {
    position: absolute;
    left: 1000px;
    bottom: 100px;
    width: 320px;
    height: 340px;
    background: url(../img/hero_frame_v2_3.png) left center;
    animation: play 5s steps(8) infinite;
}

#hero_overlap {
    position: absolute;
    left: 1000px;
    top: -100px;
    width: 496px;
    height: 375px;
    background:url(../img/hero_frame_ai_overlap.jpg);
}
#superhero-img {
    background: url(../img/hero_frame_ai.jpg);
    width: 937px;
    height: 246px;
    position: absolute;
    top: 150px;
}
#superhero-code {
    background: url(../img/hero_frame_code.jpg);
    width: 650px;
    height: 211px;
    position: absolute;
    top: 400px;
}
.scrolldown {
    width:134px;
    height:163px;
    background:url(../img/scrolldown.png);
}
#hero_static {
    /*width: 261px;
    height: 336px;*/
    width: 299px;
    height: 334px;
    background:url(../img/hero_v2_1.png);
    /*background:url(../img/hero_v2_a.png);*/
    opacity: 0;
    position: absolute;
}
.mdn {
    background:url(../img/Mozilla-Developer-Network.png);
    width: 200px;
    height: 223px;
}
#firefox-top-left {
    background:url(../FireFoxUIexample/critter-top-left.png);
    width: 122px;
    height: 129px;
}
#firefox-bottom-right {
    background:url(../FireFoxUIexample/critter-bottom-right.png);
    width: 185px;
    height: 107px;
}
#firefox-top-left-lid {
    background:url(../FireFoxUIexample/eye-lid-top-left.png);
    width: 48px;
    height: 48px;
}
#firefox-bottom-right-lid {
    background:url(../FireFoxUIexample/eye-lid-bottom-right.png);
    width: 32px;
    height: 32px;
}
#firefox-html-code {
    background:url(../img/firefox_html_code.jpg);
    width: 568px;
    height: 217px;
}
#firefox-css-code {
    background:url(../img/firefox_css_code.jpg);
    width: 653px;
    height: 679px;
}

#canvas-img {
    background:url(../img/canvas_example.jpg);
    width: 767px;
    height: 701px;
    position: absolute;
    left: 30%;
    top: 20px;
}
.svg-shapes {
    background:url(../img/svg_example.jpg);
    width: 1022px;
    height: 541px;
}
.travel_time_ai {
    background:url(../img/travel_time_ai_screenshot.jpg);
    width: 954px;
    height: 534px;
    position: absolute;
    left: 400px;
    top: 200px;
}
.css-transitions {
    background:url(../img/css-transitions.png);
    width: 607px;
    height: 181px;
}
.css-keyframes {
    background:url(../img/css-keyframes.png);
    width: 526px;
    height: 174px;
}
.star {
    background:url(../img/star.png);
    width: 99px;
    height: 104px;  
    opacity:0;
}
.blue {
    background-color: #3883d8;
}
.turqoise {
    background-color: #38ced7;
}
.brown {
    background-color: #a66f28;
}
.bordeaux {
    background-color: #953543;
}
.skin {
    background-color: #ED9F4C;
}
.black {
    background-color: #000000;
}
.white {
    background-color: #FFFFFF;
}
.red {
    background-color: #cf3535;
}
.green {
    background-color: #bcbd22; /*22d659;*/
}
.orange {
    background-color: #ea6300;
}
.darkblue {
    
}

.spacer {
    text-align: center;
    min-height: 100px;
    background-image: url("../img/example_bg_spacer_v.gif");
}
.spacer.s0 {
    min-height: 1px;
}
.spacer.s20px {
    min-height: 20px;
}
.spacer.s30px {
    min-height: 30px;
}
.spacer.s1 {
    min-height: 100px;
}
.spacer.s2 {
    min-height: 200px;
}
.spacer.s3 {
    min-height: 300px;
}
.spacer.s4 {
    min-height: 400px;
}
.spacer.s5 {
    min-height: 500px;
}

section {
    font-size: 36px;
    font-weight: normal;
    color: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    padding: 0 80px;
    position: relative;
    text-align: left;
    vertical-align: middle;
    width: 100%;
}

.panel {
    height: 100vh;
    overflow: hidden;
}
.main {
    height: 1500px;
}

.slide {
    margin: 0 auto;
    width: 100%;
    height: 100%;
}
.lightblue {
    background-color: #fff;
    background-image: linear-gradient(to bottom, rgba(61, 76, 92, 0) 0px, rgba(61, 76, 92, 0) 100px, #9bc1eb 450px, #9bc1eb), repeating-linear-gradient(118deg, rgba(61, 76, 92, 0) 0px, #c3d9f3 550px, rgba(61, 76, 92, 0) 550px, #c3d9f3 800px, rgba(61, 76, 92, 0) 800px, #c3d9f3 950px);
}
.dark {
    background-color:#111;
    position: relative;
}

.btn-center {
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
.trigger {
    position: absolute;
    bottom:5%;
    right:2%;
}
a.button {
    display: block;
    margin: 0 auto;
    color: rgba(255,255,255,0.7);
    padding: 8px 0;
    text-decoration: underline;
}
a.next {
    position: absolute;
    top: 5%;
    left: 90%;
    text-decoration: underline;
}
a.prev {
    position: absolute;
    top: 5%;
    left: 88%;
    text-decoration: underline;
}
#subject {
    margin: 0 auto;
    color: #fff;
    padding: 8px 0;
    position: absolute;
    top: 350px;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    opacity: 0;
}
.intro-label-css {
    position: absolute;
    left:200px;
    bottom:20%;
    font-size:72px;
}
.intro-label-canvas {
    position: absolute;
    left:300px;
    bottom:20%;
    font-size:72px;
}
.intro-label-svg {
    position: absolute;
    left:400px;
    bottom:20%;
    font-size:72px;
}
.intro-label-javascript {
    position: absolute;
    left:500px;
    bottom:20%;
    font-size:72px;
}
.intro-labels {
    position: absolute;
    left:20%;
    bottom:10%;
    opacity: 0;
    /*font-size:72px;*/
}
#css-animation-short {
    position: absolute;
    left: 40%;
    top: 0;
}
.slide-title {
    color: #fff;
}
.slide-subtitle {
    color: #fff; 
    font-size: 24px;
}
h3 {
    position: absolute;
    top: 280px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    text-align: center;
    width: 960px;
}   
#d3 {
    position: absolute;
    top:50px;
    left:300px;
    visibility: hidden;
    opacity:0;
}
#about-animation {
    position: absolute;
    top:20px;
    left: 50%;
    /*opacity:0;*/
}
#animation-should-be {
    position: absolute;
    top:20px;
    left: 20px;
    opacity:0;
}

.firefox-wrapper {
    position: absolute;
    left: 40px;
    transform: translateY(60%);
}
#firefox-howto {
    position: absolute;
    left: 0;
    top: 0;
    background-color: #000;
    border: #ccc 1px solid;
    opacity: 0;
}
#firefox-code1 {
    position: absolute;
    left: 0;
    top: 0;
    background-color: #000;
    border: #ccc 1px solid;
    opacity: 0;
}
#firefox-code2 {
    position: absolute;
    left: 0;
    top: 0;
    background-color: #000;
    border: #ccc 1px solid;
    opacity: 0;
}
.hidden {
    visibility:hidden;
    opacity: 0;
}
.trigger {
    position: absolute;
    bottom:20px;
}


.car-container {
    position: absolute;
    top: 200px;
    left: 400px;
  margin: 30px auto;
  border: 1px solid #fff;
  /*background: #222;*/
}

.building, .car, .tree, .car-container, .table-container, .table, .window {
  width: 600px;
  height: 348px;
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000;
  opacity: 0.9;
}

.tree {
  background: url(../img/stanford_trees.png);
  transform: translateZ(0);
  /*animation: building 7s -5s linear infinite;*/
  animation: building 20s -5s linear infinite;
}


.car {
  transform: translateZ(0);
  background: url(../img/car.png) no-repeat;  
}

/*.s_hero {
  transform: translateZ(0);
  background: url("img/hero1.png") no-repeat;
}*/
.walking_hero {
    position: absolute;
    top: 250px;
    left: 50px;
    width: 280px;
    height: 320px;
    background: url(../img/hero_frame_list3.png) left center;
    animation: walk 5s steps(8) infinite;
}
@keyframes walk {
    100% { background-position: -2240px; }
}

.building {
  background: url(../img/stanford_oval_draw.png);
  /*animation: building 20s -5s linear infinite;*/
  animation: building 50s -5s linear infinite;
  transform: translateZ(0);
}

@keyframes building {
  100% {
    background-position: 200% 0;
  }
}

#bunny {
    position: absolute;
    left: 450px;
    top: 0px;
}
#hero_static {
    position: absolute;
    left: 450px;
    top: 0px;
}
#hero {
    position: absolute;
    left: 450px;
    top: 0px;
}
.firefox-animate {
    position: absolute;
    left: 680px;
    top: 245px
}
.resources {
    font-size:20px;
}

#mobile-not-support-yet {
    opacity:0;
    position: absolute;
    top: 20px;
    left: 5px;
}
/* ========== MAP =========== */
/*.dot {
    width: 18px;
    height: 18px;
    background: #1db3e7;
    -webkit-border-radius: 9px;
    -moz-border-radius: 9px;
    border-radius: 9px;
    z-index: 10;
    position: absolute;
}
.dot:after {
    content: ' ';
    border: 10px solid rgba(29, 179, 231, 0.7);
    background: transparent;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;
    height: 40px;
    width: 40px;
    -webkit-animation: pulse 3s ease-out;
    -moz-animation: pulse 3s ease-out;
    animation: pulse 3s ease-out;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    position: absolute;
    top: -21px;
    left: -21px;
    z-index: 1;
    opacity: 0;
}

@keyframes pulse {
    0% {
        transform: scale(0);
        opacity: 0.0;
    }
    25% {
        transform: scale(0);
        opacity: 0.1;
    }
    50% {
        transform: scale(0.1);
        opacity: 0.3;
    }
    75% {
        transform: scale(0.5);
        opacity: 0.5;
    }
    100% {
        transform: scale(1);
        opacity: 0.0;
    }
}  
@-moz-keyframes pulse {
    0% {
        -moz-transform: scale(0);
        opacity: 0.0;
    }
    25% {
        -moz-transform: scale(0);
        opacity: 0.1;
    }
    50% {
        -moz-transform: scale(0.1);
        opacity: 0.3;
    }
    75% {
        -moz-transform: scale(0.5);
        opacity: 0.5;
    }
    100% {
        -moz-transform: scale(1);
        opacity: 0.0;
    }
}    
@-webkit-keyframes "pulse" {
    0% {
        -webkit-transform: scale(0);
        opacity: 0.0;
    }
    25% {
        -webkit-transform: scale(0);
        opacity: 0.1;
    }
    50% {
        -webkit-transform: scale(0.1);
        opacity: 0.3;
    }
    75% {
        -webkit-transform: scale(0.5);
        opacity: 0.5;
    }
    100% {
        -webkit-transform: scale(1);
        opacity: 0.0;
    }
}*/

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 740px) {

}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}