/*----------Toggle Switch-------------*/

.switch {
  position: fixed;
  display: grid;
  width: 60px;
  height: 34px;
  right: 1vw;
  top: 10px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}


.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

input:checked + .slider {
  background-color: rgba(0, 0, 0, 0.15);
}

input:hover + .slider {
  box-shadow: 3px 4px 0px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  scale: 0.8;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
    background-color: rgba(0, 0, 0, 0.35);

}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
  background-color: rgba(255, 125, 125, 0.75);
}



.slider:hover,
#txt_input:hover,
#btn_generate:hover {
  filter: brightness(1.75) !important;
  transition: all 0.2s ease !important;
}

/*------------ Dark Mode Stuff --------------*/

g text {
  display: none;
  transform: translateY(1.5vh) !important;
  font-family: sans-serif !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  fill: rgba(255, 255, 255, 0.5) !important;
}

body:has(input:checked) {
  background: #181a1b !important;
}

body {
  font-family: sans-serif;
  font-size: 1.25rem;
  color: rgb(0, 0, 0);
  background: rgba(0, 0, 0, 0.025) !important;
  transition: background 0.25s ease;
}
#btn_generate {
  font-family: sans-serif;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.65);
  margin-bottom: 3.5vh;
  padding: 2px;
  background: rgba(0, 0, 0, 0.15);
}
body:has(input:checked) #btn_generate {
  color: rgba(255, 255, 255, 0.65);
  background: #33323a;
}

#txt_input {
  font-family: sans-serif !important;
  font-size: 1.5rem;
  padding: 0.35rem;
  text-align: center;
  border-radius: 12px !important;
  letter-spacing: 0px;
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.1);
  font-family: sans-serif;
  font-weight: 600;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
}
body:has(input:checked) #txt_input {
  color: rgba(255, 255, 255, 0.65);
  background: #33323a;
}

#barcode > g:nth-child(2) > rect:nth-child(n) {
  fill: rgba(0, 0, 0, 0.95) !important;
}

#barcode > g:nth-child(2) {
  scale: 1.25;
  transform-origin: top !important;
  transition: all 0.2s ease !important;
}

#barcode:has(rect:nth-child(32)) > g:nth-child(2) {
  scale:1.25;
}

#barcode:has(rect:nth-child(42)) > g:nth-child(2) {
  scale: 1;
}
body:has(input:checked) #barcode > g:nth-child(2) > rect:nth-child(n) {
  fill: rgba(255, 255, 255, 0.9) !important;
}

header {
  /*#a30000*/
  background-color: rgb(204, 0, 0);
}

body:has(input:checked) header {
  background-color: #a30000;
}

        

label h3 {
  top: 20px;
  margin: auto;
  text-wrap: nowrap;
  max-width: min-content;
  text-align: right;
  transform-origin: right;
  font-size: 12px;
  font-weight:800;
  font-family: sans-serif;
  pointer-events: none;
  position: fixed;
  right: calc(1vw + 60px);
  padding: 0;
  line-height: 125%;
  transition: all 0.2s ease;
  color: rgba(255, 255, 255, 1);
  filter: brightness(0)  opacity(0.3);
}


body:has(input:checked) 
label h3 {
    right: 0vw;
    opacity: 0;
    scale: 0;
}


.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 50, 50, 0.75);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  scale: 0.825;
}
body:has(input:checked)
.slider:before {
    content: "🌙";
    font-size:17px;
    text-align: center;
    line-height: 150%;
      filter: contrast(1) saturate(0) brightness(0) opacity(0.675) invert(0%);

}

/*------------ Stuff Predating 2/3/26 --------------*/
#txt_input {
  position: initial;
}
* {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

p {
  line-height: 2rem;
  margin-bottom: 1rem;
  padding-bottom: 5%;
}

main {
  background: none !important;
  margin-block: auto !important;
  margin-inline: auto !important;
  top: 0vh !important;
  bottom: 10vh !important;
  left: 0;
  right: 0;
  position: fixed !important;
  display: block !important;
  height: fit-content;
}

h1 {
  font-family: sans-serif;
  font-size: 2rem;
  color: white;
  padding-top: 0.3rem;
  padding-bottom: 0rem;
  padding-left: 15%;
  padding-right: 15%;
}

#tutorial h1 {
  padding-bottom: 0;
}

h2 {
  font-family: sans-serif;
  margin-top: 2rem;
  margin-bottom: 1.1rem;
  font-size: 1.75rem;
  color: #383838;
}

h3 {
  font-family: sans-serif;
  font-size: 0.7rem;
  color: white;
  padding-left: 15%;
  padding-right: 15%;
  padding-bottom: 1rem;
}

img {
  display: block;
  margin: auto;
  padding-top: 50%;
  padding-bottom: 50%;
}

#tallImage {
  width: 10rem;
  float: right;
  clear: both;
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  margin-right: 5%;
}

footer p {
  font-size: 1rem;
  padding-top: 10rem;
  padding-left: 1rem;
}

ul {
  font-family: "Arial", serif;
  display: block;
  float: left;
  list-style-type: none;
  position: static;
  padding-left: 2rem;
}

li {
  padding-bottom: 1rem;
}

nav ul {
  list-style-type: none;
  margin: 0;
  padding-left: 15%;
  overflow: hidden;
  background-color: #0d5047;
  position: fixed;
  top: 0;
  width: 100%;
}

nav li {
  float: left;
  padding: 0;
}

nav li a {
  display: block;
  color: white;
  text-align: center;
  padding: 0.87rem;
  text-decoration: none;
}

nav li a:hover:not(.active) {
  background-color: #246b61;
}

nav .active {
  background-color: #003b33;
}

main a {
  color: rgb(204, 204, 204);
}

