@import "base"; @import "compass/css3/user-interface"; $social-tags: '#io2012 @yourtwitter'; $brand-small-icon-size: 30px; $gray-1: #e6e6e6; $gray-2: #a9a9a9; $gray-3: #797979; $gray-4: #515151; $brand-blue: rgb(67, 135, 253); $brand-blue-secondary: #3c8ef3; $brand-blue-secondary2: #2a7cdf; $brand-red: rgb(244, 74, 63); $brand-red-secondary: #e0543e; $brand-red-secondary2: #d94d3a; $brand-yellow: rgb(255, 209, 77); $brand-yellow-secondary: #f9cc46; $brand-yellow-secondary2: #f6c000; $brand-green: rgb(13, 168, 97); $brand-green-secondary: #00a86d; $brand-green-secondary2: #009f5d; $slide-width: 900px; $slide-height: 700px; $slide-width-widescreen: 1100px; $slide-top-bottom-padding: 40px; $slide-left-right-padding: 60px; /** * Theme Styles */ ::selection { color: white; background-color: $brand-yellow; @include text-shadow(none); } body { @include background-image(radial-gradient(50% 50%, $brand-blue 0%, $brand-blue-secondary2 600px)); //@include background-image(linear-gradient(top, $brand-blue 60%, $brand-blue-secondary2)); background-attachment: fixed; } slides > slide { width: $slide-width; height: $slide-height; margin-left: -$slide-width / 2; margin-top: -$slide-height / 2; padding: $slide-top-bottom-padding $slide-left-right-padding; background-color: white; @include border-radius(5px); @include box-shadow(3px 3px 20px $gray-4); @include transition(all 0.3s ease-out); } slides.layout-widescreen > slide { margin-left: -$slide-width-widescreen / 2; width: $slide-width-widescreen; } slides.layout-faux-widescreen > slide { margin-left: -$slide-width-widescreen / 2; width: $slide-width-widescreen; padding: $slide-top-bottom-padding 160px; } slides > slide:not(.nobackground):not(.logoslide):not(.fill) { //background: white url(/images/google_developers_icon_128.png) ($brand-small-icon-size * 2) 98% no-repeat; //@include background-size($brand-small-icon-size $brand-small-icon-size); } /*slides.nobackground slide:not(.fill) { background: url(/images/devfest_logo_small.png) 98% 99% no-repeat, url(/images/bubbles.png) 5% -125px no-repeat, url(/images/colorbar.png) 0 91% repeat-x, white !important; } slides.nobackground slide:not(.fill)::after, slides.nobackground slide:not(.fill)::before { color: inherit !important; } */ slides > slide:not(:first-of-type):not(.fill):not(.nobackground) { &:before { content: $social-tags; position: absolute; bottom: $slide-top-bottom-padding / 2; left: $slide-left-right-padding; background: url(/images/google_developers_icon_128.png) no-repeat 0 50%; @include background-size($brand-small-icon-size $brand-small-icon-size); padding-left: $brand-small-icon-size + 10; height: $brand-small-icon-size; line-height: 1.9; } &:after { content: attr(data-slide-num) '/' attr(data-total-slides); position: absolute; bottom: $slide-top-bottom-padding / 2; right: $slide-left-right-padding; } } /*slides.layout-widescreen > slide:not(.nobackground), slides.layout-faux-widescreen > slide:not(.nobackground) { background-position-x: 0, 840px; }*/ /* Slides */ slides > slide { display: none; font-family: 'Open Sans', Arial, sans-serif; color: $gray-3; $translateX: 1020px; $rotateY: 30deg; $rotateX: 45deg; &.far-past { display: block; @include transform(translate(-$translateX * 2)); @include transform(translate3d(-$translateX * 2, 0, 0)); } &.past { display: block; @include transform(translate(-$translateX) rotateY($rotateY) rotateX($rotateX)); @include transform(translate3d(-$translateX, 0, 0) rotateY($rotateY) rotateX($rotateX)); } &.current { display: block; @include transform(translate(0)); @include transform(translate3d(0, 0, 0)); } &.next { display: block; @include transform(translate($translateX) rotateY(-$rotateY) rotateX($rotateX)); @include transform(translate3d($translateX, 0, 0) rotateY(-$rotateY) rotateX($rotateX)); } &.far-next { display: block; @include transform(translate($translateX * 2)); @include transform(translate3d($translateX * 2, 0, 0)); } } slides.layout-widescreen, slides.layout-faux-widescreen { $translateX: 1130px; > slide.far-past { display: block; @include transform(translate(-$translateX * 2)); @include transform(translate3d(-$translateX * 2, 0, 0)); } > slide.past { display: block; @include transform(translate(-$translateX)); @include transform(translate3d(-$translateX, 0, 0)); } > slide.current { display: block; @include transform(translate(0)); @include transform(translate3d(0, 0, 0)); } > slide.next { display: block; @include transform(translate($translateX)); @include transform(translate3d($translateX, 0, 0)); } > slide.far-next { display: block; @include transform(translate($translateX * 2)); @include transform(translate3d($translateX * 2, 0, 0)); } } b { font-weight: 600; } a { color: rgb(0, 102, 204); &:visited { color: rgba(0, 102, 204, .75); } &:hover { color: black; } } h1, h2, h3 { font-weight: 600; } h2 { font-size: 45px; line-height: 45px; letter-spacing: -2px; color: $gray-4; //padding: 30px 60px; //width: 100%; //background: rgba(255, 255, 255, 0.3); //@include box-shadow(0 1px 5px #333); //@include box-sizing(border-box); } h3 { font-size: 30px; margin: 0 0 1em 0; letter-spacing: -1px; line-height: 2; font-weight: inherit; color: $gray-3; } ul { margin-left: .75em; ul { margin-top: .5em; } } li { margin-bottom: 0.5em; &:before { content: '·'; width: .75em; margin-left: -.75em; position: absolute; } } ul > li::before { content: '·'; width: 0.5em; margin-left: -1.3em; position: absolute; } ul li ul li::before { content: ''; } pre { font-family: 'Inconsolata', 'Courier New', monospace; font-size: 20px; line-height: 28px; padding: 10px 20px; letter-spacing: -1px; margin-bottom: 20px; @include text-shadow(none); /*overflow: hidden;*/ } code { font-size: 95%; font-family: 'Inconsolata', 'Courier New', monospace; color: black; } iframe { width: 100%; height: 620px; background: white; border: 1px solid rgb(192, 192, 192); margin: -1px; } dt { font-weight: bold; } h3 + iframe { height: 540px; } button { display: inline-block; background: -webkit-gradient(linear, 0% 40%, 0% 70%, from(#F9F9F9), to(#E3E3E3)); background: -webkit-linear-gradient(#F9F9F9 40%, #E3E3E3 70%); background: -moz-linear-gradient(#F9F9F9 40%, #E3E3E3 70%); background: -ms-linear-gradient(#F9F9F9 40%, #E3E3E3 70%); background: -o-linear-gradient(#F9F9F9 40%, #E3E3E3 70%); background: linear-gradient(#F9F9F9 40%, #E3E3E3 70%); border: 1px solid #999; @include border-radius(3px); padding: 5px 8px; outline: none; white-space: nowrap; @include user-select(none); cursor: pointer; @include text-shadow(1px 1px #fff); font-weight: 700; font-size: 10pt; } button:hover { border-color: black; } button:active { background: -webkit-gradient(linear, 0% 40%, 0% 70%, from(#E3E3E3), to(#F9F9F9)); background: -webkit-linear-gradient(#E3E3E3 40%, #F9F9F9 70%); background: -moz-linear-gradient(#E3E3E3 40%, #F9F9F9 70%); background: -ms-linear-gradient(#E3E3E3 40%, #F9F9F9 70%); background: -o-linear-gradient(#E3E3E3 40%, #F9F9F9 70%); background: linear-gradient(#E3E3E3 40%, #F9F9F9 70%); } .blue { color: rgb(0, 102, 204); } .yellow { color: rgb(255, 211, 25); } .green { color: rgb(0, 138, 53); } .red { color: rgb(255, 0, 0); } .black { color: black; } .white { color: white; } .dark { background-color: rgba(0, 0, 0, 0.2); color: white; } img.centered { margin: 0 auto; display: block; } table { width: 100%; border-collapse: collapse; margin-top: 40px; } th { font-weight: 600; text-align: left; } td, th { border: 1px solid rgb(224, 224, 224); padding: 5px 10px; vertical-align: top; } q { display: block; font-size: 60px; line-height: 72px; margin-left: 20px; margin-top: 100px; &:before { content: '“'; position: absolute; display: inline-block; margin-left: -2.1em; width: 2em; text-align: right; font-size: 90px; color: rgb(192, 192, 192); } &:after { content: '”'; position: absolute; margin-left: .1em; font-size: 90px; color: rgb(192, 192, 192); } } div.author { text-align: right; font-size: 40px; margin-top: 20px; margin-right: 150px; &:before { content: '—'; } } slide.fill { @include border-radius(10px); h3 { background: rgba(255, 255, 255, .75); padding-top: .2em; padding-bottom: .3em; margin-top: -.2em; margin-left: -60px; padding-left: 60px; margin-right: -60px; padding-right: 60px; } h4 { display: inline; position: absolute; bottom: 50px; padding: 15px; } } /* Size variants */ article.smaller { p, ul { font-size: 20px; line-height: 24px; letter-spacing: 0; } table { font-size: 20px; line-height: 24px; letter-spacing: 0; } pre { font-size: 15px; line-height: 20px; letter-spacing: 0; } q { font-size: 40px; line-height: 48px; &:before, &:after { font-size: 60px; } } } /* Builds */ .build { > * { @include transition(opacity 0.5s ease-in-out 0.2s); } .to-build { opacity: 0; } .build-fade { opacity: 0.5; &:hover { opacity: 1.0; } } } /* Pretty print */ .prettyprint .str, /* string content */ .prettyprint .atv { /* a markup attribute value */ color: rgb(0, 138, 53); } .prettyprint .kwd, /* a keyword */ .prettyprint .tag { /* a markup tag name */ color: rgb(0, 102, 204); } .prettyprint .com { /* a comment */ color: rgb(127, 127, 127); font-style: italic; } .prettyprint .lit { /* a literal value */ color: rgb(127, 0, 0); } .prettyprint .pun, /* punctuation, lisp open bracket, lisp close bracket */ .prettyprint .opn, .prettyprint .clo { color: rgb(127, 127, 127); } .prettyprint .typ, /* a type name */ .prettyprint .atn, /* a markup attribute name */ .prettyprint .dec, .prettyprint .var { /* a declaration; a variable name */ color: rgb(127, 0, 127); } .with-notes .note { opacity: 1; pointer-events: auto; } .note { font-size: 20px; position: absolute; z-index: 100; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, 0.4); @include flexcenter; pointer-events: none; @include transition(opacity 0.2s ease-in-out); opacity: 0; @include border-radius(10px); > section { background: #fff; border-radius: 5px; @include box-shadow(0 0 20px 5px rgba(0, 0, 0, 0.4)); width: 60%; padding: 2em; } } input, button { vertical-align: middle; } .centered { text-align: center; } .reflect { -webkit-box-reflect: below 3px -webkit-linear-gradient(rgba(255,255,255,0) 85%, white 150%); -moz-box-reflect: below 3px -moz-linear-gradient(rgba(255,255,255,0) 85%, white 150%); -o-box-reflect: below 3px -o-linear-gradient(rgba(255,255,255,0) 85%, white 150%); -ms-box-reflect: below 3px -ms-linear-gradient(rgba(255,255,255,0) 85%, white 150%); box-reflect: below 3px linear-gradient(rgba(255,255,255,0) 85%, white 150%); } .flexcenter { @include flexcenter; height: 100%; } /* ===== SLIDE CONTENT ===== */ .logoslide { //@include flexcenter; img { width: 383px; height: 92px; } } aside.gdbar { height: 97px; width: 155px; position: absolute; left: 0; top: 125px; @include border-radius(0 10px 10px 0); //background: -webkit-linear-gradient(left, $gray-1, $gray-1) no-repeat; @include background(linear-gradient(left, $gray-1, $gray-1) no-repeat); @include background-size(100% 100%); background-size: 100% 100%; @include transition(all 0.5s ease-out 0.6s); &.to-build { background-size: 0 100%; } img { width: 85px; height: 85px; position: absolute; right: 0; margin: 8px 12px; } } #title-slide { hgroup { position: absolute; //bottom: $slide-height / 2 - (140 / 2); bottom: 150px; h1 { font-size: 65px; line-height: 1.4; letter-spacing: -3px; color: $gray-4; } h2 { font-size: 34px; color: $gray-2; font-weight: inherit; } p { font-size: 20px; color: $gray-3; line-height: 1.3; margin-top: 2em; } } }