/* All content left aligned */
.reveal .slides {
    text-align: left;
}

/* Necessary to place items at bottom of slide  */
.reveal .slides > section.present, .reveal .slides > section > section.present {
  min-height: 100%;
  top: 0;
}

/* Title slidedeck */
.reveal h1.title {
  padding-top: 280px;
  color: white;
}

/* Subtitle slidedeck */
.reveal h2.subtitle {
  color: white;
}

/* Author slidedeck */
.reveal p.author {
  color: white;
  padding-top: 40px;
}

/* Date slidedeck */
.reveal p.date {
  color: white;
}

/* Logo author */
.reveal img.logo {
  width: 265px;
  padding-top: 30px;
}

/* License */
.reveal a.license {
  color: white;
}

.reveal img.button {
  position: absolute;
  left: 720px;
  top: 400px;
  width: 150px;
}

/* TOC slide has multi-column layout with wrapping */
.reveal .slides section#TOC ul {
  height: 800px;
  width: 800px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

/* Contact slide */
.reveal h2.contact {
  color: white;
}

.reveal p.email, .reveal p.email > a {
  color: white;
  padding-top: 10px;
}

.reveal p.twitter, .reveal p.twitter > a {
  color: white;
  padding-top: 10px;
}

.reveal p.www, .reveal p.www > a {
  color: white;
  paddinrg-top: 10px;
}

/* Progress bar */
.reveal .progress {
  height: 0.5%;
}

/* Fullscreen images (plugin) in cover or contain mode */
.reveal img.fullscreen {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: 50%;
  right: auto;
  transform: translate( -50%, -50% ) scale( 100% );
}

.reveal h2.header-box-left {
  background: rgba(255,255,255,0.7);
  margin-left: -300px;
  margin-right:  50%;
  padding-left: 300px;
  padding-right: 20px;
}

.reveal h2.header-box-right {
  background: rgba(255,255,255,0.7);
  text-align: right;
  margin-left:  50%;
  margin-right:-300px;
  padding-right: 300px;
}

.reveal h2.header-box-left-bottom {
  background: rgba(255,255,255,0.7);
  position: relative;
  top: 800px;
  margin-left: -300px;
  margin-right: 50%;
  padding-left: 300px;
}

.reveal h2.header-box-right-bottom {
  background: rgba(255,255,255,0.7);
  position: relative;
  top: 800px;
  text-align: right;
  margin-left:  50%;
  margin-right:-300px;
  padding-right: 300px;
}

/* Attribution (plugin) text along the right edge of the viewport */
.attribution{
  position: absolute;
  top: 50%;
  bottom: auto;
  left: 50%;
  right: auto;
  font-size: 0.4em;
  pointer-events: none;
  text-align: center;
  writing-mode: vertical-lr;
  transform: translate( -50%, -50% ) scale( 1 ) rotate( 180deg );
}

/* Attribution (plugin) activate pointer events for attribution text only */
.attribution .content{
  pointer-events: auto;
}

/* Other */

.reveal img, .reveal video, .reveal iframe {
  max-height: unset;
  max-width: unset;
}

