.flex-col {
  display: flex;
  flex-direction: column;
}

.flex {
  display: flex;
  flex-direction: row;
}

.gap {
  gap: 1.2rem;
}

.justify-between {
  justify-content: space-between;
}

a {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a span {
  user-select: none;
}

label {
  position: absolute;
  font-size: 1rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: white;
  color: gray;
  padding: 0 0.3rem;
  margin: 0 0.5rem;
  transition: .1s ease-out;
  transform-origin: left top;
  pointer-events: none;
}

input {
  font-size: 1rem;
  outline: none;
  border: 1px solid gray;
  border-radius: 5px;
  padding: 1rem 0.7rem;
  color: gray;
  transition: 0.1s ease-out;
}

input:focus {
  border-color: #155799;
}

input:focus + label {
  color: #155799;
  top: 0;
  transform: translateY(-50%) scale(.9);
}

input:not(:placeholder-shown) + label {
  top: 0;
  transform: translateY(-50%) scale(.9);
}

section[class*="section"] {
  padding: 10px 0px;
}

code:hover {
  cursor: pointer;
}

#color-input:disabled + label {
  background-color: #ececec;
}

.disabled {
  background-color: #ececec !important;
  color: #999999 !important;
  pointer-events: none;
  cursor: default;
}

.disabled:after {
  background-color: #ececec !important;
}

.material-textfield {
  position: relative;
}

.btn3d {
	position: relative;
	top: -6px;
	border: 0;
	transition: all 40ms linear;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 2px;
	margin-right: 2px;
}

.btn3d:active:focus,
.btn3d:focus:hover,
.btn3d:focus {
	-moz-outline-style: none;
	outline: medium none;
}

.btn3d:active,
.btn3d.active {
	top: 2px;
}

.btn3d.btn-default {
	box-shadow: 0 0 0 1px transparent inset, 0 0 0 2px rgba(255, 255, 255, 0.10) inset, 0 8px 0 0 #BEBEBE, 0 8px 8px 1px rgba(0, 0, 0, .2);
}

.btn3d.btn-default:active,
.btn3d.btn-default.active {
	box-shadow: 0 0 0 1px transparent inset, 0 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 3px 1px rgba(0, 0, 0, .1);
}

.copyable .pos {
  position: relative;
}

.copyable:hover .copy {
  opacity: 1;
}

.action-button {
  border-radius: 10px;
  display: block;
  height: 50px;
  width: 186px;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  letter-spacing: 1px;
  color: white;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  margin-left: 30px;
}

.action-button:after {
  position: absolute;
  content:'';
  display: inline-block;
  background: rgba(59,173,227,1);
  background: linear-gradient(45deg, rgba(59,173,227,1) 0%, #155799 45%, #159957 100%);
  height: 50px;
  width: 372px;
  z-index: -1;
  transform: translateX(-280px);
  transition: transform 400ms ease-in;
}

.action-button:hover {
  cursor: pointer;
  text-decoration: none;
}

.action-button:hover:after {
  transform: translateX(-200px);
}

.action-button span {
  position: relative;
  top: 13px;
}

.copy {
  color: #159957;
  font-size: 15px;
  -webkit-transition: opacity 0.35s ease-in-out;
     -moz-transition: opacity 0.35s ease-in-out;
       -o-transition: opacity 0.35s ease-in-out;
          transition: opacity 0.35s ease-in-out;
}

.copy:hover {
  cursor: pointer;
  font-weight: 400;
}

.pixel {
  display: inline-block;
  background-color: #000;
  width: 50px;
  height: 50px;
}

.filterDetail {
  font-family: "Consolas", "Menlo", "Ubuntu Mono", monospace;
}

.color-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.color-content {
  padding-left: 15px;
  max-width: 600px;
}

.input-section {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.real-section, .filtered-section {
  min-height: 150px;
}

.copied::after {
  position: absolute;
  top: -15px;
  right: -8px;
  display: block;
  content: "Copied!";
  font-size: 0.75em;
  padding: 2px 3px;
  color: #fff;
  background-color: #0eaf5e;
  border-radius: 3px;
  opacity: 0;
  will-change: opacity, transform;
  animation: showcopied 1.5s ease;
}

@keyframes showcopied {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  85% {
    opacity: 1;
    transform: translateY(-15px);
  }
  100% {
    opacity: 0;
    transform: translateY(-15px);
  }
}
