:root {
  --color-bg: #252a33;
  --color-text: #eee;
  --color-text-subtle: #a2a2a2;
  --color-terminal-control-text: #aebbff;
  --color-copied-background: #b2d7a4;
  --color-copied-text: #252a33;

  --terminal-horizontal-padding: 45px;
}

[data-termynal] {
  height: 500px;
  max-width: 100%;
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 15px;
  /* font-family: 'Fira Mono', Consolas, Menlo, Monaco, 'Courier New', Courier, monospace; */
  font-family: 'Roboto Mono', 'Fira Mono', Consolas, Menlo, Monaco, 'Courier New', Courier, monospace;
  border-radius: 4px;
  padding: 0px 0px 35px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

pre[data-termynal] {
  /* overflow-x: auto; */
  white-space: pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  word-wrap: break-word;
  /* Apply these same styles in a more specific selector to override other pre styles */
  background: var(--color-bg);
  color: var(--color-text);
}

[data-termynal]:before {
  content: '';
  position: absolute;
  top: 15px;
  left: 15px;
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  /* A little hack to display the window buttons in one pseudo element. */
  background: #d9515d;
  -webkit-box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
          box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
}

[data-termynal]:after {
  content: 'bash';
  position: absolute;
  color: var(--color-text-subtle);
  top: 5px;
  left: 0;
  width: 100%;
  text-align: center;
}

a[data-terminal-control] {
  text-align: right;
  display: block;
  color: var(--color-terminal-control-text);
  font-size: 16px;
}

[data-termynal-lines] > span {
  display: flex;
  min-height: 1.6em;
  line-height: 1.6;
  position: relative;
}


[data-termynal-lines] > span[data-ty="input"] {
  padding-left: 0px;
  padding-top: 10px;
}

span[data-terminal-line-output-area] {
  overflow-wrap: anywhere;
}

[data-terminal-prompt-start] {
  color: var(--color-text-subtle);
}

[data-ty-cursor]:after {
  content: attr(data-ty-cursor);
  font-family: monospace;
  margin-left: 0.5em;
  -webkit-animation: blink 1s infinite;
          animation: blink 1s infinite;
}

[data-terminal-speed-control-container] {
  display: flex;
  justify-content: flex-end;
}

[data-terminal-speed-control] {
  display: flex;
  width: 87px;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  color: var(--color-terminal-control-text);
}

[data-terminal-speed-control] span {
  font-size: 14px;
}

[data-terminal-speed-control] a {
  font-size: 19px;
}

div[data-terminal-top-bar] {
  padding-top: 10px;
  padding-right: 8px;
  padding-bottom: 5px;
  display: flex;
  justify-content: flex-end;
}

[data-terminal-copy-button][data-terminal-top-bar-copy-button] svg {
  stroke: var(--color-text-subtle);
  height: 2em;
  bottom: 0
}

[data-terminal-copy-popup][data-terminal-top-bar-copy-popup] {
  right: 1em;
  top: 3em;
}


[data-terminal-bottom-bar] {
  position: absolute;
  bottom: 0.5em;
  width: 100%;
  display: flex;
  justify-content: space-between;
  color: var(--color-terminal-control-text);
}

[data-terminal-branding] {
  display: flex;
  align-items: center;
  padding-left: var(--terminal-horizontal-padding);
}

[data-terminal-branding] a {
  color: var(--color-terminal-control-text);
  font-size: 10px;
}

[data-terminal-branding] span {
  color: var(--color-terminal-control-text);
  font-size: 10px;
  margin-right: 4px;
}

span[data-terminal-control-container] {
  padding-right: var(--terminal-horizontal-padding)
}

[data-termynal-lines] {
  height: 365px;
  overflow-y: scroll;
  text-overflow: wrap;
}

[data-termynal-lines]::-webkit-scrollbar {
  width: 10px;
}

[data-termynal-lines]::-webkit-scrollbar-track {
  opacity: 0;
}

[data-termynal-lines]::-webkit-scrollbar-thumb {
  min-height: 20px;
  background-color: #ffffff20;
}

span[data-terminal-line-spacer] {
  height: 100%;
  min-width: var(--terminal-horizontal-padding);
}

[data-terminal-copy-button] {
  cursor: pointer;
  position: relative;
  overflow: hidden;
  text-align: center;
  text-align: center;
  /* padding: 0; */
  padding-left: 19px;
  background: transparent;
  left: -0.4em;
  border-width: 0px;
}

[data-terminal-copy-button] svg {
  stroke: var(--color-text-subtle);
  height: 1.2em;
  bottom: 0
}

[data-terminal-copy-popup] {
  position: absolute;
  background-color: var(--color-copied-background);
  color: var(--color-copied-text);
  border-width: 2px;
  border-radius: 5px;
  border-color: gray;
  border-style: outset;
  padding-left: 0.5em;
  padding-right: 0.5em;
  box-shadow: 1px 1px 1px rgb(71, 71, 71);
  z-index: 1;
}

[data-terminal-copy-popup][data-terminal-line-copy-popup] {
  top: 2em;
  left: 1em;
}


/* Cursor animation */

@-webkit-keyframes blink {
  50% {
      opacity: 0;
  }
}

@keyframes blink {
  50% {
      opacity: 0;
  }
}