github.com/sentienttechnologies/studio-go-runner@v0.0.0-20201118202441-6d21f2ced8ee/docs/slides/css/reveal.scss (about)

     1  /*!
     2   * reveal.js
     3   * http://revealjs.com
     4   * MIT licensed
     5   *
     6   * Copyright (C) 2017 Hakim El Hattab, http://hakim.se
     7   */
     8  
     9  
    10  /*********************************************
    11   * RESET STYLES
    12   *********************************************/
    13  
    14  html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe,
    15  .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre,
    16  .reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code,
    17  .reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp,
    18  .reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var,
    19  .reveal b, .reveal u, .reveal center,
    20  .reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li,
    21  .reveal fieldset, .reveal form, .reveal label, .reveal legend,
    22  .reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td,
    23  .reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed,
    24  .reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup,
    25  .reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary,
    26  .reveal time, .reveal mark, .reveal audio, .reveal video {
    27  	margin: 0;
    28  	padding: 0;
    29  	border: 0;
    30  	font-size: 100%;
    31  	font: inherit;
    32  	vertical-align: baseline;
    33  }
    34  
    35  .reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure,
    36  .reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section {
    37  	display: block;
    38  }
    39  
    40  
    41  /*********************************************
    42   * GLOBAL STYLES
    43   *********************************************/
    44  
    45  html,
    46  body {
    47  	width: 100%;
    48  	height: 100%;
    49  	overflow: hidden;
    50  }
    51  
    52  body {
    53  	position: relative;
    54  	line-height: 1;
    55  
    56  	background-color: #fff;
    57  	color: #000;
    58  }
    59  
    60  
    61  /*********************************************
    62   * VIEW FRAGMENTS
    63   *********************************************/
    64  
    65  .reveal .slides section .fragment {
    66  	opacity: 0;
    67  	visibility: hidden;
    68  	transition: all .2s ease;
    69  
    70  	&.visible {
    71  		opacity: 1;
    72  		visibility: inherit;
    73  	}
    74  }
    75  
    76  .reveal .slides section .fragment.grow {
    77  	opacity: 1;
    78  	visibility: inherit;
    79  
    80  	&.visible {
    81  		transform: scale( 1.3 );
    82  	}
    83  }
    84  
    85  .reveal .slides section .fragment.shrink {
    86  	opacity: 1;
    87  	visibility: inherit;
    88  
    89  	&.visible {
    90  		transform: scale( 0.7 );
    91  	}
    92  }
    93  
    94  .reveal .slides section .fragment.zoom-in {
    95  	transform: scale( 0.1 );
    96  
    97  	&.visible {
    98  		transform: none;
    99  	}
   100  }
   101  
   102  .reveal .slides section .fragment.fade-out {
   103  	opacity: 1;
   104  	visibility: inherit;
   105  
   106  	&.visible {
   107  		opacity: 0;
   108  		visibility: hidden;
   109  	}
   110  }
   111  
   112  .reveal .slides section .fragment.semi-fade-out {
   113  	opacity: 1;
   114  	visibility: inherit;
   115  
   116  	&.visible {
   117  		opacity: 0.5;
   118  		visibility: inherit;
   119  	}
   120  }
   121  
   122  .reveal .slides section .fragment.strike {
   123  	opacity: 1;
   124  	visibility: inherit;
   125  
   126  	&.visible {
   127  		text-decoration: line-through;
   128  	}
   129  }
   130  
   131  .reveal .slides section .fragment.fade-up {
   132  	transform: translate(0, 20%);
   133  
   134  	&.visible {
   135  		transform: translate(0, 0);
   136  	}
   137  }
   138  
   139  .reveal .slides section .fragment.fade-down {
   140  	transform: translate(0, -20%);
   141  
   142  	&.visible {
   143  		transform: translate(0, 0);
   144  	}
   145  }
   146  
   147  .reveal .slides section .fragment.fade-right {
   148  	transform: translate(-20%, 0);
   149  
   150  	&.visible {
   151  		transform: translate(0, 0);
   152  	}
   153  }
   154  
   155  .reveal .slides section .fragment.fade-left {
   156  	transform: translate(20%, 0);
   157  
   158  	&.visible {
   159  		transform: translate(0, 0);
   160  	}
   161  }
   162  
   163  .reveal .slides section .fragment.current-visible {
   164  	opacity: 0;
   165  	visibility: hidden;
   166  
   167  	&.current-fragment {
   168  		opacity: 1;
   169  		visibility: inherit;
   170  	}
   171  }
   172  
   173  .reveal .slides section .fragment.highlight-red,
   174  .reveal .slides section .fragment.highlight-current-red,
   175  .reveal .slides section .fragment.highlight-green,
   176  .reveal .slides section .fragment.highlight-current-green,
   177  .reveal .slides section .fragment.highlight-blue,
   178  .reveal .slides section .fragment.highlight-current-blue {
   179  	opacity: 1;
   180  	visibility: inherit;
   181  }
   182  	.reveal .slides section .fragment.highlight-red.visible {
   183  		color: #ff2c2d
   184  	}
   185  	.reveal .slides section .fragment.highlight-green.visible {
   186  		color: #17ff2e;
   187  	}
   188  	.reveal .slides section .fragment.highlight-blue.visible {
   189  		color: #1b91ff;
   190  	}
   191  
   192  .reveal .slides section .fragment.highlight-current-red.current-fragment {
   193  	color: #ff2c2d
   194  }
   195  .reveal .slides section .fragment.highlight-current-green.current-fragment {
   196  	color: #17ff2e;
   197  }
   198  .reveal .slides section .fragment.highlight-current-blue.current-fragment {
   199  	color: #1b91ff;
   200  }
   201  
   202  
   203  /*********************************************
   204   * DEFAULT ELEMENT STYLES
   205   *********************************************/
   206  
   207  /* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */
   208  .reveal:after {
   209    content: '';
   210    font-style: italic;
   211  }
   212  
   213  .reveal iframe {
   214  	z-index: 1;
   215  }
   216  
   217  /** Prevents layering issues in certain browser/transition combinations */
   218  .reveal a {
   219  	position: relative;
   220  }
   221  
   222  .reveal .stretch {
   223  	max-width: none;
   224  	max-height: none;
   225  }
   226  
   227  .reveal pre.stretch code {
   228  	height: 100%;
   229  	max-height: 100%;
   230  	box-sizing: border-box;
   231  }
   232  
   233  
   234  /*********************************************
   235   * CONTROLS
   236   *********************************************/
   237  
   238  @keyframes bounce-right {
   239  	0%, 10%, 25%, 40%, 50% {transform: translateX(0);}
   240  	20% {transform: translateX(10px);}
   241  	30% {transform: translateX(-5px);}
   242  }
   243  
   244  @keyframes bounce-down {
   245  	0%, 10%, 25%, 40%, 50% {transform: translateY(0);}
   246  	20% {transform: translateY(10px);}
   247  	30% {transform: translateY(-5px);}
   248  }
   249  
   250  $controlArrowSize: 3.6em;
   251  $controlArrowSpacing: 1.4em;
   252  $controlArrowLength: 2.6em;
   253  $controlArrowThickness: 0.5em;
   254  $controlsArrowAngle: 45deg;
   255  $controlsArrowAngleHover: 40deg;
   256  $controlsArrowAngleActive: 36deg;
   257  
   258  @mixin controlsArrowTransform( $angle ) {
   259  	&:before {
   260  		transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( $angle );
   261  	}
   262  
   263  	&:after {
   264  		transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( -$angle );
   265  	}
   266  }
   267  
   268  .reveal .controls {
   269  	$spacing: 12px;
   270  
   271  	display: none;
   272  	position: absolute;
   273  	top: auto;
   274  	bottom: $spacing;
   275  	right: $spacing;
   276  	left: auto;
   277  	z-index: 1;
   278  	color: #000;
   279  	pointer-events: none;
   280  	font-size: 10px;
   281  
   282  	button {
   283  		position: absolute;
   284  		padding: 0;
   285  		background-color: transparent;
   286  		border: 0;
   287  		outline: 0;
   288  		cursor: pointer;
   289  		color: currentColor;
   290  		transform: scale(.9999);
   291  		transition: color 0.2s ease,
   292  					opacity 0.2s ease,
   293  					transform 0.2s ease;
   294  		z-index: 2; // above slides
   295  		pointer-events: auto;
   296  		font-size: inherit;
   297  
   298  		visibility: hidden;
   299  		opacity: 0;
   300  
   301  		-webkit-appearance: none;
   302  		-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
   303  	}
   304  
   305  	.controls-arrow:before,
   306  	.controls-arrow:after {
   307  		content: '';
   308  		position: absolute;
   309  		top: 0;
   310  		left: 0;
   311  		width: $controlArrowLength;
   312  		height: $controlArrowThickness;
   313  		border-radius: $controlArrowThickness/2;
   314  		background-color: currentColor;
   315  
   316  		transition: all 0.15s ease, background-color 0.8s ease;
   317  		transform-origin: floor(($controlArrowThickness/2)*10)/10 50%;
   318  		will-change: transform;
   319  	}
   320  
   321  	.controls-arrow {
   322  		position: relative;
   323  		width: $controlArrowSize;
   324  		height: $controlArrowSize;
   325  
   326  		@include controlsArrowTransform( $controlsArrowAngle );
   327  
   328  		&:hover {
   329  			@include controlsArrowTransform( $controlsArrowAngleHover );
   330  		}
   331  
   332  		&:active {
   333  			@include controlsArrowTransform( $controlsArrowAngleActive );
   334  		}
   335  	}
   336  
   337  	.navigate-left {
   338  		right: $controlArrowSize + $controlArrowSpacing*2;
   339  		bottom: $controlArrowSpacing + $controlArrowSize/2;
   340  		transform: translateX( -10px );
   341  	}
   342  
   343  	.navigate-right {
   344  		right: 0;
   345  		bottom: $controlArrowSpacing + $controlArrowSize/2;
   346  		transform: translateX( 10px );
   347  
   348  		.controls-arrow {
   349  			transform: rotate( 180deg );
   350  		}
   351  
   352  		&.highlight {
   353  			animation: bounce-right 2s 50 both ease-out;
   354  		}
   355  	}
   356  
   357  	.navigate-up {
   358  		right: $controlArrowSpacing + $controlArrowSize/2;
   359  		bottom: $controlArrowSpacing*2 + $controlArrowSize;
   360  		transform: translateY( -10px );
   361  
   362  		.controls-arrow {
   363  			transform: rotate( 90deg );
   364  		}
   365  	}
   366  
   367  	.navigate-down {
   368  		right: $controlArrowSpacing + $controlArrowSize/2;
   369  		bottom: 0;
   370  		transform: translateY( 10px );
   371  
   372  		.controls-arrow {
   373  			transform: rotate( -90deg );
   374  		}
   375  
   376  		&.highlight {
   377  			animation: bounce-down 2s 50 both ease-out;
   378  		}
   379  	}
   380  
   381  	// Back arrow style: "faded":
   382  	// Deemphasize backwards navigation arrows in favor of drawing
   383  	// attention to forwards navigation
   384  	&[data-controls-back-arrows="faded"] .navigate-left.enabled,
   385  	&[data-controls-back-arrows="faded"] .navigate-up.enabled {
   386  		opacity: 0.3;
   387  
   388  		&:hover {
   389  			opacity: 1;
   390  		}
   391  	}
   392  
   393  	// Back arrow style: "hidden":
   394  	// Never show arrows for backwards navigation
   395  	&[data-controls-back-arrows="hidden"] .navigate-left.enabled,
   396  	&[data-controls-back-arrows="hidden"] .navigate-up.enabled {
   397  		opacity: 0;
   398  		visibility: hidden;
   399  	}
   400  
   401  	// Any control button that can be clicked is "enabled"
   402  	.enabled {
   403  		visibility: visible;
   404  		opacity: 0.9;
   405  		cursor: pointer;
   406  		transform: none;
   407  	}
   408  
   409  	// Any control button that leads to showing or hiding
   410  	// a fragment
   411  	.enabled.fragmented {
   412  		opacity: 0.5;
   413  	}
   414  
   415  	.enabled:hover,
   416  	.enabled.fragmented:hover {
   417  		opacity: 1;
   418  	}
   419  }
   420  
   421  // Adjust the layout when there are no vertical slides
   422  .reveal:not(.has-vertical-slides) .controls .navigate-left {
   423  	bottom: $controlArrowSpacing;
   424  	right: 0.5em + $controlArrowSpacing + $controlArrowSize;
   425  }
   426  
   427  .reveal:not(.has-vertical-slides) .controls .navigate-right {
   428  	bottom: $controlArrowSpacing;
   429  	right: 0.5em;
   430  }
   431  
   432  // Adjust the layout when there are no horizontal slides
   433  .reveal:not(.has-horizontal-slides) .controls .navigate-up {
   434  	right: $controlArrowSpacing;
   435  	bottom: $controlArrowSpacing + $controlArrowSize;
   436  }
   437  .reveal:not(.has-horizontal-slides) .controls .navigate-down {
   438  	right: $controlArrowSpacing;
   439  	bottom: 0.5em;
   440  }
   441  
   442  // Invert arrows based on background color
   443  .reveal.has-dark-background .controls {
   444  	color: #fff;
   445  }
   446  .reveal.has-light-background .controls {
   447  	color: #000;
   448  }
   449  
   450  // Disable active states on touch devices
   451  .reveal.no-hover .controls .controls-arrow:hover,
   452  .reveal.no-hover .controls .controls-arrow:active {
   453  	@include controlsArrowTransform( $controlsArrowAngle );
   454  }
   455  
   456  // Edge aligned controls layout
   457  @media screen and (min-width: 500px) {
   458  
   459  	$spacing: 8px;
   460  
   461  	.reveal .controls[data-controls-layout="edges"] {
   462  		& {
   463  			top: 0;
   464  			right: 0;
   465  			bottom: 0;
   466  			left: 0;
   467  		}
   468  
   469  		.navigate-left,
   470  		.navigate-right,
   471  		.navigate-up,
   472  		.navigate-down {
   473  			bottom: auto;
   474  			right: auto;
   475  		}
   476  
   477  		.navigate-left {
   478  			top: 50%;
   479  			left: $spacing;
   480  			margin-top: -$controlArrowSize/2;
   481  		}
   482  
   483  		.navigate-right {
   484  			top: 50%;
   485  			right: $spacing;
   486  			margin-top: -$controlArrowSize/2;
   487  		}
   488  
   489  		.navigate-up {
   490  			top: $spacing;
   491  			left: 50%;
   492  			margin-left: -$controlArrowSize/2;
   493  		}
   494  
   495  		.navigate-down {
   496  			bottom: $spacing;
   497  			left: 50%;
   498  			margin-left: -$controlArrowSize/2;
   499  		}
   500  	}
   501  
   502  }
   503  
   504  
   505  /*********************************************
   506   * PROGRESS BAR
   507   *********************************************/
   508  
   509  .reveal .progress {
   510  	position: absolute;
   511  	display: none;
   512  	height: 3px;
   513  	width: 100%;
   514  	bottom: 0;
   515  	left: 0;
   516  	z-index: 10;
   517  
   518  	background-color: rgba( 0, 0, 0, 0.2 );
   519  	color: #fff;
   520  }
   521  	.reveal .progress:after {
   522  		content: '';
   523  		display: block;
   524  		position: absolute;
   525  		height: 10px;
   526  		width: 100%;
   527  		top: -10px;
   528  	}
   529  	.reveal .progress span {
   530  		display: block;
   531  		height: 100%;
   532  		width: 0px;
   533  
   534  		background-color: currentColor;
   535  		transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
   536  	}
   537  
   538  /*********************************************
   539   * SLIDE NUMBER
   540   *********************************************/
   541  
   542  .reveal .slide-number {
   543  	position: fixed;
   544  	display: block;
   545  	right: 8px;
   546  	bottom: 8px;
   547  	z-index: 31;
   548  	font-family: Helvetica, sans-serif;
   549  	font-size: 12px;
   550  	line-height: 1;
   551  	color: #fff;
   552  	background-color: rgba( 0, 0, 0, 0.4 );
   553  	padding: 5px;
   554  }
   555  
   556  .reveal .slide-number-delimiter {
   557  	margin: 0 3px;
   558  }
   559  
   560  /*********************************************
   561   * SLIDES
   562   *********************************************/
   563  
   564  .reveal {
   565  	position: relative;
   566  	width: 100%;
   567  	height: 100%;
   568  	overflow: hidden;
   569  	touch-action: none;
   570  }
   571  
   572  // Mobile Safari sometimes overlays a header at the top
   573  // of the page when in landscape mode. Using fixed
   574  // positioning ensures that reveal.js reduces its height
   575  // when this header is visible.
   576  @media only screen and (orientation : landscape) {
   577  	.reveal.ua-iphone {
   578  		position: fixed;
   579  	}
   580  }
   581  
   582  .reveal .slides {
   583  	position: absolute;
   584  	width: 100%;
   585  	height: 100%;
   586  	top: 0;
   587  	right: 0;
   588  	bottom: 0;
   589  	left: 0;
   590  	margin: auto;
   591  	pointer-events: none;
   592  
   593  	overflow: visible;
   594  	z-index: 1;
   595  	text-align: center;
   596  	perspective: 600px;
   597  	perspective-origin: 50% 40%;
   598  }
   599  
   600  .reveal .slides>section {
   601  	-ms-perspective: 600px;
   602  }
   603  
   604  .reveal .slides>section,
   605  .reveal .slides>section>section {
   606  	display: none;
   607  	position: absolute;
   608  	width: 100%;
   609  	padding: 20px 0px;
   610  	pointer-events: auto;
   611  
   612  	z-index: 10;
   613  	transform-style: flat;
   614  	transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
   615  				transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
   616  				visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
   617  				opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
   618  }
   619  
   620  /* Global transition speed settings */
   621  .reveal[data-transition-speed="fast"] .slides section {
   622  	transition-duration: 400ms;
   623  }
   624  .reveal[data-transition-speed="slow"] .slides section {
   625  	transition-duration: 1200ms;
   626  }
   627  
   628  /* Slide-specific transition speed overrides */
   629  .reveal .slides section[data-transition-speed="fast"] {
   630  	transition-duration: 400ms;
   631  }
   632  .reveal .slides section[data-transition-speed="slow"] {
   633  	transition-duration: 1200ms;
   634  }
   635  
   636  .reveal .slides>section.stack {
   637  	padding-top: 0;
   638  	padding-bottom: 0;
   639  }
   640  
   641  .reveal .slides>section.present,
   642  .reveal .slides>section>section.present {
   643  	display: block;
   644  	z-index: 11;
   645  	opacity: 1;
   646  }
   647  
   648  .reveal .slides>section:empty,
   649  .reveal .slides>section>section:empty,
   650  .reveal .slides>section[data-background-interactive],
   651  .reveal .slides>section>section[data-background-interactive] {
   652  	pointer-events: none;
   653  }
   654  
   655  .reveal.center,
   656  .reveal.center .slides,
   657  .reveal.center .slides section {
   658  	min-height: 0 !important;
   659  }
   660  
   661  /* Don't allow interaction with invisible slides */
   662  .reveal .slides>section.future,
   663  .reveal .slides>section>section.future,
   664  .reveal .slides>section.past,
   665  .reveal .slides>section>section.past {
   666  	pointer-events: none;
   667  }
   668  
   669  .reveal.overview .slides>section,
   670  .reveal.overview .slides>section>section {
   671  	pointer-events: auto;
   672  }
   673  
   674  .reveal .slides>section.past,
   675  .reveal .slides>section.future,
   676  .reveal .slides>section>section.past,
   677  .reveal .slides>section>section.future {
   678  	opacity: 0;
   679  }
   680  
   681  
   682  /*********************************************
   683   * Mixins for readability of transitions
   684   *********************************************/
   685  
   686  @mixin transition-global($style) {
   687  	.reveal .slides section[data-transition=#{$style}],
   688  	.reveal.#{$style} .slides section:not([data-transition]) {
   689  		@content;
   690  	}
   691  }
   692  @mixin transition-stack($style) {
   693  	.reveal .slides section[data-transition=#{$style}].stack,
   694  	.reveal.#{$style} .slides section.stack {
   695  		@content;
   696  	}
   697  }
   698  @mixin transition-horizontal-past($style) {
   699  	.reveal .slides>section[data-transition=#{$style}].past,
   700  	.reveal .slides>section[data-transition~=#{$style}-out].past,
   701  	.reveal.#{$style} .slides>section:not([data-transition]).past {
   702  		@content;
   703  	}
   704  }
   705  @mixin transition-horizontal-future($style) {
   706  	.reveal .slides>section[data-transition=#{$style}].future,
   707  	.reveal .slides>section[data-transition~=#{$style}-in].future,
   708  	.reveal.#{$style} .slides>section:not([data-transition]).future {
   709  		@content;
   710  	}
   711  }
   712  
   713  @mixin transition-vertical-past($style) {
   714  	.reveal .slides>section>section[data-transition=#{$style}].past,
   715  	.reveal .slides>section>section[data-transition~=#{$style}-out].past,
   716  	.reveal.#{$style} .slides>section>section:not([data-transition]).past {
   717  		@content;
   718  	}
   719  }
   720  @mixin transition-vertical-future($style) {
   721  	.reveal .slides>section>section[data-transition=#{$style}].future,
   722  	.reveal .slides>section>section[data-transition~=#{$style}-in].future,
   723  	.reveal.#{$style} .slides>section>section:not([data-transition]).future {
   724  		@content;
   725  	}
   726  }
   727  
   728  /*********************************************
   729   * SLIDE TRANSITION
   730   * Aliased 'linear' for backwards compatibility
   731   *********************************************/
   732  
   733  @each $stylename in slide, linear {
   734  	.reveal.#{$stylename} section {
   735  		backface-visibility: hidden;
   736  	}
   737  	@include transition-horizontal-past(#{$stylename}) {
   738  		transform: translate(-150%, 0);
   739  	}
   740  	@include transition-horizontal-future(#{$stylename}) {
   741  		transform: translate(150%, 0);
   742  	}
   743  	@include transition-vertical-past(#{$stylename}) {
   744  		transform: translate(0, -150%);
   745  	}
   746  	@include transition-vertical-future(#{$stylename}) {
   747  		transform: translate(0, 150%);
   748  	}
   749  }
   750  
   751  /*********************************************
   752   * CONVEX TRANSITION
   753   * Aliased 'default' for backwards compatibility
   754   *********************************************/
   755  
   756  @each $stylename in default, convex {
   757  	@include transition-stack(#{$stylename}) {
   758  		transform-style: preserve-3d;
   759  	}
   760  
   761  	@include transition-horizontal-past(#{$stylename}) {
   762  		transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
   763  	}
   764  	@include transition-horizontal-future(#{$stylename}) {
   765  		transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
   766  	}
   767  	@include transition-vertical-past(#{$stylename}) {
   768  		transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
   769  	}
   770  	@include transition-vertical-future(#{$stylename}) {
   771  		transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
   772  	}
   773  }
   774  
   775  /*********************************************
   776   * CONCAVE TRANSITION
   777   *********************************************/
   778  
   779  @include transition-stack(concave) {
   780  	transform-style: preserve-3d;
   781  }
   782  
   783  @include transition-horizontal-past(concave) {
   784  	transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
   785  }
   786  @include transition-horizontal-future(concave) {
   787  	transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
   788  }
   789  @include transition-vertical-past(concave) {
   790  	transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
   791  }
   792  @include transition-vertical-future(concave) {
   793  	transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
   794  }
   795  
   796  
   797  /*********************************************
   798   * ZOOM TRANSITION
   799   *********************************************/
   800  
   801  @include transition-global(zoom) {
   802  	transition-timing-function: ease;
   803  }
   804  @include transition-horizontal-past(zoom) {
   805  	visibility: hidden;
   806  	transform: scale(16);
   807  }
   808  @include transition-horizontal-future(zoom) {
   809  	visibility: hidden;
   810  	transform: scale(0.2);
   811  }
   812  @include transition-vertical-past(zoom) {
   813  	transform: translate(0, -150%);
   814  }
   815  @include transition-vertical-future(zoom) {
   816  	transform: translate(0, 150%);
   817  }
   818  
   819  
   820  /*********************************************
   821   * CUBE TRANSITION
   822   *
   823   * WARNING:
   824   * this is deprecated and will be removed in a
   825   * future version.
   826   *********************************************/
   827  
   828  .reveal.cube .slides {
   829  	perspective: 1300px;
   830  }
   831  
   832  .reveal.cube .slides section {
   833  	padding: 30px;
   834  	min-height: 700px;
   835  	backface-visibility: hidden;
   836  	box-sizing: border-box;
   837  	transform-style: preserve-3d;
   838  }
   839  	.reveal.center.cube .slides section {
   840  		min-height: 0;
   841  	}
   842  	.reveal.cube .slides section:not(.stack):before {
   843  		content: '';
   844  		position: absolute;
   845  		display: block;
   846  		width: 100%;
   847  		height: 100%;
   848  		left: 0;
   849  		top: 0;
   850  		background: rgba(0,0,0,0.1);
   851  		border-radius: 4px;
   852  		transform: translateZ( -20px );
   853  	}
   854  	.reveal.cube .slides section:not(.stack):after {
   855  		content: '';
   856  		position: absolute;
   857  		display: block;
   858  		width: 90%;
   859  		height: 30px;
   860  		left: 5%;
   861  		bottom: 0;
   862  		background: none;
   863  		z-index: 1;
   864  
   865  		border-radius: 4px;
   866  		box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
   867  		transform: translateZ(-90px) rotateX( 65deg );
   868  	}
   869  
   870  .reveal.cube .slides>section.stack {
   871  	padding: 0;
   872  	background: none;
   873  }
   874  
   875  .reveal.cube .slides>section.past {
   876  	transform-origin: 100% 0%;
   877  	transform: translate3d(-100%, 0, 0) rotateY(-90deg);
   878  }
   879  
   880  .reveal.cube .slides>section.future {
   881  	transform-origin: 0% 0%;
   882  	transform: translate3d(100%, 0, 0) rotateY(90deg);
   883  }
   884  
   885  .reveal.cube .slides>section>section.past {
   886  	transform-origin: 0% 100%;
   887  	transform: translate3d(0, -100%, 0) rotateX(90deg);
   888  }
   889  
   890  .reveal.cube .slides>section>section.future {
   891  	transform-origin: 0% 0%;
   892  	transform: translate3d(0, 100%, 0) rotateX(-90deg);
   893  }
   894  
   895  
   896  /*********************************************
   897   * PAGE TRANSITION
   898   *
   899   * WARNING:
   900   * this is deprecated and will be removed in a
   901   * future version.
   902   *********************************************/
   903  
   904  .reveal.page .slides {
   905  	perspective-origin: 0% 50%;
   906  	perspective: 3000px;
   907  }
   908  
   909  .reveal.page .slides section {
   910  	padding: 30px;
   911  	min-height: 700px;
   912  	box-sizing: border-box;
   913  	transform-style: preserve-3d;
   914  }
   915  	.reveal.page .slides section.past {
   916  		z-index: 12;
   917  	}
   918  	.reveal.page .slides section:not(.stack):before {
   919  		content: '';
   920  		position: absolute;
   921  		display: block;
   922  		width: 100%;
   923  		height: 100%;
   924  		left: 0;
   925  		top: 0;
   926  		background: rgba(0,0,0,0.1);
   927  		transform: translateZ( -20px );
   928  	}
   929  	.reveal.page .slides section:not(.stack):after {
   930  		content: '';
   931  		position: absolute;
   932  		display: block;
   933  		width: 90%;
   934  		height: 30px;
   935  		left: 5%;
   936  		bottom: 0;
   937  		background: none;
   938  		z-index: 1;
   939  
   940  		border-radius: 4px;
   941  		box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
   942  
   943  		-webkit-transform: translateZ(-90px) rotateX( 65deg );
   944  	}
   945  
   946  .reveal.page .slides>section.stack {
   947  	padding: 0;
   948  	background: none;
   949  }
   950  
   951  .reveal.page .slides>section.past {
   952  	transform-origin: 0% 0%;
   953  	transform: translate3d(-40%, 0, 0) rotateY(-80deg);
   954  }
   955  
   956  .reveal.page .slides>section.future {
   957  	transform-origin: 100% 0%;
   958  	transform: translate3d(0, 0, 0);
   959  }
   960  
   961  .reveal.page .slides>section>section.past {
   962  	transform-origin: 0% 0%;
   963  	transform: translate3d(0, -40%, 0) rotateX(80deg);
   964  }
   965  
   966  .reveal.page .slides>section>section.future {
   967  	transform-origin: 0% 100%;
   968  	transform: translate3d(0, 0, 0);
   969  }
   970  
   971  
   972  /*********************************************
   973   * FADE TRANSITION
   974   *********************************************/
   975  
   976  .reveal .slides section[data-transition=fade],
   977  .reveal.fade .slides section:not([data-transition]),
   978  .reveal.fade .slides>section>section:not([data-transition]) {
   979  	transform: none;
   980  	transition: opacity 0.5s;
   981  }
   982  
   983  
   984  .reveal.fade.overview .slides section,
   985  .reveal.fade.overview .slides>section>section {
   986  	transition: none;
   987  }
   988  
   989  
   990  /*********************************************
   991   * NO TRANSITION
   992   *********************************************/
   993  
   994  @include transition-global(none) {
   995  	transform: none;
   996  	transition: none;
   997  }
   998  
   999  
  1000  /*********************************************
  1001   * PAUSED MODE
  1002   *********************************************/
  1003  
  1004  .reveal .pause-overlay {
  1005  	position: absolute;
  1006  	top: 0;
  1007  	left: 0;
  1008  	width: 100%;
  1009  	height: 100%;
  1010  	background: black;
  1011  	visibility: hidden;
  1012  	opacity: 0;
  1013  	z-index: 100;
  1014  	transition: all 1s ease;
  1015  }
  1016  .reveal.paused .pause-overlay {
  1017  	visibility: visible;
  1018  	opacity: 1;
  1019  }
  1020  
  1021  
  1022  /*********************************************
  1023   * FALLBACK
  1024   *********************************************/
  1025  
  1026  .no-transforms {
  1027  	overflow-y: auto;
  1028  }
  1029  
  1030  .no-transforms .reveal .slides {
  1031  	position: relative;
  1032  	width: 80%;
  1033  	height: auto !important;
  1034  	top: 0;
  1035  	left: 50%;
  1036  	margin: 0;
  1037  	text-align: center;
  1038  }
  1039  
  1040  .no-transforms .reveal .controls,
  1041  .no-transforms .reveal .progress {
  1042  	display: none !important;
  1043  }
  1044  
  1045  .no-transforms .reveal .slides section {
  1046  	display: block !important;
  1047  	opacity: 1 !important;
  1048  	position: relative !important;
  1049  	height: auto;
  1050  	min-height: 0;
  1051  	top: 0;
  1052  	left: -50%;
  1053  	margin: 70px 0;
  1054  	transform: none;
  1055  }
  1056  
  1057  .no-transforms .reveal .slides section section {
  1058  	left: 0;
  1059  }
  1060  
  1061  .reveal .no-transition,
  1062  .reveal .no-transition * {
  1063  	transition: none !important;
  1064  }
  1065  
  1066  
  1067  /*********************************************
  1068   * PER-SLIDE BACKGROUNDS
  1069   *********************************************/
  1070  
  1071  .reveal .backgrounds {
  1072  	position: absolute;
  1073  	width: 100%;
  1074  	height: 100%;
  1075  	top: 0;
  1076  	left: 0;
  1077  	perspective: 600px;
  1078  }
  1079  	.reveal .slide-background {
  1080  		display: none;
  1081  		position: absolute;
  1082  		width: 100%;
  1083  		height: 100%;
  1084  		opacity: 0;
  1085  		visibility: hidden;
  1086  		overflow: hidden;
  1087  
  1088  		background-color: rgba( 0, 0, 0, 0 );
  1089  		background-position: 50% 50%;
  1090  		background-repeat: no-repeat;
  1091  		background-size: cover;
  1092  
  1093  		transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
  1094  	}
  1095  
  1096  	.reveal .slide-background.stack {
  1097  		display: block;
  1098  	}
  1099  
  1100  	.reveal .slide-background.present {
  1101  		opacity: 1;
  1102  		visibility: visible;
  1103  		z-index: 2;
  1104  	}
  1105  
  1106  	.print-pdf .reveal .slide-background {
  1107  		opacity: 1 !important;
  1108  		visibility: visible !important;
  1109  	}
  1110  
  1111  /* Video backgrounds */
  1112  .reveal .slide-background video {
  1113  	position: absolute;
  1114  	width: 100%;
  1115  	height: 100%;
  1116  	max-width: none;
  1117  	max-height: none;
  1118  	top: 0;
  1119  	left: 0;
  1120  	object-fit: cover;
  1121  }
  1122  	.reveal .slide-background[data-background-size="contain"] video {
  1123  		object-fit: contain;
  1124  	}
  1125  
  1126  /* Immediate transition style */
  1127  .reveal[data-background-transition=none]>.backgrounds .slide-background,
  1128  .reveal>.backgrounds .slide-background[data-background-transition=none] {
  1129  	transition: none;
  1130  }
  1131  
  1132  /* Slide */
  1133  .reveal[data-background-transition=slide]>.backgrounds .slide-background,
  1134  .reveal>.backgrounds .slide-background[data-background-transition=slide] {
  1135  	opacity: 1;
  1136  	backface-visibility: hidden;
  1137  }
  1138  	.reveal[data-background-transition=slide]>.backgrounds .slide-background.past,
  1139  	.reveal>.backgrounds .slide-background.past[data-background-transition=slide] {
  1140  		transform: translate(-100%, 0);
  1141  	}
  1142  	.reveal[data-background-transition=slide]>.backgrounds .slide-background.future,
  1143  	.reveal>.backgrounds .slide-background.future[data-background-transition=slide] {
  1144  		transform: translate(100%, 0);
  1145  	}
  1146  
  1147  	.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,
  1148  	.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] {
  1149  		transform: translate(0, -100%);
  1150  	}
  1151  	.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,
  1152  	.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] {
  1153  		transform: translate(0, 100%);
  1154  	}
  1155  
  1156  
  1157  /* Convex */
  1158  .reveal[data-background-transition=convex]>.backgrounds .slide-background.past,
  1159  .reveal>.backgrounds .slide-background.past[data-background-transition=convex] {
  1160  	opacity: 0;
  1161  	transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
  1162  }
  1163  .reveal[data-background-transition=convex]>.backgrounds .slide-background.future,
  1164  .reveal>.backgrounds .slide-background.future[data-background-transition=convex] {
  1165  	opacity: 0;
  1166  	transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
  1167  }
  1168  
  1169  .reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past,
  1170  .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] {
  1171  	opacity: 0;
  1172  	transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
  1173  }
  1174  .reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future,
  1175  .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] {
  1176  	opacity: 0;
  1177  	transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
  1178  }
  1179  
  1180  
  1181  /* Concave */
  1182  .reveal[data-background-transition=concave]>.backgrounds .slide-background.past,
  1183  .reveal>.backgrounds .slide-background.past[data-background-transition=concave] {
  1184  	opacity: 0;
  1185  	transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
  1186  }
  1187  .reveal[data-background-transition=concave]>.backgrounds .slide-background.future,
  1188  .reveal>.backgrounds .slide-background.future[data-background-transition=concave] {
  1189  	opacity: 0;
  1190  	transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
  1191  }
  1192  
  1193  .reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past,
  1194  .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] {
  1195  	opacity: 0;
  1196  	transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
  1197  }
  1198  .reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future,
  1199  .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] {
  1200  	opacity: 0;
  1201  	transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
  1202  }
  1203  
  1204  /* Zoom */
  1205  .reveal[data-background-transition=zoom]>.backgrounds .slide-background,
  1206  .reveal>.backgrounds .slide-background[data-background-transition=zoom] {
  1207  	transition-timing-function: ease;
  1208  }
  1209  
  1210  .reveal[data-background-transition=zoom]>.backgrounds .slide-background.past,
  1211  .reveal>.backgrounds .slide-background.past[data-background-transition=zoom] {
  1212  	opacity: 0;
  1213  	visibility: hidden;
  1214  	transform: scale(16);
  1215  }
  1216  .reveal[data-background-transition=zoom]>.backgrounds .slide-background.future,
  1217  .reveal>.backgrounds .slide-background.future[data-background-transition=zoom] {
  1218  	opacity: 0;
  1219  	visibility: hidden;
  1220  	transform: scale(0.2);
  1221  }
  1222  
  1223  .reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past,
  1224  .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] {
  1225  	opacity: 0;
  1226  		visibility: hidden;
  1227  		transform: scale(16);
  1228  }
  1229  .reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future,
  1230  .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] {
  1231  	opacity: 0;
  1232  	visibility: hidden;
  1233  	transform: scale(0.2);
  1234  }
  1235  
  1236  
  1237  /* Global transition speed settings */
  1238  .reveal[data-transition-speed="fast"]>.backgrounds .slide-background {
  1239  	transition-duration: 400ms;
  1240  }
  1241  .reveal[data-transition-speed="slow"]>.backgrounds .slide-background {
  1242  	transition-duration: 1200ms;
  1243  }
  1244  
  1245  
  1246  /*********************************************
  1247   * OVERVIEW
  1248   *********************************************/
  1249  
  1250  .reveal.overview {
  1251  	perspective-origin: 50% 50%;
  1252  	perspective: 700px;
  1253  
  1254  	.slides {
  1255  		// Fixes overview rendering errors in FF48+, not applied to
  1256  		// other browsers since it degrades performance
  1257  		-moz-transform-style: preserve-3d;
  1258  	}
  1259  
  1260  	.slides section {
  1261  		height: 100%;
  1262  		top: 0 !important;
  1263  		opacity: 1 !important;
  1264  		overflow: hidden;
  1265  		visibility: visible !important;
  1266  		cursor: pointer;
  1267  		box-sizing: border-box;
  1268  	}
  1269  	.slides section:hover,
  1270  	.slides section.present {
  1271  		outline: 10px solid rgba(150,150,150,0.4);
  1272  		outline-offset: 10px;
  1273  	}
  1274  	.slides section .fragment {
  1275  		opacity: 1;
  1276  		transition: none;
  1277  	}
  1278  	.slides section:after,
  1279  	.slides section:before {
  1280  		display: none !important;
  1281  	}
  1282  	.slides>section.stack {
  1283  		padding: 0;
  1284  		top: 0 !important;
  1285  		background: none;
  1286  		outline: none;
  1287  		overflow: visible;
  1288  	}
  1289  
  1290  	.backgrounds {
  1291  		perspective: inherit;
  1292  
  1293  		// Fixes overview rendering errors in FF48+, not applied to
  1294  		// other browsers since it degrades performance
  1295  		-moz-transform-style: preserve-3d;
  1296  	}
  1297  
  1298  	.backgrounds .slide-background {
  1299  		opacity: 1;
  1300  		visibility: visible;
  1301  
  1302  		// This can't be applied to the slide itself in Safari
  1303  		outline: 10px solid rgba(150,150,150,0.1);
  1304  		outline-offset: 10px;
  1305  	}
  1306  
  1307  	.backgrounds .slide-background.stack {
  1308  		overflow: visible;
  1309  	}
  1310  }
  1311  
  1312  // Disable transitions transitions while we're activating
  1313  // or deactivating the overview mode.
  1314  .reveal.overview .slides section,
  1315  .reveal.overview-deactivating .slides section {
  1316  	transition: none;
  1317  }
  1318  
  1319  .reveal.overview .backgrounds .slide-background,
  1320  .reveal.overview-deactivating .backgrounds .slide-background {
  1321  	transition: none;
  1322  }
  1323  
  1324  
  1325  /*********************************************
  1326   * RTL SUPPORT
  1327   *********************************************/
  1328  
  1329  .reveal.rtl .slides,
  1330  .reveal.rtl .slides h1,
  1331  .reveal.rtl .slides h2,
  1332  .reveal.rtl .slides h3,
  1333  .reveal.rtl .slides h4,
  1334  .reveal.rtl .slides h5,
  1335  .reveal.rtl .slides h6 {
  1336  	direction: rtl;
  1337  	font-family: sans-serif;
  1338  }
  1339  
  1340  .reveal.rtl pre,
  1341  .reveal.rtl code {
  1342  	direction: ltr;
  1343  }
  1344  
  1345  .reveal.rtl ol,
  1346  .reveal.rtl ul {
  1347  	text-align: right;
  1348  }
  1349  
  1350  .reveal.rtl .progress span {
  1351  	float: right
  1352  }
  1353  
  1354  /*********************************************
  1355   * PARALLAX BACKGROUND
  1356   *********************************************/
  1357  
  1358  .reveal.has-parallax-background .backgrounds {
  1359  	transition: all 0.8s ease;
  1360  }
  1361  
  1362  /* Global transition speed settings */
  1363  .reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds {
  1364  	transition-duration: 400ms;
  1365  }
  1366  .reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds {
  1367  	transition-duration: 1200ms;
  1368  }
  1369  
  1370  
  1371  /*********************************************
  1372   * LINK PREVIEW OVERLAY
  1373   *********************************************/
  1374  
  1375  .reveal .overlay {
  1376  	position: absolute;
  1377  	top: 0;
  1378  	left: 0;
  1379  	width: 100%;
  1380  	height: 100%;
  1381  	z-index: 1000;
  1382  	background: rgba( 0, 0, 0, 0.9 );
  1383  	opacity: 0;
  1384  	visibility: hidden;
  1385  	transition: all 0.3s ease;
  1386  }
  1387  	.reveal .overlay.visible {
  1388  		opacity: 1;
  1389  		visibility: visible;
  1390  	}
  1391  
  1392  	.reveal .overlay .spinner {
  1393  		position: absolute;
  1394  		display: block;
  1395  		top: 50%;
  1396  		left: 50%;
  1397  		width: 32px;
  1398  		height: 32px;
  1399  		margin: -16px 0 0 -16px;
  1400  		z-index: 10;
  1401  		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);
  1402  
  1403  		visibility: visible;
  1404  		opacity: 0.6;
  1405  		transition: all 0.3s ease;
  1406  	}
  1407  
  1408  	.reveal .overlay header {
  1409  		position: absolute;
  1410  		left: 0;
  1411  		top: 0;
  1412  		width: 100%;
  1413  		height: 40px;
  1414  		z-index: 2;
  1415  		border-bottom: 1px solid #222;
  1416  	}
  1417  		.reveal .overlay header a {
  1418  			display: inline-block;
  1419  			width: 40px;
  1420  			height: 40px;
  1421  			line-height: 36px;
  1422  			padding: 0 10px;
  1423  			float: right;
  1424  			opacity: 0.6;
  1425  
  1426  			box-sizing: border-box;
  1427  		}
  1428  			.reveal .overlay header a:hover {
  1429  				opacity: 1;
  1430  			}
  1431  			.reveal .overlay header a .icon {
  1432  				display: inline-block;
  1433  				width: 20px;
  1434  				height: 20px;
  1435  
  1436  				background-position: 50% 50%;
  1437  				background-size: 100%;
  1438  				background-repeat: no-repeat;
  1439  			}
  1440  			.reveal .overlay header a.close .icon {
  1441  				background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
  1442  			}
  1443  			.reveal .overlay header a.external .icon {
  1444  				background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
  1445  			}
  1446  
  1447  	.reveal .overlay .viewport {
  1448  		position: absolute;
  1449  		display: flex;
  1450  		top: 40px;
  1451  		right: 0;
  1452  		bottom: 0;
  1453  		left: 0;
  1454  	}
  1455  
  1456  	.reveal .overlay.overlay-preview .viewport iframe {
  1457  		width: 100%;
  1458  		height: 100%;
  1459  		max-width: 100%;
  1460  		max-height: 100%;
  1461  		border: 0;
  1462  
  1463  		opacity: 0;
  1464  		visibility: hidden;
  1465  		transition: all 0.3s ease;
  1466  	}
  1467  
  1468  	.reveal .overlay.overlay-preview.loaded .viewport iframe {
  1469  		opacity: 1;
  1470  		visibility: visible;
  1471  	}
  1472  
  1473  	.reveal .overlay.overlay-preview.loaded .viewport-inner  {
  1474  		position: absolute;
  1475  		z-index: -1;
  1476  		left: 0;
  1477  		top: 45%;
  1478  		width: 100%;
  1479  		text-align: center;
  1480  		letter-spacing: normal;
  1481  	}
  1482  	.reveal .overlay.overlay-preview .x-frame-error  {
  1483  		opacity: 0;
  1484  		transition: opacity 0.3s ease 0.3s;
  1485  	}
  1486  	.reveal .overlay.overlay-preview.loaded .x-frame-error  {
  1487  		opacity: 1;
  1488  	}
  1489  
  1490  	.reveal .overlay.overlay-preview.loaded .spinner {
  1491  		opacity: 0;
  1492  		visibility: hidden;
  1493  		transform: scale(0.2);
  1494  	}
  1495  
  1496  	.reveal .overlay.overlay-help .viewport {
  1497  		overflow: auto;
  1498  		color: #fff;
  1499  	}
  1500  
  1501  	.reveal .overlay.overlay-help .viewport .viewport-inner {
  1502  		width: 600px;
  1503  		margin: auto;
  1504  		padding: 20px 20px 80px 20px;
  1505  		text-align: center;
  1506  		letter-spacing: normal;
  1507  	}
  1508  
  1509  	.reveal .overlay.overlay-help .viewport .viewport-inner .title {
  1510  		font-size: 20px;
  1511  	}
  1512  
  1513  	.reveal .overlay.overlay-help .viewport .viewport-inner table {
  1514  		border: 1px solid #fff;
  1515  		border-collapse: collapse;
  1516  		font-size: 16px;
  1517  	}
  1518  
  1519  	.reveal .overlay.overlay-help .viewport .viewport-inner table th,
  1520  	.reveal .overlay.overlay-help .viewport .viewport-inner table td {
  1521  		width: 200px;
  1522  		padding: 14px;
  1523  		border: 1px solid #fff;
  1524  		vertical-align: middle;
  1525  	}
  1526  
  1527  	.reveal .overlay.overlay-help .viewport .viewport-inner table th {
  1528  		padding-top: 20px;
  1529  		padding-bottom: 20px;
  1530  	}
  1531  
  1532  
  1533  
  1534  /*********************************************
  1535   * PLAYBACK COMPONENT
  1536   *********************************************/
  1537  
  1538  .reveal .playback {
  1539  	position: absolute;
  1540  	left: 15px;
  1541  	bottom: 20px;
  1542  	z-index: 30;
  1543  	cursor: pointer;
  1544  	transition: all 400ms ease;
  1545  	-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
  1546  }
  1547  
  1548  .reveal.overview .playback {
  1549  	opacity: 0;
  1550  	visibility: hidden;
  1551  }
  1552  
  1553  
  1554  /*********************************************
  1555   * ROLLING LINKS
  1556   *********************************************/
  1557  
  1558  .reveal .roll {
  1559  	display: inline-block;
  1560  	line-height: 1.2;
  1561  	overflow: hidden;
  1562  
  1563  	vertical-align: top;
  1564  	perspective: 400px;
  1565  	perspective-origin: 50% 50%;
  1566  }
  1567  	.reveal .roll:hover {
  1568  		background: none;
  1569  		text-shadow: none;
  1570  	}
  1571  .reveal .roll span {
  1572  	display: block;
  1573  	position: relative;
  1574  	padding: 0 2px;
  1575  
  1576  	pointer-events: none;
  1577  	transition: all 400ms ease;
  1578  	transform-origin: 50% 0%;
  1579  	transform-style: preserve-3d;
  1580  	backface-visibility: hidden;
  1581  }
  1582  	.reveal .roll:hover span {
  1583  	    background: rgba(0,0,0,0.5);
  1584  	    transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
  1585  	}
  1586  .reveal .roll span:after {
  1587  	content: attr(data-title);
  1588  
  1589  	display: block;
  1590  	position: absolute;
  1591  	left: 0;
  1592  	top: 0;
  1593  	padding: 0 2px;
  1594  	backface-visibility: hidden;
  1595  	transform-origin: 50% 0%;
  1596  	transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
  1597  }
  1598  
  1599  
  1600  /*********************************************
  1601   * SPEAKER NOTES
  1602   *********************************************/
  1603  
  1604  // Hide on-page notes
  1605  .reveal aside.notes {
  1606  	display: none;
  1607  }
  1608  
  1609  // An interface element that can optionally be used to show the
  1610  // speaker notes to all viewers, on top of the presentation
  1611  .reveal .speaker-notes {
  1612  	display: none;
  1613  	position: absolute;
  1614  	width: 25vw;
  1615  	height: 100%;
  1616  	top: 0;
  1617  	left: 100%;
  1618  	padding: 14px 18px 14px 18px;
  1619  	z-index: 1;
  1620  	font-size: 18px;
  1621  	line-height: 1.4;
  1622  	border: 1px solid rgba( 0, 0, 0, 0.05 );
  1623  	color: #222;
  1624  	background-color: #f5f5f5;
  1625  	overflow: auto;
  1626  	box-sizing: border-box;
  1627  	text-align: left;
  1628  	font-family: Helvetica, sans-serif;
  1629  	-webkit-overflow-scrolling: touch;
  1630  
  1631  	.notes-placeholder {
  1632  		color: #ccc;
  1633  		font-style: italic;
  1634  	}
  1635  
  1636  	&:focus {
  1637  		outline: none;
  1638  	}
  1639  
  1640  	&:before {
  1641  		content: 'Speaker notes';
  1642  		display: block;
  1643  		margin-bottom: 10px;
  1644  		opacity: 0.5;
  1645  	}
  1646  }
  1647  
  1648  
  1649  .reveal.show-notes {
  1650  	max-width: 75vw;
  1651  	overflow: visible;
  1652  }
  1653  
  1654  .reveal.show-notes .speaker-notes {
  1655  	display: block;
  1656  }
  1657  
  1658  @media screen and (min-width: 1600px) {
  1659  	.reveal .speaker-notes {
  1660  		font-size: 20px;
  1661  	}
  1662  }
  1663  
  1664  @media screen and (max-width: 1024px) {
  1665  	.reveal.show-notes {
  1666  		border-left: 0;
  1667  		max-width: none;
  1668  		max-height: 70%;
  1669  		overflow: visible;
  1670  	}
  1671  
  1672  	.reveal.show-notes .speaker-notes {
  1673  		top: 100%;
  1674  		left: 0;
  1675  		width: 100%;
  1676  		height: (30/0.7)*1%;
  1677  	}
  1678  }
  1679  
  1680  @media screen and (max-width: 600px) {
  1681  	.reveal.show-notes {
  1682  		max-height: 60%;
  1683  	}
  1684  
  1685  	.reveal.show-notes .speaker-notes {
  1686  		top: 100%;
  1687  		height: (40/0.6)*1%;
  1688  	}
  1689  
  1690  	.reveal .speaker-notes {
  1691  		font-size: 14px;
  1692  	}
  1693  }
  1694  
  1695  
  1696  /*********************************************
  1697   * ZOOM PLUGIN
  1698   *********************************************/
  1699  
  1700  .zoomed .reveal *,
  1701  .zoomed .reveal *:before,
  1702  .zoomed .reveal *:after {
  1703  	backface-visibility: visible !important;
  1704  }
  1705  
  1706  .zoomed .reveal .progress,
  1707  .zoomed .reveal .controls {
  1708  	opacity: 0;
  1709  }
  1710  
  1711  .zoomed .reveal .roll span {
  1712  	background: none;
  1713  }
  1714  
  1715  .zoomed .reveal .roll span:after {
  1716  	visibility: hidden;
  1717  }