html,
body {
  margin:0;
  padding:0;
  height:100%;
}
#container {
  min-height:100%;
  position:relative;
}
#header {
  padding:10px;
}
#body {
  padding:10px;
  padding-bottom:60px;
}
#footer {
  position:absolute;
  bottom:0;
  width:100%;
}

.loader {
  border: 6px solid #f3f3f3;
  border-radius: 50%;
  border-top: 6px solid #3498db;
  width: 45px;
  height: 45px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.hide-element {
  display: none;
}

.show-element {
  display: block;
}

.show-spinner {
  display: grid;
}

.alert {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

#body {
  background:transparent;
  display:block;
}

#bg-text {
  position: absolute;
  margin-top: -5%;
  z-index: -1;
  left: 20%;
  color: #d3d3d33b;
  font-size: 40rem;
}