/*
  https://evoluteur.github.io/
  (c) 2024 Olivier Giulieri
 */

html {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  background-color: #1a212d;
}
body {
  margin: 0;
  padding: 20px;
  font-family: monospace;
  font-size: 15px;
  font-weight: 300;
  color: white;
}
.logo {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  > a {
    &:hover {
      text-decoration: none;
    }
    color: white !important;
  }
}
.pane {
  padding: 0 20px;
}
.orange-pane,
.col1 {
  border-left: 5px solid #ffa500;
  h1,
  h2,
  h3 {
    background: linear-gradient(white, #ffa500);
    -webkit-background-clip: text;
    background-clip: text !important;
    -webkit-text-fill-color: transparent;
  }
}
.col2 {
  border-left: 5px solid #51eaff;
  > h2 {
    background: linear-gradient(white, #51eaff);
  }
}
.purple-pane,
#response {
  border-left: 5px solid #d16eff;
  h2,
  h3 {
    background: linear-gradient(white, #d16eff);
  }
}
#response {
  padding: 10px 20px 20px;
  margin: 20px 0;
  > div {
    padding-left: 25px;
  }
}

.pane,
#response {
  border-radius: 10px;
  background-color: #2d3848;
}
.purple-pane,
.orange-pane {
  padding: 20px 30px 30px !important;
}
button {
  padding: 8px 16px;
  border-radius: 10px;
  margin: 20px 5px 0;
  cursor: pointer;
  color: white;
  background-color: #3182ce;
  border: none;
  &:hover,
  &:focus {
    background-color: #2b6cb0;
  }
  &:active {
    background-color: #2c5282;
  }
}
h1,
h1 > .ai {
  font-size: 3rem;
  margin: 0;
  background: linear-gradient(white, #70ade6);
  -webkit-background-clip: text;
  background-clip: text !important;
  -webkit-text-fill-color: transparent;
}
h2,
h3 {
  font-weight: 300;
}
.purple-pane {
  h1,
  h2,
  h3 {
    background: linear-gradient(white, #d16eff);
    -webkit-background-clip: text;
    background-clip: text !important;
    -webkit-text-fill-color: transparent;
  }
  .ai {
    background: #e1a5fc;
  }
}
h1 > .ai {
  position: relative;
  left: -6px;
  font-size: 0.5em;
  font-weight: 300;
}

h2 {
  margin-bottom: 30px;
  font-weight: 300;
  -webkit-background-clip: text;
  background-clip: text !important;
  -webkit-text-fill-color: transparent;
}
.tagline {
  font-size: 17px;
  margin: 0 0 40px 20px;
}
.error,
.prompt {
  color: red;
}
a,
a:visited {
  color: #ffb74d;
  text-decoration: none;
}
a:active,
a:hover {
  color: #ffcc80;
  text-decoration: underline;
}
li {
  margin: 15px 0;
}

.r-form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  > div {
    flex-grow: 1;
    padding-bottom: 10px;
    > table {
      margin-left: 20px;
      td {
        vertical-align: top;
        padding: 5px 0;
      }
      .checkb1 {
        padding-top: 10px;
      }
    }
    > div {
      display: block;
      padding: 5px 0 5px 20px;
    }
    label:not(.no-col) {
      display: block;
      margin-top: 5px;
      &::after {
        content: ":";
        margin: 0 5px 0 2px;
      }
    }
    .no-col {
      display: inline;
      font-size: 0.8em;
    }
  }
}
input,
select {
  padding: 3px 6px;
  color: white;
  background-color: #1a1a1a;
  border-color: silver;
  border-radius: 2px;
}
#age,
#height1,
#height2 {
  width: 3em;
}
#height1 {
  display: inline-block;
}
#weight {
  width: 4em;
}
#bwOnly,
#video {
  transform: scale(1.4);
  margin-right: 3px;
}
#btns2 {
  display: none;
}
.video {
  position: relative;
  top: 5px;
  display: inline-block;
  margin-left: 6px;
}
.e-video {
  display: flex;
  justify-content: center;
  width: 95vw;
  width: calc(100vw - 10px);
  overflow-y: hidden;
  margin: 10px -40px 0 -80px;
  > iframe {
    display: none;
    border-width: 0;
  }
}
svg {
  height: 22px;
  width: 22px;
  cursor: pointer;
  fill: #f1d9ac;
  &:hover {
    fill: orange;
  }
}
td svg {
  position: relative;
  top: 4px;
}
#focus2-row {
  display: none;
  margin-top: 5px;
}
.inst {
  margin-top: 10px;
}
.footer {
  margin-top: 50px;
  color: grey;
  font-size: 0.8em;
}
.pp-d {
  position: relative;
  top: -10px;
  left: -10px;
  font-size: 0.8em;
  display: block;
  margin: -10px 0;
  text-align: right;
  > a {
    display: inline-block;
    padding: 10px 16px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    &.sel {
      color: white;
      text-decoration: none;
      background-color: #2d3848;
    }
    &.pp-purple {
      color: #dca1f8;
    }
  }
}
.pp-effect-date {
  margin-top: 20px;
}
.screenshots {
  img {
    max-width: 100%;
  }
  .ss-meta {
    margin: 20px 0 60px;
    > span {
      margin-right: 10px;
    }
  }
  .img-download {
    color: orange;
    cursor: pointer;
    &:hover {
      text-decoration: underline;
    }
  }
}

@media only screen and (min-width: 700px) {
  body,
  button,
  input,
  select {
    font-size: 18px;
  }
}
@media only screen and (max-width: 700px) {
  body {
    padding: 20px 5px;
  }
  .e-video {
    margin: 10px -25px 0 -65px;
  }
  #response {
    > div {
      padding-left: 0;
    }
  }
  .r-form > div > table {
    margin-left: 5px;
  }
}
@media print {
  body {
    color: #1a1a1a !important;
  }
  body > table {
    page-break-before: always;
  }
  h1,
  h2,
  h3 {
    background: black !important;
    background-clip: inherit !important;
    -webkit-text-fill-color: black !important;
    color: black !important;
  }
  @page {
    margin: 1cm 1cm;
  }
}

/*
    SpinKit
    http://tobiasahlin.com/spinkit/
*/
.spinner-loading {
  margin: 20px 5px;
  text-align: center;
  width: 100%;
}
.spinner-loading_txt {
  width: 100%;
  margin: 10px;
}
.spinner {
  margin: 20px auto 0;
  min-width: 180px;
  height: 40px;
  text-align: center;

  > div {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: inline-block;
    -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  }
  &.dot-small {
    > div {
      width: 16px;
      height: 16px;
    }
  }
  &.dot-large {
    > div {
      width: 36px;
      height: 36px;
    }
  }
  &.dot-huge {
    > div {
      width: 64px;
      height: 64px;
    }
  }

  .bounce1 {
    background-color: #f1604d;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
  }
  .bounce2 {
    background-color: #ffa500;
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
  }
  .bounce3 {
    background-color: #ffd600;
  }
  .bounce4 {
    background-color: #a0e971;
    -webkit-animation-delay: 0.16s;
    animation-delay: 0.16s;
  }
  .bounce5 {
    background-color: #51eaff;
    -webkit-animation-delay: 0.32s;
    animation-delay: 0.32s;
  }
  .bounce6 {
    background-color: #d16eff;
    -webkit-animation-delay: 0.48s;
    animation-delay: 0.48s;
  }
  .bounce7 {
    background-color: #831cd1;
    -webkit-animation-delay: 0.64s;
    animation-delay: 0.64s;
  }
}
@-webkit-keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
  }
}

@keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
