:root {
  --homeColor: #b5fffd;
  --greenColor: #5cfea2;
  --navBarColor: #232323;
  --navBarColor_Inverted: #DCDCDC;
  --rootColor: #3b3b3b;
  --aquaColor: #5cfed5;
  --instrAnimationBefore: calc(-2*38px + -15px + -20px);
  --instrAnimationAfter: calc(-2*38px + -15px);
  --contButton: calc((9*18px + 20px)/2px);
}

* {
  margin: 0;
  background-color: var(--rootColor);
  font-family: 'Courier New', Courier, monospace;
  color: azure;
  scroll-behavior: smooth;
}

#home {
  background-color: var(--navBarColor);
  height: 78.2px;
}

#home > a {
  background-color: transparent;
  cursor: auto;
}

#home img {
  filter: invert(100%);
  background-color: var(--navBarColor_Inverted);
  max-height: 78.2px;
  margin-left: 2%;
  cursor: pointer;
}

#home p {
  display: inline-block;
  background-color: transparent;
  transform: translateY(-15px);
  cursor: pointer;
  transition: 0.3s;
}

#home p:hover {
  color: var(--homeColor);
}

#home ul {
  margin-right: 2%;
  background-color: var(--navBarColor);
  margin-top: 30px;
  list-style: none;
  float: right;
  display: flex;
}

#home ul li {
  margin-left: 10px;
  margin-right: 10px;
}

#home ul li a {
  background-color: var(--navBarColor);
  text-decoration: none;
  color: azure;
  position: relative;
  transition: color 0.3s ease;
}

#home ul li a:hover {
  color: var(--homeColor);
}

#home ul li a::after {
  content: '';
  position: absolute;
  background: var(--homeColor);
  height: 1.5px;
  width: 0;
  left: 50%;
  bottom: -3px;
  transition: width 0.3s ease, left 0.3s ease;
}

#home ul li a:hover::after {
  width: 100%;
  left: 0;
}

/* ---------------- Section1 Style ---------------- */

#section1 {
  margin-left: 7%;
  margin-right: 7%;
}

#section1 h1 {
  text-align: center;
}

#section1 ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#section1 ul li {
  width: 400px;
  color: var(--homeColor);
}

#section1 ul li p:nth-child(n) {
  margin: -1px;
}

#section1 ul li p:nth-child(1) {
  font-size: 20px;
  text-align: center;
  background-color: transparent;
  transform: translateY(55px);
  color: var(--homeColor);
}

#section1 ul li p:nth-child(2) {
  text-align: justify;
  position: relative;
  visibility: hidden;
}

#section1 ul li:hover p:nth-child(2) {
  animation: visibilityActivate 1s 1s forwards;
}

@keyframes visibilityActivate {
  100% { visibility: visible; }
}

#section1 ul li p:nth-child(2)::before {
  content: '';
  position: absolute;
  background: linear-gradient(27deg, #e66465, #9198e5);
  height: 100px;
  width: 0px;
}

#section1 ul li:nth-child(3) p:nth-child(2)::before {
  height: 128.8px;
}

#section1 ul li:nth-child(4) p:nth-child(2)::before {
  height: 110.4px;
}

#section1 ul li:nth-child(5) p:nth-child(2)::before {
  height: 92px;
}

#section1 ul li:nth-child(6) p:nth-child(2)::before {
  height: 92px;
}

#section1 ul li:nth-child(7) p:nth-child(2)::before {
  height: 73.6px;
}

#section1 ul li:hover p:nth-child(2)::before {
  animation: textReveal 1.6s ease 0.2s forwards;
}

@keyframes textReveal {
  0%   { width: 0; }
  50%  { width: 100%; visibility: visible; }
  100% { width: 0; }
} 

#section1 ul li:hover p:nth-child(1) {
  transform: translateY(0);
  animation: lettersUp .3s ease-out forwards;
}

@keyframes lettersUp {
  0%   { transform: translateY(55px); }
  100% { transform: translateY(0px); color: var(--greenColor);  }
}

/* ---------------- Section1.5 Style ---------------- */
#section1-3 {
  margin-top: 30px;
  margin-left: 3%;
  margin-right: 3%;
  margin-bottom: 30px;
}

#section1-3 h1 {
 margin-bottom: 10px;
}

#section1-3 p {
  margin-top: 10px;
}

/* ---------------- Section1.5 Style ---------------- */
#section1-5{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

#section1-5 div {
  margin-left: 3%;
  width: 500px;
  height: calc(500px * 9 / 16);
  border-radius: 5px;
  overflow: hidden;
}

#section1-5 div:last-child {
  margin-bottom: 25px;
} 

