/*! * Name: WebSlides * Version: 1.4.2 * Date: 2017-09-12 * Description: Making HTML presentations easy * URL: https://github.com/webslides/webslides#readme * Credits: @jlantunez, @LuisSacristan, @Belelros */ @charset "UTF-8"; /*----------------------------------------------------------------------------------- 0. CSS Reset & Normalize 1. Base 1.1 Wrap/Container 1.2 Animations 1.3 Responsive Media (videos, iframe, screenshots...) 1.4 Basic Grid (2,3,4 columns) 2. Typography & Lists 2.1 Headings with background 2.2 Classes: .text- 2.3 San Francisco Font (Apple) 3. Header & Footer 3.1 Logo 4. Navigation 4.1 Navbars 5. SLIDES (vertically and horizontally centered) 5.1 Mini container & Alignment 5.2 Counter / Navigation Slides 5.3 Background Images/Video 6. Magic blocks = .flexblock (Flexible blocks with auto-fill and equal height). 6.1 .flexblock.features 6.2 .flexblock.clients 6.3 .flexblock.steps 6.4 .flexblock.metrics 6.5 .flexblock.specs 6.6 .flexblock.reasons 6.7 .flexblock.gallery 6.8 .flexblock.plans 6.9. flexblock.activity 7. Promos/Offers (pricing, tagline, CTA...) 8. Work / Resume / CV 9. Table of contents 10. Cards 11. Quotes 12. Avatars 13. Tables 14. Forms 15. Longform Elements 16. Safari Bug (flex-wrap) 17. Slidex index (aka zoom) 18. Print 19. Colors ----------------------------------------------------------------------------------- */ /* ========================================= 0. CSS Reset & Normalize ========================================= */ 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, menu, nav, output, ruby, section, summary, time, mark, audio, video { border: 0; font: inherit; font-size: 100%; margin: 0; padding: 0; vertical-align: baseline; } article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; } body { line-height: 1; } blockquote, q { quotes: '' ''; } blockquote:before, blockquote:after, q:before, q:after { content: ''; } table { border-collapse: collapse; border-spacing: 0; margin-bottom: 24px; width: 100%; } html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; } *, *::before, *::after { -webkit-box-sizing: inherit; box-sizing: inherit; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } embed, iframe, object { max-width: 100%; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } ul { list-style: square; text-indent: inherit; } ol { list-style: decimal; } b, strong { font-weight: 600; } a { background-color: transparent; } a:active, a:hover { outline: 0; } sup, sub { font-size: .75em; height: 0; line-height: 2.2em; position: relative; vertical-align: baseline; } sup { bottom: 1ex; } sub { top: .5ex; } small { font-size: .75em; line-height: 1.72; } big { font-size: 1.25em; } hr { border: 0; clear: both; display: block; height: 1px; margin: 3.2rem auto; text-align: center; width: 100%; } h2 + hr, h3 + hr { margin-bottom: 4.8rem; } p + hr { margin-bottom: 4rem; } dfn, cite, em, i { font-style: italic; } abbr, acronym { cursor: help; } mark, ins { padding: 0 4px; text-decoration: none; text-shadow: none; } ::-moz-selection { text-shadow: none; } ::selection { text-shadow: none; } img { border: 0; height: auto; max-width: 100%; } img:hover { opacity: .9; } svg:not(:root) { overflow: hidden; } figure { line-height: 0; margin: 0; position: relative; } optgroup { font-weight: bold; } td, th { padding: 0; } dt { font-weight: bold; } dd { margin: 0; } /*=== Clearing === */ header:before, header:after, main:before, main:after, section:before, section:after, aside:before, aside:after, footer:before, footer:after, .clear:before, .clear:after, .wrap:before, .wrap:after { content: ''; display: table; } header:after, main:after, section:after, aside:after, footer:after, .clear:after, .wrap:after { clear: both; } /*========================================= 1. Base --> Baseline: 8px = .8rem =========================================== */ /* -- Disable elastic scrolling/bounce: webslides.js will add .ws-ready automatically. Don't worry :) -- */ .ws-ready, .ws-ready body { height: 100%; overflow: hidden; width: 100%; } .ws-ready.ws-ready-zoom { overflow: visible; } .ws-ready.ws-ready-zoom body { overflow: auto; } #webslides { -ms-overflow-style: none; -webkit-overflow-scrolling: touch; height: 100vh; overflow-x: hidden; overflow-y: scroll; } #webslides::-webkit-scrollbar { display: none; } li li { margin-left: 1.6rem; } a, a:active, a:focus, a:visited, input:focus, textarea:focus, button { text-decoration: none; -webkit-transition: all .3s ease-out; transition: all .3s ease-out; } p a:active { position: relative; top: 2px; } nav a[rel='external'] em, .hidden { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute; width: 1px; } .shadow { position: relative; } .shadow:before, .shadow:after { bottom: 1.6rem; content: ''; max-width: 300px; position: absolute; top: 80%; width: 50%; z-index: -1; } .shadow:after { right: 2.4rem; -webkit-transform: rotate(3deg); transform: rotate(3deg); } .shadow:before { left: 2.4rem; -webkit-transform: rotate(-3deg); transform: rotate(-3deg); } /*=== 1.1 WRAP/CONTAINER === */ .wrap, header nav, footer nav { margin-left: auto; margin-right: auto; max-width: 100%; position: relative; width: 100%; z-index: 2; } @media (min-width: 1024px) { .wrap, header nav, footer nav { width: 90%; } } .frame, .shadow { padding: 2.4rem; } .radius { border-radius: .4rem; } .alignright { float: right; } .alignleft { float: left; } .aligncenter { margin-left: auto; margin-right: auto; text-align: center; } img.aligncenter, figure.aligncenter { display: block; margin-bottom: .8rem; margin-top: .8rem; } img.alignleft, figure.alignleft, img.alignright, figure.alignright, img.aligncenter, figure.aligncenter { margin-bottom: 3.2rem; margin-top: 3.2rem; } img.alignright, svg.alignright, figure.alignright { margin: .8rem 0 .8rem 2.4rem; } img.alignleft, svg.alignleft, figure.alignleft { margin: .8rem 2.4rem .8rem 0; } /*=== div.size-60, img.size-50, h1.size-40, p.size-30... === */ @media (min-width: 1024px) { .size-80 { width: 80%; } .size-70 { width: 70%; } .size-60 { width: 60%; } .size-50 { width: 50%; } .size-40 { width: 40%; } .size-30 { width: 30%; } .size-20 { width: 20%; } } pre, code { font-family: 'Cousine', monospace; } pre { font-size: 1.6rem; line-height: 2.4rem; overflow: auto; padding: 2.4rem; text-align: left; white-space: pre-wrap; width: 100%; word-wrap: break-word; } pre + p { margin-top: 3.2rem; } pre code { padding: 0; } code { padding: .4rem; } /* === 1.2 Animations ================ Just 5 basic animations: .fadeIn, .fadeInUp, .zoomIn, .slideInLeft, and .slideInRight https://github.com/daneden/animate.css */ /*-- fadeIn -- */ @-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fadeIn { -webkit-animation: fadeIn 1s; animation: fadeIn 1s; } /*-- fadeInUp -- */ @-webkit-keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInUp { -webkit-animation: fadeInUp 1s; animation: fadeInUp 1s; } /*-- zoomIn -- */ @-webkit-keyframes zoomIn { from { -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } 50% { opacity: 1; } } @keyframes zoomIn { from { -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } 50% { opacity: 1; } } .zoomIn { -webkit-animation: zoomIn 1s; animation: zoomIn 1s; } /*-- slideInLeft -- */ @-webkit-keyframes slideInLeft { from { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slideInLeft { from { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .slideInLeft { -webkit-animation: slideInLeft 1s; animation: slideInLeft 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } /*-- slideInRight -- */ @-webkit-keyframes slideInRight { from { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slideInRight { from { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .slideInRight { -webkit-animation: slideInRight 1s; animation: slideInRight 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } /* Animated Background (Matrix) */ @-webkit-keyframes anim { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-1200px); transform: translateY(-1200px); } } @keyframes anim { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-1200px); transform: translateY(-1200px); } } /* Duration */ .slow { -webkit-animation-duration: 4s; animation-duration: 4s; } .slow + .slow { -webkit-animation-duration: 5s; animation-duration: 5s; } /*=== 1.3 Responsive Media (videos, iframe...) === */ .embed { height: 0; overflow: hidden; /*aspect ratio:16:9*/ padding-bottom: 56.6%; /*aspect ratio: 4:3*/ /*padding-bottom: 75%;*/ position: relative; /* -- Responsive background video https://fvsch.com/code/video-background/ -- */ } .embed iframe, .embed object, .embed embed, .embed video { height: 100%; left: 0; margin: 0; position: absolute; top: 0; width: 100%; } .fullscreen > .embed { bottom: 0; height: auto; left: 0; padding-bottom: 0; position: fixed; right: 0; top: 0; /* 1. No object-fit support: */ } .fullscreen > .embed > iframe, .fullscreen > .embed > object, .fullscreen > .embed > embed, .fullscreen > .embed > video { /* 2. If supporting object-fit, overriding (1): */ } @media (min-aspect-ratio: 16 / 9) { .fullscreen > .embed > iframe, .fullscreen > .embed > object, .fullscreen > .embed > embed, .fullscreen > .embed > video { height: 300%; top: -100%; } } @media (max-aspect-ratio: 16 / 9) { .fullscreen > .embed > iframe, .fullscreen > .embed > object, .fullscreen > .embed > embed, .fullscreen > .embed > video { left: -100%; width: 300%; } } @supports ((-o-object-fit: cover) or (object-fit: cover)) { .fullscreen > .embed > iframe, .fullscreen > .embed > object, .fullscreen > .embed > embed, .fullscreen > .embed > video { height: 100%; left: 0; -o-object-fit: cover; object-fit: cover; top: 0; width: 100%; } } /*=== HTML Browser (Screenshots) ================ */ /* */ .browser { border-radius: .3rem; margin: 0 auto 3.2rem; max-width: 1024px; overflow: hidden; } li .browser { margin-bottom: 0; } h1 + .browser, h2 + .browser, p + .browser { margin-top: 4.8rem; } .browser figcaption { padding: 2.4rem; } .browser:before { content: '\25CF \25CF \25CF'; font-size: .8rem; left: 0; line-height: 0; padding: 1.6rem; position: absolute; text-align: left; top: 0; width: 100%; } @media (min-width: 768px) { .browser:before { font-size: 1.6rem; } } /*=== 1.4. Basic Grid (Flexible blocks) Auto-fill & Equal height === */ .grid { clear: both; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: auto; margin-right: auto; } .grid:after { clear: both; } .grid:before { content: ''; display: table; } .grid > .column { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -ms-flex: auto; flex: auto; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 2.4rem; position: relative; -webkit-transition: .3s; transition: .3s; width: 100%; } .grid.vertical-align .column { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } @media (min-width: 768px) { .grid > .column { width: 25%; } .grid.sm .column:nth-child(1) { width: 30%; } .grid.sm .column:nth-child(2) { width: 70%; } .grid.ms .column:nth-child(1) { width: 70%; } .grid.ms .column:nth-child(2) { width: 30%; } .grid.sms .column:nth-child(2) { width: 50%; } } /*============================ 2. TYPOGRAPHY & LISTS ============================== */ html, body { font-weight: 300; line-height: 1; text-rendering: optimizeLegibility; } html, body, input, select, textarea { font-family: 'Roboto', 'San Francisco', helvetica, arial, sans-serif; font-size: 62.5%; } body, textarea { font-size: 1.8rem; } p, li, dt, dd, time, table, big, textarea, label { line-height: 3.2rem; margin-bottom: 3.2rem; } li, p:last-child { margin-bottom: 0; } ul > li, ol > li { margin-left: 3.2rem; } li li { font-size: 100%; } /*== List .description (Product/Specs) === */ ul.description { padding: 0; } ul.description + p { margin-top: 3.2rem; } ul.description li { padding-bottom: .8rem; padding-top: .8rem; position: relative; -webkit-transition: .3s; transition: .3s; } ul.description li:hover { padding-left: .4rem; } ul.description li, .column ul li { list-style: none; margin-left: 0; } .column ol > li { margin-left: 1.6rem; } h1 svg, h2 svg, h3 svg, h4 svg { margin-top: -.8rem; } .text-intro svg, .text-quote p svg, .wall p svg, .try svg { margin-top: -.4rem; } h1 { font-size: 4rem; line-height: 5.6rem; } @media (min-width: 768px) { h1 { font-size: 5.6rem; line-height: 7.2rem; } } h1 span { font-style: italic; } h2 { font-size: 3.2rem; line-height: 4.8rem; } @media (min-width: 768px) { h2 { font-size: 4.8rem; line-height: 6.4rem; } } h3 { font-size: 2.4rem; line-height: 4rem; } @media (min-width: 768px) { h3 { font-size: 4rem; line-height: 5.6rem; } } h4 { font-size: 2.2rem; line-height: 4rem; } @media (min-width: 768px) { h4 { font-size: 3.2rem; line-height: 4.8rem; } } h5 { font-size: 2rem; font-weight: 600; line-height: 3.2rem; } h6 { font-size: 1.8rem; font-weight: 600; line-height: 3.2rem; } h2.alignleft + p.alignright { margin-bottom: 0; margin-top: 1.2rem; } h3.alignleft + p.alignright { margin-bottom: 0; margin-top: .4rem; } h1 + h1 { margin-top: .8rem; } h1 + h2 { margin-top: .8rem; } h1 + h3 { margin-top: .8rem; } h1 + h4 { margin-top: .8rem; } h1 + h5 { margin-top: .8rem; } h1 + h6 { margin-top: .8rem; } h2 + h1 { margin-top: .8rem; } h2 + h2 { margin-top: .8rem; } h2 + h3 { margin-top: .8rem; } h2 + h4 { margin-top: .8rem; } h2 + h5 { margin-top: .8rem; } h2 + h6 { margin-top: .8rem; } h3 + h1 { margin-top: .8rem; } h3 + h2 { margin-top: .8rem; } h3 + h3 { margin-top: .8rem; } h3 + h4 { margin-top: .8rem; } h3 + h5 { margin-top: .8rem; } h3 + h6 { margin-top: .8rem; } h4 + h1 { margin-top: .8rem; } h4 + h2 { margin-top: .8rem; } h4 + h3 { margin-top: .8rem; } h4 + h4 { margin-top: .8rem; } h4 + h5 { margin-top: .8rem; } h4 + h6 { margin-top: .8rem; } h5 + h1 { margin-top: .8rem; } h5 + h2 { margin-top: .8rem; } h5 + h3 { margin-top: .8rem; } h5 + h4 { margin-top: .8rem; } h5 + h5 { margin-top: .8rem; } h5 + h6 { margin-top: .8rem; } h6 + h1 { margin-top: .8rem; } h6 + h2 { margin-top: .8rem; } h6 + h3 { margin-top: .8rem; } h6 + h4 { margin-top: .8rem; } h6 + h5 { margin-top: .8rem; } h6 + h6 { margin-top: .8rem; } h1 + img, h2 + img, h3 + img { margin-bottom: 4.8rem; margin-top: 4.8rem; } [class*='content-'] > [class*='content-'] h2, [class*='content-'] > [class*='content-'] h3, [class*='content-'] > [class*='content-'] h4 { font-size: 2.4rem; line-height: 4rem; } /*== 2.1. Headings with background ==*/ h1[class*='bg-'] { padding: 2.4rem; } h2[class*='bg-'] { padding: 2.4rem; } h3[class*='bg-'] { padding: 2.4rem; } h4[class*='bg-'] { padding: 2.4rem; } h5[class*='bg-'] { padding: 2.4rem; } h6[class*='bg-'] { padding: 2.4rem; } ul[class*='bg-'], ol[class*='bg-'], li[class*='bg-'], p[class*='bg-'] { padding: 2.4rem; } h1 [class*='bg-'], h2 [class*='bg-'], h3 [class*='bg-'] { padding: .4rem .8rem; } /*== 2.2. Typography Classes = .text- == */ .text-intro, [class*='content-'] p { font-size: 2.4rem; line-height: 4rem; } /* -- Serif -- */ .text-serif, h1 span { font-family: 'Maitree', times, serif; } /* -- h1,h2... Promo/Landings -- */ .text-landing { letter-spacing: .4rem; text-transform: uppercase; } @media (min-width: 768px) { .text-landing { letter-spacing: 1.6rem; } } /* -- Subtitle (Before h1, h2) p.subtitle + h1/h2 */ .text-subtitle { letter-spacing: .2rem; margin-bottom: 0; text-transform: uppercase; } .text-subtitle p.text-subtitle { font-size: 1.6rem; } .text-subtitle p.text-subtitle svg { vertical-align: text-top; } .text-subtitle + p { margin-top: 3.2rem; } .text-uppercase { text-transform: uppercase; } .text-lowercase { text-transform: lowercase; } /* -- Emoji (you'll love this) -- */ .text-emoji { font-size: 6.8rem; line-height: 8.8rem; } @media (min-width: 768px) { .text-emoji { font-size: 12.8rem; line-height: 16rem; } } /* -- Numbers (results, sales... 23,478,289 iphones) -- */ .text-data { font-size: 6.4rem; line-height: 8rem; margin-bottom: .8rem; } @media (min-width: 768px) { .text-data { font-size: 15.2rem; line-height: 16.8rem; } } .text-label { display: inline-block; font-weight: 600; text-transform: uppercase; width: 12.8rem; } /* -- Magazine Two Columns -- */ @media (min-width: 768px) { .text-cols { -webkit-column-count: 2; column-count: 2; -webkit-column-gap: 4.8rem; column-gap: 4.8rem; text-align: left; } .text-landing + .text-cols { margin-top: 3.2rem; } } .text-cols p:first-child:first-letter { float: left; font-size: 11rem; font-weight: 600; line-height: 1; margin: -.4rem 1.6rem 0 0; padding: 0; text-transform: uppercase; } /* -- Heading with border -- */ .text-context { position: relative; } .text-context:before { content: ''; display: block; height: .2rem; margin-bottom: .6rem; width: 12rem; } .column .text-context:before { width: 100%; } .text-context.text-uppercase { letter-spacing: .1rem; } /* -- Separator/Symbols (stars ***...) -- */ .text-symbols { font-weight: 600; letter-spacing: .8rem; text-align: center; } .text-separator { margin-top: 2.4rem; } .text-separator:before { content: ''; height: .4rem; left: 0; margin-top: -1.6rem; position: absolute; width: 16%; } @media (min-width: 568px) { .text-separator { margin-left: 20%; margin-top: 0; width: 80%; } .text-separator:before { margin-top: 1.2rem; } } /* -- Pull Quote (Right/Left) -- */ [class*='text-pull'] { font-size: 2.4rem; font-weight: 400; line-height: 4rem; margin-bottom: 3.2rem; margin-left: 2.4rem; margin-right: 2.4rem; position: relative; } [class*='text-pull-'] { margin-top: .8rem; padding-top: 1.4rem; } @media (min-width: 1024px) { [class*='text-pull-'] { margin-left: -4.8rem; margin-right: -4.8rem; } } @media (min-width: 568px) { [class*='text-pull-'] { max-width: 40%; } .text-pull-right { float: right; margin-left: 2.4rem; margin-right: -2.4rem; } .text-pull-left { float: left; margin-left: -2.4rem; margin-right: 2.4rem; } } img[class*='text-pull-'], figure[class*='text-pull-'] { margin-top: .8rem; padding-top: 0; } /* -- Interviews (Questions & Answers) --- */ /* --
question or answer