/* color variables */
:root {
  --bg: #9A5127;  /* dark orange, from A New Social light mode logomark */
  --bg-light: #EEDAC0;
  --bg-med: #DEBAA0;
  --fg: white;
  --glow: #80d0ff;
}

#header {
  width: 100%;
  margin: 0;
  padding-top: 1em;
  padding-bottom: 1em;
  overflow-x: clip;

/* this keeps it always visible on top, even when scrolling
  position: sticky;
  top: 0;
 */
}

#logins img, .actor img {
  border-radius: 50%; /* makes perfect circle */
  object-fit: cover;  /* keeps aspect ratio */
}

#logins {
  text-decoration: none;
  padding-top: .5em;
  padding-bottom: .75em;
  padding-left: .75em;
  padding-right: .5em;
  margin-left: -.25em;
}

#logins:hover {
  background-color: #DEF;
  border-radius: 1em;
}

#logins .profile {
  position: relative;
  z-index: 1;
}

#logins .provider {
  position: relative;
  margin-left: -.5em;
}

#login input[type="text"], #login input[type="url"] {
  width: 12em !important;
  /* these are from bootstrap */
  padding: 6px 12px;
  border: 1px solid #ccc;
}

.divider {
  margin-left: .5em;
  margin-right: .5em;
}

.btn-link {
  padding: 0;
}

.big {
  font-size: 1.5em;
}

.bigger {
  font-size: 2.25em;
}

.small {
  font-size: .8em;
}

.header-links {
  float: right;
  text-align: right;
}

#logo {
  float: left;
  text-align: left;
}

#logo a {
  color: var(--bg);
}

#header .header-links {
  margin-top: .5em;
  margin-bottom: .5em;
}

#logo-img {
  height: 3em;
  margin-right: .5em;
  vertical-align: top;
}

#get-started {
  background-color: var(--bg-light);
  border-color: var(--bg);
  color: var(--bg);
}

#get-started:hover {
  background-color: var(--bg-med);
}

#front #footer {
  margin-top: -2em;
}

#footer {
  margin-top: 2em;
  margin-bottom: 0;
}

#title {
  font-weight: normal;
}

pre .keyword, code .keyword, code.keyword {
  color: green;
}

pre .value, code .value, code.value {
  color: chocolate;
}

.handle {
  font-style: italic;
}

.row {
  text-align: center;
  margin-bottom: 1em;
  margin-left: 0;
  margin-right: 0;
}

.account {
  text-align: left;
}

#front .row {
  padding-top: 1em;
  padding-bottom: 1em;
}

#front .row p {
  padding-left: 1em;
  padding-right: 1em;
}

#front #header {
  margin-bottom: 3em;
  padding-bottom: 0;
  background-color: var(--fg);
  /* see corresponding shadow in .front-dark below */
  box-shadow: 0 0 .5em 1.5em var(--fg);
}

.text-outline {
  text-shadow: -2px -2px 0 var(--bg), 2px -2px 0 var(--bg), -2px 2px 0 var(--bg), 2px 2px 0 var(--bg);
  /* this is easier and supported in major browsers but draws the outline *inside*
  the text, not outside, which looks much worse.
 -webkit-text-stroke: 2px var(--bg);
 */
}

.front-light, .front-dark {
  margin-top: 2em;
  margin-bottom: 2em;
}

.front-light {
  background-color: var(--fg);
  box-shadow: 0 0 .5em 1.5em var(--fg);
}

.front-dark {
  background-color: var(--bg);
  color: var(--fg);
  box-shadow: 0 0 .5em 1.5em var(--bg);
}

.front-dark a {
  color: #63aae0;
}

.front-dark a:hover {
  color: #93cae7;
}

#front-form row {
  margin-bottom: 0;
  background-color: transparent;
}

#front-tagline {
  margin-bottom: 0;
  margin-left: -100px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  text-shadow: 0px 0px .2em var(--glow);
}

#ball {
  vertical-align: middle;
}

.web, .fediverse, .bluesky, .handle {
  white-space: nowrap;
}

.front-light .web, .front-light .web:hover {
  color: #20593c;
}

.front-light .fediverse, .front-light .fediverse:hover {
  color: #88305b;
}

.front-light .bluesky, .front-light .bluesky:hover {
  color: #305b88;
}

.front-dark .web, .front-dark .web:hover {
  color: #b7e4c6;
}

.front-dark .fediverse, .front-dark .fediverse:hover {
  color: #e4b7c6;
}

.front-dark .bluesky, .front-dark .bluesky:hover {
  color: #b7c6e4;
}

.fediverse img,
.bluesky img  {
  height: 1em;
}

.btn.web {
  background-color: #20593c;
  border: 2px solid #47c986;
}

.btn.fediverse {
  background-color: #88305b;
  border: 2px solid #c94786;
}

#front-instructions {
  min-height: 4em;
}

.instruction {
  display: none;
  margin: 1em;
  margin-left: 2em;
  margin-right: 2em;
  margin-top: 0;
  margin-bottom: 0;
}

ul.actors {
  text-align: left;
  list-style: none;
}

ul.actors li {
  margin-top: .5em;
  margin-bottom: .5em;
}

form {
   display: inline;
}

form input {
  vertical-align: middle;
}

