/*--------------------------------------------------------------
 * CSS INCLUDES - LIBERTIA
 *--------------------------------------------------------------*/
@import url('https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css');
/*--------------------------------------------------------------
 * TEMPLATE - LIBERTIA
 *--------------------------------------------------------------*/

html, body {
    margin: 0 auto;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    font-family: sans-serif;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: nowrap;
	scrollbar-width: none;
	max-width: 800px;
	width: 100%;
}
::-webkit-scrollbar {
  display: none;
}
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem 0 0;
}
.video-background {
	max-width: 100%;
	width: -webkit-fill-available;
	width: -moz-available;
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: -1;
}
.content {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	padding: 2rem;
	border-radius: 8px;
}
h1 {
    font-family: "Anton SC", sans-serif;
    font-size: 8rem;
    margin: 0 0 1rem;
    color: #ffffffc4;
    text-transform: uppercase;
}
h1.top {
    font-size: 1rem;
    color: #797979;
    margin: 0.5rem 1rem;
    letter-spacing: 0.1rem;
    padding: 0;
}
.top span {
    margin: 0;
    color: #8800ff;
    text-decoration: underline;
    text-decoration-thickness: 4px;
    text-decoration-color: #8800ff;
}
img.logo {
    width: 1rem;
    margin: 1rem 1rem 0 1rem;
}
button {
    padding: 0.66rem 0.7rem;
    background: rgba(255, 255, 255, 0.8);
    color: #848484;
    border: none;
    border-radius: 50%;
    font-size: 0.85rem;
    cursor: pointer;
    position: absolute;
    right: 1.5rem;
    transition: background 0.3s, color 0.3s, opacity 0.3s;
}
button:hover {
	background: #8800ff;
	color: #fff;
	opacity: 0.7;
}
iframe {
	overflow-y: hidden;
}
#bottom {
    margin: 0 auto 2rem;
    position: sticky;
}
#bottom, footer {
    width: 96%;
    display: flex;
    flex-direction: column;
    flex-grow: 0;
}
#oracle {
    font-family: "Anton SC", sans-serif;
    font-size: 1.5rem;
    font-weight: 900;
    margin: 0 auto 5rem;
    color: #a9a9a9;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
}
#oracle span {
    color: #8800ff;
    margin: 0 0 0 0.15rem;
}
.home-link {
    color: #cccccc;
    font-size: 0.75rem;
    text-decoration: none;
}
.about-link {
    color: #8800ff;
}
.home-git-link {
    color: #ffffffcc;
    font-size: 1.33rem;
    text-align: right;
    width: 100%;
    padding: 1rem 0;
}
#para-init {
  font-size: 0.65rem;
  color: #575757;
  font-weight: bold;
}
#donate {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#git {
    margin: 0 auto 10rem;
}
button#load-more {
    right: auto;
    left: 0;
    color: #8800FF;
    font-size: 1.05rem;
    background: #ffffff47;
}
#delete-button {
    left: auto;
    right: 0;
    color: #bbbbbb;
    font-size: 1rem;
    background: #ffffff47;
}
#container {
    color: #4e4e4e;
    padding: 1rem;
}
.hidden {
	display: none;
}
p {
    font-size: 1.5rem;
    font-weight: 900;
    margin: 0 auto 5rem;
    color: #ffffffbd;
    letter-spacing: -0.05rem;
}
p.desc {
    width: -webkit-fill-available;
    font-size: 1.33rem;
    font-weight: bold;
    opacity: 0.7;
    line-height: 1.75rem;
}
.content .about-title {
    color: grey;
    font-size: 4rem;
    align-self: flex-start;
}
.content .about-title i {
    opacity: 0.4;
    margin: 0 0.33rem 0;
}
.about-content * {
    color: grey;
    font-weight: bold;
}
.about-content p {
    margin: 1.25rem auto;
}
.manifesto-block {
    margin: 0 auto 10rem;
}
strong {
    color: #8800ff !important;
    font-weight: 900 !important;
}
.content.about-content {
    position: unset;
    text-align: left;
    transform: none;
}
.home-about-link {
    font-size: 1.25rem;
    color: #ffffffbd;
    text-align: right;
    padding: 0.5rem 0;
}
span.donate {
    color: #8800ff;
    text-decoration: underline;
    text-decoration-thickness: 10px;
    text-decoration-color: #8800ff;
}
span.bright {
    color: #cccccc;
}
.corporate {
    text-decoration: underline;
    color: #8800ffd4;
    margin: 0 0 0 0.75rem;
    letter-spacing: 0;
}
.corporate.corporate-footer {
    font-weight: 900;
    font-size: 0.75rem;
    margin: 0 0 0 0.12rem;
    text-decoration: none;
}
.cta {
    display: block;
    color: #ffffffc4;
    text-decoration: none;
    padding: 0.8rem 4.5rem;
    font-size: 1rem;
    border-radius: 4px;
    border: 1px solid;
    width: 70%;
    word-spacing: 0.33rem;
}
.cta:hover {
    background: #8800ffd4;
    border-color: #8800ffd4;
}
#input-wrapper {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-top: 3rem;
}
#output {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
textarea {
    width: 93%;
    background: inherit;
    color: #3c3c3c;
    border: 1px solid #ededed;
    padding: 1.5rem 0.75rem 1rem;
    resize: none;
    border-radius: 6px;
    box-shadow: 0 0 20px 2px rgb(57 57 57 / 13%);
    font-family: monospace;
}
textarea#input::placeholder {
  font-size: 0.75rem;
  text-align: left;
  font-weight: bold;
  position: relative;
  top: 0.1rem;
  left: 0.25rem;
  filter: grayscale(1);
}
textarea:focus {
  border-color: #8800ff33;
  outline: none;
}
.bubble {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    max-width: 50%;
    margin-top: 2rem;
    padding: 0.75rem 1rem;
    width: fit-content;
}
.bubble .bubble-text {
    opacity: 0.95;
}
.bubble.question .bubble-text {
    opacity: 0.85;
}
.bubble.question {
    background: #80808012;
    border: 1px solid #ebebeb;
    border-radius: 0 8px 8px 8px;
    color: #424242;
}
.bubble.question .bubble-footer .bubble-pseudo {
    opacity: 0.5;
}
.bubble.question .bubble-footer i.fa-comment {
    opacity: 0.2;
}
.bubble.response {
    background: #8800ff0f;
    border: 2px solid #8800ff0f;
    text-align: left;
    white-space: pre-line;
    align-self: flex-end;
    border-radius: 8px 0 8px 8px;
    color: #8800ff;
}
.bubble.response .bubble-text {
    opacity: 0.95 !important;
}
.bubble.waiting {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: center;
	color: grey;
	margin: 1rem 0;
	font-size: 0.65rem;
}
.bubble.waiting::after {
  content: '...';
  width: auto;
  animation: dots 1.2s steps(3, end) infinite;
}
@keyframes dots {
  0%,20% { content:''; }
  40% { content:'.'; }
  60% { content:'..'; }
  80%,100% { content:'...'; }
}
.bubble-footer {
    align-self: flex-end;
    font-size: 0.55rem;
    font-weight: 900;
    color: inherit;
    margin-top: 0.5rem;
    font-family: monospace;
}
.bubble-footer i.fa-comment {
    position: relative;
    top: 0.05rem;
    opacity: 0.5;
}
.bubble-pseudo {
    opacity: 0.5;
}
.timestamp {
    opacity: 0.6;
}
.alpine-link {
    color: inherit;
    text-decoration: none;
    font-weight: bold;
    margin: 0 0.2rem;
}
footer.oracle-hidden {
    padding: 0.75rem 0;
	z-index: 0;
}
footer {
    padding: 0.5rem 0;
    filter: grayscale(1);
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 0.66rem;
    opacity: 0.33;
    align-self: center;
}
#footer-logo {
    width: 0.75rem;
}
footer p {
    font-size: 0.55rem;
    font-weight: 900;
    margin: 0 0 0 0.5rem;
    color: #b3b3b3fc;
    letter-spacing: -0.05rem;
}
footer.footer-home {
    display: flex;
    flex-grow: 1;
    position: absolute;
    bottom: 0.5rem;
    text-align: center;
    align-self: center;
}
@media (max-width: 800px) {
h1 {
    font-size: 6rem;
}
.cta {
    width: auto;
}
#input-wrapper {
    width: 97%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 3rem auto;
}
}