/* Holden Ernest - 5/14/2025 */

/* #region Main */
#title {
    padding-bottom: 30px;
    font-size: 30px;
    font-weight: bold;
}
body {
    background-color: #333;
    color: gainsboro;
    user-select: none;
}
body::-webkit-scrollbar {
    display: none;
}
.placeholder {
    display: none !important;
}
.hidden {
    display: none !important;
}
/* #endregion */

/* #region Network */
.connected {
    color: green;
}
.disconnected {
    color: red;
}
/* #endregion */

/* #region Tips */
.tips-text {
    padding-top: 50px;
    margin:auto;
    width: 90%;
    color: grey;
}
/* #endregion */

/* #region Spacing*/
#all-center {
    width: 50%;
    text-align: center;
    margin: auto;
    margin-top: 15%;
}
/* #endregion */

/* #region Copyable */
.copyable {
    user-select: none;
    cursor: grab;
    border-radius: 5px;
    border: 1px solid black;
    background-color: #444;
    color:#666;
    display: inline;
    padding: 15px;
    
}
.copyable:hover {
    background-color: #555;
    color: #aaa
}
.copyable:active {
    cursor: grabbing;
    background-color: red;
    transition: background-color 0s 2s, opacity 2s linear;
}
/* #endregion */

/* #region Inputs */
.genericButton {
	color: grey;
    width: 80px;
    height: 40px;
    background-color: #222;
    border: none;
    overflow: none;
    outline: none;
  	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;	
}
.genericButton:hover {
    cursor: pointer;
    background-color: #444;
}
.genericInput {
	padding-left: 5px;
    height: 25px;
    width: 200px;
    overflow: auto;
    outline: none;
  	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: #444;
    color: #CCC;
    border: 2px solid #222;
}

select:hover {
  background-color: #444;
  box-shadow: 1px 1px 4px 0px black;
}
select { /*the dropdown*/
  display: inline-block;
  border: none;
  overflow: auto;
  outline: none;
  /*-webkit-appearance: none;*/
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  resize: none;
  text-indent: 1px;
  text-overflow: '';

  background-color: #222;
  margin-left:0px;
  margin-right:0px;
  color: gainsboro;
  padding: 5px;
  font-weight: bold;
}
select option {
  background-color: #111;
  color: white;
}
option:hover {
  background-color: #444;
}
/* #endregion */

/* #region Notifications */
#notification-area {
	position: fixed;
	right: 0px;
	top: 20px;
	width: 200px;
	overflow: hidden;
	padding-right: 20px;
	padding-top: 5px;
	z-index: 1;
}

#notification-area .notification {
	float: right;
	max-width: 100%;
	display: block;
	color: #f2f2f2;
	padding: 8px;
	margin-bottom: 5px;
	text-decoration: none;
	user-select: none;
	border-radius: 3px;
	animation-duration: 0.5s;
	animation-name: slidein;
}
.notification.error {
	border: solid 1px red;
	background-color: rgba(98, 0, 0, 0.7);
	opacity: 0.7;
}
.notification.warning {
	border: solid 1px orange;
	background-color: rgba(108, 73, 19, 0.7);
	opacity: 0.7;
}
.notification.success {
	border: solid 1px rgb(0, 200, 0);
	background-color: rgba(0, 95, 0, 0.7);
	opacity: 0.7;
}
.notification:hover {
	opacity: 1.0;
}
@keyframes slidein {
	from {
	translate: 100vw 0;
	scale: 200% 1;
	}
	to {
	translate: 0 0;
	scale: 100% 1;
	}
}
/* #endregion */

/* #region LoadingAnimation */
/* HTML: <div class="loader"></div> */
.loader {
  display: inline-flex;
  width: 100%;
  padding-left: 50%;
  margin-top: 50px;
  gap: 5px;
}
.loader:before,
.loader:after {
  content: "";
  width: 25px;
  aspect-ratio: 1;
  box-shadow: 0 0 0 3px inset #fff;
  animation: l4 1.5s infinite;
}
.loader:after {
  --s: -1;
  animation-delay: 0.75s
}
@keyframes l4 {
  0%     {transform:scaleX(var(--s,1)) translate(0) rotate(0)}
  16.67% {transform:scaleX(var(--s,1)) translate(-50%) rotate(0)}
  33.33% {transform:scaleX(var(--s,1)) translate(-50%) rotate(90deg)}
  50%,
  100%   {transform:scaleX(var(--s,1)) translate(0) rotate(90deg)}
}
/* #endregion */