html, body {
    height: 100%;
}

/* CSS only for examples not required for centering */
.container {
    height: 80%;
}

.note {
    position: absolute;
    z-index: 10;
    /* right: 0; */
    top: 5px;
    padding: 5px;
    background: #fff;
    max-width: 400px;   
    color: #000a12;
    border: 2px solid #078171;
}

/* show border around full height container */
.h-100 {
    border: 1px dotted #cc2222;
}

/* GLOBAL STYLES */
body {
  background: #fff !important;
  padding-top: 5em;
  font-family: 'PT Sans', sans-serif;
  display: flex;
  justify-content: center;
}

.ca-center {
    justify-content: center;
}

/* DEMO-SPECIFIC STYLES */
.typewriter h1 {
  color: #000a12;
  font-family: monospace;
  overflow: hidden; /* Ensures the content is not revealed until the animation */
  border-right: .15em solid #e75d00; /* The typwriter cursor */
  white-space: nowrap; /* Keeps the content on a single line */
  margin: 0 auto; /* Gives that scrolling effect as the typing happens */
  letter-spacing: .15em; /* Adjust as needed */
  font-size: 52px !important;
  line-height: 56px;
  animation: 
    typing 3.5s steps(25, end),
    blink-caret .8s step-end infinite;
}

@media (min-width: 400px) {
    .typewriter h1 {
        font-size: 28px !important;
        line-height: 30px;
    }
}

@media (min-width: 600px) {
    .typewriter h1 {
        font-size: 52px !important;
        line-height: 56px;
    }
}


/* The typing effect */
@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

/* The typewriter cursor effect */
@keyframes blink-caret {
  from, to { border-color: transparent }
  50% { border-color: orange }
}

.note-bottom {
    position: absolute;
    z-index: 10;
    /* right: 0; */
    bottom: 5px;
    padding: 5px;
    background: #fff;
    max-width: 400px;   
    color: #000a12;
}