/* Sticky footer */

/**
 * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
 * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css
 *
 * .Site -> body > .container
 * .Site-content -> body > .container .row
 * .footer -> footer
 *
 * Key idea seems to be to ensure that .container and __all its parents__
 * have height set to 100%
 *
 */

html, body {
  height: 100%;
}

body {
  position: relative;
}

body > .container {
  display: flex;
  height: 100%;
  flex-direction: column;
}

body > .container .row {
  flex: 1 0 auto;
}

footer {
  margin-top: 45px;
  padding: 35px 0 36px;
  border-top: 1px solid #e5e5e5;
  color: #666;
  display: flex;
  flex-shrink: 0;
}
footer p {
  margin-bottom: 0;
}
footer div {
  flex: 1;
}
footer .pkgdown-footer-right {
  text-align: right;
}

img.icon {
  float: right;
}

img {
  max-width: 100%;
}

dd {
  margin-left: 3em;
}

/* Section anchors ---------------------------------*/

a.anchor {
  margin-left: -30px;
  display:inline-block;
  width: 30px;
  height: 30px;
  visibility: hidden;

  background-image: url(./link.svg);
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: center center;
}

.hasAnchor:hover a.anchor {
  visibility: visible;
}

@media (max-width: 767px) {
  .hasAnchor:hover a.anchor {
    visibility: hidden;
  }
}


/* Fixes for fixed navbar --------------------------*/

.contents {
  margin-top: 4em;
}

.contents h1 {
  padding-top: 40px;
  margin-top: -40px;
}

.contents h2, .contents h3, .contents h4 {
  padding-top: 40px;
  padding-top: 0px;
}

/* Navbar submenu --------------------------*/
.dropdown-menu {
  padding: .5rem 0 .5rem 0;
}

h6.dropdown-header {
  margin-top: 0;
}

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu>.dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover>.dropdown-menu {
  display: block;
}

.dropdown-submenu>a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #cccccc;
  margin-top: 5px;
  margin-right: -10px;
}

.dropdown-submenu:hover>a:after {
  border-left-color: #ffffff;
}

.dropdown-submenu.pull-left {
  float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
  left: -100%;
  margin-left: 10px;
  border-radius: 6px 0 6px 6px;
}

/* Sidebar --------------------------*/

#pkgdown-sidebar {
  margin-top: 30px;
}

/* navbar is 56px + 30px of margin-top */
.sticky-top {
  top: 86px;
}

#pkgdown-sidebar h2 {
  font-size: 2em;
  margin-top: 1em;
}

#pkgdown-sidebar h2:first-child {
  margin-top: 2.5rem;
}

#pkgdown-sidebar .list-unstyled li {
  margin-bottom: 0.5em;
}

/* don't display links in code chunks when printing */
/* source: https://stackoverflow.com/a/10781533 */
@media print {
  code a:link:after, code a:visited:after {
    content: "";
  }
}

.orcid {
    font-size: 16px;
    color: #A6CE39;
    margin-left: 4px;
    margin-right: 4px;
    vertical-align: middle;
}

/* Clipboard --------------------------*/

.hasCopyButton {
  position: relative;
}

.btn-copy-ex {
  position: absolute;
  right: 0;
  top: 0;
  visibility: hidden;
}

.hasCopyButton:hover button.btn-copy-ex {
  visibility: visible;
}

/* headroom.js ------------------------ */

/* from quillt https://github.com/rstudio/quillt/blob/c2c826dfa21070e3a2a0308f569255d6be950134/inst/pkgdown/assets/rmd.css#L423
/* tweak headroom.js to not disappear as aggressively at the top of the page */
.headroom {
  will-change: transform;
  transition: transform 400ms ease;
}

.page-header {
	padding-bottom: 10px;
}

.headroom--pinned {
  transform: translateY(0%);
}
.headroom--unpinned {
  transform: translateY(-100%);
}

/* mark.js ----------------------------*/

mark {
  background-color: rgba(255, 255, 51, 0.5);
  border-bottom: 2px solid rgba(255, 153, 51, 0.3);
  padding: 1px;
}

/* vertical spacing after htmlwidgets */
.html-widget {
  margin-bottom: 10px;
}



/* TOC heading */
h2[data-toc-skip], #pkgdown-sidebar h2[data-toc-skip] {
  font-size: x-large;
}

/* bootstrap-toc tweaks */
.nav {
flex-direction: column;
}


/* Base TOC item */
nav[data-toggle="toc"] .nav > li > a {
  color: inherit;
  padding-left: 0.5rem;
  margin-left: -0.5rem;
  border-radius: 1rem;
  border: white solid;
}