#section1-5 div img {
  max-width: 500px;
  border-radius: 5px;
  transition: .3s ease-in-out;
  cursor: pointer;
}

#section1-5 div:hover img {
  transform: scale(1.13);
  filter: sepia(.8);
}

/* ---------------- Section1-7 Style ---------------- */
#section1-7 {
  margin-left: 3%;
  margin-bottom: 30px;
  display: flex;
}

#section1-7 h3 {
  margin-right: 10px;
}

#section1-7 button {
  position: relative;
  top: -8px;
  padding: 10px 20px;
  background-color: var(--greenColor);
  color: var(--rootColor);
  border: none;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  transition: 300ms ease-in-out;
}

#section1-7 div button:hover {
  background-color: var(--aquaColor);
}

/* ---------------- Section2 Style ---------------- */

#section2 h1, #section2 h2, #section2 p {
  margin-left: 3%;
  margin-right: 3%;
}

#instructions {
  position: relative;
}

#instruction_Button {
  font-size: 32px;
  background: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
  margin-left: 3%;
  transition: color .3s;
}

#instruction_Button:hover {
  color: var(--homeColor);
}

#dropdown_Instructions {
  padding-top: 15px;
  padding-bottom: 15px;
  max-width: 1000px;
  position: absolute;
  left: calc(50% - 500px);
  bottom: -38px;
  background-color: var(--rootColor);
  border-radius: .25rem;
  box-shadow: 0 2px 5px 0 #ffffffc6;
  opacity: 0;
  transform: translateY(var(--instrAnimationBefore));
  pointer-events: none;
  transition: opacity .25s ease-in-out, transform .25s ease-in-out;
}

#instructions > #instruction_Button:focus + #dropdown_Instructions {
  opacity: 1;
  transform: translateY(var(--instrAnimationAfter));
  pointer-events: auto;
}

#image_displayPreview {
  max-width: 150px;
}

#image_Container {
  display: grid;
  place-items: center;
}

#image_preview {
  max-width: 100%;
  max-height: 90vh;
  border-radius: 10px;
}

#filterForm {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}

#uploadInput {
  margin-bottom: 10px;
}

label {
  font-weight: bold;
  margin-bottom: 10px;
}

#button_submit {
  background-color: var(--greenColor);
  color: var(--rootColor);
  font-size: 16px;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  border-radius: 4px;
  transition: 300ms ease-in-out;
}

#button_submit:hover {
  background-color: var(--aquaColor);
}

#r_option {
  margin-bottom: 10px;
  font-size: 14px;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  width: 200px;
}

#r_option option {
  font-size: 14px;
  background-color: #fff;
  color: #333;
}

#please_SelectRender, #please_SelectBoth, #please_SelectImage {
  display: none;
  color:#e66465;
}

#please_SelectBoth.both_Warning {
  display: block;
}
#please_SelectRender.picker_Warning {
  display: block;
}
#please_SelectImage.image_Warning {
  display: block;
}

/* ---------------- Section3 Style ---------------- */

#section3 {
  background-color: var(--navBarColor);
  height: 242px;
  align-items: center;
  justify-content: center;
  display: flex;
}

#section3 div:first-child, #section3 div a, #section3 h2, #contact_Button {
  background-color: transparent;
}

#contact_Button, #about_Button, #help_Button {
  color: #c2c2c2;
  font-size: 16px;
  max-width: 50%;
  margin-left: 25%;
  background: none;
  border: none;
  text-decoration: none;
  cursor: none;
  pointer-events: none;
}

#contact_Button ~ a {
  text-decoration: none;
  display: block;
  margin-bottom: 15px;
  font-size: 14px;
  color: #c2c2c2;
  transition: .25s ease-in-out;
}
#contact_Button ~ a:hover {
  color: #c962dd;
}

#contact_Button + a {
  margin-top: 10px;
}

.yin-yang {
  width: 50px;
  box-sizing: content-box;
  height: 25px;
  background: #fff;
  border-color: #333;
  border-style: solid;
  border-width: 2px 2px 26px 2px;
  border-radius: 100%;
  position: relative;
  transition: 500ms ease-in-out;
}
.yin-yang:hover {
  rotate: 180deg;
}
.yin-yang:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  background: #fff;
  border: 9.4px solid #333;
  border-radius: 100%;
  width: 6.25px;
  height: 6.25px;
  box-sizing: content-box;
}
.yin-yang:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #333;
  border: 9.4px solid #fff;
  border-radius: 100%;
  width: 6.25px;
  height: 6.25px;
  box-sizing: content-box;
}

#section3 p{
  background-color: transparent;
  color: #7a7a7a;
  position: absolute;
  transform: translateY(80px);
  pointer-events: none;
}