diff --git a/static/css/webslides.css b/static/css/webslides.css index 7e24cf3..caf5710 100644 --- a/static/css/webslides.css +++ b/static/css/webslides.css @@ -1,7 +1,7 @@ /*! * Name: WebSlides * Version: 1.3.1 - * Date: 2017-05-29 + * Date: 2017-05-31 * Description: Making HTML presentations easy * URL: https://github.com/webslides/webslides#readme * Credits: @jlantunez, @LuisSacristan, @Belelros @@ -48,6 +48,11 @@ 16. Safari Bug (flex-wrap) 17. Print ----------------------------------------------------------------------------------- */ +/* === 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; } @@ -63,6 +68,7 @@ -webkit-animation: fadeIn 1s; animation: fadeIn 1s; } +/*-- fadeInUp -- */ @-webkit-keyframes fadeInUp { from { opacity: 0; @@ -72,7 +78,6 @@ opacity: 1; -webkit-transform: none; transform: none; } } - @keyframes fadeInUp { from { opacity: 0; @@ -87,13 +92,13 @@ -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); @@ -105,6 +110,7 @@ -webkit-animation: zoomIn 1s; animation: zoomIn 1s; } +/*-- slideInLeft -- */ @-webkit-keyframes slideInLeft { from { -webkit-transform: translate3d(-100%, 0, 0); @@ -113,7 +119,6 @@ to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } - @keyframes slideInLeft { from { -webkit-transform: translate3d(-100%, 0, 0); @@ -129,6 +134,7 @@ -webkit-animation-fill-mode: both; animation-fill-mode: both; } +/*-- slideInRight -- */ @-webkit-keyframes slideInRight { from { -webkit-transform: translate3d(100%, 0, 0); @@ -137,7 +143,6 @@ to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } - @keyframes slideInRight { from { -webkit-transform: translate3d(100%, 0, 0); @@ -153,6 +158,7 @@ -webkit-animation-fill-mode: both; animation-fill-mode: both; } +/* Animated Background (Matrix) */ @-webkit-keyframes anim { 0% { -webkit-transform: translateY(0); @@ -160,7 +166,6 @@ 100% { -webkit-transform: translateY(-1200px); transform: translateY(-1200px); } } - @keyframes anim { 0% { -webkit-transform: translateY(0); @@ -169,6 +174,7 @@ -webkit-transform: translateY(-1200px); transform: translateY(-1200px); } } +/* Duration */ .slow { -webkit-animation-duration: 4s; animation-duration: 4s; } @@ -439,6 +445,37 @@ dt { 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%; @@ -597,8 +634,2248 @@ pre { code { padding: .4rem; } +/*============================ +2. TYPOGRAPHY & LISTS +============================== */ +html, body { - background-color: #edf2f7; + 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%; } + +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; } + +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; } + +.text-intro, +[class*='content-'] p { + font-size: 2.4rem; + line-height: 4rem; } + +.text-serif, +h1 span { + font-family: 'Maitree', times, serif; } + +.text-landing { + letter-spacing: .4rem; + text-transform: uppercase; } + @media (min-width: 768px) { + .text-landing { + letter-spacing: 1.6rem; } } + +.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; } + +.text-emoji { + font-size: 6.8rem; + line-height: 8.8rem; } + @media (min-width: 768px) { + .text-emoji { + font-size: 12.8rem; + line-height: 16rem; } } + +.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; } + +@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; } + +.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; } + +.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; } } + +[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; } + +.text-interview dt { + font-weight: 600; + margin-bottom: 0; + text-transform: uppercase; } + +@media (min-width: 1024px) { + .text-interview dt { + margin-left: -34%; + position: absolute; + text-align: right; + white-space: nowrap; + width: 30%; } } + +.text-info { + font-size: 1.6rem; + line-height: 2.4rem; } + +.text-apple, +.bg-apple { + font-family: 'San Francisco', helvetica, arial, sans-serif; } + +@font-face { + font-family: 'San Francisco'; + font-weight: 100; + src: url("https://applesocial.s3.amazonaws.com/assets/styles/fonts/sanfrancisco/sanfranciscodisplay-ultralight-webfont.woff2"); } + +@font-face { + font-family: 'San Francisco'; + font-weight: 200; + src: url("https://applesocial.s3.amazonaws.com/assets/styles/fonts/sanfrancisco/sanfranciscodisplay-thin-webfont.woff2"); } + +@font-face { + font-family: 'San Francisco'; + font-weight: 400; + src: url("https://applesocial.s3.amazonaws.com/assets/styles/fonts/sanfrancisco/sanfranciscodisplay-regular-webfont.woff2"); } + +@font-face { + font-family: 'San Francisco'; + font-weight: bold; + src: url("https://applesocial.s3.amazonaws.com/assets/styles/fonts/sanfrancisco/sanfranciscodisplay-bold-webfont.woff2"); } + +/*=== 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) ================ */ +/*
img
*/ +.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%; } } + +/*========================================= +3. Header & Footer +=========================================== */ +/* -- If you want an unique, global header/footer,read this: +https://github.com/webslides/webslides/issues/57 -- */ +header, +footer, +#navigation { + padding: 2.4rem; + -webkit-transition: all .4s ease-in-out; + transition: all .4s ease-in-out; + width: 100%; } + +header p, +footer p { + line-height: 4.8rem; + margin-bottom: 0; } + +header[role='banner'] img, +footer img { + height: 4rem; + vertical-align: middle; } + +footer { + position: relative; } + +header, +footer { + z-index: 3; } + +header, +.ws-ready footer { + left: 0; + position: absolute; + top: 0; } + +.ws-ready footer { + bottom: 0; + top: auto; } + +header[role='banner'] { + opacity: 0; } + header[role='banner']:hover { + opacity: 1; } + +@media (max-width: 767px) { + footer .alignleft, + footer .alignright { + display: block; + float: none; } } + +/*=== 3.1. Logo === */ +.logo { + text-transform: lowercase; } + .logo a { + background: url("../images/logos/logo.svg") no-repeat 0 0; + background-size: 4.8rem; + float: left; + height: 4.8rem; + text-indent: -4000px; + /*If you remove text-indent and add: */ + /*padding-left: 6rem;*/ + vertical-align: middle; + width: 4.8rem; } + +/*========================================= +4. Navigation +=========================================== */ +/*=== 4.1. Navbars === */ +nav ul { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + /*====align left====*/ + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + /* ==== align center ====*/ + /*justify-content: center; */ + /*====align right====*/ + /* justify-content: flex-end; */ + /*====separated columns li a====*/ + /* justify-content: space-between; */ + /*====separated columns centered li a====*/ + /*justify-content: space-around;*/ } + nav ul li { + float: left; + list-style: none; + position: relative; } + +nav ul li:first-child, +nav[role='navigation'] ul li { + margin-left: 0; } + +nav[role='navigation'] li a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + line-height: 4.8rem; + max-width: 100%; + padding: 0 1.6rem; + position: relative; + text-decoration: none; } + nav[role='navigation'] li a svg { + margin: 1.5rem .4rem 1.5rem 0; } + +header nav ul { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + margin: 0; } + +nav.aligncenter ul, +.aligncenter nav ul { + /* ==== align center ====*/ + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; } + +nav.navbar ul li { + /*====full float li a ====*/ + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + +@media (max-width: 568px) { + nav.navbar ul { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-flow: column wrap; + flex-flow: column wrap; + padding: 0; } + nav.navbar li a { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } } + +/*============================================ +5. SLIDES (Full Screen) +Vertically and horizontally centered +============================================== */ +/* Fade transition to all slides. +* = All HTML elements will have those styles.*/ +section * { + -webkit-animation: fadeIn .6s ease-in-out; + animation: fadeIn .6s ease-in-out; } + +section .background, +section .light, +section .dark { + -webkit-animation-duration: 0s; + animation-duration: 0s; } + +/*=== Section = Slide === */ +section, +.slide { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + min-height: 100vh; + /*Fullscreen*/ + /* Prototyping? min-height: 720px (Baseline: 8px = .8rem)*/ + padding: 2.4rem; + /*Fixed/Visible header? padding-top: 12rem; */ + page-break-after: always; + position: relative; + word-wrap: break-word; } + @media (min-width: 1024px) { + section, + .slide { + padding-bottom: 12rem; + padding-top: 12rem; } } + +/*slide with no padding (full card, .embed youtube video...) */ +.fullscreen { + padding: 0; + /* Fixed/Visible header? + padding:8.2rem 0 0 0; + */ } + +/* slide alignment - top */ +.slide-top { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + +/* slide alignment - bottom */ +.slide-bottom { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; } + +/*== 5.1. Mini container width:50% +Aligned items [class*="content-"]=== */ +[class*='content-'] { + position: relative; + text-align: left; } + +.wrap[class*='bg-'], +.wrap.frame, +[class*='content-'][class*='bg-'], +[class*='content-'].frame, +[class*='align'][class*='bg-'] { + padding: 4.8rem; } + +form[class*='bg-'] { + padding: 2.4rem; } + +[class*='content-'] > [class*='content-'] p { + font-size: 1.8rem; + line-height: 3.2rem; } + +.content-center { + margin: 0 auto; + text-align: center; } + +@media (min-width: 768px) { + [class*='content-'] { + width: 50%; } + [class*='content-']:after, [class*='content-']:before { + content: ''; + display: table; } + [class*='content-']:after { + clear: both; } + .content-left { + float: left; } + .content-right { + float: right; } + [class*='content-'] + [class*='content-'] { + margin-bottom: 4.8rem; + padding-left: 2.4rem; } + [class*='content-'] + [class*='size-'] { + clear: both; + margin-top: 6.4rem; } } + +/*=== 5.3 Slides - Background Images/Videos === */ +.background, +[class*='background-'] { + background-repeat: no-repeat; + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; } + +/*=== BG Positions === */ +.background { + background-position: center; + background-size: cover; + /*fullscreen video +