/* Under hover */
nav[data-toggle="toc"] .nav > li > a:hover,
nav[data-toggle="toc"] .nav > li > a:focus,
/* Current */
nav[data-toggle="toc"] .nav-link.active,
nav[data-toggle="toc"] .nav-link.active:hover,
nav[data-toggle="toc"] .nav-link.active:focus
{
  background-color: #eee;
}

/* Nav: second level (shown on .active) */
nav[data-toggle="toc"] .nav-link + ul {
  display: none;
}
nav[data-toggle="toc"] .nav-link.active + ul {
  display: block;
}
nav[data-toggle="toc"] .nav .nav > li > a {
  margin-left: 0.5rem;
}

/* version badge  */
#version-badge {
  border: none;
}

/* h1 */

h1.display-4 {
  font-size: 2.5rem;
}

/* Links color contrast */

a {
  color: #0054AD;
}

a:hover {
  color: #0054AD;
}


/* navbar active link */
.navbar-light .navbar-nav .active > .nav-link {
   background: #e9ecef;
   border-radius: 1rem;
 }
.navbar-nav .nav-link {
 padding-left: 0.5rem;
 }

@include media-breakpoint-up(md) {
  .navbar-nav .nav-link {
 padding-left: 0rem;
 }
}


/* Footnotes --------------------------------------------- */

.popover {
  max-width: min(100vw, 32rem);
  font-size: 0.9rem;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
}
.popover-body {
  padding: 0.75rem;
}
.popover-body p:last-child {
  margin-bottom: 0;
}

a.footnote-ref {
  cursor: pointer;
}
/* Reference index & topics ----------------------------------------------- */

.ref-index th {font-weight: normal;}

.ref-index td {vertical-align: top; min-width: 100px}
.ref-index .icon {width: 40px;}
.ref-index .alias {width: 40%;}
.ref-index-icons .alias {width: calc(40% - 40px);}
.ref-index .title {width: 60%;}

/* Nice scrolling for wide elements --------------------------------------- */

table {
  display: block;
  overflow: auto;
}

/* fontawesome ------------------------ */

.fab {
    font-family: "Font Awesome 5 Brands" !important;
}

/* logo homepage */
.pkg-logo {
  float: right;
  width: 100px;
  margin-left: 30px;
  margin-top: 25px;
}

@media (max-width: 767px) {
  .pkg-logo {
  float: none;
  width: 100px;
}
}

div.pb-2.mt-4.mb-2.border-bottom {
  min-height: 129px;
}

/* tweak headroom.js to not disappear as aggressively at the top of the page */
/* https://github.com/rstudio/quillt/blob/57ba0ce7aa850e42165a8993d4b493c44917b7a8/inst/pkgdown/assets/rmd.css#L452 */
.headroom {
  will-change: transform;
  transition: transform 400ms ease;
}

/* blockquote ---------------------------------------------- */

blockquote, .line-block {
    border-left: .5rem solid #eee;
    padding-left: .5rem;
    margin-left: -.5rem;
}

/* Search ---------------------------------------------- */

mark {
  background: linear-gradient(-100deg,
    hsla(48,92%,75%,.3),
    hsla(48,92%,75%,.7) 95%,
    hsla(48,92%,75%,.1)
  )
}

.algolia-autocomplete .aa-hint {
  color: #999;
}
.algolia-autocomplete .aa-dropdown-menu {
  width: max(100%, 20rem);
  background-color: #fff;
  border: 1px solid var(--gray);
  border-radius: 0.2rem;
  margin-top: 2px;

  max-height: 50vh;
  overflow-y: auto;
}
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
  cursor: pointer;
  padding: 5px 4px;
  border-bottom: 1px #ddd solid;
  font-size: 0.9rem;
  color: #5E5E5E;

}

.search-details {
  font-size: 0.9rem;
  color: #0054AD;
  display: inline;
  font-weight: bolder;
}
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor {
  background-color: #B2D7FF;
}

/* Compromise to avoid flash of invisible text + flash of unstyled text */
body {
  font-display: fallback;
}

/* Navbar constrast */
.navbar-light .navbar-nav .nav-link {
  color: rgba(0,0,0,0.7);
}
.navbar-light .navbar-nav .nav-link:hover {
  color: rgba(0,0,0,0.9);
}

/* Details margin */
summary {
  margin-bottom: 1rem;
}

details p {
  margin-top: -.5rem;
}

/* tabsets */
.nav-row {
  flex-direction: row;
}

.tab-content {
  padding: 1rem;
}

.tabset-pills .tab-content {
  border: solid 1px #e5e5e5;
}

/* https://observablehq.com/@rkaravia/css-trick-tabs-with-consistent-height */
/* Make tab height consistent  */

.tab-content {
  display: flex;
}

.tab-content > .tab-pane {
  display: block; /* undo "display: none;" */
  visibility: hidden;
  margin-right: -100%;
  width: 100%;
}

.tab-content > .active {
  visibility: visible;
}