.reveal section img {
  margin: 0px 0px;
  background: rgba(255, 255, 255, 0);
  border: 0;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.reveal table {
	margin-left: 0px;
}

.reveal div.specs {
  padding-top: 50px;
  font-size: 1.15em;
}

.reveal .specs table th, .reveal .specs table td {
	border-bottom: 0;
  padding-left: 6px;
}

.reveal .hide-heading h1, .reveal .hide-heading h2 {
  opacity: 0;
}

/* Explicit scaling of MathJax mtext */
mjx-mtext {
	font-size: 48px;
}

/* Default margin in displaystyle equations too large */
mjx-container[display="true"] {
  margin: 0px !important;
}

strong.red {
  color: #ff0000;
}

/* Two column layout */
.twocol {
		width: 50%;
		float: left;
}

/* Three column layout */
.threecol {
		width: 33.3%;
		float: left;
}

/* Set font size for references section */
.reveal .references {
    font-size: 0.8em;
}

/* For reference list */
.reveal section.scrollable {
    overflow-y: auto  !important;
    overflow-x: hidden !important;
    height: 900px;
}

/* Keyboard buttons - see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd */
kbd {
    background-color: #eee;
    border-radius: 3px;
    border: 1px solid #b4b4b4;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
    color: #333;
    display: inline-block;
    font-size: .85em;
    font-weight: 700;
    line-height: 1;
    padding: 2px 4px;
    white-space: nowrap;
}

/* Lists with Font Awesome icons */
.fa-ul > li.icon {
    list-style:none;
}

.fa-li {
    list-style:none;
    text-indent: 0.75em;
}

/* Labels with absolute placement */

.label {
  position: absolute;
  font-size: 0.6em;
}

.label-bottom-left {
  position: absolute;
  font-size: 0.6em;
  bottom: -3vh;
  left: 0;
}

.label-bottom-right {
  position: absolute;
  font-size: 0.6em;
  bottom: -3vh;
  right: 0;
}

.label-top-right {
  position: absolute;
  font-size: 0.6em;
  top: 1.7vh;
  right: 0;
}

.label-top-left {
  position: absolute;
  font-size: 0.6em;
  top: 1.7vh;
  left: 0;
}

/* Back button (https://www.roma1.infn.it/~rovigatl/posts/revealjs-presentations/) */
a.back_button {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 20 !important;
}

a.back_button:before {
    color: #2a76dd;
    content: "\f015";
    font-family: 'fontawesome';
    font-weight: normal;
    font-style: normal;
    font-size: 130%;
}

/* Highlighting */

.reveal section .sided {
  border-left: 15px solid #2a75dda2;
  background-color: #2a75dd34;
  padding: 3px 10px 3px 10px;
}

.reveal section .sided-norule {
  padding: 3px 10px 3px 34px;
}

/* Slide numbers */

.reveal .slide-number {
    display: inline-block;
    right: 28px;
    bottom: 24px;
    text-align: center;
    line-height: 0px;
    border-radius: 50%;
    width: 50px;
    height: 36px;
    font-size: 14px;
    background: none;
    color: var(--r-link-color);
}

.reveal .slide-number span {
    margin: 0;
    padding: 0;
}

.reveal .slide-number a {
    display: inline-block;
    padding-top: 50%;
    padding-bottom: 50%;
}

/* Quotations */

.reveal section .quoted p {
  background-color: #2a75dd34;
}

.reveal section .quoted p:before {
  font-size: 1.2em;
  position: relative;
  top:-0.3em;
  content: "\f10d";
  font-family: "FontAwesome";
  color: #2a75dda2;
  padding-right: 0.3em;
}

.reveal section .quoted p:after {
  font-size: 1.2em;
  position: relative;
  top: 0.3em;
  content: "\f10e";
  font-family: "FontAwesome";
  color: #2a75dda2;
  padding-left: 0.2em;
}

/* Figure environment with figure caption */

.reveal figure {
    display: inline-block;
}

.reveal figure img {
  margin: 10px 10px 0px 0px;
  border: 0;
  box-shadow: none;
}

.reveal figure figcaption, .reveal .caption {
  margin: 10px 0px 0px 0px;
  line-height: 1.2;
  text-align: center;
}

/* Markdown pseudo Lists with Font Awesome icons */

.reveal .slides section .list.fragment::before{
  content:"\f0da\ ";
  font-family: FontAwesome;
  margin-left:6px;
  margin-right:10px;
}

/* List with a float / hack */
.reveal ul div.list-with-float ul {
  list-style: disc;
  margin: unset;
  padding: unset;
}

.reveal .top-right-float {
  float: right;
  margin-top: -96.15px;
  background-color: lightgray;
}

/* Font sizes */
.tiniest  { font-size:0.3em  !important }
.tinier   { font-size:0.35em !important }
.tiny     { font-size:0.4em  !important }
.smallest { font-size:0.5em  !important }
.smaller  { font-size:0.6em  !important }
.small    { font-size:0.7em  !important }
.normal   { font-size:0.9em  !important }
.big      { font-size:1.1em  !important }
.bigger   { font-size:1.25em !important }
.biggest  { font-size:1.5em  !important }
.massive  { font-size:2em    !important }
.huge     { font-size:3em    !important }
.extreme  { font-size:5em    !important }

/* Alignment & columns */

.reveal .top         { vertical-align: top; }
.reveal .middle      { vertical-align: middle; }
.reveal .bottom      { vertical-align: bottom; }
.reveal .float-left  { float: left; }
.reveal .float-right { float: right; }
.reveal .left        { text-align: left; }
.reveal .center      { text-align: center; }
.reveal .right       { text-align: right; }

.reveal section .row:before,
.reveal section .row:after {
  content: "";
  display: table;
  clear: both;
}

.reveal section .row {
  margin: 0.15em 0em;
}

.reveal section .row *[class*='col-'] {
  box-sizing: border-box;
  position: relative;
  left: 0;
  float: left;
  min-height: 1px;
  padding: 0em 0.15em;
}

/* Color definitions */
.reveal .black     {color: black;}
.reveal .red       {color: red;}
.reveal .white     {color: white;}
.reveal .blue      {color: blue;}
.reveal .yellow    {color: yellow;}
.reveal .cyan      {color: #00A6D6;}
.reveal .orange    {color: #ef9a47ff;}
.reveal .linkcolor {color: #2a76dd;}
.reveal .lightgray {color: #d3d3d3;}
.reveal .darkgray  {color: #a9a9a9;}
.reveal .gray      {color: #808080;}

/* Maximum height of source code blocks */
.reveal pre.sourceCode code {
  /* height: 500px; */
  max-height: 1000px;
}