/** * Main styles of reveal.js * * @author Hakim El Hattab */ /********************************************* * FONT-FACE DEFINITIONS *********************************************/ @font-face { font-family: 'League Gothic'; src: url('../assets/fonts/leaguegothic/league_gothic-webfont.ttf') format('truetype'); font-weight: normal; font-style: normal; } /********************************************* * GLOBAL STYLES *********************************************/ html, body { position: relative; padding: 0; margin: 0; overflow-x: hidden; overflow-y: auto; font-family: 'Lato', Times, 'Times New Roman', serif; font-size: 36px; font-weight: 200; letter-spacing: -0.02em; background: #111; color: #eee; width: 100%; height: 100%; min-height: 600px; background: #555a5f; background: -moz-radial-gradient(center, ellipse cover, #555a5f 0%, #1c1e20 100%); background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#555a5f), color-stop(100%,#1c1e20)); background: -webkit-radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%); background: -o-radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%); background: -ms-radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%); background: radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%); } /********************************************* * HEADERS *********************************************/ h1, h2, h3, h4 { margin: 0 0 20px 0; color: #eee; font-family: 'League Gothic', sans-serif; line-height: 0.9em; letter-spacing: 0.02em; text-transform: uppercase; text-shadow: 0px 0px 6px rgba(0,0,0,0.2); } h1 { font-size: 136px; } h2 { font-size: 76px; } h3 { font-size: 56px; } h4 { font-size: 36px; } h1.inverted, h2.inverted, h3.inverted, h4.inverted { color: #fff; text-shadow: 0px 0px 2px rgba(0,0,0,0.2); } h1 { text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); } /********************************************* * SLIDES *********************************************/ #main { position: absolute; width: 900px; height: 600px; left: 50%; top: 50%; margin-left: -450px; margin-top: -320px; padding: 20px 0px; text-align: center; -webkit-perspective: 600px; -moz-perspective: 600px; perspective: 600px; -webkit-perspective-origin: 50% 25%; -moz-perspective-origin: 50% 25%; perspective-origin: 50% 25%; } #main>section, #main>section>section { display: none; position: absolute; width: 100%; min-height: 600px; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -moz-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -o-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); } #main section.present { display: block; position: absolute; z-index: 10; } /********************************************* * DEFAULT THEME *********************************************/ #main section.past { display: block; opacity: 0; -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } #main section.future { display: block; opacity: 0; -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } #main section>section.past { display: block; opacity: 0; -webkit-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0); -moz-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0); transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0); } #main section>section.future { display: block; opacity: 0; -webkit-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0); -moz-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0); } /********************************************* * CONCAVE THEME *********************************************/ .concave #main>section.past { -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); } .concave #main>section.future { -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); } .concave #main section>section.past { -webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); -moz-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); } .concave #main section>section.future { -webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); -moz-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); } /********************************************* * LINEAR THEME *********************************************/ .linear #main>section.past { -webkit-transform: translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .linear #main>section.future { -webkit-transform: translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } .linear #main section>section.past { -webkit-transform: translate3d(0, -100%, 0); -moz-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } .linear #main section>section.future { -webkit-transform: translate3d(0, 100%, 0); -moz-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } /********************************************* * VIEW FRAGMENTS *********************************************/ #main section .fragment { opacity: 0; -webkit-transition: all .2s ease; -moz-transition: all .2s ease; -o-transition: all .2s ease; transition: all .2s ease; } #main section .fragment.visible { opacity: 1; } /********************************************* * DEFAULT ELEMENT STYLES *********************************************/ #main>section { line-height: 1.2em; font-weight: normal; } strong, b { font-weight: bold; } em, i { font-style: italic; } ol, ul { display: inline-block; text-align: left; margin: 0 auto; } ol { list-style: decimal; list-style-position: inside; } ul { list-style: disc; } p { margin-bottom: 10px; } blockquote { display: block; position: relative; width: 70%; margin: 5px auto; padding: 5px; font-style: italic; background: rgba(255, 255, 255, 0.05); box-shadow: 0px 0px 2px rgba(0,0,0,0.2); } blockquote:before { content: '“'; } blockquote:after { content: '”'; } pre { display: block; position: relative; width: 90%; margin: 10px auto; text-align: left; font-size: 14px; font-family: monospace; line-height: 1.1em; word-wrap: break-word; box-shadow: 0px 0px 6px rgba(0,0,0,0.3); } code { font-family: monospace; } small { font-size: 60%; } q { font-style: italic; } q:before { content: '“'; } q:after { content: '”'; } a:not(.image) { color: hsl(185, 85%, 50%); text-decoration: none; -webkit-transition: all .2s ease; -moz-transition: all .2s ease; -o-transition: all .2s ease; transition: all .2s ease; } a:not(.image):hover { color: hsl(185, 85%, 70%); background: hsla(185, 25%, 20%, 0.4); text-shadow: none; border: none; border-radius: 2px; } img { margin: 30px 0 0 0; background: rgba(255,255,255,0.12); border: 4px solid #eee; -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); -webkit-transition: all .2s linear; -moz-transition: all .2s linear; -o-transition: all .2s linear; transition: all .2s linear; } a.image:hover img { background: rgba(255,255,255,0.2); border-color: #13DAEC; -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); -o-box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } /********************************************* * CONTROLS *********************************************/ .controls { display: none; position: fixed; width: 100px; height: 100px; right: 0; bottom: 0; } .controls a { font-size: 30px; position: absolute; opacity: 0.1; color: #fff; } .controls a.enabled { opacity: 0.6; color: hsl(185, 85%, 70%); text-shadow: 0px 0px 2px hsla(185, 45%, 70%, 0.3); } .controls a.enabled:active { margin-top: 1px; } .controls .left { top: 30px; } .controls .right { left: 60px; top: 30px; } .controls .up { left: 30px; } .controls .down { left: 30px; top: 60px; } /********************************************* * ROLLING LINKS *********************************************/ .roll { display: inline-block; overflow: hidden; vertical-align: top; -webkit-perspective: 400px; -moz-perspective: 400px; perspective: 400px; -webkit-perspective-origin: 50% 50%; -moz-perspective-origin: 50% 50%; perspective-origin: 50% 50%; } .roll:hover { background: none; text-shadow: none; } .roll span { display: block; position: relative; padding: 0 2px; pointer-events: none; -webkit-transition: all 400ms ease; -moz-transition: all 400ms ease; transition: all 400ms ease; -webkit-transform-origin: 50% 0%; -moz-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; transform-style: preserve-3d; } .roll:hover span { background: rgba(0,0,0,0.5); -webkit-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); -moz-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); } .roll span:after { content: attr(data-title); display: block; position: absolute; left: 0; top: 0; padding: 0 2px; color: #fff; background: hsl(185, 60%, 35%); -webkit-transform-origin: 50% 0%; -moz-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg ); -moz-transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg ); transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg ); }