From e229c21f5645e9155583c2a37575561af465a082 Mon Sep 17 00:00:00 2001 From: fengzhigang Date: Mon, 20 Feb 2017 22:10:53 +0800 Subject: [PATCH] update for 2017 --- .gitignore | 30 +- ...46\344\271\240\347\254\224\350\256\260.md" | 5 + ...46\344\271\240\347\254\224\350\256\260.md" | 5 + README.md | 65 + ...255\347\232\204scanf\344\270\216printf.md" | 459 +++++ ...52\347\216\257\347\273\223\346\236\204.md" | 58 + lectures/if.switch.md | 106 ++ lectures/topics.md | 35 + practices/c/level0/README.md | 48 + practices/c/level0/bubbleSort/README.md | 10 + .../c/level1/p01_runningLetter/README.md | 10 + practices/c/level1/p02_isPrime/README.md | 4 + practices/c/level1/p03_Diophantus/README.md | 17 + practices/c/level1/p04_ narcissus/README.md | 7 + practices/c/level1/p05_allPrimes/README.md | 5 + practices/c/level1/p06_Goldbach/README.md | 3 + .../c/level1/p07_encrypt_decrypt/README.md | 3 + practices/c/level1/p08_hanoi/README.md | 5 + practices/c/level1/p08_hanoi/hanoi.jpg | Bin 0 -> 9997 bytes practices/c/level1/p09_maze/README.md | 7 + practices/c/level1/p10_pushBoxes/README.md | 9 + practices/c/level1/p11_linkedList/README.md | 9 + practices/c/level1/p12_warehouse/README.md | 11 + practices/c/level2/GA/README.md | 11 + practices/c/level2/NeuralNetworks/README.md | 10 + practices/c/level2/PI/README.md | 11 + practices/cpp/level1/p01_Queue/README.md | 10 + practices/cpp/level1/p02_Stack/README.md | 18 + practices/cpp/level1/p03_SafeArray/README.md | 13 + .../level1/p04_cppScoreManagement/README.md | 14 + practices/cpp/level1/p05_Canvas/README.md | 6 + .../cpp/level1/p06_CircleAndPoint/README.md | 7 + practices/cpp/level1/p07_Circuit/README.md | 8 + .../cpp/level1/p08_EmployeeAndSales/README.md | 10 + practices/cpp/level1/p09_Tree/README.md | 8 + practices/cpp/level1/p10_Iterator/README.md | 5 + practices/cpp/level1/p11_Fighters/README.md | 5 + practices/cpp/level1/p11_Fighters/TodoList.md | 25 + ...6pQDsPyVH2D3tMQr3hpw3pgy2gAi-Ip7WPMi0.woff | Bin 0 -> 34220 bytes ...1cr5orMqEQy6ljt3bFhgvWbfSbdVg11QabG8w.woff | Bin 0 -> 32876 bytes ...1x_noxlxhrhMQYELO3LdcAZYWl9Si6vvxL-qU.woff | Bin 0 -> 36784 bytes ...eFgb0l7W3Vu1aSWOvvDin1pK8aKteLpeZ5c0A.woff | Bin 0 -> 36700 bytes ...-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff | Bin 0 -> 35852 bytes ...U09HnJwhYI-uK18wLUuEpTyoUstqEm5AMlJo4.woff | Bin 0 -> 37256 bytes slides/google/fonts_Late.css | 24 + slides/google/fonts_NewsCycle.css | 12 + slides/index.html | 67 + slides/reveal/reveal.min.css | 7 + slides/reveal/reveal.min.js | 8 + slides/reveal/reveal_bigFont.css | 1652 +++++++++++++++++ slides/reveal/simple.css | 132 ++ slides/src/base.jade | 31 + slides/src/index.jade | 47 + 53 files changed, 3023 insertions(+), 29 deletions(-) create mode 100755 "C++\345\255\246\344\271\240\347\254\224\350\256\260.md" create mode 100755 "C\350\257\255\350\250\200\345\255\246\344\271\240\347\254\224\350\256\260.md" create mode 100755 README.md create mode 100755 "lectures/C\344\270\255\347\232\204scanf\344\270\216printf.md" create mode 100755 "lectures/C\344\270\255\347\232\204\345\276\252\347\216\257\347\273\223\346\236\204.md" create mode 100755 lectures/if.switch.md create mode 100755 lectures/topics.md create mode 100755 practices/c/level0/README.md create mode 100755 practices/c/level0/bubbleSort/README.md create mode 100755 practices/c/level1/p01_runningLetter/README.md create mode 100755 practices/c/level1/p02_isPrime/README.md create mode 100755 practices/c/level1/p03_Diophantus/README.md create mode 100755 practices/c/level1/p04_ narcissus/README.md create mode 100755 practices/c/level1/p05_allPrimes/README.md create mode 100755 practices/c/level1/p06_Goldbach/README.md create mode 100755 practices/c/level1/p07_encrypt_decrypt/README.md create mode 100755 practices/c/level1/p08_hanoi/README.md create mode 100755 practices/c/level1/p08_hanoi/hanoi.jpg create mode 100755 practices/c/level1/p09_maze/README.md create mode 100755 practices/c/level1/p10_pushBoxes/README.md create mode 100755 practices/c/level1/p11_linkedList/README.md create mode 100755 practices/c/level1/p12_warehouse/README.md create mode 100755 practices/c/level2/GA/README.md create mode 100755 practices/c/level2/NeuralNetworks/README.md create mode 100755 practices/c/level2/PI/README.md create mode 100755 practices/cpp/level1/p01_Queue/README.md create mode 100755 practices/cpp/level1/p02_Stack/README.md create mode 100755 practices/cpp/level1/p03_SafeArray/README.md create mode 100755 practices/cpp/level1/p04_cppScoreManagement/README.md create mode 100755 practices/cpp/level1/p05_Canvas/README.md create mode 100755 practices/cpp/level1/p06_CircleAndPoint/README.md create mode 100755 practices/cpp/level1/p07_Circuit/README.md create mode 100755 practices/cpp/level1/p08_EmployeeAndSales/README.md create mode 100755 practices/cpp/level1/p09_Tree/README.md create mode 100755 practices/cpp/level1/p10_Iterator/README.md create mode 100755 practices/cpp/level1/p11_Fighters/README.md create mode 100755 practices/cpp/level1/p11_Fighters/TodoList.md create mode 100755 slides/google/fonts/9Xe8dq6pQDsPyVH2D3tMQr3hpw3pgy2gAi-Ip7WPMi0.woff create mode 100755 slides/google/fonts/G28Ny31cr5orMqEQy6ljt3bFhgvWbfSbdVg11QabG8w.woff create mode 100755 slides/google/fonts/HkF_qI1x_noxlxhrhMQYELO3LdcAZYWl9Si6vvxL-qU.woff create mode 100755 slides/google/fonts/RYyZNoeFgb0l7W3Vu1aSWOvvDin1pK8aKteLpeZ5c0A.woff create mode 100755 slides/google/fonts/qIIYRU-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff create mode 100755 slides/google/fonts/qdgUG4U09HnJwhYI-uK18wLUuEpTyoUstqEm5AMlJo4.woff create mode 100755 slides/google/fonts_Late.css create mode 100755 slides/google/fonts_NewsCycle.css create mode 100755 slides/index.html create mode 100755 slides/reveal/reveal.min.css create mode 100755 slides/reveal/reveal.min.js create mode 100755 slides/reveal/reveal_bigFont.css create mode 100755 slides/reveal/simple.css create mode 100755 slides/src/base.jade create mode 100755 slides/src/index.jade diff --git a/.gitignore b/.gitignore index 4581ef2e..6f1c26fe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,29 +1 @@ -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app +slides/.idea diff --git "a/C++\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/C++\345\255\246\344\271\240\347\254\224\350\256\260.md" new file mode 100755 index 00000000..8702be3d --- /dev/null +++ "b/C++\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -0,0 +1,5 @@ +# C++学习笔记 + +# 记录你学习过程中的所见所思!酸甜苦辣! + +# 看什么看! 赶紧填坑啊! \ No newline at end of file diff --git "a/C\350\257\255\350\250\200\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/C\350\257\255\350\250\200\345\255\246\344\271\240\347\254\224\350\256\260.md" new file mode 100755 index 00000000..5f40c203 --- /dev/null +++ "b/C\350\257\255\350\250\200\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -0,0 +1,5 @@ +# C语言学习笔记 + +# 记录你学习过程中的所见所思!酸甜苦辣! + +# 看什么看! 赶紧填坑啊! \ No newline at end of file diff --git a/README.md b/README.md new file mode 100755 index 00000000..fed03219 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# CCpp2017 + +## 基本操作流程 + +1. 从 [https://github.com/luckymark/CCpp2017](https://github.com/luckymark/CCpp2017) fork 到你自己的github中 +2. 创建本地仓库:(如果用机房的电脑,则建议clone到U盘,便于携带) + + ``` + git clone https://github.com/ **YourGithubAccount** /CCpp2017 + cd CCpp2017 + ls + + git config user.name=??? + git config user.email=??? + + git remote -v + git remote add upstream https://github.com/luckymark/CCpp2017 + ``` + +3. 修改、提交代码: + + ``` + git status + git add . + git commit -m "完成了running letter" + git push + ``` + +4. 从 https://github.com/luckymark/CCpp2017 获取更新 + + ``` + git fetch upstream + git merge upstream/master + ``` + [在github网页上更新的方法](https://www.zhihu.com/question/20393785/answer/30725725) + + [fork后如何同步源的新更新](https://segmentfault.com/q/1010000002590371) + +5. 请求老师review代码的方法:在github网页上发起一个PR(pull request)即可 + +## [作业](https://github.com/luckymark/CCpp2017/tree/master/practices) + +1. level0 可选,用于还不够熟练的同学练手(嫌题目太少的同学,那就刷刷咱[神技大学的OJ](http://acm.uestc.edu.cn/#/)吧,从低到高地刷哈) +2. level1 必做,课堂+课后练习 +3. level2 可选,供精力旺盛到变态的大神们发泄之用 + +## 参考 + +### GIT + +[史上最浅显易懂的Git教程! 廖雪峰](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000) + +[Pro Git(中文版)](http://git.oschina.net/progit/) + +[Git远程操作详解 阮一峰](http://www.ruanyifeng.com/blog/2014/06/git_remote.html) + +[fork后如何跟上源repo的变化](https://segmentfault.com/q/1010000002590371) + +### Markdown + +[Markdown入门指南](http://www.jianshu.com/p/1e402922ee32) + +### 其他 + +[免费的计算机编程类中文书籍](https://github.com/wwj718/free-programming-books-zh_CN) diff --git "a/lectures/C\344\270\255\347\232\204scanf\344\270\216printf.md" "b/lectures/C\344\270\255\347\232\204scanf\344\270\216printf.md" new file mode 100755 index 00000000..afffe627 --- /dev/null +++ "b/lectures/C\344\270\255\347\232\204scanf\344\270\216printf.md" @@ -0,0 +1,459 @@ +# C中的scanf与printf + +## 为什么这两个函数叫这个名字 + +我们首先考虑一下这个问题,为什么这两个函数不叫scan和print + +f-format +格式输入输出 + +## 格式是什么 + +先看到两个函数的原型 + +--- + +int scanf ( const char * format, ... ); + +**Read formatted data from stdin** +Reads data from stdin and stores them according to the parameter format into the locations pointed by the additional arguments. + +The additional arguments should point to already allocated objects of the type specified by their corresponding format specifier within the format string. + +--- + +int printf ( const char * format, ... ); + +**Print formatted data to stdout** +Writes the C string pointed by format to the standard output (stdout). If format includes format specifiers (subsequences beginning with %), the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers. + +## scanf + +举一个最简单的例子 + +``` +int a =1, b =2, c =3; int n = scanf("%d %d %d", &a, &b, &c); +printf("%d\n", n ); printf("%d, %d, %d", a, b, c); +``` + +n保存了scanf的返回值 +成功读取了几个变量就返回几,如果遇到错误则返回**EOF** +先解释一下EOF + +--- + +#### 什么是EOF? + +- 一般被定义为整数-1 +- 是系统给出的一个信号(并不存在于文件)告诉你**没有数据**可以再进行读取了 + +#### 如何“制造”一个EOF? + +- Windows: Ctrl+Z + Enter +- *nix: Ctrl+D + +--- + +回到刚才的小程序,关键的一行代码 +`scanf("%d %d %d", &a, &b, &c);` +这个**%d**就是**格式控制符** +还有很多其他的格式控制符,列举几个常用的 + +* %c 读入一个字符 +* %d 读入十进制整数 +* %i 读入十进制,八进制,十六进制整数 +* %o 读入八进制整数 +* %x,%X 读入十六进制整数 +* %c 读入一个字符 +* %s 读入一个字符串,遇空格、制表符或换行符结束。 +* %f,%F,%e,%E,%g,%G 用来输入float,可以用小数形式或指数形式输入。double是类似的 +* %p 读入一个指针 +* %u 读入一个无符号十进制整数 +* %n 至此已读入值的等价字符数 +* %[] **正则表达式** +* %% 读%符号 + +对应每个 + +下面讲几个重要的 + +### %i + +我也没用过 +单独拿出来说 +大家都知道%d是输入一个整数。确切的说是输入一个十进制整数 +这个标识符可以读入16进制与8进制的数并转化成十进制整数存储 + +### 64位整数 + +变量定义 + +- Windows: __int64 (gcc/高版本vs中貌似也可以用long long) +- *nix: long long + +输出格式 + +- Windows: I64d +- *nix: lld + +### long double 类型 + +long double 在C99之后成为正式的关键字 +精度由编译器决定,有的是和double一样的8位,有的是10/12/16位 +使用sizeof(long double)查看 + +使用**%Lf**或者**%llf** + +这些常用的格式控制符是scanf/printf都拥有相同功能的(把读入换成输出就行了) + +--- + +### 除了格式控制符以外还能有什么呢 + +* “空格”(包括tab和换行符) +* 不是格式控制符的普通字符 + +遇到空格:不论有几个空格的效果都是一样的,作用是跳过缓冲区中的空格字符直到当前字符不是空格 + +普通字符:比较这个字符是不是等于下一个字符。如果是的话就读入,不是的话就停止读入(函数直接返回) + +``` +int x=-1; +int n = scanf(" d%d",&x); +printf("%d\n%d",n,x); +``` + +``` +int x=0; +while( scanf("%d ",&x) != EOF){ + printf("%d\n",x); +} +``` + +### 表达式贪心匹配 + +就是说每次匹配的数量尽可能的多,举个例子 + +``` +char str[10];int x; +scanf("%s:%d",str,&x); +printf("%s %d\n",str,x); +//输入 ccpp:1234 7654321 +//你预计输出 ccpp 1234 +//但事实上输出 ccpp:1234 [未定义整数] +``` + +#### 小测试 + +``` +char a[]="%d,%d",b[]="%d , %d",c[]="%d ,%d"; int x,y; +while( scanf( a, &x, &y)!= EOF){ + printf("%d, %d\n",x,y); +} +``` + +``` +1,2 +3 ,4 +5, 6 +7 , 8 +9 10 +``` + +### 正则表达式的使用 + +由于这个贪心匹配的规则,让字符串的匹配不是那么容易直接得到想要的结果,这个时候就要用上正则表达式来进行高级匹配 + +插播一下正则表达式学习资源: +[著名的正则表达式三十分钟入门](http://deerchao.net/tutorials/regex/regex.htm) +[在线测试](http://snowcoal.com/tools/regex/reg) + +最简单的应用 + +定制自己的扫描集`%[abc]、%[a-z]、%[^abc]、%[^a-z]`,比isdigit()、isalpha()更加灵活。[]内是匹配的字符,^表示求反集。 + +举个例子 + +``` +char str[10],str2[10];int x=0; +scanf("%[^#]%s",str,str2); +printf("%s|%s",str,str2); +\\输入 ccpp 2#uestc +\\输出 ccpp 2|#uestc +``` + +这个表达式的意思是匹配到第一个不是'#'号的内容为止 +很容易发现这个'#'并没有被丢弃,只是匹配停止了而已 + +前两天提到一个问题,如何用scanf读取一整行内容 +很容易想到使用`%[^\n]`即读取到换行符为止 +那么问题就来了 + +- 历史遗留问题:`\n`与`\r` +- 这一行并没有真正的被读取 + +不管怎么说,`\n`还没有地方放呢。如果你以为这一行已经读完了,Boom +我们要尽可能的让程序**鲁棒** +所以推荐使用fgets(,,)安全方便快捷 + +以上先放一边,继续看格式控制符 + +--- + +现在告诉你一个格式控制符完整的样子 +`%[*][width][length]specifier` +*号的作用是读入这个格式控制符代表的数但是不存储(非常有用) +width是一个整数用来控制这次读入的字符长度 +length有这么几个可选值:hh, h, l, ll, j, z, t, L 用来操纵读入数据在内存中的长度 + +> 注意:以上三个部分都是可选的 + +那么格式控制符基本介绍完啦 + +--- + +### 如何输入多组数据 + +当输入的个数你无法预先只知道的时候,我们就要用到刚刚说的EOF啦 +我们来看一段程序 + +``` +int x = 0; while( scanf("%d", &x) != EOF ){ ... +} +``` + +看起来非常完美(并不 +我们看看能不能制造一点问题出来 + +输入一些非数字进去看看会是神马结果:%T@#$@KI + +进入了死循环... + +为什么会这样呢 + +因为每一次的scanf都失败了,返回了0,然而程序并没有停下来... + +来一段学术一点的文字 + +**scanf函数是以删除的方式从缓冲区读取数据(缓冲区中存储来自标准输入的数据)。**如果缓冲区是空的,就阻塞之,等待从键盘输入;并且scanf还能对数字输入忽略先导的空白符,如\n\t和空格等(注意,对字符输入并不忽略先导字符,这个也是很自然的道理,因为\n\t和空格在字符中都是合法的字符)。 + +聪明的你一定已经知道如何正确的读取多组数据了吧 + + +## printf + +### 返回值 + +``` +int count = printf("This is a test!\n"); +printf("%d\n", count); +\\This is a test! +\\16 +``` + +返回输出字符的数量 + +### 格式控制符 + +我们已经有了scanf的知识了,这部分就很简单了 + +`%[flags][width][.precision][length]specifier` +`%[标志][宽度][.精度][长度修饰]类型` + +稍微比scanf多一点东西。比较我们要控制输出嘛 + +### 类型 + +与scanf基本相同,只是简单类型不需要再传地址而是传值了 +那么我来讲几个不同的 + +> C99加入了一坨东西,这里不说了,就现在来说没什么意思 + +> 浮点数的默认保留小数点后的6位(是怎么保留的呢,我们之后再讲) + +#### %f问题 + +读入的时候float与double是不同的控制符,但是在原来的标准中输出统一用%f,在某些编译器上用%lf输出double会RE/WA + +#### %p问题 + +输出指针的十六进制标准格式 + +``` +int a=0; +printf("%p", &a); +\\0x7fff5cdf57ec +\\我是64位机器 +``` + +#### %n问题 + +这个并不是输出标识符,而是需要你传给printf一个指向int类型的指针,printf会放入一个整数表示已经输出了多少个字符 + +``` +char str[]="uestc"; +int len; +printf("%s%n-ccpc\n", str, &len); +printf("%d\n",len); +\\uestc-ccpc +\\5 +``` + +### 宽度 + +有两种选择 + +#### 整数 + +指定了输出宽度 + +``` +int a=2, b=10; +printf("%d%5d", a, b); +\\2 10 +``` + +#### 星号 + +由一个参数决定输出宽度 + +``` +int a=2, width=3; +printf("%*d",width, a); +\\ 2 +``` + +### 精度 + +这个参数是控制浮点数精度的,经常搭配宽度使用,同样可以用星号来用参数决定宽度,这里不再赘述 + +重点是:程序是如何进行舍入的 + +#### 先看一个例子 + +``` +printf("%.2f, %.2f\n", 9.805, 9.8051); +printf("%.2f, %.2f\n", 9.815, 9.8151); +printf("%.2f, %.2f\n", 9.825, 9.8251); +printf("%.2f, %.2f\n", 9.835, 9.8351); +printf("%.2f, %.2f\n", 9.845, 9.8451); +printf("%.2f, %.2f\n", 9.855, 9.8551); +printf("%.2f, %.2f\n", 9.865, 9.8651); +printf("%.2f, %.2f\n", 9.875, 9.8751); +printf("%.2f, %.2f\n", 9.885, 9.8851); +printf("%.2f, %.2f\n", 9.895, 9.8951); +``` + +``` +9.80, 9.81 +9.81, 9.82 +9.82, 9.83 +9.84, 9.84 +9.85, 9.85 +9.86, 9.86 +9.87, 9.87 +9.88, 9.88 +9.88, 9.89 +9.89, 9.90 +``` + +#### Banker’s rounding + +> 1. 被修约的数字等于或小于4时,该数字舍去; +> 2. 被修约的数字等于或大于6时,则进位; +> 3. 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。 + +回到刚才的输出结果 + +貌似并不完全符合这个规律,不管5前面是奇数还是偶数,都出现了进位和舍去的情况。猜想这应该与浮点型在计算机中采用二进制存储有关。对有些无法由二进制有限表示的小数,超出浮点数尾数的部分将被直接舍去,造成了输出不稳定的现象。但是这种解释将使数值在Banker’s rounding 的基础上一定变小,而显然9.845变成9.85并不满足,原因不明。当然也有可能超出浮点数尾部的部分并不是直接舍去,而也是采取了四舍五入的方法,暂时没有找到资料支撑。 + +如果真的需要四舍五入,我们在数字不大的时候用math库中的round(),在数字很大的时候用sprintf/sscanf手工处理 + +### 标志位 + +#### - + +配合宽度使用,向左对齐 + +``` +char buf[] = "Test"; +printf("%-10s"); +\\"Test "(6个空格) +``` + +#### + + +数值类型专用,强制输出正负号,可以与上面的‘-’合用 + +``` +double a = 3.4567: +printf("%-+8.2lf", a); +\\"+3.46 " +``` + +#### 0 + +若前半部分有空白,补充前导零 + +``` +unsigned int x = 122; +printf("%05u", x); +\\"00122" +``` + +#### 井号 + +只对于 %o, %x 有用, 加上进制的前缀 +%#o前缀为0, %#x前缀为 0x, %#X前缀为 0X + +``` +unsigned int a = 15; +printf("%u %#o %#X", a, a, a); +\\"15 017 0XF" +``` + +#### %(空白) + +数值专用,不能与‘+’合用。若输出为正数,留出一个空格的符号位 + +``` +int a=10; +printf("% -5d"); +\\" 10 " +``` + +--- + +那么scanf/printf的主要内容就讲完了 + +--- + +## 最后来吹个B + +关于I/O流的 +现象不是很好重现(现在机器太快了...),对平台要求比较高(说好听点就是比较隐蔽),就当是吹B了 + +我们知道系统给我们提供了三种标准I/O流: stdin,stdout,stderr +当然了,和文件流操作上是基本统一了 + +先引入**缓冲区**这个概念 + +比如我想把一篇文章以字符序列的方式输出到计算机显示器屏幕上,那么我的程序内存作为数据源而显示器驱动程序作为数据目标,如果数据源直接对数据目标发送数据的话。数据目标获得第一个字符,便将它显示。然后从端口读取下一个字符,可是这时就不能保证数据源向端口发送的恰好是第二个字符(也许是第三个,而第二个已经在数据目标显示时发送过了)。这样的话就不能保证输出的数据能完整的被数据目标所接受并处理。 + +为了解决这个问题,我们需要在数据源与数据目标中间放置一个保存完整数据内容的区域,那就是 “缓冲区”。这样的话, 数据源可以不考虑数据目标正在处理哪部分数据,只要把数据输出到缓冲区就可以了,数据目标也可以不考虑数据源的发送频率,只是从缓冲区中依次取出下一个数据。从而保证了数据发送的完整性,同时也提高了程序的效率。为什么说提高了效率呢?首先是两边操作不需要同步,再者也方便系统做对齐之类的工作,凑够一定量的字符一口气发出去。(瞎比乱说的) + +回到这三种I/O流上来。对于输入,只有我们在按了回车键之后,屏幕上输入的内容才一次性的被传入缓冲区。(有人问:能不能实时的监测键盘输入呢?答案是肯定的。conin.h里的getch(),getche()就是这样的,直接操作控制台,和stdin没有任何关系)这就可以解释刚刚提到的scanf死循环啊什么的问题了。scanf并不是直接从屏幕上读取,而是从缓冲区内读取数据 + +那么同理,我们的输出也不是直接发到屏幕上的,而是发送到缓冲区内的。但是为什么我们看起来就像直接看到了呢?(因为计算机快啊。。。)那么我们想想,会不会存在一个问题:程序结束了,输出缓冲区的内容还没有完全到达输出流;或者是输出printf后无法立即接收到反馈信息呢(内部交互的程序) + +所以在C语言中如果用的文件/重定向的标准输出,程序结束之前最好fclose(stdout); +如果写程序之间的交互要用fflush(stdout);当然你用cout< +int main() +{ + int i=-2,j; + do + { + printf("A\n"); + } + while(i>0); + return 0; +} +``` +##break;continue;goto语句在循环中的作用 +* break可以跳出当前循环。 +* continue可以直接进入下一次循环。 +* goto什么的最好不好用,在有特殊需要的情况下,可以跳转到其他你想的地方。 + + +> 其实无聊的时候可以试试用if,goto来构造循环玩(误) + + +##关于效率的一些玄学 +* `i++` || `++i` +* `int i=0;i0;i--` +* [内层循环次数大 || 外层循环次数大](https://github.com/pzhxbz/learngit/blob/master/shangkeceshi21.cpp) +* [`int i=0;i 使程序并行化是不错的选择 +> +> [openmp了解](http://blog.csdn.net/netnote/article/details/3137563) + + + diff --git a/lectures/if.switch.md b/lectures/if.switch.md new file mode 100755 index 00000000..fbed2a86 --- /dev/null +++ b/lectures/if.switch.md @@ -0,0 +1,106 @@ +#C语言中的分支结构(if、switch) +--- +##if语句 +``` C +if (1) +{ + printf("vanishment this world"); +} +``` +当小括号内的表达式值为真(也就是非0的值)时 执行if的内嵌语句 + +if的内嵌语句从语法上来说是单语句 建议**用花括号括起来** +``` C +if (1) +{ + printf("YES"); +} +else +{ + printf("NO"); +} +``` +当小括号内的表达式值为真(也就是非0的值)时 执行if的内嵌语句 + +当小括号内的表达式值为假(也就是0值)时 执行else后的语句 + +else会同**与自身最近的上一个if语句配对** 这一点尤其要注意 + +--- +##switch语句 +``` C +int a=1; +switch (a) +{ + case 1: printf("YES"); + break; + case 0: printf("NO"); + break; + default: printf("ERROR"); + break; +} +``` +小括号内的表达式类型**只能是int或char或bool(C99,详见下)** + +当表达式的值与某个case后的常量相等时 + +执行该case对应的语句**直至break一类的语句或switch语句结束** + +当表达式的值与每个case后的常量都不相等时 + +执行default对应的语句**直至break一类的语句或switch语句结束** + +goto语句也能跳出switch 因其使程序难以阅读 建议使用break + +--- +##C89 C99中相关部分 +相比C89 C99有了如下相关变化 + +- 条件语句的嵌套层数由8层变为63层 + +- 增加了一个数据类型bool + + 其头文件stdbool.h的源代码如下 + + /* + +  * ISO C Standard: 7.16 Boolean type and values + +  */ + +  #ifndef _STDBOOL_H + +  #define _STDBOOL_H + +  #ifndef __cplusplus + +  #define bool _Bool + +  #define true 1 + +  #define false 0 + +  #else /* __cplusplus */ + +  /* Supporting in C++ is a GCC extension. */ + +  #define _Bool bool + +  #define bool bool + +  #define false false + +  #define true true + +  #endif /* __cplusplus */ + +  /* Signal that all the definitions are present. */ + +  #define __bool_true_false_are_defined 1 + +  #endif /* stdbool.h */ + +--- +> ~~很惭愧 就做了一点微小的工作~~ + +--- diff --git a/lectures/topics.md b/lectures/topics.md new file mode 100755 index 00000000..e7e462ba --- /dev/null +++ b/lectures/topics.md @@ -0,0 +1,35 @@ +## 工具 + +* git & github(15分钟) +* debug(15分钟) + +## C语言 + +* printf & scanf(10分钟) +* 分支(if、switch)(10分钟) +* 循环(while、do while、for)(15分钟) +* 数组(10分钟) +* 结构(10分钟) +* 常量 & 变量(10分钟) +* 表达式 & 运算符(10分钟) +* 宏定义(10分钟) +* 函数(30分钟) +* 指针(20分钟) +* 作用域 & 生命期(15分钟) + +## C++ + +* 类 + * 声明 & 定义(10分钟) + * 构造函数 & 析构函数(15分钟) + * this指针(15分钟) + * 实例成员 & 静态成员(15分钟) + * 函数重载(15分钟) + * 访问控制 & 友元 (20分钟) +* 继承(20分钟) +* 虚函数(20分钟) +* 运算符重载(20分钟) +* 模板(20分钟) +* 异常(10分钟) +* 命名空间(10分钟) + diff --git a/practices/c/level0/README.md b/practices/c/level0/README.md new file mode 100755 index 00000000..ecb75823 --- /dev/null +++ b/practices/c/level0/README.md @@ -0,0 +1,48 @@ +### C0 + +1. 打印 “Hello world!I'm 某某某!” + +### C1 + +1. 判断数的正负、判断是否为偶数 +2. 判断一个数是否是13的倍数 +3. 判断闰年 +4. 从2个整数中,找出最大的那个数 +5. 从3个整数中,找出最大的那个数 +6. 从n个整数中,找出最大的那个数 + +### C2 +1. 说1万遍“你好!” +2. 尝试以下代码的运行效果(windows环境下): + +``` + system("color 0a"); + while(1){ + printf("0 1"); + } +``` + +3. 尝试以下代码的运行效果: + +``` + system("color 0a"); + while(1){ + printf("%d\t",rand()/1000); + } +``` + +4. 打印2-100的所有偶数 +5. 打印所有1-100,能被3整除,但不能被5整除的数 +6. 打印1-100,是7的倍数,或者尾数为7的所有数,并打印这些数的总和 +7. 打印一个九九表 +8. 输入n个数,并将它们逆序输出 +9. 输入5个0-9的数,输出0-9中没有出现过的数 +10. 输入5个0-9的数,输入的数从小到大排序(排序方法不限,但鼓励尝试下“桶排序”,不知道什么是“桶排序”的话,可以google之) + +### C3 +1. 编写一个函数,计算数组的和 +2. 编写一个阶乘函数 +3. 编写一个斐波那契函数 +4. 编写一个函数,判断三角形是否为直角三角形 +5. 编写一个函数,判断2个矩形是否有重叠(即游戏中常用的碰撞检测函数) +6. 编写一个函数,将美元换算为人民币 \ No newline at end of file diff --git a/practices/c/level0/bubbleSort/README.md b/practices/c/level0/bubbleSort/README.md new file mode 100755 index 00000000..5b291fe8 --- /dev/null +++ b/practices/c/level0/bubbleSort/README.md @@ -0,0 +1,10 @@ +### 题目:冒泡排序 + +### 功能要求: + +1. 采用冒泡算法实现一个排序算法 +2. 构造一个正整数数组,测试该冒泡算法 +3. 测试不同情况下的执行时间 + +### 参考: +[冒泡排序-百度百科](http://baike.baidu.com/link?url=mk5B_WaNbOLIbgx-pjQ45OkfTe14BCxcz1C6ZS86AsAduhwNKFM_Q3kqIK-6a6VDh6XKpd-VW8PR1IvaU1FhYTUqqnh5n4ovRUALgFvGox3nEmhkpALdhpvYxfbTkLGpDL90SiatgfuWCWujleIA8E3FUL3qJmC0TnEQN7kD1fHxmhq6uZeVXeTNfxlURvAd) diff --git a/practices/c/level1/p01_runningLetter/README.md b/practices/c/level1/p01_runningLetter/README.md new file mode 100755 index 00000000..a1eb66e5 --- /dev/null +++ b/practices/c/level1/p01_runningLetter/README.md @@ -0,0 +1,10 @@ +### 题目:奔跑的字母 + +### 功能要求: + +1. 在console上输出一个字母(或单词) +2. 使该字母或单词,按一定速度从左至右运动 +3. 当遇到屏幕边界时反向运动 + + + diff --git a/practices/c/level1/p02_isPrime/README.md b/practices/c/level1/p02_isPrime/README.md new file mode 100755 index 00000000..f67b81e4 --- /dev/null +++ b/practices/c/level1/p02_isPrime/README.md @@ -0,0 +1,4 @@ +### 功能要求: + +1. 任意输入一个正整数n +2. 判断n是否为素数 \ No newline at end of file diff --git a/practices/c/level1/p03_Diophantus/README.md b/practices/c/level1/p03_Diophantus/README.md new file mode 100755 index 00000000..021fd647 --- /dev/null +++ b/practices/c/level1/p03_Diophantus/README.md @@ -0,0 +1,17 @@ +### 编程解决下面的问题: + +取自《希腊诗选》(Greek Anthology): + +丢番图的童年经过了他一生的六分之一, + +青年经过了十二分之一, + +又有七分之一的时间是单身汉。 + +结婚五年后得了个儿子, + +儿子比父亲先死四年, + +年级是他的一半。 + +问儿子死时丢番图多大? \ No newline at end of file diff --git a/practices/c/level1/p04_ narcissus/README.md b/practices/c/level1/p04_ narcissus/README.md new file mode 100755 index 00000000..c7fc78e3 --- /dev/null +++ b/practices/c/level1/p04_ narcissus/README.md @@ -0,0 +1,7 @@ +### 功能要求: + +1. 打印出所有3位水仙花数 + +水仙花数:n位数的每个数位的n次方之和等于该n位数本身 + +例如:153=1^3+5^3+3^3 \ No newline at end of file diff --git a/practices/c/level1/p05_allPrimes/README.md b/practices/c/level1/p05_allPrimes/README.md new file mode 100755 index 00000000..c9ee3cb6 --- /dev/null +++ b/practices/c/level1/p05_allPrimes/README.md @@ -0,0 +1,5 @@ +### 功能要求: + +1. 打印2-1000以内的所有素数 +2. 打印出总的计算时间 +3. 尽可能优化算法的效率 \ No newline at end of file diff --git a/practices/c/level1/p06_Goldbach/README.md b/practices/c/level1/p06_Goldbach/README.md new file mode 100755 index 00000000..28ac69b3 --- /dev/null +++ b/practices/c/level1/p06_Goldbach/README.md @@ -0,0 +1,3 @@ +### 功能要求: + +1. 在100范围内验证哥德巴赫猜想的正确性 \ No newline at end of file diff --git a/practices/c/level1/p07_encrypt_decrypt/README.md b/practices/c/level1/p07_encrypt_decrypt/README.md new file mode 100755 index 00000000..efd67472 --- /dev/null +++ b/practices/c/level1/p07_encrypt_decrypt/README.md @@ -0,0 +1,3 @@ +### 功能要求: + +1. 分别编写“加密”、“解密”函数,输入为任意长度的字符串 \ No newline at end of file diff --git a/practices/c/level1/p08_hanoi/README.md b/practices/c/level1/p08_hanoi/README.md new file mode 100755 index 00000000..859be942 --- /dev/null +++ b/practices/c/level1/p08_hanoi/README.md @@ -0,0 +1,5 @@ +### 功能要求: + +1.汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 + +![](./hanoi.jpg) \ No newline at end of file diff --git a/practices/c/level1/p08_hanoi/hanoi.jpg b/practices/c/level1/p08_hanoi/hanoi.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f596da2cd66b9406bd038f276756cf004b77a978 GIT binary patch literal 9997 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 RO#310OGok!$11G(e*kU_l2!l! literal 0 HcmV?d00001 diff --git a/practices/c/level1/p09_maze/README.md b/practices/c/level1/p09_maze/README.md new file mode 100755 index 00000000..eaa105de --- /dev/null +++ b/practices/c/level1/p09_maze/README.md @@ -0,0 +1,7 @@ +### 题目:迷宫小游戏(基于console) + +### 功能要求: + +1. 在控制台上显示一个迷宫,包括:墙、玩家、出口等; +2. 通过上下左右键,控制玩家行走; +3. 当玩家到达出口,则显示玩家赢得了游戏; \ No newline at end of file diff --git a/practices/c/level1/p10_pushBoxes/README.md b/practices/c/level1/p10_pushBoxes/README.md new file mode 100755 index 00000000..4419d7ad --- /dev/null +++ b/practices/c/level1/p10_pushBoxes/README.md @@ -0,0 +1,9 @@ +### 题目:推箱子小游戏(基于console) + +### 功能要求: + +1. 将p09迷宫游戏改造为“推箱子”游戏; +2. 在地图中增加箱子、箱子目标位置等图形; +3. 当玩家将所有箱子归位,则显示玩家赢得了游戏; +4. 按玩家走动步数记分; +5. 设计多个关卡,每一关的地图从文件中读取,玩家每关的分数记录到文件中; \ No newline at end of file diff --git a/practices/c/level1/p11_linkedList/README.md b/practices/c/level1/p11_linkedList/README.md new file mode 100755 index 00000000..ed974fdd --- /dev/null +++ b/practices/c/level1/p11_linkedList/README.md @@ -0,0 +1,9 @@ +### 题目:单向链表 + +### 功能要求: + +1. 在main函数中创建一个单向链表; +2. 遍历该链表,依次现实各节点的value; +3. 将该链表所有节点反序; +4. 在该链表中查找第一个值为5的节点,如果找到则返回该节点的序号,否则返回-1; +5. 查找下一个值为5的节点,返回值同上; \ No newline at end of file diff --git a/practices/c/level1/p12_warehouse/README.md b/practices/c/level1/p12_warehouse/README.md new file mode 100755 index 00000000..67f48b1b --- /dev/null +++ b/practices/c/level1/p12_warehouse/README.md @@ -0,0 +1,11 @@ +### 题目:简单进销存 + +### 功能要求: + +1. 实现如下的菜单(按数字选择菜单功能): + 2. 显示存货列表 + 3. 入库 + 4. 出库 + 5. 退出程序 +6. 实现菜单对应功能(需记录货物的型号、数量等信息); +7. 程序启动时从文件中读取当前库存数据,退出时保存库存数据; \ No newline at end of file diff --git a/practices/c/level2/GA/README.md b/practices/c/level2/GA/README.md new file mode 100755 index 00000000..9eb9d6ba --- /dev/null +++ b/practices/c/level2/GA/README.md @@ -0,0 +1,11 @@ +### 题目:寻径GA(遗传算法) + +### 要求: + +1. 任意给出一个迷宫地图(参见level1/p09_maze),采用GA实现一个算法,寻找最佳路径 +2. 绘制出最佳路径 +3. 打印运算时间 + +### 参考: + +[遗传算法入门](http://blog.csdn.net/zzwu/article/details/561577) \ No newline at end of file diff --git a/practices/c/level2/NeuralNetworks/README.md b/practices/c/level2/NeuralNetworks/README.md new file mode 100755 index 00000000..0ff03ec4 --- /dev/null +++ b/practices/c/level2/NeuralNetworks/README.md @@ -0,0 +1,10 @@ +### 题目:数字识别 & 神经网络 + +### 要求: + +1. 在一个8*8的点阵中绘制(模拟)手写的数字 +2. 设计并训练一个神经网络,以识别手写的数字 + +### 参考: + +[神经网络入门](http://blog.csdn.net/zzwu/article/details/574931) \ No newline at end of file diff --git a/practices/c/level2/PI/README.md b/practices/c/level2/PI/README.md new file mode 100755 index 00000000..921dd792 --- /dev/null +++ b/practices/c/level2/PI/README.md @@ -0,0 +1,11 @@ +### 题目:PI(2014级陈飞宇大神挖坑) + +### 要求: + +1. 计算PI,精度>1万位(够黑啊!) +2. 打印总时间 +3. 打印内存消耗的最大值 + +### 参考: + +[2014级柱神作品](https://github.com/holdzhu/uestc2015ccpp/tree/master/Pi) (做完本题后再看啊!!!) \ No newline at end of file diff --git a/practices/cpp/level1/p01_Queue/README.md b/practices/cpp/level1/p01_Queue/README.md new file mode 100755 index 00000000..4238ed13 --- /dev/null +++ b/practices/cpp/level1/p01_Queue/README.md @@ -0,0 +1,10 @@ +### 题目:Queue(队列) + +### 功能要求: + +实现一个队列类,可容纳100个int数据,并实现下面的操作: + +1. append(入队) +2. pop(出队) +3. 判断队列是否满 +4. 判断队列是否空 \ No newline at end of file diff --git a/practices/cpp/level1/p02_Stack/README.md b/practices/cpp/level1/p02_Stack/README.md new file mode 100755 index 00000000..ff1448c4 --- /dev/null +++ b/practices/cpp/level1/p02_Stack/README.md @@ -0,0 +1,18 @@ +### 题目:IntStack(堆栈) + +### 功能要求(一): + +实现一个IntStack类(后进先出FILO),可容纳100个int数据,并实现下面的操作: + +1. push(入栈) +2. pop(出栈) +3. 判断是否满 +4. 判断是否空 + +### 功能要求(二): + +实例化堆栈对象的时候,可指定该堆栈的容量 + +### 功能要求(三)(学了模板以后再做): + +将IntStack改造为类型无关的Stack \ No newline at end of file diff --git a/practices/cpp/level1/p03_SafeArray/README.md b/practices/cpp/level1/p03_SafeArray/README.md new file mode 100755 index 00000000..18a33614 --- /dev/null +++ b/practices/cpp/level1/p03_SafeArray/README.md @@ -0,0 +1,13 @@ +### 题目:SafeArray(安全数组) + +### 功能要求(一): + +实现int型数组的基本功能,当数组下标越界时报错; + +### 功能要求(二)(学了运算符重载后再做): + +实现下标运算操作; + +### 功能要求(三)(学了模板后再做): + +实现类型无关的安全数组; diff --git a/practices/cpp/level1/p04_cppScoreManagement/README.md b/practices/cpp/level1/p04_cppScoreManagement/README.md new file mode 100755 index 00000000..8da01121 --- /dev/null +++ b/practices/cpp/level1/p04_cppScoreManagement/README.md @@ -0,0 +1,14 @@ +### 题目:C++考试成绩管理 + +### 功能要求: + +1. 查看学生名单(含所有信息) +2. 选课(添加学生) +3. 退选(删除学生) +4. 录入成绩(从特定学号开始,每录入完一人,询问是否继续) +5. 退出程序 + +### 功能要求(选做): + +支持录入多门课程 + diff --git a/practices/cpp/level1/p05_Canvas/README.md b/practices/cpp/level1/p05_Canvas/README.md new file mode 100755 index 00000000..420ff287 --- /dev/null +++ b/practices/cpp/level1/p05_Canvas/README.md @@ -0,0 +1,6 @@ +### 题目:Canvas(画布程序) + +### 功能要求: + +1. 可以在Canvas上添加任意数量的Circle(圆)、Rect(矩形)等图形元素 +2. 可画出画布上的所有图形(可用在console上输出图形元素的名称、属性参数,来代替在真实的图形界面的绘制操作) \ No newline at end of file diff --git a/practices/cpp/level1/p06_CircleAndPoint/README.md b/practices/cpp/level1/p06_CircleAndPoint/README.md new file mode 100755 index 00000000..17d8382b --- /dev/null +++ b/practices/cpp/level1/p06_CircleAndPoint/README.md @@ -0,0 +1,7 @@ +### 题目:Circle & Point + +### 功能要求: + +1. 实现Point类 +2. 利用组合Point实现Circle类 +3. 通过移动圆心,来实现圆的移动 diff --git a/practices/cpp/level1/p07_Circuit/README.md b/practices/cpp/level1/p07_Circuit/README.md new file mode 100755 index 00000000..16deef52 --- /dev/null +++ b/practices/cpp/level1/p07_Circuit/README.md @@ -0,0 +1,8 @@ +### 题目:Circuit(电路) + +### 功能要求: + +实现一个电路模拟: + +1. 电路中可接入:电灯、风扇、开关等器件 +2. 可通过开关的on、off动作来控制电路中的器件开关 diff --git a/practices/cpp/level1/p08_EmployeeAndSales/README.md b/practices/cpp/level1/p08_EmployeeAndSales/README.md new file mode 100755 index 00000000..42bd233b --- /dev/null +++ b/practices/cpp/level1/p08_EmployeeAndSales/README.md @@ -0,0 +1,10 @@ +### 题目:Employee & Sales(员工 与 销售员) + +### 功能要求: + +1. 实现一个雇员类: + 2. 记录员工的姓名、年龄、级别等属性 + 3. 可计算员工的工资(按每个级别1000元计算) +2. 实现一个销售员类: + 3. 记录sales的销售额 + 4. 计算工资时需要在级别工资基础上,加上销售提成(按20%核算) \ No newline at end of file diff --git a/practices/cpp/level1/p09_Tree/README.md b/practices/cpp/level1/p09_Tree/README.md new file mode 100755 index 00000000..965fd7da --- /dev/null +++ b/practices/cpp/level1/p09_Tree/README.md @@ -0,0 +1,8 @@ +### 题目:Tree + +### 功能要求: + +1. 可以在树的某个节点上append任意数量的子节点 +2. 每个节点都可以保存一个int型的值 +3. 可获取节点的parent(父节点) +4. 可计算节点的子孙节点总数 \ No newline at end of file diff --git a/practices/cpp/level1/p10_Iterator/README.md b/practices/cpp/level1/p10_Iterator/README.md new file mode 100755 index 00000000..31eff73e --- /dev/null +++ b/practices/cpp/level1/p10_Iterator/README.md @@ -0,0 +1,5 @@ +### 题目:Iterator(迭代器) + +### 功能要求: + +为Queue实现一个迭代器 diff --git a/practices/cpp/level1/p11_Fighters/README.md b/practices/cpp/level1/p11_Fighters/README.md new file mode 100755 index 00000000..58761a68 --- /dev/null +++ b/practices/cpp/level1/p11_Fighters/README.md @@ -0,0 +1,5 @@ +### 题目:打飞机小游戏 + +### 功能要求: + +随心所欲!!! \ No newline at end of file diff --git a/practices/cpp/level1/p11_Fighters/TodoList.md b/practices/cpp/level1/p11_Fighters/TodoList.md new file mode 100755 index 00000000..497725f5 --- /dev/null +++ b/practices/cpp/level1/p11_Fighters/TodoList.md @@ -0,0 +1,25 @@ + | 任务(功能) | Value | Effort | 是否已完成 +-----|-------------------------------|-----------|-----------|------------| +1 | 完成SFML配置,显示“SFML works” | 0 | | | +2 | 显示一架静止的飞机于屏幕底部 | 5 | | | +3 | 背景音乐 | 1 | | | +4 | 左右键,控制移动飞机 | 10 | | | +5 | 限制左右边界 | 1 | | | +6 | 空格键开炮,显示运动的炮弹 | 5 | | | +7 | 炮弹飞出边界处理 | 2 | | | +8 | 随机产生敌机,并向下运动 | 10 | | | +9 | 敌机飞出边界处理 | 2 | | | +10 | 碰撞处理(敌机与炮弹碰撞) | 10 | | | +11 | 显示敌机爆炸过程 | 10 | | | +12 | 爆炸声音 | 2 | | | +13 | 计分及显示 | 5 | | | +14 | 敌机炮弹处理 | 10 | | | +15 | 被敌机击中处理(炸毁、3条命) | 10 | | | +16 | 过关控制(过关需要计分、游戏速度控制)| 20 | | | +17 | | | | | +18 | | | | | +19 | | | | | +20 | | | | | +合计 | | | | | + + diff --git a/slides/google/fonts/9Xe8dq6pQDsPyVH2D3tMQr3hpw3pgy2gAi-Ip7WPMi0.woff b/slides/google/fonts/9Xe8dq6pQDsPyVH2D3tMQr3hpw3pgy2gAi-Ip7WPMi0.woff new file mode 100755 index 0000000000000000000000000000000000000000..2dc31d09a9e29db1d6d28234c030db3458648d48 GIT binary patch literal 34220 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 literal 0 HcmV?d00001 diff --git a/slides/google/fonts/HkF_qI1x_noxlxhrhMQYELO3LdcAZYWl9Si6vvxL-qU.woff b/slides/google/fonts/HkF_qI1x_noxlxhrhMQYELO3LdcAZYWl9Si6vvxL-qU.woff new file mode 100755 index 0000000000000000000000000000000000000000..993810e9d6aa454d3c008a4bf5c70cf34ed90e1e GIT binary patch literal 36784 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ⅇZUK$YC|zDYG6(MLG6x42Rww-x?l<1SrURyP(>u5roZQU+ zdnx~Wb`Par$~^b`Rhj=i<*&+|V%C;r`gQax-EY3xKP}}SrkvvWYgwhP|KyT?r{Ij> zo>LFaotse3g=g?VnDWnl$1?q`(2DO0XP_A-cV9-t*)+;6;ZL(BkiZp9X7~8cC|~ja z)hI*AVa4^HiMi3Pd48-v**keeg)Pl+n*ROlOh-08rmA^ZFibB5`+irWWT+fJgas;qM3c^N>Xo~=h|hedvJdv$mZXHA;gq^oGT4c7k_CnHiSSxFXx%!DvDFAOa;QWp-E{Nbb&F8P|+C z!JT87;N0So;}ic}(8$D=|D}vZ-qznifFOU2|NTK6OEbdb@Jxy>2*c)Ykt^DBgnt`u zkmzKXc(_sG;s5gLIGrT7_=WeM%Q5qI1EvB;(5wME}l)J|dVXt8_0o-mL3G924 zfcTnUmWbZ7#P4td-3ZS#%7jzC4;D%Zmkz7`D?}YHA%zQ_R5=CqpQJxB+JD38JCxdN z8>e1WiC+9C2zG0dA>`>Ulz|+2)%}!S^CJm_(boqT0W_1g`UsbPblbi z^Q}z1Dt;f5Plf@!pWdf?qKWZ`iYvq*e(3T4FsfTw;%OAe*&hlI{IiP`&-{|3{rkYxM~WLM{W1y#Fx)+l9Na za-}|e;Xfy=*2gVyxs*3n{>KDr7stj*XnoYee@yuDV}>^4=FQp%b5D~q$Hak>=&yfbswVTV>~;JXpp8#l)q4Jw{f>HOVaVZlSvWZe)4;B@@iQxg39S z{{O`PpLW30vzI5E*L*If`|ght%Vk&${2x^vy)@ZiZ0eWyNQ++QBIwhjfAtR(Z!%}P zAZ(kWg4MD9YJ-lJW+cbIMZ1<}6vv-4XSyMLo8E%e@&2ZRzeTPw{_=w~mP>@kQJLah z5XMbB!M{VCn`(ltasE1kS(Zzr$3>aq-H_iR^5}71{P)JR$_)~!F76!PRy99&zw?Th z-}z?>XSn-74N6-s{T3MvHd`){9am-gc0;%~ zO$86){C|sN1rK8VH3kDMmq?CtGtavq?3;gwx*`0V!GZ_z{^o;MmP-`JEt%)PK_J58 zuuOukAcjp;L14_qy+I7i-=e0zn-6`gpMDB=!oNTKrRtw*KO!6i&$JhuV%$05&e6-6%kI^yM}SyPik4&QA>z3bk5HdOnQ;p5(l&1AzN=DIgZ zwxUUc4)m|5WQ5B7t@Zy)VRZ>sMI`MY1aIVu5IrY|%v<0D;_qQO;W0nT-R(D!^xf_3 zF*m7|fli0EHOKREx4p!3$WH4LcF(0=qeIVvBtmqzb@S;`ZbNiDGJgl)ihu6zu4}$* zZEx19Q+rpgEcjbAUY=`**pD_;uxz9fa-JWP+~LEJ)!6GUl8adOBNB~u_S{|#ndE<} z@FvUsjICk%ytt}E#{gPd4x7~T`_3iv_xR;@8L_Eeez~%jUThWDm>%orvWEs~{}2A9 zK^zvU^XqT8{-`&fY-pnJqI;C|uv-t+zCKV8u@$vMTllm32(mu{ah>Js-!)5as}kz z1{7^fqW%-(RY>eH+i;eI>wjKIZ%C_$RDRrWe$VUL=-_YsY+ymzcu9Z$sDAv{DsJcB zs>Dq`{VG?d-d}U+m;an=r0nMc|325R>iUfeRGxlr_)CF*QC(FSE!j;Sfy%|y>Ysg3 zOL2bVG+~{^wjeTB)c2o8(h>(Nkceaa;Xi>;j_)-URwXs6hw=IQJp;P!GE`IVxBo7< z()MQS-y4dRP-UsN$L=Me2Z)Rogwf-j*uVW_(aKA7{AYh)^e9ouL*~_5GHuejA4?Cj zBz@oEzX-K#sVpDAKe!k_584TAIgvHL%;gUr$@mjv^rB_diG#46^R|<~rvHBd4Me zqeP+PqKu=Wqne=xpys32ppK$$qOqYpLd!&h16TkKfJVR)`UCVt^j-{X3^5E<3_pxs zOl`~%%r-1^ED@FM>908mFoO)brTn1ciTp!#H+%r4| zya#yJcma5sco4jPycK)~d~5s?{A~g$0uO>SLKZ@G!bHNagp)+HM5;vLL|w$V#3ICz z#KR=$BwQqZBvmA{B$uR5NNq{Kk{*#Bk#UfPkS&r6kh_qFlV4JZQ8ZHGQmRuvrF5ZO zr#zzKq0*#Er}|EfL@h;aMjb+3M%_<+OY?vxlNOyek#?1KpZ1atosO7}o{o#oh^~Wf zm~NhKlkSM_mL8j)oSuo^gx;Rsi$0V-fj*PIkp3%>4JZTz0hNLJKuh3D;57p#11SRo z0}q1)!$XEaMj=KJqcWpDqa~vYV*q0m<10ou6B-jC6D<=5lL*s2rVyr4rbVW0rW0l) zW?W`XW)tQz7JL?J7B&`3mQj`!R&-W2Rv}gpYa$yu8!;O_8yA}x+XFUrHX}A$HV?KC zwm7yyHW)iDJ1M&iyBT{T`)Brb4s4DG9GVTrON4++N(7 z+%4RbJR&?^JcGOK`S$r4__g^%`4jnv1<(YD1vmt(1v~`e z1PTRO1Xcu51n>6x2!;#h{tJc6^-b+7|KY3&(Qg!OW841$htz)TV0WXdpP2G;OZf1TYX|(`rEz7c1j1kLr9e zk`F=m6$^G^9JO@MzB}mw}+It zd#cVl3TzAQk(HlFwEeh+^&SQC3~qOPNQvhgZW;b26{}#R#>XxCs+5@7a65=iXyc^u zVW=0?XlXo37}E(BocUQ!whIBP1*P|16Q2{HQQ@6Hf;|S%*@G%>p9K>yy(o<&Q;VyT zdP-6es9b@P;*K7uPgSj4&1za$L`!u2nKr)P!RnLJTG*&rV{GZMs>FNj!=h>WtQT+7 zsvcCoca7gc3p8%l93Qprr9YjHx7h1W zLn4R$YhvKY8NO6sw=awmS62WPhx)4kG64!W{%$WNF$@VDd6~b;l!l50 zr25%vD$mMYXq9Z`>kTFMB|ROnK1Dgx(rFW}i1o?{t`68iBPx7UT zcxCmmAHERV5M?<5T8N^^^CIoTG~%a{d&cCpeU946!M=eYdEvT8EFAp9q?cNtqesaj`u0->ttErN8NIQs}>? z8Jg2DOfXy)66YQ9jFDO4k-f?hIQLMDB4iT7@{6#0v!?kx?3u1Bndkd$=OyA4iH1|! zWlaR(jjj7R$KCVUQ6(F54n)FM30ze^_1dMe(uvnvIe2TF{O1|9p2Hrr%_?6&8=p&Y z_?ZK>r#*tQ6cLeW7LmMGHjSHn%e{W-9-AlRZgS9T(dqQMWxd2{dqa2nXVwh<1#i^h zEo02a!1Jz{H42k8OD2&X(h~lQbdRhrI z&?`@!#rL*C5gE^Zu>0>S>hJcxSJ;x-BK^@}JcK!8^0;%ch=$MMv9--gqB&G~!mu+% z=L0~kCvvyMP3{DSNJX%_Yw(BA5HE=W9D+)2=Z1D+PX6aDpoY8QFt;pi3^Y;0xYYo& z=2VZqqkCs`i2i7nsizqFZLZTkaQlmABE^BtIYxNkPTHNRy4#?N58^nABDMQD>_`hrpW>$JYN_FUqV0H>upxlIg_*d{k!VZnoxt8J zIO)mL<1T}j-4-k2LCh{3rX!IyA(6v2{Ps1u(d%B8;dP$jP1<>h44>h(Aik9cQjIa{ ze4E64HbSN*UrCERBquTxnM!4bUo3VxE)EbZ4(=^>$XBdj9SWF_H-;d#-DtBA+Jhd88l33*XtnXh_dh(A_iuk4%DR7GrsaO2e}?E)vW_ zEcuTcQF1`}4+Z?tQm9U>h&p3iFOdw6m?LoA$qYPsXKK=wUiW#MjPQim0{P=L#xJtK zEb`Yu?f5>*Mb?M7Bg*w?cmJi_ESa`1O{Q;4y2Xylc$N5YA#4uPO`B`UTwRxF@cyN-f9BO1_?Cg7Chz@XpJjSoXme9^Mq#G7pN?{&ZhxVP zVxN8KOF?Z;J#Ai5?cHYwPL9WtQS`WCfE1@gMY1WO7x!9icWfU`;TqR{d|BOxn-w*^ zrSr;3P1|$F*+92v8WI(cPa#NQ$`?fp^L?&rtQC!O6|HEU9~kUeP&`#T_>r8~lDpIR z6c6u3QzFqg&s2h9+WM!O_qg`nWyBL77~_c&}E+|8AJcZ ztViYUZEW;G_o;RI!#5T?inFJ)0W9kQM*(!q6;ISf@+Ho|j@_v-!GuPvhuug>{~t37 Bkdpua literal 0 HcmV?d00001 diff --git a/slides/google/fonts/qIIYRU-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff b/slides/google/fonts/qIIYRU-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff new file mode 100755 index 0000000000000000000000000000000000000000..ad1a467b71314d434d54b786887d3bf91b465368 GIT binary patch literal 35852 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 literal 0 HcmV?d00001 diff --git a/slides/google/fonts/qdgUG4U09HnJwhYI-uK18wLUuEpTyoUstqEm5AMlJo4.woff b/slides/google/fonts/qdgUG4U09HnJwhYI-uK18wLUuEpTyoUstqEm5AMlJo4.woff new file mode 100755 index 0000000000000000000000000000000000000000..35934a9bba114241684184cc2f1cd470a2d00df7 GIT binary patch literal 37256 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%0D4w9!lA>^U{r(k5@mo0BAZY&Maf& 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 nbYymE_36vb?`Baok=Z5-;20A + + + + chap1 HelloWorld + + + + + + +
+
+
+

