/*!

 =========================================================
 * CodeMeta css customizations
 =========================================================

 */

/*! 
 * dark mode support for unstyled elements
 */
 
:root {
  color-scheme: light dark;
}

/*!
 *  Make the header colour change on-scroll smoother
 */
 
#sectionsNav {
  transition: all 0.25s;
}

/*!
 * overide black border on responsive nav toggler
 */

.navbar {
  --bs-navbar-toggler-focus-width: none;
}

/*!
 * Dark mode toggler button
 */

li.dark-light-toggler {
  height: 50px;
}

.dark-light-toggler .form-check-label {
  padding: 0px;
  margin-top: 10px;
  margin-left: 25px;
  font-size: 1.25em;
}

/*!
 * These are the base colours which are using the Bootstrap
 * variables which will work with dark/light mode switching
 * 
 * The definitions here are overriding material-kit.css
 */

body {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
}

.main{
  background-color: var(--bs-body-bg);
}

[data-bs-theme=dark] .main{
  background-color: var(--bs-secondary-bg);
}

.navbar {
  background-color: var(--bs-body-bg) !important;
}

div.highlight {
  border: 1px solid var(--bs-dark-border-subtle);
  padding: 10px 10px 0px 10px;
}

.highlight {
  background-color: var(--bs-tertiary-bg);
}

[data-bs-theme=dark] div.highlight {
  border: 1px solid var(--bs-body-bg);
  padding: 10px 10px 0px 10px;
}

[data-bs-theme=dark] .highlight {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color);
}

[data-bs-theme=dark] pre code {
  color: var(--bs-body-color);
}

[data-bs-theme=dark] .navbar {
  color: var(--bs-body-color) !important;
}

@media only screen and (max-width: 992px) {
  .navbar-collapse, .navbar-collapse::after {
    background-color: var(--bs-body-bg) !important;
  }
  .nav-open .nav-item a{
    color: var(--bs-body-color) !important;
  }
}

/*!
 * Card theming
 */

.card {
  background-color: var(--bs-secondary-bg);
  aspect-ratio: 1 / 1;
}

[data-bs-theme=dark] .card {
  background-color: var(--bs-border-color) !important;
  color: var(--bs-body-color);
}

.supporter-card a {
 display:flex;
 flex-direction:column;
 justify-content:center;
}

/*!
 * Carousel theming
 */

.slide, .carousel-item {
  background-color: var(--bs-secondary-bg);
}

[data-bs-theme=dark] .slide, [data-bs-theme=dark] .carousel-item {
  background-color: var(--bs-border-color) !important;
  color: var(--bs-body-color);
}

.carousel .carousel-indicators .active {
  transform: none;
  box-shadow: none;
  height: 7px;
}

.carousel .carousel-indicators [data-bs-target] {
  margin: 5px;
  background-color: var(--bs-body-color);
}

.carousel .carousel-indicator:hover {
  height: 7px;
}

.carousel .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
  fill: var(--bs-body-color);
}

.carousel .carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
  fill: var(--bs-body-color);
}

/*!
 * ToC theming
 */

h1,h2,h3,h4,h5,h6,h7 {
	scroll-margin: 70px;
}

@media only screen and (min-width: 992px) {

    #toc {
      border-right: 2px solid var(--bs-dark-border-subtle);
    }
    
	.toc-level {
	  border-right: 5px solid var(--bs-body-bg);
	}

	.toc-level:hover {
	  background-color: var(--bs-secondary-bg);
	  border-right: 5px solid var(--bs-dark-border-subtle);
	}

    [data-bs-theme=dark] #toc {
      border-right: 2px solid var(--bs-border-color);
    }

	[data-bs-theme=dark] .toc-level {
	  border-right: 5px solid var(--bs-secondary-bg);
	}

	[data-bs-theme=dark] .toc-level:hover {
	  background-color: var(--bs-tertiary-bg);
	  border-right: 5px solid var(--bs-border-color);
	}
}

.toc-1 {
  padding-left: -1rem;
}

.toc-2 {
  padding-left: 0rem;
}

.toc-3 {
  padding-left: 1rem;
}

.toc-4 {
  padding-left: 2rem;
}

.toc-5 {
  padding-left: 3rem;
}

.toc-6 {
  padding-left: 3.5rem;
}

.toc-7 {
  padding-left: 4rem;
}

/*!
 * right-side panel
 */

@media only screen and (min-width: 992px) {

    .landing-right {
      border-left: 2px solid var(--bs-dark-border-subtle);
    }

    [data-bs-theme=dark] .landing-right {
      border-left: 2px solid var(--bs-border-color);
    }
}

/*!
 * Accessibility tweaks
 */

:focus-visible, .dark-light-toggler:focus-within {
  outline: 2px dashed var(--bs-info) !important;
  border-radius: 2px;
}

.main a {
  color: var(--bs-primary);
}

.main a, #sectionsNav a:hover, #footer-nav a:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

[data-bs-theme=dark] .main a {
  color: var(--bs-primary-text-emphasis);
}

.main a:hover {
  text-decoration: none !important;
}

code{
  color: var(--bs-code-color);
}

#skip-to-content{
  color: var(--bs-body-color);
  position: absolute;
  top: 0px;
  right: 0px;
  padding-right: 5px;
  transform: translateY(-100%);
  background: var(--bs-secondary-bg-subtle);
  border-radius: 0 0 0 1em;
}

@media only screen and (min-width: 992px) {

	#skip-to-content:focus{
		transform: translateY(0%);
	}

}

@media only screen and (max-width: 991px) {

	#skip-to-content{
		transform: translateY(-177%);
		padding-right: 0px;
	}

}
@media only screen and (max-width: 991px) {

	#skip-to-content:focus{
		transform: translateY(-77%);
		margin-right: -15px;
	}

}

/*!
 * Errata
 */

dl, li {
  font-size: 14px;
}
