/* Normal case */

.btn:focus,
.btn:hover,
div.active:focus,
div.active:hover,
a:focus,
a:hover,
.close:focus,
.close:hover,
.nav > li > a:hover,
.nav > li > a:focus {
  font-weight: bold;
  outline: dotted 2px red !important;
}

button:focus,
button:hover {
  background-color: red;
}

/* Top header, section banner and footer cases */

#header .btn:focus, section.banner .btn:focus, #footer .btn:focus,
#header .btn:hover, section.banner .btn:hover, #footer .btn:hover,
#header div.active:focus, section.banner div.active:focus, #footer div.active:focus,
#header div.active:hover, section.banner div.active:hover, #footer div.active:hover,
#header a:focus, section.banner a:focus, #footer a:focus,
#header a:hover, section.banner a:hover, #footer a:hover,
#header .close:focus, section.banner .close:focus, #footer .close:focus,
#header .close:hover, section.banner .close:hover, #footer .close:hover,
#header .nav > li > a:hover, section.banner .nav > li > a:hover, #footer .nav > li > a:hover,
#header .nav > li > a:focus, section.banner .nav > li > a:focus, #footer .nav > li > a:focus {
  font-weight: bold;
  color: white;
  outline: dotted 2px white !important;
}

#header button:focus, #footer button:focus,
#header button:hover, #footer button:hover {
  background-color: white;
}

/* Sidebar menu case */

aside.sidebar .btn:focus,
aside.sidebar .btn:hover,
aside.sidebar div.active:focus,
aside.sidebar div.active:hover,
aside.sidebar a:focus,
aside.sidebar a:hover,
aside.sidebar .close:focus,
aside.sidebar .close:hover,
aside.sidebar .nav > li > a:hover,
aside.sidebar .nav > li > a:focus {
  font-weight: bold;
  outline: dotted 2px darkgray !important;
}

aside.sidebar button:focus,
aside.sidebar button:hover {
  background-color: darkgray;
}

/* Article carousel images case, when they contain a focused anchor */

article.has-hover-s3:has(a:focus),
div.img-article:has(a:focus){
  outline: dotted 2px red !important;
}

.carousel-indicators li,.carousel-indicators li.active {
  height: 18px;
  width: 18px;
  border-width: 2px;
  position: relative;
  box-shadow: 0px 0px 0px 1px #808080;
}

.carousel-indicators.active li {
  background-color: rgba(100,149,253,0.6);
}

.carousel-indicators.active li.active {
  background-color: white;
}

.carousel-tablist-highlight {
  display: block;
  position: absolute;
  outline: 2px solid transparent;
  background-color: transparent;
  box-shadow: 0px 0px 0px 1px transparent;
}

.carousel-tablist-highlight.focus {
  outline: 2px solid #6495ED;
  background-color: rgba(0,0,0,0.4);
}

a.carousel-control:focus {
  outline: 2px solid #6495ED;
  background-image: linear-gradient(to right, transparent 0px, rgba(0,0,0,0.5) 100%);
  box-shadow: 0px 0px 0px 1px #000000;
}

.carousel-pause-button {
  position: absolute;
  top: -30em;
  left: -300em;
  display: block;
}

.carousel-pause-button.focus {
  top: 0.5em;
  left: 0.5em;
}

.carousel:hover .carousel-caption,.carousel.contrast .carousel-caption {
  background-color: rgba(0,0,0,0.5);
  z-index: 10;
}

.alert-success {
  color: #2d4821;
}

.alert-info {
  color: #214c62;
}

.alert-warning {
  color: #6c4a00;
  background-color: #f9f1c6;
}

.alert-danger {
  color: #d2322d;
}

.alert-danger:hover {
  color: #a82824;
}