C & C++


+
    +
  • 俸志刚(嵌入式软件工程中心 B1307)

  • +
  • QQ群: 612414859 ( uestc2017ccpp )
  • +
+
+
+

请准备:


+
    +
  • 一个活页本

  • +
  • 一支笔

  • +
  • 鼓励自带笔记本电脑
  • +
+
+
+

成绩构成


+
    +
  • 平时成绩:20%

  • +
  • 实验成绩:40%

  • +
  • 期末成绩:40%
  • +
+
+
+

总课时数: 64


+
    +
  • C语言:16

  • +
  • C++:24

  • +
  • 课程设计:20

  • +
  • 总结 & 复习:4
  • +
+
+
+

Good Luck!

+
+
+
+ + + + \ No newline at end of file diff --git a/slides/reveal/reveal.min.css b/slides/reveal/reveal.min.css new file mode 100755 index 00000000..c70db276 --- /dev/null +++ b/slides/reveal/reveal.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * reveal.js + * http://lab.hakim.se/reveal-js + * MIT licensed + * + * Copyright (C) 2013 Hakim El Hattab, http://hakim.se + */ html,body,.reveal div,.reveal span,.reveal applet,.reveal object,.reveal iframe,.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6,.reveal p,.reveal blockquote,.reveal pre,.reveal a,.reveal abbr,.reveal acronym,.reveal address,.reveal big,.reveal cite,.reveal code,.reveal del,.reveal dfn,.reveal em,.reveal img,.reveal ins,.reveal kbd,.reveal q,.reveal s,.reveal samp,.reveal small,.reveal strike,.reveal strong,.reveal sub,.reveal sup,.reveal tt,.reveal var,.reveal b,.reveal u,.reveal i,.reveal center,.reveal dl,.reveal dt,.reveal dd,.reveal ol,.reveal ul,.reveal li,.reveal fieldset,.reveal form,.reveal label,.reveal legend,.reveal table,.reveal caption,.reveal tbody,.reveal tfoot,.reveal thead,.reveal tr,.reveal th,.reveal td,.reveal article,.reveal aside,.reveal canvas,.reveal details,.reveal embed,.reveal figure,.reveal figcaption,.reveal footer,.reveal header,.reveal hgroup,.reveal menu,.reveal nav,.reveal output,.reveal ruby,.reveal section,.reveal summary,.reveal time,.reveal mark,.reveal audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.reveal article,.reveal aside,.reveal details,.reveal figcaption,.reveal figure,.reveal footer,.reveal header,.reveal hgroup,.reveal menu,.reveal nav,.reveal section{display:block}html,body{width:100%;height:100%;overflow:hidden}body{position:relative;line-height:1}::selection{background:#FF5E99;color:#fff;text-shadow:none}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto;word-wrap:break-word;line-height:1}.reveal h1{font-size:3.77em}.reveal h2{font-size:2.11em}.reveal h3{font-size:1.55em}.reveal h4{font-size:1em}.reveal .slides section .fragment{opacity:0;-webkit-transition:all .2s ease;-moz-transition:all .2s ease;-ms-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease}.reveal .slides section .fragment.visible{opacity:1}.reveal .slides section .fragment.grow{opacity:1}.reveal .slides section .fragment.grow.visible{-webkit-transform:scale(1.3);-moz-transform:scale(1.3);-ms-transform:scale(1.3);-o-transform:scale(1.3);transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1}.reveal .slides section .fragment.shrink.visible{-webkit-transform:scale(0.7);-moz-transform:scale(0.7);-ms-transform:scale(0.7);-o-transform:scale(0.7);transform:scale(0.7)}.reveal .slides section .fragment.zoom-in{opacity:0;-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1)}.reveal .slides section .fragment.zoom-in.visible{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.reveal .slides section .fragment.roll-in{opacity:0;-webkit-transform:rotateX(90deg);-moz-transform:rotateX(90deg);-ms-transform:rotateX(90deg);-o-transform:rotateX(90deg);transform:rotateX(90deg)}.reveal .slides section .fragment.roll-in.visible{opacity:1;-webkit-transform:rotateX(0);-moz-transform:rotateX(0);-ms-transform:rotateX(0);-o-transform:rotateX(0);transform:rotateX(0)}.reveal .slides section .fragment.fade-out{opacity:1}.reveal .slides section .fragment.fade-out.visible{opacity:0}.reveal .slides section .fragment.semi-fade-out{opacity:1}.reveal .slides section .fragment.semi-fade-out.visible{opacity:.5}.reveal .slides section .fragment.highlight-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-blue{opacity:1}.reveal .slides section .fragment.highlight-red.visible{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal:after{content:'';font-style:italic}.reveal iframe{z-index:1}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal a{position:relative}.reveal strong,.reveal b{font-weight:700}.reveal em,.reveal i{font-style:italic}.reveal ol,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal p{margin-bottom:10px;line-height:1.2em}.reveal q,.reveal blockquote{quotes:none}.reveal blockquote{display:block;position:relative;width:70%;margin:5px auto;padding:5px;font-style:italic;background:rgba(255,255,255,.05);box-shadow:0 0 2px rgba(0,0,0,.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:15px auto;text-align:left;font-size:.55em;font-family:monospace;line-height:1.2em;word-wrap:break-word;box-shadow:0 0 6px rgba(0,0,0,.3)}.reveal code{font-family:monospace}.reveal pre code{padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal pre.stretch code{height:100%;max-height:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.reveal table th,.reveal table td{text-align:left;padding-right:.3em}.reveal table th{text-shadow:#fff 1px 1px 2px}.reveal sup{vertical-align:super}.reveal sub{vertical-align:sub}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal .stretch{max-width:none;max-height:none}.reveal .controls{display:none;position:fixed;width:110px;height:110px;z-index:30;right:10px;bottom:10px}.reveal .controls div{position:absolute;opacity:.05;width:0;height:0;border:12px solid transparent;-moz-transform:scale(.9999);-webkit-transition:all .2s ease;-moz-transition:all .2s ease;-ms-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease}.reveal .controls div.enabled{opacity:.7;cursor:pointer}.reveal .controls div.enabled:active{margin-top:1px}.reveal .controls div.navigate-left{top:42px;border-right-width:22px;border-right-color:#eee}.reveal .controls div.navigate-left.fragmented{opacity:.3}.reveal .controls div.navigate-right{left:74px;top:42px;border-left-width:22px;border-left-color:#eee}.reveal .controls div.navigate-right.fragmented{opacity:.3}.reveal .controls div.navigate-up{left:42px;border-bottom-width:22px;border-bottom-color:#eee}.reveal .controls div.navigate-up.fragmented{opacity:.3}.reveal .controls div.navigate-down{left:42px;top:74px;border-top-width:22px;border-top-color:#eee}.reveal .controls div.navigate-down.fragmented{opacity:.3}.reveal .progress{position:fixed;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10}.reveal .progress:after{content:'';display:'block';position:absolute;height:20px;width:100%;top:-20px}.reveal .progress span{display:block;height:100%;width:0;-webkit-transition:width 800ms cubic-bezier(0.26,.86,.44,.985);-moz-transition:width 800ms cubic-bezier(0.26,.86,.44,.985);-ms-transition:width 800ms cubic-bezier(0.26,.86,.44,.985);-o-transition:width 800ms cubic-bezier(0.26,.86,.44,.985);transition:width 800ms cubic-bezier(0.26,.86,.44,.985)}.reveal{position:relative;width:100%;height:100%;-ms-touch-action:none}.reveal .slides{position:absolute;width:100%;height:100%;left:50%;top:50%;overflow:visible;z-index:1;text-align:center;-webkit-transition:-webkit-perspective .4s ease;-moz-transition:-moz-perspective .4s ease;-ms-transition:-ms-perspective .4s ease;-o-transition:-o-perspective .4s ease;transition:perspective .4s ease;-webkit-perspective:600px;-moz-perspective:600px;-ms-perspective:600px;perspective:600px;-webkit-perspective-origin:0 -100px;-moz-perspective-origin:0 -100px;-ms-perspective-origin:0 -100px;perspective-origin:0 -100px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;padding:20px 0;z-index:10;line-height:1.2em;font-weight:400;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition:-webkit-transform-origin 800ms cubic-bezier(0.26,.86,.44,.985),-webkit-transform 800ms cubic-bezier(0.26,.86,.44,.985),visibility 800ms cubic-bezier(0.26,.86,.44,.985),opacity 800ms cubic-bezier(0.26,.86,.44,.985);-moz-transition:-moz-transform-origin 800ms cubic-bezier(0.26,.86,.44,.985),-moz-transform 800ms cubic-bezier(0.26,.86,.44,.985),visibility 800ms cubic-bezier(0.26,.86,.44,.985),opacity 800ms cubic-bezier(0.26,.86,.44,.985);-ms-transition:-ms-transform-origin 800ms cubic-bezier(0.26,.86,.44,.985),-ms-transform 800ms cubic-bezier(0.26,.86,.44,.985),visibility 800ms cubic-bezier(0.26,.86,.44,.985),opacity 800ms cubic-bezier(0.26,.86,.44,.985);-o-transition:-o-transform-origin 800ms cubic-bezier(0.26,.86,.44,.985),-o-transform 800ms cubic-bezier(0.26,.86,.44,.985),visibility 800ms cubic-bezier(0.26,.86,.44,.985),opacity 800ms cubic-bezier(0.26,.86,.44,.985);transition:transform-origin 800ms cubic-bezier(0.26,.86,.44,.985),transform 800ms cubic-bezier(0.26,.86,.44,.985),visibility 800ms cubic-bezier(0.26,.86,.44,.985),opacity 800ms cubic-bezier(0.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{-webkit-transition-duration:400ms;-moz-transition-duration:400ms;-ms-transition-duration:400ms;transition-duration:400ms}.reveal[data-transition-speed=slow] .slides section{-webkit-transition-duration:1200ms;-moz-transition-duration:1200ms;-ms-transition-duration:1200ms;transition-duration:1200ms}.reveal .slides section[data-transition-speed=fast]{-webkit-transition-duration:400ms;-moz-transition-duration:400ms;-ms-transition-duration:400ms;transition-duration:400ms}.reveal .slides section[data-transition-speed=slow]{-webkit-transition-duration:1200ms;-moz-transition-duration:1200ms;-ms-transition-duration:1200ms;transition-duration:1200ms}.reveal .slides>section{left:-50%;top:-50%}.reveal .slides>section.stack{padding-top:0;padding-bottom:0}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:auto!important}.reveal .slides>section.future,.reveal .slides>section>section.future,.reveal .slides>section.past,.reveal .slides>section>section.past{pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section[data-transition=default].past,.reveal .slides>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);-ms-transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0);transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>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);-ms-transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0);transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section.past{display:block;opacity:0;-webkit-transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0);-moz-transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0);-ms-transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0);transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section.future{display:block;opacity:0;-webkit-transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0);-moz-transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0);-ms-transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0);transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides>section[data-transition=concave].past,.reveal.concave .slides>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);-ms-transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0);transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal.concave .slides>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);-ms-transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0);transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal.concave .slides>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);-ms-transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0);transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal.concave .slides>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);-ms-transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0);transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides>section[data-transition=zoom].past,.reveal.zoom .slides>section.past{opacity:0;visibility:hidden;-webkit-transform:scale(16);-moz-transform:scale(16);-ms-transform:scale(16);-o-transform:scale(16);transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal.zoom .slides>section.future{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-moz-transform:scale(0.2);-ms-transform:scale(0.2);-o-transform:scale(0.2);transform:scale(0.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal.zoom .slides>section>section.past{-webkit-transform:translate(0,-150%);-moz-transform:translate(0,-150%);-ms-transform:translate(0,-150%);-o-transform:translate(0,-150%);transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=zoom].future,.reveal.zoom .slides>section>section.future{-webkit-transform:translate(0,150%);-moz-transform:translate(0,150%);-ms-transform:translate(0,150%);-o-transform:translate(0,150%);transform:translate(0,150%)}.reveal.linear section{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=linear].past,.reveal.linear .slides>section.past{-webkit-transform:translate(-150%,0);-moz-transform:translate(-150%,0);-ms-transform:translate(-150%,0);-o-transform:translate(-150%,0);transform:translate(-150%,0)}.reveal .slides>section[data-transition=linear].future,.reveal.linear .slides>section.future{-webkit-transform:translate(150%,0);-moz-transform:translate(150%,0);-ms-transform:translate(150%,0);-o-transform:translate(150%,0);transform:translate(150%,0)}.reveal .slides>section>section[data-transition=linear].past,.reveal.linear .slides>section>section.past{-webkit-transform:translate(0,-150%);-moz-transform:translate(0,-150%);-ms-transform:translate(0,-150%);-o-transform:translate(0,-150%);transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal.linear .slides>section>section.future{-webkit-transform:translate(0,150%);-moz-transform:translate(0,150%);-ms-transform:translate(0,150%);-o-transform:translate(0,150%);transform:translate(0,150%)}.reveal.cube .slides{-webkit-perspective:1300px;-moz-perspective:1300px;-ms-perspective:1300px;perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.reveal.center.cube .slides section{min-height:auto}.reveal.cube .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;-webkit-transform:translateZ(-20px);-moz-transform:translateZ(-20px);-ms-transform:translateZ(-20px);-o-transform:translateZ(-20px);transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);-webkit-transform:translateZ(-90px) rotateX(65deg);-moz-transform:translateZ(-90px) rotateX(65deg);-ms-transform:translateZ(-90px) rotateX(65deg);-o-transform:translateZ(-90px) rotateX(65deg);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0}.reveal.cube .slides>section.past{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:translate3d(-100%,0,0) rotateY(-90deg);-moz-transform:translate3d(-100%,0,0) rotateY(-90deg);-ms-transform:translate3d(-100%,0,0) rotateY(-90deg);transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translate3d(100%,0,0) rotateY(90deg);-moz-transform:translate3d(100%,0,0) rotateY(90deg);-ms-transform:translate3d(100%,0,0) rotateY(90deg);transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{-webkit-transform-origin:0 100%;-moz-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:translate3d(0,-100%,0) rotateX(90deg);-moz-transform:translate3d(0,-100%,0) rotateX(90deg);-ms-transform:translate3d(0,-100%,0) rotateX(90deg);transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translate3d(0,100%,0) rotateX(-90deg);-moz-transform:translate3d(0,100%,0) rotateX(-90deg);-ms-transform:translate3d(0,100%,0) rotateX(-90deg);transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{-webkit-perspective-origin:0 50%;-moz-perspective-origin:0 50%;-ms-perspective-origin:0 50%;perspective-origin:0 50%;-webkit-perspective:3000px;-moz-perspective:3000px;-ms-perspective:3000px;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);-webkit-transform:translateZ(-20px);-moz-transform:translateZ(-20px);-ms-transform:translateZ(-20px);-o-transform:translateZ(-20px);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0}.reveal.page .slides>section.past{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translate3d(-40%,0,0) rotateY(-80deg);-moz-transform:translate3d(-40%,0,0) rotateY(-80deg);-ms-transform:translate3d(-40%,0,0) rotateY(-80deg);transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.reveal.page .slides>section>section.past{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translate3d(0,-40%,0) rotateX(80deg);-moz-transform:translate3d(0,-40%,0) rotateX(80deg);-ms-transform:translate3d(0,-40%,0) rotateX(80deg);transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{-webkit-transform-origin:0 100%;-moz-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section,.reveal.fade .slides>section>section{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none;-webkit-transition:opacity .5s;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-transition:opacity .5s;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section,.reveal.fade.exit-overview .slides section,.reveal.fade.exit-overview .slides>section>section{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none;-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.reveal.overview .slides{-webkit-perspective-origin:0 0;-moz-perspective-origin:0 0;-ms-perspective-origin:0 0;perspective-origin:0 0;-webkit-perspective:700px;-moz-perspective:700px;-ms-perspective:700px;perspective:700px}.reveal.overview .slides section{height:600px;top:-300px!important;overflow:hidden;opacity:1!important;visibility:visible!important;cursor:pointer;background:rgba(0,0,0,.1)}.reveal.overview .slides section .fragment{opacity:1}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides section>section{opacity:1;cursor:pointer}.reveal.overview .slides section:hover{background:rgba(0,0,0,.3)}.reveal.overview .slides section.present{background:rgba(0,0,0,.3)}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0;overflow:visible}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.no-transforms{overflow-y:auto}.no-transforms .reveal .slides{position:relative;width:80%;height:auto!important;top:0;left:50%;margin:0;text-align:center}.no-transforms .reveal .controls,.no-transforms .reveal .progress{display:none!important}.no-transforms .reveal .slides section{display:block!important;opacity:1!important;position:relative!important;height:auto;min-height:auto;top:0;left:-50%;margin:70px 0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.no-transforms .reveal .slides section section{left:0}.reveal .no-transition,.reveal .no-transition *{-webkit-transition:none!important;-moz-transition:none!important;-ms-transition:none!important;-o-transition:none!important;transition:none!important}.reveal .state-background{position:absolute;width:100%;height:100%;background:rgba(0,0,0,0);-webkit-transition:background 800ms ease;-moz-transition:background 800ms ease;-ms-transition:background 800ms ease;-o-transition:background 800ms ease;transition:background 800ms ease}.alert .reveal .state-background{background:rgba(200,50,30,.6)}.soothe .reveal .state-background{background:rgba(50,200,90,.4)}.blackout .reveal .state-background{background:rgba(0,0,0,.6)}.whiteout .reveal .state-background{background:rgba(255,255,255,.6)}.cobalt .reveal .state-background{background:rgba(22,152,213,.6)}.mint .reveal .state-background{background:rgba(22,213,75,.6)}.submerge .reveal .state-background{background:rgba(12,25,77,.6)}.lila .reveal .state-background{background:rgba(180,50,140,.6)}.sunset .reveal .state-background{background:rgba(255,122,0,.6)}.reveal>.backgrounds{position:absolute;width:100%;height:100%}.reveal .slide-background{position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;background-color:rgba(0,0,0,0);background-position:50% 50%;background-repeat:no-repeat;background-size:cover;-webkit-transition:all 600ms cubic-bezier(0.26,.86,.44,.985);-moz-transition:all 600ms cubic-bezier(0.26,.86,.44,.985);-ms-transition:all 600ms cubic-bezier(0.26,.86,.44,.985);-o-transition:all 600ms cubic-bezier(0.26,.86,.44,.985);transition:all 600ms cubic-bezier(0.26,.86,.44,.985)}.reveal .slide-background.present{opacity:1;visibility:visible}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal[data-background-transition=none]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=none]{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.reveal[data-background-transition=slide]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=slide]{opacity:1;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-duration:800ms;-moz-transition-duration:800ms;-ms-transition-duration:800ms;-o-transition-duration:800ms;transition-duration:800ms}.reveal[data-background-transition=slide]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=slide]{-webkit-transform:translate(-100%,0);-moz-transform:translate(-100%,0);-ms-transform:translate(-100%,0);-o-transform:translate(-100%,0);transform:translate(-100%,0)}.reveal[data-background-transition=slide]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=slide]{-webkit-transform:translate(100%,0);-moz-transform:translate(100%,0);-ms-transform:translate(100%,0);-o-transform:translate(100%,0);transform:translate(100%,0)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide]{-webkit-transform:translate(0,-100%);-moz-transform:translate(0,-100%);-ms-transform:translate(0,-100%);-o-transform:translate(0,-100%);transform:translate(0,-100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide]{-webkit-transform:translate(0,100%);-moz-transform:translate(0,100%);-ms-transform:translate(0,100%);-o-transform:translate(0,100%);transform:translate(0,100%)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{-webkit-transition-duration:400ms;-moz-transition-duration:400ms;-ms-transition-duration:400ms;transition-duration:400ms}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{-webkit-transition-duration:1200ms;-moz-transition-duration:1200ms;-ms-transition-duration:1200ms;transition-duration:1200ms}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl pre,.reveal.rtl code{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{float:right}.reveal .preview-link-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);opacity:0;visibility:hidden;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}.reveal .preview-link-overlay.visible{opacity:1;visibility:visible}.reveal .preview-link-overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}.reveal .preview-link-overlay header{position:absolute;left:0;top:0;width:100%;height:40px;z-index:2;border-bottom:1px solid #222}.reveal .preview-link-overlay header a{display:inline-block;width:40px;height:40px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal .preview-link-overlay header a:hover{opacity:1}.reveal .preview-link-overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal .preview-link-overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal .preview-link-overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal .preview-link-overlay .viewport{position:absolute;top:40px;right:0;bottom:0;left:0}.reveal .preview-link-overlay .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;transition:all .3s ease}.reveal .preview-link-overlay.loaded .viewport iframe{opacity:1;visibility:visible}.reveal .preview-link-overlay.loaded .spinner{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-moz-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;-webkit-perspective:400px;-moz-perspective:400px;-ms-perspective:400px;perspective:400px;-webkit-perspective-origin:50% 50%;-moz-perspective-origin:50% 50%;-ms-perspective-origin:50% 50%;perspective-origin:50% 50%}.reveal .roll:hover{background:0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;-webkit-transition:all 400ms ease;-moz-transition:all 400ms ease;-ms-transition:all 400ms ease;transition:all 400ms ease;-webkit-transform-origin:50% 0;-moz-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);-webkit-transform:translate3d(0px,0,-45px) rotateX(90deg);-moz-transform:translate3d(0px,0,-45px) rotateX(90deg);-ms-transform:translate3d(0px,0,-45px) rotateX(90deg);transform:translate3d(0px,0,-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 0;-moz-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:translate3d(0px,110%,0) rotateX(-90deg);-moz-transform:translate3d(0px,110%,0) rotateX(-90deg);-ms-transform:translate3d(0px,110%,0) rotateX(-90deg);transform:translate3d(0px,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.zoomed .reveal *,.zoomed .reveal :before,.zoomed .reveal :after{-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;transform:none!important;-webkit-backface-visibility:visible!important;-moz-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}.zoomed .reveal .progress,.zoomed .reveal .controls{opacity:0}.zoomed .reveal .roll span{background:0}.zoomed .reveal .roll span:after{visibility:hidden} \ No newline at end of file diff --git a/slides/reveal/reveal.min.js b/slides/reveal/reveal.min.js new file mode 100755 index 00000000..99bcd35e --- /dev/null +++ b/slides/reveal/reveal.min.js @@ -0,0 +1,8 @@ +/*! + * reveal.js 2.6.0-dev (2013-08-24, 15:09) + * http://lab.hakim.se/reveal-js + * MIT licensed + * + * Copyright (C) 2013 Hakim El Hattab, http://hakim.se + */ +var Reveal=function(){"use strict";function e(e){return t(),Ht||Rt?(window.addEventListener("load",T,!1),u(Ut,e),y(),n(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){Rt="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,Ht="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,Yt=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function n(){function e(){n.length&&head.js.apply(null,n),r()}for(var t=[],n=[],o=0,a=Ut.dependencies.length;a>o;o++){var i=Ut.dependencies[o];(!i.condition||i.condition())&&(i.async?n.push(i.src):t.push(i.src),"function"==typeof i.callback&&head.ready(i.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],i.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function r(){a(),o(),c(),J(),setTimeout(function(){$t.slides.classList.remove("no-transition"),jt=!0,w("ready",{indexh:Pt,indexv:Dt,currentSlide:It})},1)}function o(){var e=f(document.querySelectorAll(Ot));e.forEach(function(e){var t=f(e.querySelectorAll("section"));t.forEach(function(e,t){t>0&&e.classList.add("future")})})}function a(){$t.theme=document.querySelector("#theme"),$t.wrapper=document.querySelector(".reveal"),$t.slides=document.querySelector(".reveal .slides"),$t.slides.classList.add("no-transition"),$t.background=i($t.wrapper,"div","backgrounds",null),$t.progress=i($t.wrapper,"div","progress",""),$t.progressbar=$t.progress.querySelector("span"),i($t.wrapper,"aside","controls",''),i($t.wrapper,"div","state-background",null),i($t.wrapper,"div","pause-overlay",null),Ut.controls&&($t.controls=document.querySelector(".reveal .controls"),$t.controlsLeft=f(document.querySelectorAll(".navigate-left")),$t.controlsRight=f(document.querySelectorAll(".navigate-right")),$t.controlsUp=f(document.querySelectorAll(".navigate-up")),$t.controlsDown=f(document.querySelectorAll(".navigate-down")),$t.controlsPrev=f(document.querySelectorAll(".navigate-prev")),$t.controlsNext=f(document.querySelectorAll(".navigate-next")))}function i(e,t,n,r){var o=e.querySelector("."+n);return o||(o=document.createElement(t),o.classList.add(n),null!==r&&(o.innerHTML=r),e.appendChild(o)),o}function s(){function e(e,t){var n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition")},r=document.createElement("div");return r.className="slide-background",n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(png|jpg|jpeg|gif|bmp)$/gi.test(n.background)?r.style.backgroundImage="url("+n.background+")":r.style.background=n.background),n.backgroundSize&&(r.style.backgroundSize=n.backgroundSize),n.backgroundImage&&(r.style.backgroundImage='url("'+n.backgroundImage+'")'),n.backgroundColor&&(r.style.backgroundColor=n.backgroundColor),n.backgroundRepeat&&(r.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(r.style.backgroundPosition=n.backgroundPosition),n.backgroundTransition&&r.setAttribute("data-background-transition",n.backgroundTransition),t.appendChild(r),r}h()&&document.body.classList.add("print-pdf"),$t.background.innerHTML="",$t.background.classList.add("no-transition"),f(document.querySelectorAll(Ot)).forEach(function(t){var n;n=h()?e(t,t):e(t,$t.background),f(t.querySelectorAll("section")).forEach(function(t){h()?e(t,t):e(t,n)})})}function c(e){if($t.wrapper.classList.remove(Ut.transition),"object"==typeof e&&u(Ut,e),Rt===!1&&(Ut.transition="linear"),$t.wrapper.classList.add(Ut.transition),$t.wrapper.setAttribute("data-transition-speed",Ut.transitionSpeed),$t.wrapper.setAttribute("data-background-transition",Ut.backgroundTransition),$t.controls&&($t.controls.style.display=Ut.controls&&$t.controls?"block":"none"),$t.progress&&($t.progress.style.display=Ut.progress&&$t.progress?"block":"none"),Ut.rtl?$t.wrapper.classList.add("rtl"):$t.wrapper.classList.remove("rtl"),Ut.center?$t.wrapper.classList.add("center"):$t.wrapper.classList.remove("center"),Ut.mouseWheel?(document.addEventListener("DOMMouseScroll",bt,!1),document.addEventListener("mousewheel",bt,!1)):(document.removeEventListener("DOMMouseScroll",bt,!1),document.removeEventListener("mousewheel",bt,!1)),Ut.rollingLinks?L():E(),Ut.previewLinks?k():(S(),k("[data-preview-link]")),Ut.theme&&$t.theme){var t=$t.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];Ut.theme!==r&&(t=t.replace(n,Ut.theme),$t.theme.setAttribute("href",t))}j()}function l(){Jt=!0,window.addEventListener("hashchange",qt,!1),window.addEventListener("resize",Tt,!1),Ut.touch&&($t.wrapper.addEventListener("touchstart",vt,!1),$t.wrapper.addEventListener("touchmove",pt,!1),$t.wrapper.addEventListener("touchend",gt,!1),window.navigator.msPointerEnabled&&($t.wrapper.addEventListener("MSPointerDown",mt,!1),$t.wrapper.addEventListener("MSPointerMove",ht,!1),$t.wrapper.addEventListener("MSPointerUp",yt,!1))),Ut.keyboard&&document.addEventListener("keydown",ft,!1),Ut.progress&&$t.progress&&$t.progress.addEventListener("click",wt,!1),Ut.controls&&$t.controls&&["touchstart","click"].forEach(function(e){$t.controlsLeft.forEach(function(t){t.addEventListener(e,Lt,!1)}),$t.controlsRight.forEach(function(t){t.addEventListener(e,Et,!1)}),$t.controlsUp.forEach(function(t){t.addEventListener(e,kt,!1)}),$t.controlsDown.forEach(function(t){t.addEventListener(e,St,!1)}),$t.controlsPrev.forEach(function(t){t.addEventListener(e,At,!1)}),$t.controlsNext.forEach(function(t){t.addEventListener(e,xt,!1)})})}function d(){Jt=!1,document.removeEventListener("keydown",ft,!1),window.removeEventListener("hashchange",qt,!1),window.removeEventListener("resize",Tt,!1),$t.wrapper.removeEventListener("touchstart",vt,!1),$t.wrapper.removeEventListener("touchmove",pt,!1),$t.wrapper.removeEventListener("touchend",gt,!1),window.navigator.msPointerEnabled&&($t.wrapper.removeEventListener("MSPointerDown",mt,!1),$t.wrapper.removeEventListener("MSPointerMove",ht,!1),$t.wrapper.removeEventListener("MSPointerUp",yt,!1)),Ut.progress&&$t.progress&&$t.progress.removeEventListener("click",wt,!1),Ut.controls&&$t.controls&&["touchstart","click"].forEach(function(e){$t.controlsLeft.forEach(function(t){t.removeEventListener(e,Lt,!1)}),$t.controlsRight.forEach(function(t){t.removeEventListener(e,Et,!1)}),$t.controlsUp.forEach(function(t){t.removeEventListener(e,kt,!1)}),$t.controlsDown.forEach(function(t){t.removeEventListener(e,St,!1)}),$t.controlsPrev.forEach(function(t){t.removeEventListener(e,At,!1)}),$t.controlsNext.forEach(function(t){t.removeEventListener(e,xt,!1)})})}function u(e,t){for(var n in t)e[n]=t[n]}function f(e){return Array.prototype.slice.call(e)}function v(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function p(e,t){e.style.WebkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t,e.style.transform=t}function g(e){var t=0;if(e){var n=0;f(e.childNodes).forEach(function(e){"number"==typeof e.offsetTop&&e.style&&("absolute"===e.style.position&&(n+=1),t=Math.max(t,e.offsetTop+e.offsetHeight))}),0===n&&(t=e.offsetHeight)}return t}function m(e,t){if(t=t||0,e){var n=e.parentNode,r=n.childNodes;f(r).forEach(function(n){if("number"==typeof n.offsetHeight&&n!==e){var r=window.getComputedStyle(n),o=parseInt(r.marginTop,10),a=parseInt(r.marginBottom,10);t-=n.offsetHeight+o+a}});var o=window.getComputedStyle(e);t-=parseInt(o.marginTop,10)+parseInt(o.marginBottom,10)}return t}function h(){return/print-pdf/gi.test(window.location.search)}function y(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",b,!1),window.addEventListener("orientationchange",b,!1))}function b(){0===window.orientation?(document.documentElement.style.overflow="scroll",document.body.style.height="120%"):(document.documentElement.style.overflow="",document.body.style.height="100%"),setTimeout(function(){window.scrollTo(0,1)},10)}function w(e,t){var n=document.createEvent("HTMLEvents",1,2);n.initEvent(e,!0,!0),u(n,t),$t.wrapper.dispatchEvent(n)}function L(){if(Rt&&!("msPerspective"in document.body.style))for(var e=document.querySelectorAll(Xt+" a:not(.image)"),t=0,n=e.length;n>t;t++){var r=e[t];if(!(!r.textContent||r.querySelector("*")||r.className&&r.classList.contains(r,"roll"))){var o=document.createElement("span");o.setAttribute("data-title",r.text),o.innerHTML=r.innerHTML,r.classList.add("roll"),r.innerHTML="",r.appendChild(o)}}}function E(){for(var e=document.querySelectorAll(Xt+" a.roll"),t=0,n=e.length;n>t;t++){var r=e[t],o=r.querySelector("span");o&&(r.classList.remove("roll"),r.innerHTML=o.innerHTML)}}function k(e){var t=f(document.querySelectorAll(e?e:"a"));t.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",Nt,!1)})}function S(){var e=f(document.querySelectorAll("a"));e.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",Nt,!1)})}function A(e){x(),$t.preview=document.createElement("div"),$t.preview.classList.add("preview-link-overlay"),$t.wrapper.appendChild($t.preview),$t.preview.innerHTML=["
",'
','
','',"
"].join(""),$t.preview.querySelector("iframe").addEventListener("load",function(){$t.preview.classList.add("loaded")},!1),$t.preview.querySelector(".close").addEventListener("click",function(e){x(),e.preventDefault()},!1),$t.preview.querySelector(".external").addEventListener("click",function(){x()},!1),setTimeout(function(){$t.preview.classList.add("visible")},1)}function x(){$t.preview&&($t.preview.setAttribute("src",""),$t.preview.parentNode.removeChild($t.preview),$t.preview=null)}function q(e){var t=f(e);return t.forEach(function(e,t){e.hasAttribute("data-fragment-index")||e.setAttribute("data-fragment-index",t)}),t.sort(function(e,t){return e.getAttribute("data-fragment-index")-t.getAttribute("data-fragment-index")}),t}function T(){if($t.wrapper&&!h()){var e=$t.wrapper.offsetWidth,t=$t.wrapper.offsetHeight;e-=t*Ut.margin,t-=t*Ut.margin;var n=Ut.width,r=Ut.height,o=20;M(Ut.width,Ut.height,o),"string"==typeof n&&/%$/.test(n)&&(n=parseInt(n,10)/100*e),"string"==typeof r&&/%$/.test(r)&&(r=parseInt(r,10)/100*t),$t.slides.style.width=n+"px",$t.slides.style.height=r+"px",Kt=Math.min(e/n,t/r),Kt=Math.max(Kt,Ut.minScale),Kt=Math.min(Kt,Ut.maxScale),void 0===$t.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?p($t.slides,"translate(-50%, -50%) scale("+Kt+") translate(50%, 50%)"):$t.slides.style.zoom=Kt;for(var a=f(document.querySelectorAll(Xt)),i=0,s=a.length;s>i;i++){var c=a[i];"none"!==c.style.display&&(c.style.top=Ut.center?c.classList.contains("stack")?0:Math.max(-(g(c)/2)-o,-r/2)+"px":"")}K()}}function M(e,t,n){f($t.slides.querySelectorAll("section > .stretch")).forEach(function(r){var o=m(r,t-2*n);if(/(img|video)/gi.test(r.nodeName)){var a=r.naturalWidth||r.videoWidth,i=r.naturalHeight||r.videoHeight,s=Math.min(e/a,o/i);r.style.width=a*s+"px",r.style.height=i*s+"px"}else r.style.width=e+"px",r.style.height=o+"px"})}function N(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function P(e){if("object"==typeof e&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){var t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function D(){if(Ut.overview){at();var e=$t.wrapper.classList.contains("overview"),t=400>window.innerWidth?1e3:2500;$t.wrapper.classList.add("overview"),$t.wrapper.classList.remove("exit-overview"),clearTimeout(Qt),clearTimeout(Gt),Qt=setTimeout(function(){for(var n=document.querySelectorAll(Ot),r=0,o=n.length;o>r;r++){var a=n[r],i=Ut.rtl?-105:105;if(a.setAttribute("data-index-h",r),p(a,"translateZ(-"+t+"px) translate("+(r-Pt)*i+"%, 0%)"),a.classList.contains("stack"))for(var s=a.querySelectorAll("section"),c=0,l=s.length;l>c;c++){var d=r===Pt?Dt:P(a),u=s[c];u.setAttribute("data-index-h",r),u.setAttribute("data-index-v",c),p(u,"translate(0%, "+105*(c-d)+"%)"),u.addEventListener("click",Mt,!0)}else a.addEventListener("click",Mt,!0)}_(),T(),e||w("overviewshown",{indexh:Pt,indexv:Dt,currentSlide:It})},10)}}function C(){if(Ut.overview){clearTimeout(Qt),clearTimeout(Gt),$t.wrapper.classList.remove("overview"),$t.wrapper.classList.add("exit-overview"),Gt=setTimeout(function(){$t.wrapper.classList.remove("exit-overview")},10);for(var e=f(document.querySelectorAll(Xt)),t=0,n=e.length;n>t;t++){var r=e[t];r.style.display="",p(r,""),r.removeEventListener("click",Mt,!0)}U(Pt,Dt),ot(),w("overviewhidden",{indexh:Pt,indexv:Dt,currentSlide:It})}}function I(e){"boolean"==typeof e?e?D():C():R()?C():D()}function R(){return $t.wrapper.classList.contains("overview")}function H(e){return e=e?e:It,e&&e.parentNode&&!!e.parentNode.nodeName.match(/section/i)}function Y(){var e=document.body,t=e.requestFullScreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t&&t.apply(e)}function X(){var e=$t.wrapper.classList.contains("paused");at(),$t.wrapper.classList.add("paused"),e===!1&&w("paused")}function O(){var e=$t.wrapper.classList.contains("paused");$t.wrapper.classList.remove("paused"),ot(),e&&w("resumed")}function z(){W()?O():X()}function W(){return $t.wrapper.classList.contains("paused")}function U(e,t,n,r){Ct=It;var o=document.querySelectorAll(Ot);void 0===t&&(t=P(o[e])),Ct&&Ct.parentNode&&Ct.parentNode.classList.contains("stack")&&N(Ct.parentNode,Dt);var a=_t.concat();_t.length=0;var i=Pt||0,s=Dt||0;Pt=F(Ot,void 0===e?Pt:e),Dt=F(zt,void 0===t?Dt:t),_(),T();e:for(var c=0,l=_t.length;l>c;c++){for(var d=0;a.length>d;d++)if(a[d]===_t[c]){a.splice(d,1);continue e}document.documentElement.classList.add(_t[c]),w(_t[c])}for(;a.length;)document.documentElement.classList.remove(a.pop());R()&&D();var u=o[Pt],v=u.querySelectorAll("section");if(It=v[Dt]||u,n!==void 0){var p=q(It.querySelectorAll(".fragment"));f(p).forEach(function(e,t){n>t?e.classList.add("visible"):e.classList.remove("visible")})}var g=Pt!==i||Dt!==s;g?w("slidechanged",{indexh:Pt,indexv:Dt,previousSlide:Ct,currentSlide:It,origin:r}):Ct=null,Ct&&(Ct.classList.remove("present"),document.querySelector(Wt).classList.contains("present")&&setTimeout(function(){var e,t=f(document.querySelectorAll(Ot+".stack"));for(e in t)t[e]&&N(t[e],0)},0)),g&&(G(Ct),Q(It)),$(),K(),V(),et()}function j(){d(),l(),T(),Ft=Ut.autoSlide,ot(),s(),$(),K(),V()}function F(e,t){var n=f(document.querySelectorAll(e)),r=n.length;if(r){Ut.loop&&(t%=r,0>t&&(t=r+t)),t=Math.max(Math.min(t,r-1),0);for(var o=0;r>o;o++){var a=n[o],i=Ut.rtl&&!H(a);if(a.classList.remove("past"),a.classList.remove("present"),a.classList.remove("future"),a.setAttribute("hidden",""),t>o)a.classList.add(i?"future":"past");else if(o>t){a.classList.add(i?"past":"future");for(var s=f(a.querySelectorAll(".fragment.visible"));s.length;)s.pop().classList.remove("visible")}a.querySelector("section")&&a.classList.add("stack")}n[t].classList.add("present"),n[t].removeAttribute("hidden");var c=n[t].getAttribute("data-state");c&&(_t=_t.concat(c.split(" ")));var l=n[t].getAttribute("data-autoslide");Ft=l?parseInt(l,10):Ut.autoSlide,ot()}else t=0;return t}function _(){var e,t,n=f(document.querySelectorAll(Ot)),r=n.length;if(r){var o=R()?10:Ut.viewDistance;Yt&&(o=R()?6:1);for(var a=0;r>a;a++){var i=n[a],s=f(i.querySelectorAll("section")),c=s.length;if(e=Math.abs((Pt-a)%(r-o))||0,i.style.display=e>o?"none":"block",c)for(var l=P(i),d=0;c>d;d++){var u=s[d];t=a===Pt?Math.abs(Dt-d):Math.abs(d-l),u.style.display=e+t>o?"none":"block"}}}}function K(){if(Ut.progress&&$t.progress){var e=f(document.querySelectorAll(Ot)),t=document.querySelectorAll(Xt+":not(.stack)").length,n=0;e:for(var r=0;e.length>r;r++){for(var o=e[r],a=f(o.querySelectorAll("section")),i=0;a.length>i;i++){if(a[i].classList.contains("present"))break e;n++}if(o.classList.contains("present"))break;o.classList.contains("stack")===!1&&n++}$t.progressbar.style.width=n/(t-1)*window.innerWidth+"px"}}function $(){if(Ut.controls&&$t.controls){var e=B(),t=Z();$t.controlsLeft.concat($t.controlsRight).concat($t.controlsUp).concat($t.controlsDown).concat($t.controlsPrev).concat($t.controlsNext).forEach(function(e){e.classList.remove("enabled"),e.classList.remove("fragmented")}),e.left&&$t.controlsLeft.forEach(function(e){e.classList.add("enabled")}),e.right&&$t.controlsRight.forEach(function(e){e.classList.add("enabled")}),e.up&&$t.controlsUp.forEach(function(e){e.classList.add("enabled")}),e.down&&$t.controlsDown.forEach(function(e){e.classList.add("enabled")}),(e.left||e.up)&&$t.controlsPrev.forEach(function(e){e.classList.add("enabled")}),(e.right||e.down)&&$t.controlsNext.forEach(function(e){e.classList.add("enabled")}),It&&(t.prev&&$t.controlsPrev.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&$t.controlsNext.forEach(function(e){e.classList.add("fragmented","enabled")}),H(It)?(t.prev&&$t.controlsUp.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&$t.controlsDown.forEach(function(e){e.classList.add("fragmented","enabled")})):(t.prev&&$t.controlsLeft.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&$t.controlsRight.forEach(function(e){e.classList.add("fragmented","enabled")})))}}function V(){f($t.background.childNodes).forEach(function(e,t){var n=Ut.rtl?"future":"past",r=Ut.rtl?"past":"future";e.className="slide-background "+(Pt>t?n:t>Pt?r:"present"),f(e.childNodes).forEach(function(e,t){e.className="slide-background "+(Dt>t?"past":t>Dt?"future":"present")})}),setTimeout(function(){$t.background.classList.remove("no-transition")},1)}function B(){var e=document.querySelectorAll(Ot),t=document.querySelectorAll(zt),n={left:Pt>0||Ut.loop,right:e.length-1>Pt||Ut.loop,up:Dt>0,down:t.length-1>Dt};if(Ut.rtl){var r=n.left;n.left=n.right,n.right=r}return n}function Z(){if(It&&Ut.fragments){var e=It.querySelectorAll(".fragment"),t=It.querySelectorAll(".fragment:not(.visible)");return{prev:e.length-t.length>0,next:!!t.length}}return{prev:!1,next:!1}}function Q(e){e&&(f(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-autoplay")&&e.play()}),f(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-autoplay")&&e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function G(e){e&&(f(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-ignore")||e.pause()}),f(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-ignore")||"function"!=typeof e.contentWindow.postMessage||e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function J(){var e=window.location.hash,t=e.slice(2).split("/"),n=e.replace(/#|\//gi,"");if(isNaN(parseInt(t[0],10))&&n.length){var r=document.querySelector("#"+n);if(r){var o=Reveal.getIndices(r);U(o.h,o.v)}else U(Pt||0,Dt||0)}else{var a=parseInt(t[0],10)||0,i=parseInt(t[1],10)||0;(a!==Pt||i!==Dt)&&U(a,i)}}function et(e){if(Ut.history)if(clearTimeout(Zt),"number"==typeof e)Zt=setTimeout(et,e);else{var t="/";It&&"string"==typeof It.getAttribute("id")?t="/"+It.getAttribute("id"):((Pt>0||Dt>0)&&(t+=Pt),Dt>0&&(t+="/"+Dt)),window.location.hash=t}}function tt(e){var t,n=Pt,r=Dt;if(e){var o=H(e),a=o?e.parentNode:e,i=f(document.querySelectorAll(Ot));n=Math.max(i.indexOf(a),0),o&&(r=Math.max(f(e.parentNode.querySelectorAll("section")).indexOf(e),0))}if(!e&&It){var s=It.querySelectorAll(".fragment").length>0;if(s){var c=It.querySelectorAll(".fragment.visible");t=c.length}}return{h:n,v:r,f:t}}function nt(){if(It&&Ut.fragments){var e=q(It.querySelectorAll(".fragment:not(.visible)"));if(e.length){var t=e[0].getAttribute("data-fragment-index");return e=It.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),f(e).forEach(function(e){e.classList.add("visible")}),w("fragmentshown",{fragment:e[0],fragments:e}),$(),!0}}return!1}function rt(){if(It&&Ut.fragments){var e=q(It.querySelectorAll(".fragment.visible"));if(e.length){var t=e[e.length-1].getAttribute("data-fragment-index");return e=It.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),f(e).forEach(function(e){e.classList.remove("visible")}),w("fragmenthidden",{fragment:e[0],fragments:e}),$(),!0}}return!1}function ot(){clearTimeout(Bt),!Ft||W()||R()||(Bt=setTimeout(ut,Ft))}function at(){clearTimeout(Bt)}function it(){Ut.rtl?(R()||nt()===!1)&&B().left&&U(Pt+1):(R()||rt()===!1)&&B().left&&U(Pt-1)}function st(){Ut.rtl?(R()||rt()===!1)&&B().right&&U(Pt-1):(R()||nt()===!1)&&B().right&&U(Pt+1)}function ct(){(R()||rt()===!1)&&B().up&&U(Pt,Dt-1)}function lt(){(R()||nt()===!1)&&B().down&&U(Pt,Dt+1)}function dt(){if(rt()===!1)if(B().up)ct();else{var e=document.querySelector(Ot+".past:nth-child("+Pt+")");if(e){var t=e.querySelectorAll("section").length-1||void 0,n=Pt-1;U(n,t)}}}function ut(){nt()===!1&&(B().down?lt():st()),ot()}function ft(e){document.activeElement;var t=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(t||e.shiftKey&&32!==e.keyCode||e.altKey||e.ctrlKey||e.metaKey)){if(W()&&-1===[66,190,191].indexOf(e.keyCode))return!1;var n=!1;if("object"==typeof Ut.keyboard)for(var r in Ut.keyboard)if(parseInt(r,10)===e.keyCode){var o=Ut.keyboard[r];"function"==typeof o?o.apply(null,[e]):"string"==typeof o&&"function"==typeof Reveal[o]&&Reveal[o].call(),n=!0}if(n===!1)switch(n=!0,e.keyCode){case 80:case 33:dt();break;case 78:case 34:ut();break;case 72:case 37:it();break;case 76:case 39:st();break;case 75:case 38:ct();break;case 74:case 40:lt();break;case 36:U(0);break;case 35:U(Number.MAX_VALUE);break;case 32:R()?C():e.shiftKey?dt():ut();break;case 13:R()?C():n=!1;break;case 66:case 190:case 191:z();break;case 70:Y();break;default:n=!1}n?e.preventDefault():27!==e.keyCode&&79!==e.keyCode||!Rt||(I(),e.preventDefault()),ot()}}function vt(e){en.startX=e.touches[0].clientX,en.startY=e.touches[0].clientY,en.startCount=e.touches.length,2===e.touches.length&&Ut.overview&&(en.startSpan=v({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:en.startX,y:en.startY}))}function pt(e){if(en.captured)navigator.userAgent.match(/android/gi)&&e.preventDefault();else{var t=e.touches[0].clientX,n=e.touches[0].clientY;if(2===e.touches.length&&2===en.startCount&&Ut.overview){var r=v({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:en.startX,y:en.startY});Math.abs(en.startSpan-r)>en.threshold&&(en.captured=!0,en.startSpan>r?D():C()),e.preventDefault()}else if(1===e.touches.length&&2!==en.startCount){var o=t-en.startX,a=n-en.startY;o>en.threshold&&Math.abs(o)>Math.abs(a)?(en.captured=!0,it()):-en.threshold>o&&Math.abs(o)>Math.abs(a)?(en.captured=!0,st()):a>en.threshold?(en.captured=!0,ct()):-en.threshold>a&&(en.captured=!0,lt()),Ut.embedded?(en.captured||H(It))&&e.preventDefault():e.preventDefault()}}}function gt(){en.captured=!1}function mt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],vt(e))}function ht(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],pt(e))}function yt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],gt(e))}function bt(e){if(Date.now()-Vt>600){Vt=Date.now();var t=e.detail||-e.wheelDelta;t>0?ut():dt()}}function wt(e){e.preventDefault();var t=f(document.querySelectorAll(Ot)).length,n=Math.floor(e.clientX/$t.wrapper.offsetWidth*t);U(n)}function Lt(e){e.preventDefault(),it()}function Et(e){e.preventDefault(),st()}function kt(e){e.preventDefault(),ct()}function St(e){e.preventDefault(),lt()}function At(e){e.preventDefault(),dt()}function xt(e){e.preventDefault(),ut()}function qt(){J()}function Tt(){T()}function Mt(e){if(Jt&&R()){e.preventDefault();for(var t=e.target;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(C(),t.nodeName.match(/section/gi))){var n=parseInt(t.getAttribute("data-index-h"),10),r=parseInt(t.getAttribute("data-index-v"),10);U(n,r)}}}function Nt(e){var t=e.target.getAttribute("href");t&&(A(t),e.preventDefault())}var Pt,Dt,Ct,It,Rt,Ht,Yt,Xt=".reveal .slides section",Ot=".reveal .slides>section",zt=".reveal .slides>section.present>section",Wt=".reveal .slides>section:first-child",Ut={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,mouseWheel:!1,rollingLinks:!1,previewLinks:!1,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",viewDistance:3,dependencies:[]},jt=!1,Ft=0,_t=[],Kt=1,$t={},Vt=0,Bt=0,Zt=0,Qt=0,Gt=0,Jt=!1,en={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return{initialize:e,configure:c,sync:j,slide:U,left:it,right:st,up:ct,down:lt,prev:dt,next:ut,prevFragment:rt,nextFragment:nt,navigateTo:U,navigateLeft:it,navigateRight:st,navigateUp:ct,navigateDown:lt,navigatePrev:dt,navigateNext:ut,layout:T,availableRoutes:B,availableFragments:Z,toggleOverview:I,togglePause:z,isOverview:R,isPaused:W,addEventListeners:l,removeEventListeners:d,getIndices:tt,getSlide:function(e,t){var n=document.querySelectorAll(Ot)[e],r=n&&n.querySelectorAll("section");return t!==void 0?r?r[t]:void 0:n},getPreviousSlide:function(){return Ct},getCurrentSlide:function(){return It},getScale:function(){return Kt},getConfig:function(){return Ut},getQueryHash:function(){var e={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(t){e[t.split("=").shift()]=t.split("=").pop()}),e},isFirstSlide:function(){return null==document.querySelector(Xt+".past")?!0:!1},isLastSlide:function(){return It?It.nextElementSibling?!1:H(It)&&It.parentNode.nextElementSibling?!1:!0:!1},isReady:function(){return jt},addEventListener:function(e,t,n){"addEventListener"in window&&($t.wrapper||document.querySelector(".reveal")).addEventListener(e,t,n)},removeEventListener:function(e,t,n){"addEventListener"in window&&($t.wrapper||document.querySelector(".reveal")).removeEventListener(e,t,n)}}}(); \ No newline at end of file diff --git a/slides/reveal/reveal_bigFont.css b/slides/reveal/reveal_bigFont.css new file mode 100755 index 00000000..d230395d --- /dev/null +++ b/slides/reveal/reveal_bigFont.css @@ -0,0 +1,1652 @@ +@charset "UTF-8"; + +/*! + * reveal.js + * http://lab.hakim.se/reveal-js + * MIT licensed + * + * Copyright (C) 2013 Hakim El Hattab, http://hakim.se + */ + + +/********************************************* + * RESET STYLES + *********************************************/ + +html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe, +.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre, +.reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code, +.reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp, +.reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var, +.reveal b, .reveal u, .reveal i, .reveal center, +.reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li, +.reveal fieldset, .reveal form, .reveal label, .reveal legend, +.reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td, +.reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed, +.reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup, +.reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary, +.reveal time, .reveal mark, .reveal audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +.reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure, +.reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section { + display: block; +} + + +/********************************************* + * GLOBAL STYLES + *********************************************/ + +html, +body { + width: 100%; + height: 100%; + overflow: hidden; +} + +body { + position: relative; + line-height: 1; +} + +::selection { + background: #FF5E99; + color: #fff; + text-shadow: none; +} + + +/********************************************* + * HEADERS + *********************************************/ + +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; + + word-wrap: break-word; + line-height: 1; +} + +.reveal h1 { font-size: 3.77em; } +.reveal h2 { font-size: 2.11em; } +.reveal h3 { font-size: 1.55em; } +.reveal h4 { font-size: 1em; } + + +/********************************************* + * VIEW FRAGMENTS + *********************************************/ + +.reveal .slides section .fragment { + opacity: 0; + + -webkit-transition: all .2s ease; + -moz-transition: all .2s ease; + -ms-transition: all .2s ease; + -o-transition: all .2s ease; + transition: all .2s ease; +} + .reveal .slides section .fragment.visible { + opacity: 1; + } + +.reveal .slides section .fragment.grow { + opacity: 1; +} + .reveal .slides section .fragment.grow.visible { + -webkit-transform: scale( 1.3 ); + -moz-transform: scale( 1.3 ); + -ms-transform: scale( 1.3 ); + -o-transform: scale( 1.3 ); + transform: scale( 1.3 ); + } + +.reveal .slides section .fragment.shrink { + opacity: 1; +} + .reveal .slides section .fragment.shrink.visible { + -webkit-transform: scale( 0.7 ); + -moz-transform: scale( 0.7 ); + -ms-transform: scale( 0.7 ); + -o-transform: scale( 0.7 ); + transform: scale( 0.7 ); + } + +.reveal .slides section .fragment.zoom-in { + opacity: 0; + + -webkit-transform: scale( 0.1 ); + -moz-transform: scale( 0.1 ); + -ms-transform: scale( 0.1 ); + -o-transform: scale( 0.1 ); + transform: scale( 0.1 ); +} + + .reveal .slides section .fragment.zoom-in.visible { + opacity: 1; + + -webkit-transform: scale( 1 ); + -moz-transform: scale( 1 ); + -ms-transform: scale( 1 ); + -o-transform: scale( 1 ); + transform: scale( 1 ); + } + +.reveal .slides section .fragment.roll-in { + opacity: 0; + + -webkit-transform: rotateX( 90deg ); + -moz-transform: rotateX( 90deg ); + -ms-transform: rotateX( 90deg ); + -o-transform: rotateX( 90deg ); + transform: rotateX( 90deg ); +} + .reveal .slides section .fragment.roll-in.visible { + opacity: 1; + + -webkit-transform: rotateX( 0 ); + -moz-transform: rotateX( 0 ); + -ms-transform: rotateX( 0 ); + -o-transform: rotateX( 0 ); + transform: rotateX( 0 ); + } + +.reveal .slides section .fragment.fade-out { + opacity: 1; +} + .reveal .slides section .fragment.fade-out.visible { + opacity: 0; + } + +.reveal .slides section .fragment.semi-fade-out { + opacity: 1; +} + .reveal .slides section .fragment.semi-fade-out.visible { + opacity: 0.5; + } + +.reveal .slides section .fragment.highlight-red, +.reveal .slides section .fragment.highlight-green, +.reveal .slides section .fragment.highlight-blue { + opacity: 1; +} + .reveal .slides section .fragment.highlight-red.visible { + color: #ff2c2d + } + .reveal .slides section .fragment.highlight-green.visible { + color: #17ff2e; + } + .reveal .slides section .fragment.highlight-blue.visible { + color: #1b91ff; + } + + +/********************************************* + * DEFAULT ELEMENT STYLES + *********************************************/ + +/* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */ +.reveal:after { + content: ''; + font-style: italic; +} + +.reveal iframe { + z-index: 1; +} + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; +} + +/** Prevents layering issues in certain browser/transition combinations */ +.reveal a { + position: relative; +} + +.reveal strong, +.reveal b { + font-weight: bold; +} + +.reveal em, +.reveal i { + font-style: italic; +} + +.reveal ol, +.reveal ul { + display: inline-block; + + text-align: left; + margin: 0 0 0 1em; +} + +.reveal ol { + list-style-type: decimal; +} + +.reveal ul { + list-style-type: disc; +} + +.reveal ul ul { + list-style-type: square; +} + +.reveal ul ul ul { + list-style-type: circle; +} + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; +} + +.reveal p { + margin-bottom: 10px; + line-height: 1.2em; +} + +.reveal q, +.reveal blockquote { + quotes: none; +} + +.reveal 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); +} + .reveal blockquote p:first-child, + .reveal blockquote p:last-child { + display: inline-block; + } + +.reveal q { + font-style: italic; +} + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 15px auto; + + text-align: left; + font-size: 0.85em; + font-family: monospace; + line-height: 1.2em; + + word-wrap: break-word; + + box-shadow: 0px 0px 6px rgba(0,0,0,0.3); +} +.reveal code { + font-family: monospace; +} +.reveal pre code { + white-space:pre-line; + font-size:140%; + + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; +} +.reveal pre.stretch code { + height: 100%; + max-height: 100%; + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.reveal table th, +.reveal table td { + text-align: left; + padding-right: .3em; +} + +.reveal table th { + text-shadow: rgb(255,255,255) 1px 1px 2px; +} + +.reveal sup { + vertical-align: super; +} +.reveal sub { + vertical-align: sub; +} + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; +} + +.reveal small * { + vertical-align: top; +} + +.reveal .stretch { + max-width: none; + max-height: none; +} + + +/********************************************* + * CONTROLS + *********************************************/ + +.reveal .controls { + display: none; + position: fixed; + width: 110px; + height: 110px; + z-index: 30; + right: 10px; + bottom: 10px; +} + +.reveal .controls div { + position: absolute; + opacity: 0.05; + width: 0; + height: 0; + border: 12px solid transparent; + + -moz-transform: scale(.9999); + + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -ms-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; +} + +.reveal .controls div.enabled { + opacity: 0.7; + cursor: pointer; +} + +.reveal .controls div.enabled:active { + margin-top: 1px; +} + + .reveal .controls div.navigate-left { + top: 42px; + + border-right-width: 22px; + border-right-color: #eee; + } + .reveal .controls div.navigate-left.fragmented { + opacity: 0.3; + } + + .reveal .controls div.navigate-right { + left: 74px; + top: 42px; + + border-left-width: 22px; + border-left-color: #eee; + } + .reveal .controls div.navigate-right.fragmented { + opacity: 0.3; + } + + .reveal .controls div.navigate-up { + left: 42px; + + border-bottom-width: 22px; + border-bottom-color: #eee; + } + .reveal .controls div.navigate-up.fragmented { + opacity: 0.3; + } + + .reveal .controls div.navigate-down { + left: 42px; + top: 74px; + + border-top-width: 22px; + border-top-color: #eee; + } + .reveal .controls div.navigate-down.fragmented { + opacity: 0.3; + } + + +/********************************************* + * PROGRESS BAR + *********************************************/ + +.reveal .progress { + position: fixed; + display: none; + height: 3px; + width: 100%; + bottom: 0; + left: 0; + z-index: 10; +} + .reveal .progress:after { + content: ''; + display: 'block'; + position: absolute; + height: 20px; + width: 100%; + top: -20px; + } + .reveal .progress span { + display: block; + height: 100%; + width: 0px; + + -webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -ms-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -o-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + } + + +/********************************************* + * SLIDES + *********************************************/ + +.reveal { + position: relative; + width: 100%; + height: 100%; + + -ms-touch-action: none; +} + +.reveal .slides { + position: absolute; + width: 100%; + height: 100%; + left: 50%; + top: 50%; + + overflow: visible; + z-index: 1; + text-align: center; + + -webkit-transition: -webkit-perspective .4s ease; + -moz-transition: -moz-perspective .4s ease; + -ms-transition: -ms-perspective .4s ease; + -o-transition: -o-perspective .4s ease; + transition: perspective .4s ease; + + -webkit-perspective: 600px; + -moz-perspective: 600px; + -ms-perspective: 600px; + perspective: 600px; + + -webkit-perspective-origin: 0px -100px; + -moz-perspective-origin: 0px -100px; + -ms-perspective-origin: 0px -100px; + perspective-origin: 0px -100px; +} + +.reveal .slides>section, +.reveal .slides>section>section { + display: none; + position: absolute; + width: 100%; + padding: 20px 0px; + + z-index: 10; + line-height: 1.2em; + font-weight: normal; + + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + transform-style: preserve-3d; + + -webkit-transition: -webkit-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + -webkit-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -moz-transition: -moz-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + -moz-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -ms-transition: -ms-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + -ms-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -o-transition: -o-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + -o-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), + opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); +} + +/* Global transition speed settings */ +.reveal[data-transition-speed="fast"] .slides section { + -webkit-transition-duration: 400ms; + -moz-transition-duration: 400ms; + -ms-transition-duration: 400ms; + transition-duration: 400ms; +} +.reveal[data-transition-speed="slow"] .slides section { + -webkit-transition-duration: 1200ms; + -moz-transition-duration: 1200ms; + -ms-transition-duration: 1200ms; + transition-duration: 1200ms; +} + +/* Slide-specific transition speed overrides */ +.reveal .slides section[data-transition-speed="fast"] { + -webkit-transition-duration: 400ms; + -moz-transition-duration: 400ms; + -ms-transition-duration: 400ms; + transition-duration: 400ms; +} +.reveal .slides section[data-transition-speed="slow"] { + -webkit-transition-duration: 1200ms; + -moz-transition-duration: 1200ms; + -ms-transition-duration: 1200ms; + transition-duration: 1200ms; +} + +.reveal .slides>section { + left: -50%; + top: -50%; +} + +.reveal .slides>section.stack { + padding-top: 0; + padding-bottom: 0; +} + +.reveal .slides>section.present, +.reveal .slides>section>section.present { + display: block; + z-index: 11; + opacity: 1; +} + +.reveal.center, +.reveal.center .slides, +.reveal.center .slides section { + min-height: auto !important; +} + +/* Don't allow interaction with invisible slides */ +.reveal .slides>section.future, +.reveal .slides>section>section.future, +.reveal .slides>section.past, +.reveal .slides>section>section.past { + pointer-events: none; +} + +.reveal.overview .slides>section, +.reveal.overview .slides>section>section { + pointer-events: auto; +} + + + +/********************************************* + * DEFAULT TRANSITION + *********************************************/ + +.reveal .slides>section[data-transition=default].past, +.reveal .slides>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); + -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); +} +.reveal .slides>section[data-transition=default].future, +.reveal .slides>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); + -ms-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); +} + +.reveal .slides>section>section[data-transition=default].past, +.reveal .slides>section>section.past { + display: block; + opacity: 0; + + -webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); + -moz-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); + -ms-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); + transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); +} +.reveal .slides>section>section[data-transition=default].future, +.reveal .slides>section>section.future { + display: block; + opacity: 0; + + -webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); + -moz-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); + -ms-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); + transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); +} + + +/********************************************* + * CONCAVE TRANSITION + *********************************************/ + +.reveal .slides>section[data-transition=concave].past, +.reveal.concave .slides>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); + -ms-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); +} +.reveal .slides>section[data-transition=concave].future, +.reveal.concave .slides>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); + -ms-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); +} + +.reveal .slides>section>section[data-transition=concave].past, +.reveal.concave .slides>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); + -ms-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); + transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); +} +.reveal .slides>section>section[data-transition=concave].future, +.reveal.concave .slides>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); + -ms-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); + transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); +} + + +/********************************************* + * ZOOM TRANSITION + *********************************************/ + +.reveal .slides>section[data-transition=zoom].past, +.reveal.zoom .slides>section.past { + opacity: 0; + visibility: hidden; + + -webkit-transform: scale(16); + -moz-transform: scale(16); + -ms-transform: scale(16); + -o-transform: scale(16); + transform: scale(16); +} +.reveal .slides>section[data-transition=zoom].future, +.reveal.zoom .slides>section.future { + opacity: 0; + visibility: hidden; + + -webkit-transform: scale(0.2); + -moz-transform: scale(0.2); + -ms-transform: scale(0.2); + -o-transform: scale(0.2); + transform: scale(0.2); +} + +.reveal .slides>section>section[data-transition=zoom].past, +.reveal.zoom .slides>section>section.past { + -webkit-transform: translate(0, -150%); + -moz-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); +} +.reveal .slides>section>section[data-transition=zoom].future, +.reveal.zoom .slides>section>section.future { + -webkit-transform: translate(0, 150%); + -moz-transform: translate(0, 150%); + -ms-transform: translate(0, 150%); + -o-transform: translate(0, 150%); + transform: translate(0, 150%); +} + + +/********************************************* + * LINEAR TRANSITION + *********************************************/ + +.reveal.linear section { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; +} + +.reveal .slides>section[data-transition=linear].past, +.reveal.linear .slides>section.past { + -webkit-transform: translate(-150%, 0); + -moz-transform: translate(-150%, 0); + -ms-transform: translate(-150%, 0); + -o-transform: translate(-150%, 0); + transform: translate(-150%, 0); +} +.reveal .slides>section[data-transition=linear].future, +.reveal.linear .slides>section.future { + -webkit-transform: translate(150%, 0); + -moz-transform: translate(150%, 0); + -ms-transform: translate(150%, 0); + -o-transform: translate(150%, 0); + transform: translate(150%, 0); +} + +.reveal .slides>section>section[data-transition=linear].past, +.reveal.linear .slides>section>section.past { + -webkit-transform: translate(0, -150%); + -moz-transform: translate(0, -150%); + -ms-transform: translate(0, -150%); + -o-transform: translate(0, -150%); + transform: translate(0, -150%); +} +.reveal .slides>section>section[data-transition=linear].future, +.reveal.linear .slides>section>section.future { + -webkit-transform: translate(0, 150%); + -moz-transform: translate(0, 150%); + -ms-transform: translate(0, 150%); + -o-transform: translate(0, 150%); + transform: translate(0, 150%); +} + + +/********************************************* + * CUBE TRANSITION + *********************************************/ + +.reveal.cube .slides { + -webkit-perspective: 1300px; + -moz-perspective: 1300px; + -ms-perspective: 1300px; + perspective: 1300px; +} + +.reveal.cube .slides section { + padding: 30px; + min-height: 700px; + + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + .reveal.center.cube .slides section { + min-height: auto; + } + .reveal.cube .slides section:not(.stack):before { + content: ''; + position: absolute; + display: block; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgba(0,0,0,0.1); + border-radius: 4px; + + -webkit-transform: translateZ( -20px ); + -moz-transform: translateZ( -20px ); + -ms-transform: translateZ( -20px ); + -o-transform: translateZ( -20px ); + transform: translateZ( -20px ); + } + .reveal.cube .slides section:not(.stack):after { + content: ''; + position: absolute; + display: block; + width: 90%; + height: 30px; + left: 5%; + bottom: 0; + background: none; + z-index: 1; + + border-radius: 4px; + box-shadow: 0px 95px 25px rgba(0,0,0,0.2); + + -webkit-transform: translateZ(-90px) rotateX( 65deg ); + -moz-transform: translateZ(-90px) rotateX( 65deg ); + -ms-transform: translateZ(-90px) rotateX( 65deg ); + -o-transform: translateZ(-90px) rotateX( 65deg ); + transform: translateZ(-90px) rotateX( 65deg ); + } + +.reveal.cube .slides>section.stack { + padding: 0; + background: none; +} + +.reveal.cube .slides>section.past { + -webkit-transform-origin: 100% 0%; + -moz-transform-origin: 100% 0%; + -ms-transform-origin: 100% 0%; + transform-origin: 100% 0%; + + -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg); + -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg); + -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg); + transform: translate3d(-100%, 0, 0) rotateY(-90deg); +} + +.reveal.cube .slides>section.future { + -webkit-transform-origin: 0% 0%; + -moz-transform-origin: 0% 0%; + -ms-transform-origin: 0% 0%; + transform-origin: 0% 0%; + + -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg); + -moz-transform: translate3d(100%, 0, 0) rotateY(90deg); + -ms-transform: translate3d(100%, 0, 0) rotateY(90deg); + transform: translate3d(100%, 0, 0) rotateY(90deg); +} + +.reveal.cube .slides>section>section.past { + -webkit-transform-origin: 0% 100%; + -moz-transform-origin: 0% 100%; + -ms-transform-origin: 0% 100%; + transform-origin: 0% 100%; + + -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg); + -moz-transform: translate3d(0, -100%, 0) rotateX(90deg); + -ms-transform: translate3d(0, -100%, 0) rotateX(90deg); + transform: translate3d(0, -100%, 0) rotateX(90deg); +} + +.reveal.cube .slides>section>section.future { + -webkit-transform-origin: 0% 0%; + -moz-transform-origin: 0% 0%; + -ms-transform-origin: 0% 0%; + transform-origin: 0% 0%; + + -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg); + -moz-transform: translate3d(0, 100%, 0) rotateX(-90deg); + -ms-transform: translate3d(0, 100%, 0) rotateX(-90deg); + transform: translate3d(0, 100%, 0) rotateX(-90deg); +} + + +/********************************************* + * PAGE TRANSITION + *********************************************/ + +.reveal.page .slides { + -webkit-perspective-origin: 0% 50%; + -moz-perspective-origin: 0% 50%; + -ms-perspective-origin: 0% 50%; + perspective-origin: 0% 50%; + + -webkit-perspective: 3000px; + -moz-perspective: 3000px; + -ms-perspective: 3000px; + perspective: 3000px; +} + +.reveal.page .slides section { + padding: 30px; + min-height: 700px; + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + .reveal.page .slides section.past { + z-index: 12; + } + .reveal.page .slides section:not(.stack):before { + content: ''; + position: absolute; + display: block; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: rgba(0,0,0,0.1); + + -webkit-transform: translateZ( -20px ); + -moz-transform: translateZ( -20px ); + -ms-transform: translateZ( -20px ); + -o-transform: translateZ( -20px ); + transform: translateZ( -20px ); + } + .reveal.page .slides section:not(.stack):after { + content: ''; + position: absolute; + display: block; + width: 90%; + height: 30px; + left: 5%; + bottom: 0; + background: none; + z-index: 1; + + border-radius: 4px; + box-shadow: 0px 95px 25px rgba(0,0,0,0.2); + + -webkit-transform: translateZ(-90px) rotateX( 65deg ); + } + +.reveal.page .slides>section.stack { + padding: 0; + background: none; +} + +.reveal.page .slides>section.past { + -webkit-transform-origin: 0% 0%; + -moz-transform-origin: 0% 0%; + -ms-transform-origin: 0% 0%; + transform-origin: 0% 0%; + + -webkit-transform: translate3d(-40%, 0, 0) rotateY(-80deg); + -moz-transform: translate3d(-40%, 0, 0) rotateY(-80deg); + -ms-transform: translate3d(-40%, 0, 0) rotateY(-80deg); + transform: translate3d(-40%, 0, 0) rotateY(-80deg); +} + +.reveal.page .slides>section.future { + -webkit-transform-origin: 100% 0%; + -moz-transform-origin: 100% 0%; + -ms-transform-origin: 100% 0%; + transform-origin: 100% 0%; + + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.reveal.page .slides>section>section.past { + -webkit-transform-origin: 0% 0%; + -moz-transform-origin: 0% 0%; + -ms-transform-origin: 0% 0%; + transform-origin: 0% 0%; + + -webkit-transform: translate3d(0, -40%, 0) rotateX(80deg); + -moz-transform: translate3d(0, -40%, 0) rotateX(80deg); + -ms-transform: translate3d(0, -40%, 0) rotateX(80deg); + transform: translate3d(0, -40%, 0) rotateX(80deg); +} + +.reveal.page .slides>section>section.future { + -webkit-transform-origin: 0% 100%; + -moz-transform-origin: 0% 100%; + -ms-transform-origin: 0% 100%; + transform-origin: 0% 100%; + + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + + +/********************************************* + * FADE TRANSITION + *********************************************/ + +.reveal .slides section[data-transition=fade], +.reveal.fade .slides section, +.reveal.fade .slides>section>section { + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; + + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -ms-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} + + +.reveal.fade.overview .slides section, +.reveal.fade.overview .slides>section>section, +.reveal.fade.exit-overview .slides section, +.reveal.fade.exit-overview .slides>section>section { + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; +} + + +/********************************************* + * NO TRANSITION + *********************************************/ + +.reveal .slides section[data-transition=none], +.reveal.none .slides section { + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; + + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; +} + + +/********************************************* + * OVERVIEW + *********************************************/ + +.reveal.overview .slides { + -webkit-perspective-origin: 0% 0%; + -moz-perspective-origin: 0% 0%; + -ms-perspective-origin: 0% 0%; + perspective-origin: 0% 0%; + + -webkit-perspective: 700px; + -moz-perspective: 700px; + -ms-perspective: 700px; + perspective: 700px; +} + +.reveal.overview .slides section { + height: 600px; + top: -300px !important; + overflow: hidden; + opacity: 1 !important; + visibility: visible !important; + cursor: pointer; + background: rgba(0,0,0,0.1); +} +.reveal.overview .slides section .fragment { + opacity: 1; +} +.reveal.overview .slides section:after, +.reveal.overview .slides section:before { + display: none !important; +} +.reveal.overview .slides section>section { + opacity: 1; + cursor: pointer; +} + .reveal.overview .slides section:hover { + background: rgba(0,0,0,0.3); + } + .reveal.overview .slides section.present { + background: rgba(0,0,0,0.3); + } +.reveal.overview .slides>section.stack { + padding: 0; + top: 0 !important; + background: none; + overflow: visible; +} + + +/********************************************* + * PAUSED MODE + *********************************************/ + +.reveal .pause-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: black; + visibility: hidden; + opacity: 0; + z-index: 100; + + -webkit-transition: all 1s ease; + -moz-transition: all 1s ease; + -ms-transition: all 1s ease; + -o-transition: all 1s ease; + transition: all 1s ease; +} +.reveal.paused .pause-overlay { + visibility: visible; + opacity: 1; +} + + +/********************************************* + * FALLBACK + *********************************************/ + +.no-transforms { + overflow-y: auto; +} + +.no-transforms .reveal .slides { + position: relative; + width: 80%; + height: auto !important; + top: 0; + left: 50%; + margin: 0; + text-align: center; +} + +.no-transforms .reveal .controls, +.no-transforms .reveal .progress { + display: none !important; +} + +.no-transforms .reveal .slides section { + display: block !important; + opacity: 1 !important; + position: relative !important; + height: auto; + min-height: auto; + top: 0; + left: -50%; + margin: 70px 0; + + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; +} + +.no-transforms .reveal .slides section section { + left: 0; +} + +.reveal .no-transition, +.reveal .no-transition * { + -webkit-transition: none !important; + -moz-transition: none !important; + -ms-transition: none !important; + -o-transition: none !important; + transition: none !important; +} + + +/********************************************* + * BACKGROUND STATES [DEPRECATED] + *********************************************/ + +.reveal .state-background { + position: absolute; + width: 100%; + height: 100%; + background: rgba( 0, 0, 0, 0 ); + + -webkit-transition: background 800ms ease; + -moz-transition: background 800ms ease; + -ms-transition: background 800ms ease; + -o-transition: background 800ms ease; + transition: background 800ms ease; +} +.alert .reveal .state-background { + background: rgba( 200, 50, 30, 0.6 ); +} +.soothe .reveal .state-background { + background: rgba( 50, 200, 90, 0.4 ); +} +.blackout .reveal .state-background { + background: rgba( 0, 0, 0, 0.6 ); +} +.whiteout .reveal .state-background { + background: rgba( 255, 255, 255, 0.6 ); +} +.cobalt .reveal .state-background { + background: rgba( 22, 152, 213, 0.6 ); +} +.mint .reveal .state-background { + background: rgba( 22, 213, 75, 0.6 ); +} +.submerge .reveal .state-background { + background: rgba( 12, 25, 77, 0.6); +} +.lila .reveal .state-background { + background: rgba( 180, 50, 140, 0.6 ); +} +.sunset .reveal .state-background { + background: rgba( 255, 122, 0, 0.6 ); +} + + +/********************************************* + * PER-SLIDE BACKGROUNDS + *********************************************/ + +.reveal>.backgrounds { + position: absolute; + width: 100%; + height: 100%; +} + .reveal .slide-background { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + visibility: hidden; + + background-color: rgba( 0, 0, 0, 0 ); + background-position: 50% 50%; + background-repeat: no-repeat; + background-size: cover; + + -webkit-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -moz-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -ms-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + -o-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985); + } + .reveal .slide-background.present { + opacity: 1; + visibility: visible; + } + + .print-pdf .reveal .slide-background { + opacity: 1 !important; + visibility: visible !important; + } + +/* Immediate transition style */ +.reveal[data-background-transition=none]>.backgrounds .slide-background, +.reveal>.backgrounds .slide-background[data-background-transition=none] { + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; +} + +/* Linear sliding transition style */ +.reveal[data-background-transition=slide]>.backgrounds .slide-background, +.reveal>.backgrounds .slide-background[data-background-transition=slide] { + opacity: 1; + + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + + -webkit-transition-duration: 800ms; + -moz-transition-duration: 800ms; + -ms-transition-duration: 800ms; + -o-transition-duration: 800ms; + transition-duration: 800ms; +} + .reveal[data-background-transition=slide]>.backgrounds .slide-background.past, + .reveal>.backgrounds .slide-background.past[data-background-transition=slide] { + -webkit-transform: translate(-100%, 0); + -moz-transform: translate(-100%, 0); + -ms-transform: translate(-100%, 0); + -o-transform: translate(-100%, 0); + transform: translate(-100%, 0); + } + .reveal[data-background-transition=slide]>.backgrounds .slide-background.future, + .reveal>.backgrounds .slide-background.future[data-background-transition=slide] { + -webkit-transform: translate(100%, 0); + -moz-transform: translate(100%, 0); + -ms-transform: translate(100%, 0); + -o-transform: translate(100%, 0); + transform: translate(100%, 0); + } + + .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past, + .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] { + -webkit-transform: translate(0, -100%); + -moz-transform: translate(0, -100%); + -ms-transform: translate(0, -100%); + -o-transform: translate(0, -100%); + transform: translate(0, -100%); + } + .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future, + .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] { + -webkit-transform: translate(0, 100%); + -moz-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + -o-transform: translate(0, 100%); + transform: translate(0, 100%); + } + + +/* Global transition speed settings */ +.reveal[data-transition-speed="fast"]>.backgrounds .slide-background { + -webkit-transition-duration: 400ms; + -moz-transition-duration: 400ms; + -ms-transition-duration: 400ms; + transition-duration: 400ms; +} +.reveal[data-transition-speed="slow"]>.backgrounds .slide-background { + -webkit-transition-duration: 1200ms; + -moz-transition-duration: 1200ms; + -ms-transition-duration: 1200ms; + transition-duration: 1200ms; +} + + +/********************************************* + * RTL SUPPORT + *********************************************/ + +.reveal.rtl .slides, +.reveal.rtl .slides h1, +.reveal.rtl .slides h2, +.reveal.rtl .slides h3, +.reveal.rtl .slides h4, +.reveal.rtl .slides h5, +.reveal.rtl .slides h6 { + direction: rtl; + font-family: sans-serif; +} + +.reveal.rtl pre, +.reveal.rtl code { + direction: ltr; +} + +.reveal.rtl ol, +.reveal.rtl ul { + text-align: right; +} + +.reveal.rtl .progress span { + float: right +} + + +/********************************************* + * LINK PREVIEW OVERLAY + *********************************************/ + + .reveal .preview-link-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1000; + background: rgba( 0, 0, 0, 0.9 ); + opacity: 0; + visibility: hidden; + + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -ms-transition: all 0.3s ease; + transition: all 0.3s ease; + } + .reveal .preview-link-overlay.visible { + opacity: 1; + visibility: visible; + } + + .reveal .preview-link-overlay .spinner { + position: absolute; + display: block; + top: 50%; + left: 50%; + width: 32px; + height: 32px; + margin: -16px 0 0 -16px; + z-index: 10; + background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D); + + visibility: visible; + opacity: 0.6; + + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -ms-transition: all 0.3s ease; + transition: all 0.3s ease; + } + + .reveal .preview-link-overlay header { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 40px; + z-index: 2; + border-bottom: 1px solid #222; + } + .reveal .preview-link-overlay header a { + display: inline-block; + width: 40px; + height: 40px; + padding: 0 10px; + float: right; + opacity: 0.6; + + box-sizing: border-box; + } + .reveal .preview-link-overlay header a:hover { + opacity: 1; + } + .reveal .preview-link-overlay header a .icon { + display: inline-block; + width: 20px; + height: 20px; + + background-position: 50% 50%; + background-size: 100%; + background-repeat: no-repeat; + } + .reveal .preview-link-overlay header a.close .icon { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC); + } + .reveal .preview-link-overlay header a.external .icon { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==); + } + + .reveal .preview-link-overlay .viewport { + position: absolute; + top: 40px; + right: 0; + bottom: 0; + left: 0; + } + + .reveal .preview-link-overlay .viewport iframe { + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; + border: 0; + + opacity: 0; + visibility: hidden; + + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -ms-transition: all 0.3s ease; + transition: all 0.3s ease; + } + + .reveal .preview-link-overlay.loaded .viewport iframe { + opacity: 1; + visibility: visible; + } + + .reveal .preview-link-overlay.loaded .spinner { + opacity: 0; + visibility: hidden; + + -webkit-transform: scale(0.2); + -moz-transform: scale(0.2); + -ms-transform: scale(0.2); + transform: scale(0.2); + } + + +/********************************************* + * ROLLING LINKS + *********************************************/ + +.reveal .roll { + display: inline-block; + line-height: 1.2; + overflow: hidden; + + vertical-align: top; + + -webkit-perspective: 400px; + -moz-perspective: 400px; + -ms-perspective: 400px; + perspective: 400px; + + -webkit-perspective-origin: 50% 50%; + -moz-perspective-origin: 50% 50%; + -ms-perspective-origin: 50% 50%; + perspective-origin: 50% 50%; +} + .reveal .roll:hover { + background: none; + text-shadow: none; + } +.reveal .roll span { + display: block; + position: relative; + padding: 0 2px; + + pointer-events: none; + + -webkit-transition: all 400ms ease; + -moz-transition: all 400ms ease; + -ms-transition: all 400ms ease; + transition: all 400ms ease; + + -webkit-transform-origin: 50% 0%; + -moz-transform-origin: 50% 0%; + -ms-transform-origin: 50% 0%; + transform-origin: 50% 0%; + + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + transform-style: preserve-3d; + + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + .reveal .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 ); + -ms-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); + transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); + } +.reveal .roll span:after { + content: attr(data-title); + + display: block; + position: absolute; + left: 0; + top: 0; + padding: 0 2px; + + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + + -webkit-transform-origin: 50% 0%; + -moz-transform-origin: 50% 0%; + -ms-transform-origin: 50% 0%; + transform-origin: 50% 0%; + + -webkit-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); + -moz-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); + -ms-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); + transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); +} + + +/********************************************* + * SPEAKER NOTES + *********************************************/ + +.reveal aside.notes { + display: none; +} + + +/********************************************* + * ZOOM PLUGIN + *********************************************/ + +.zoomed .reveal *, +.zoomed .reveal *:before, +.zoomed .reveal *:after { + -webkit-transform: none !important; + -moz-transform: none !important; + -ms-transform: none !important; + transform: none !important; + + -webkit-backface-visibility: visible !important; + -moz-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +.zoomed .reveal .progress, +.zoomed .reveal .controls { + opacity: 0; +} + +.zoomed .reveal .roll span { + background: none; +} + +.zoomed .reveal .roll span:after { + visibility: hidden; +} + + diff --git a/slides/reveal/simple.css b/slides/reveal/simple.css new file mode 100755 index 00000000..62f122da --- /dev/null +++ b/slides/reveal/simple.css @@ -0,0 +1,132 @@ +@import url(../google/fonts_NewsCycle.css); +@import url(../google/fonts_Late.css); +/** + * A simple theme for reveal.js presentations, similar + * to the default theme. The accent color is darkblue. + * + * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed. + * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + */ +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: white; + background-color: white; } + +.reveal { + font-family: "Lato", sans-serif; + font-size: 36px; + font-weight: 200; + letter-spacing: -0.02em; + color: black; } + +::selection { + color: white; + background: rgba(0, 0, 0, 0.99); + text-shadow: none; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: black; + font-family: "News Cycle", Impact, sans-serif; + line-height: 0.9em; + letter-spacing: 0.02em; + text-transform: none; + text-shadow: none; } + +.reveal h1 { + text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); } + +/********************************************* + * LINKS + *********************************************/ +.reveal a:not(.image) { + color: darkblue; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + -ms-transition: color .15s ease; + -o-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:not(.image):hover { + color: #0000f1; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #00003f; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid black; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); + -webkit-transition: all .2s linear; + -moz-transition: all .2s linear; + -ms-transition: all .2s linear; + -o-transition: all .2s linear; + transition: all .2s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: darkblue; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls div.navigate-left, +.reveal .controls div.navigate-left.enabled { + border-right-color: darkblue; } + +.reveal .controls div.navigate-right, +.reveal .controls div.navigate-right.enabled { + border-left-color: darkblue; } + +.reveal .controls div.navigate-up, +.reveal .controls div.navigate-up.enabled { + border-bottom-color: darkblue; } + +.reveal .controls div.navigate-down, +.reveal .controls div.navigate-down.enabled { + border-top-color: darkblue; } + +.reveal .controls div.navigate-left.enabled:hover { + border-right-color: #0000f1; } + +.reveal .controls div.navigate-right.enabled:hover { + border-left-color: #0000f1; } + +.reveal .controls div.navigate-up.enabled:hover { + border-bottom-color: #0000f1; } + +.reveal .controls div.navigate-down.enabled:hover { + border-top-color: #0000f1; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); } + +.reveal .progress span { + background: darkblue; + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -o-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/slides/src/base.jade b/slides/src/base.jade new file mode 100755 index 00000000..e9675944 --- /dev/null +++ b/slides/src/base.jade @@ -0,0 +1,31 @@ +doctype html +html(lang='en') +head + meta(charset='utf-8') + block title + meta(name='apple-mobile-web-app-capable', content='yes') + meta(name='apple-mobile-web-app-status-bar-style', content='black-translucent') + meta(name='viewport', content='width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes') + link(rel='stylesheet', href='reveal/reveal_bigFont.css') + link#theme(rel='stylesheet', href='reveal/simple.css') + + body + .reveal + .slides + block slides + + script(src='reveal/reveal.min.js') + script. + // Full list of configuration options available here: + // https://github.com/hakimel/reveal.js#configuration + Reveal.initialize({ + controls: true, + progress: true, + history: true, + center: true, + loop: false, + mouseWheel: true, + //theme: Reveal.getQueryHash().theme, // available themes are in /css/theme + transition: 'default' // default/cube/page/concave/zoom/linear/fade/none + }); + diff --git a/slides/src/index.jade b/slides/src/index.jade new file mode 100755 index 00000000..ceb58b5b --- /dev/null +++ b/slides/src/index.jade @@ -0,0 +1,47 @@ +extends base + +block title + title chap1 HelloWorld + +block slides + section + h1 C & C++ + br + ul + li 俸志刚(嵌入式软件工程中心 B1307) + br + li.fragment QQ群: 612414859 ( uestc2017ccpp ) + section + h2 请准备: + br + ul + li 一个活页本 + br + li 一支笔 + br + li 鼓励自带笔记本电脑 + + section + h2 成绩构成 + br + ul + li 平时成绩:20% + br + li 实验成绩:40% + br + li 期末成绩:40% + + section + h2 总课时数: 64 + br + ul + li C语言:16 + br + li C++:24 + br + li 课程设计:20 + br + li 总结 & 复习:4 + + section + h1 Good Luck! \ No newline at end of file
",'','',"