.dropbtn {
  background-color: #0d5047;
  color: white;
  padding-left: 1.5rem;
  padding-right: 1.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-family: sans-serif;
  font-size: 1.25rem;
  border: none;
  position: fixed;
}

.dropdown {
  position: fixed;
  display: inline-block;
}

.dropdown-content {
  display: none;
  background-color: #003b33;
  margin-top: 3.2rem;
  box-shadow: 1px 16px 16px 0px rgba(0, 0, 0, 0.2);
}

.dropdown-content a {
  color: rgba(255, 255, 255, 0.8);
  padding: 1rem;
  font-size: 1rem;
  text-decoration: none;
  display: block;
  border-bottom: thin solid rgba(36, 59, 59, 0.514);
}

.dropdown-content p {
  color: rgba(255, 255, 255, 0.8);
  padding: 1rem;
  margin: 0;
  font-size: 1rem;
  display: block;
  border-bottom: thin solid rgba(36, 59, 59, 0.514);
}

.dropdown-content a:hover {
  background-color: #0d5047;
}

.dropdown:hover .dropdown-content {
  display: block;
}

.dropdown:hover .dropbtn {
  background-color: #003b33;
}
/*
@media only screen and (max-width: 2000px) {
    main {
        margin-left: 22.5%;
        margin-right: 22.5%;;
    }
}
*/
@media only screen and (max-width: 1400px) {
  /*
    main {
        margin-left: 15%;
        margin-right: 15%;
    }
*/
  img {
    width: 90%;
  }
}

@media screen and (max-width: 1290px) {
  /* width adjustment for the text box on mobile / watch */
  #txt_input {
    width: 50%;
  }
  label h3 {
    top: 10px;
  }

  .switch {
    top: 0px;
  }
  footer p {
    font-size: 0.75rem;
    padding-top: 10rem;
    padding-left: 1rem;
    padding-top: 1rem;
  }

  h1 {
    font-size: 0.7rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.7rem;
  }

  h2 {
    font-size: 3rem;
    margin-top: 0;
    margin-bottom: 1.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    color: rgb(180, 180, 180);
    line-height: 2.9rem;
  }

  #noMarginHere {
    margin-top: 0;
  }

  h3 {
    font-size: 0.2rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 0.2rem;
  }

  ul {
    display: block;
    list-style-type: none;
    font-size: 0.9rem;
  }

  nav ul {
    padding-left: 0;
  }

  nav li {
    padding: 0;
  }

  .dropbtn {
    font-size: 1rem;
  }

  .dropbtn:active {
    background-color: #003b33;
    z-index: -1;
  }

  main p {
    font-size: 1rem;
    line-height: 1.5rem;
    padding-bottom: 0.4rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  img {
    width: 90%;
    padding-top: 50%;
    padding-bottom: 50%;
  }

  #tallImage {
    width: 10rem;
    float: right;
    clear: both;
    padding-top: 0.5rem;
    padding-bottom: 1rem;
    padding-left: 1rem;
    margin-right: 5%;
  }

  iframe {
    display: block;
    width: 90%;
    margin: auto;
    height: 200px;
    padding: 1rem;
    padding-top: 0;
  }

  video {
    width: 90%;
  }

  .quote p {
    padding: 1rem;
  }

  .firstStep {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    padding-top: 0.8rem;
    border: 1px solid rgba(13, 80, 71, 0);
    border-radius: 0.5rem;
    background-color: rgba(13, 80, 71, 0.075);
  }

  .aStep {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    padding-top: 0.8rem;
    margin-top: 1.5rem;
    border: 1px solid rgba(13, 80, 71, 0);
    border-radius: 0.5rem;
    background-color: rgba(13, 80, 71, 0.075);
  }

  .stepText {
    display: none;
  }
}

.grid-container {
  display: grid;
  grid-template-columns: auto auto;
  background-color: #81818117;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  border-style: hidden;
  border-top-left-radius: 2rem;
  border-top-right-radius: 2rem;
}

.grid-container2 {
  display: grid;
  grid-template-columns: auto auto;
  background-color: #81818117;
  padding-left: 1rem;
  padding-right: 1rem;
}

.grid-container3 {
  display: grid;
  grid-template-columns: auto;
  background-color: #81818117;
  padding: 1rem;
  border-style: hidden;
  border-bottom-left-radius: 2rem;
  border-bottom-right-radius: 2rem;
}

.grid-item {
  background-color: rgb(255, 255, 255);
  margin: 1rem;
  padding: 1rem;
  text-align: center;
  border-style: hidden;
  border-radius: 5rem;
  font-size: 2.5rem;
}

.grid-container3-item {
  background-color: rgb(255, 255, 255);
  margin: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
  border-style: hidden;
  border-radius: 5rem;
  font-size: 1.5rem;
  line-height: 1rem;
}

.barcodeGenerator {
  background-color: none;
  margin-top: 0vh;
  text-align: center;
}

* {
  overflow: visible !important;
}

#barcode {
  max-width: 95vw;
  text-transform: uppercase;
}
#barcode > rect {
  fill: transparent !important;
}

button,
input {
  border-radius: 0.5rem !important;
  width: calc(fit-content - 10rem) !important;
  border-color: rgba(46, 48, 61, 0.25) !important;
  box-shadow: 4px 3px 0px rgba(0, 0, 0, 0.05);
  border: none !important;
  border-width: 3rem !important;
  transition: all 0.2s ease !important;
  scale: 1;
}
input {
  filter: invert(0%) !important;
}

button {
  filter: brightness(1.25);
  border-radius: 22px !important;
  cursor: pointer;
}
button:active {
  scale: 2;
}

button:hover,
input:hover {
  scale: 1.05;
}

input * {
  position: fixed !important;
}