/* .glyphicon-warning-sign { color: gold; } */
.glyphicon-ok-sign { color: green; }
.glyphicon-exclamation-sign { color: gold; }
.glyphicon-pause { color: gold; }
.glyphicon-refresh { color: blue; }
.glyphicon-remove { color: red !important; }
.glyphicon-transfer { color: blue; }

code {
  color: black;
  background-color: white !important;
}

code a, a code {
  color: #337ab7;
}

code a:hover, a code:hover {
  color: var(--bg);
}

label {
  /* override Bootstrap style */
  font-weight: 300;
}

button {
  border: 0;
  background-color: #337AB7;  /* same color as links */
  color: white;
  padding-top: .2em;
  padding-bottom: .2em;
  padding-left: .5em;
  padding-right: .5em;
  border-radius: 2px;
}

button[disabled], input[disabled] {
  border-color: gray !important;
  color: gray !important;
  pointer-events: auto !important;
}

button[disabled]:hover, input[disabled]:hover {
  background-color: lightgray !important;
}

.btn-group {
  white-space: nowrap;
}

.btn {
  white-space: normal;
}

.btn-default {
  background-color: #CEF;
  border-color: #337AB7;
  color: #337AB7;
}

.btn-copy {
  color: #66A0D0;
  background-color: transparent;
  border-color: transparent !important;
  padding: 3px 6px;
}

.btn-default:hover, .btn-default:hover:focus {
  background-color: #BDE;
  border-color: #337AB7;
  color: #337AB7;
}

.btn-default:focus {
  /* same as without :focus */
  background-color: #CEF;
  border-color: #337AB7;
  color: #337AB7;
}

.btn-default pre {
  background-color: transparent;
  border: none;
}

.logo, .logo img {
  height: 1.1em;
  margin-top: -.2em;
}

.mastodon-button {
  height: 50px;
  padding: 6px;
  background-color: #323946;
}

.mastodon-embed {
  margin: 1em;
}

input[type="text"], input[type="url"] {
  color: black;  /* overrides .front-dark */
  padding-left: .3em;
  padding-right: .3em;
  border: 1px solid black;
  font-size: 1em;
}

input[type="submit"], summary.btn {
  font-size: .75em;
}

#sent pre {
  display: inline-block;
}

.profile {
  width: 32px;
}

.big .profile {
  width: 48px;
}

a img.shadow:hover
{
  box-shadow: 3px 3px 3px #06c !important;
}

.error, .warning {
  margin: 10px;
  padding: .2em;
  font-style: italic;
}

.error {
  background-color: lightcoral !important;
}

.warning {
  background-color: gold !important;
}

.error p, .warning p {
  margin: 10px;
}

.error code, .warning code {
  font-style: normal;
  background-color: inherit !important;
}

.warning pre {
  text-align: left;
}

.row.warning {
  margin-bottom: 2em;
}

.docs {
  list-style: none;
}

/*
 * Review progress
 */
.progress-spinner {
  width: 1em;
  display: inline-block;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/*
 * Docs
 */
.docs table {
  border-collapse: collapse;
  width: auto;
  font-size: .8em;
  border: 1px solid steelblue;
  margin-left: -55px;
  margin-right: -15px;
  margin-top: 2em;
  margin-bottom: 2em;
}

.docs table.list {
  margin-left: inherit;
}

.docs th, .docs td {
  padding: .5em;
}

.docs td.na {
  background-color: #f0f0f0;
}

.docs th.subhead {
  font-weight: normal;
  font-style: italic;
}

.docs tbody th {
  text-align: right;
}

.docs thead th {
  text-align: center;
}

.docs table.list thead th {
  text-align: left;
}

.docs table code {
  white-space: nowrap;
  background-color: transparent !important;
}

.docs td {
  text-align: center;
}

.docs table.list td {
  text-align: left;
}

.docs th {
  background-color: #ebecf6;
}

.docs tr:nth-child(even) {
  background-color: #f6f6f6;
}

.docs .done, .docs .yes  {
  background-color: #ebf6eb;
}

.docs tr:nth-child(even) .done, .docs tr:nth-child(even) .yes {
  background-color: #e2f6e2;
}

.docs .not-done {
  background-color: white;
}

.docs .maybe {
  background-color: #fffdda;
}

.docs tr:nth-child(even) .maybe {
  background-color: #fffacd;
}

.question {
  margin-top: 2em;
  margin-bottom: .5em;
  font-weight: bold;
}

.answer ul li, .answer ol {
  margin-bottom: .5em;
}

.right {
  float: right;
  margin-left: 20px;
  text-align: center;
}

.left {
  float: left;
  margin-right: 20px;
  text-align: center;
}

.left img, .right img {
  width: 100%;
}

.left p, .right p {
  margin-top: .3em;
  margin-bottom: 1em;
}

@media screen and (min-width: 312px) {
}

@media screen and (max-width: 455px) {
  #ball {
    display: none;
  }
  #front-tagline {
    margin-left: auto;
  }

  .half, .half-sidebyside {
    width: 100%;
  }
  .third, .quarter, .sixth {
    width: 50%;
  }
}

@media screen and (min-width: 456px) {
  .half { width: 50%; }
  .half-sidebyside { width: 45%; }
  .third { width: 32%; }
  .quarter { width: 25%; }
  .sixth { width: 17%; }
}

/* CSS View Transitions
 * https://developer.chrome.com/docs/web-platform/view-transitions
 * https://caniuse.com/view-transitions
 */
@view-transition {
  navigation: auto;
}
