
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css');

.mt-4, .my-4 {
    margin-top: 0.5rem!important;
}

#superSpace{height:250px}

h1,
h2 {
  color: #511907;
}

#wrapper {
  max-width: 400px;
  margin: 0 auto;
}
form {
  background: rgba(250, 235, 215, 0.5);
  padding: 15px;
  margin-top: 0px !important;
  border-radius: 10px;
}
#progressBar {
  max-width: 35%;
}
input[type='email']::placeholder,
input[type='text']::placeholder,
input[type='email']:-ms-input-placeholder,
input[type='text']::-ms-input-placeholder {
  text-align: center;
}

.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active {
  background-color: #f52500;
  border-color: #cb2103;
}
.btn-primary:hover {
  background-color: #b31b00;
  border-color: #cb2103;
}

#frasesigno {
  font-size: 23px;
  max-width: 70%;
  margin: 0 auto;
  font-family: 'Open Sans', sans-serif;
}
#frasesigno p {
  padding-top: 1px;
}
#frasesigno img {
  margin-top: 2px;
  background-color: #481802;
  display: block;
  text-align: center;
  border-radius: 10px;
  margin-bottom: 4px;
  overflow: hidden;
  min-height: 100px;
  height: 100px;
}

#deskno{
  display: none;
}

/* ================= */
/*      DESKTOP      */
/* ================= */

@media only screen and (min-width: 961px) {
  #upwrapper {
    max-width: 960px;
    height: 637px;
    margin: 0 auto;
    /* padding-top: 41px; */
    background-image: url('/images/bkg-signos.png');
    background-repeat: no-repeat;
  }

  #upwrapperfinal {
    max-width: 960px;
    height: auto;
    margin: 0 auto;
    background-repeat: no-repeat;
  }
}

/* ================= */
/*      Tablet       */
/* ================= */

@media only screen and (max-width: 960px) {
  #upwrapper {
    max-width: 960px;
    height: auto;
    margin: 0 auto;
   /* padding-top: 41px; */
    background-repeat: no-repeat;
  }
}

/* ================= */
/*      MOBILE       */
/* ================= */

@media only screen and (max-width: 600px) {
  #wrapper {
    max-width: 550px;
    margin: 0 auto;
  }

  #upwrapper {
    max-width: 600px;
    height: 450px;
    margin: 0 auto;
    /* padding-top: 20px; */
    background-repeat: no-repeat;
    margin: 5px !important;
  }

  #frasesigno {
    font-size: 22px;
    max-width: 100%;
    margin: 0 auto;
    font-family: 'Open Sans', sans-serif;
  }
  .mt-4, .my-4 {
    margin-top: 0.5rem!important;
}

#deskno{
  display: block;
}

}

@media only screen and (max-width: 350px) {
  #wrapper {
    max-width: 550px;
    margin: 0 auto;
  }

  #upwrapper {
    max-width: 350px;
    height: auto;
    margin: 0 auto;
    padding-top: 2px;
    background-repeat: no-repeat;
    margin: 0 5px 20px 5px !important;
  }

  #frasesigno {
    font-size: 22px;
    max-width: 100%;
    margin: 0 auto;
    font-family: 'Open Sans', sans-serif;
  }
}

@media only screen and (max-width: 768px) {
  #progressBar {
    max-width: 50%;
  }
  #upwrapper {
    margin-bottom: 400px !important;
  }
}

@media only screen and (max-width: 600px) {
  #progressBar {
    max-width: 80%;
  }
  #upwrapper {
    margin-bottom: 400px !important;
  }
}


.bg-grey {
  background-color: #f2f2f7;
}

.bg-sky {
  background-color: #e0e6f4;
}

.top .title {
  font-family: "Poppins", sans-serif;
  /* font-size: 22px; */
  font-size: 32px;
  font-weight: 300;
  margin-top: -38px;
  text-align: center;
}

h1 {
font-family: 'Libre Baskerville', serif;
}

h2, h3, h4, h5, p, label, li {
  font-family: "Poppins", sans-serif !important;
}
.content {
  max-width:  700px;
  margin: 0 auto;
  padding: 0 20px 20px 20px;
}

.max-450 {
  max-width: 450px;
  margin: 0 auto;
  text-align: center;
}

.center {
  text-align: center;
}

footer {
  font-size: 14px;
  width: 100%;
  max-width:  600px;
  margin: 15px auto 0 auto;
  padding: 16px;
}

footer a {
  color: #222;
}

.splash-inner {
  width: 100%;
  max-width:  600px;
  margin: 0 auto;
  padding: 16px;
}

.splash {
  background-color: #e0e6f4;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-image: url('../img/bg-wavewhite.png'); 
  background-size: 100%;
  padding-bottom: 10%;
}

.splash h1 {
  font-weight: normal;
  padding-top: 5%;
}

.splash h2 {
  font-weight: normal;
  padding: 5px 0;
}

.purple {
  color: #4B0082;
}

.purple2 {
  color: #CE0023;
}

.bullets {
  padding-left: 0;
  list-style: none;
}
.bullets li {
  display: flex;
  align-items: flex-start;
  margin-bottom: .25rem;
}
.bullets li::before {
  display: block;
  flex-shrink: 0;
  width: 1.5em;
  height: 1.5em;
  margin-right: .25rem;
  content: "";
}

.flex-center {
  align-items: center;
  justify-content: center;
}

.icon-arrow:before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23212529' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z'/%3E%3C/svg%3E") no-repeat center center / 100% auto;
}

.icon-check:before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23212529' viewBox='0 0 16 16'%3E%3Cpath d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z'/%3E%3C/svg%3E") no-repeat center center / 100% auto;
}

.cta, .cta-clear {
  cursor: pointer; 
  position: relative;
  font-size: 18px;
  min-width: 160px;
  border-radius: 15px;
  padding: 20px 40px;
}

.cta {
  background-color: #CE0023;
  color: #ffffff;
}

.cta-clear {
  padding: 20px 30px;
  background-color: #ffffff;
  color: #CE0023;
}

.cta:hover {
  text-decoration: none;
  background-color: #4B0082;
  color: #ffffff;
}

.quiz {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 0 16px;
}

button:disabled,button:disabled:hover,
button[disabled],button[disabled]:hover{
  cursor: not-allowed !important;
  background-color: #cccccc;
  color: #666666;
  outline: none;
}

.quiz {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 0 16px;
}

button {
  outline: none;
  border: none;
}

.top {
  max-width:  500px;
  margin: 0 auto 15px auto;
}

.btn {
  border-radius: 10px;
  border: 2px solid #fff;
  cursor: pointer;
  padding: 18px;
  margin: 5px 0;
  font-size: 16px;
  background-color: #e9e9e9;
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 40px 40px;
  color: #CE0023;
  width: 100%;
  text-align: left;
}

.btn-sm {
  width: 60px;
  height: 60px;
  background-position: center center;
  background-size: 38px 38px;
  margin: 5px 2px;
}

.btn-splash {
  width: 75px;
  height: 75px;
  background-color: #ffffff;
  background-position: center center;
  background-size: 55px 55px;
  margin: 8px 4px 1px 4px;
}

button:focus { 
  outline: 0 !important;
}

.btn:hover {
  border-color: #ffde00;
  background-color: #ffde00;
}

.signs {
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.btn-sign a {
  color: #222;
}
.signs .btn-sign {
  flex: 1 0 25%;
  text-align: center;
  font-size: 13px;
}

.btn-sign a:hover {
  text-decoration: none;
  border-color: #ffde00;
}

.progressOut{
  height: 9px;
  position: relative;
  border-radius: 0;
  background-color: #fff;
  margin-bottom: 10px;
}

.progressIn{
  top: 0px;
  left: 0px;
  height: 100%;
  position: absolute;
  max-width: 100%;
  transition: width 0.4s ease 0s;
  width: 0;
  background-color: #CE0023;
}

input, label, select {
    display:block;
}

select {
  color: #222;
  border-radius: 10px;
  border: 1px solid #e9e9e9;
  cursor: pointer;
  font-size: 16px;
  background-color: #e9e9e9;
  padding: 18px 12px;
  font-size: 1rem;
  cursor: pointer;
  line-height: 1.1;
  background-image: linear-gradient(to top, #f9f9f9, #fff 33%);
}

input {
  color: #222;
  border-radius: 10px;
  border: 1px solid #e9e9e9;
  width: 100%;
  cursor: pointer;
  font-size: 16px;
  background-color: #e9e9e9;
  padding: 18px 12px;
  font-size: 1rem;
  cursor: pointer;
  line-height: 1.1;
  background-image: linear-gradient(to top, #f9f9f9, #fff 33%);
}

.checkbox {
  width: 100%;
  margin: 15px auto;
  position: relative;
  display: block;
}
.checkbox label {
  position: relative;
  min-height: 34px;
  display: block;
  padding-left: 40px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.checkbox label span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.checkbox label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  margin: 6px 4px 4px 4px;
  width: 22px;
  height: 22px;
  transition: transform 0.28s ease;
  border-radius: 3px;
  border: 2px solid #fff;
}
.checkbox label:after {
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  border-bottom: 2px solid #CE0023;
  border-left: 2px solid #CE0023;
  transform: rotate(-45deg) scale(0);
  transition: transform ease 0.25s;
  position: absolute;
  top: 14px;
  left: 10px;
}
.checkbox input[type=checkbox] {
  width: auto;
  opacity: 1e-8;
  position: absolute;
  left: 0;
  margin-left: -20px;
}
.checkbox input[type=checkbox]:checked ~ label:before {
  border: 2px solid #CE0023;
}
.checkbox input[type=checkbox]:checked ~ label:after {
  transform: rotate(-45deg) scale(1);
}
.checkbox input[type=checkbox]:focus + label::before {
  outline: 0;
}

.hidden {
  display: none;
}

.birthday-panel {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
 }
 .birthday-panel h4 {
  margin: 10px auto;
  background-color: #CE0023;
  color: #fff;
  max-width: 450px;
  border-radius: 10px;
  padding: 4px 7px 5px 7px;
  opacity: 0.8;
 }

.birthday-panel a:hover, .birthday-panel a:active{
 color: #ebe6e6;
 background-color: #D8334F;
 text-decoration: none;
}

.birthday-panel .btn {
  border-radius: 10px;
  border: 2px solid #e9e9e9;
  cursor: pointer;
  padding: 18px;
  margin: 5px 0;
  font-size: 16px;
  background-color: #e9e9e9;
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 40px 40px;
  color: #222222;
  width: 100%;
  text-align: left;
}

.birthday-panel .btn-sm {
  width: 60px;
  height: 60px;
  background-position: center center;
  background-size: 38px 38px;
  margin: 5px 2px;
}

.birthday-panel .btn:hover {
  border-color: #CE0023;
  background-color: #f1eeee;
}

.bpan-top {
 margin-top: 10px;
 width: 100%;
}

.bpan-days, .bpan-row {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
}

.bpan-day, .bpan-blank, .bpan-decade, .bpan-year, .bpan-dblank  {
 display: flex;
 border-radius: 10px;
 border-color: #CE0023 !important;
 cursor: pointer;
 padding: 12px 18px;
 width: 12%;
 margin: 1%;
 justify-content: center;
 font-size: 18px;
 font-family: 'Poppins';
 font-weight: 300;
}

.bpan-day {
 background-color: #fff;
 color: #222222;
}

.bpan-day, .bpan-blank {
 width: 12%;
 margin: 1%;
}

.bpan-day, .bpan-decade, .bpan-year {
 background-color: #fff;
 color: #222222;
}

.bpan-decade, .bpan-dblank {
 width: 21%;
 margin: 1%;
}

.bpan-year {
 width: 16%;
 margin: 1%;
}

.mt-20 {
  margin-top: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.testimonial img {
  width: 100%;
}

.testimonial {
  display: flex;
  width: 100%;
  max-width: 400px;
  margin: 20px auto 0 auto;
  background-color: #ffffff;
  border-radius: 15px;
}

.testimonial p {
  margin: 5px;
}

.testimonial .quote {
  font-weight: 500;
  font-size: 16px;
}

.testimonial .name {
  font-weight: 400;
  font-size: 14px;
}

.testimonial .date {
  color: #9a9a9a;
}

.testimonial-left {
  width: 60px;
  padding: 5px;
}
.testimonial-right {
  margin: 0 5px 5px 15px;
  flex: 1;
}

.testimonial-right img {
  width: 20px;
  float: left;
  margin-left: -20px;
}

.moon-out {
  width: 100px;
  margin: 40px auto 0 auto;
}
.moon {
  width: 100px;
  height: 100px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  background-color: #fff;
  transform: translateZ(0);
}
.moon::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #e0e6f4;
  width: 50%;
  height: 100%;
  -webkit-animation: moon-flip 2s 1s steps(2) infinite alternate;
          animation: moon-flip 2s 1s steps(2) infinite alternate;
}

.disc {
  transform-style: preserve-3d;
  width: 100%;
  height: 100%;
  -webkit-animation: moon-rotate 4s linear infinite;
          animation: moon-rotate 4s linear infinite;
}
.disc::before, .disc::after {
  content: " ";
  display: block;
  transform-style: preserve-3d;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: transform 4s;
  position: absolute;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.disc::before {
  background-color: #e0e6f4;
}
.disc::after {
  background-color: #fff;
  transform: rotateY(180deg);
}

@-webkit-keyframes moon-rotate {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}

@keyframes moon-rotate {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
@-webkit-keyframes moon-flip {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
  }
}
@keyframes moon-flip {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
  }
}

.moon-bar {
  border: 1px solid #222;
  height: 20px;
  width: 200px;
  margin: 20px auto;
}

.moon-fill {
  animation: moonprogress 6s linear 1;
  height: 100%;
  background-color: #CE0023;
}

@keyframes moonprogress {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

.container {
  padding-right: 10px !important;
  padding-left: 10px !important;
}

img#back {
  width: 35px;
  margin-left: -20px;
}


#compTitle{
  margin-top: 35px;
}
  

/* ================= */
/* responsividade */
/* ================= */

@media (max-width: 600px) {
  h1 {
    font-size: 1.8em;
    line-height: 1.4em;
  }

  h2 {
    font-size: 1.4em;
    line-height: 1.4em;
  }

  img#back {
    width: 35px;
    margin-left: 5px;
}

.container {
  width: -webkit-fill-available;
  padding-right: 5px !important;
  padding-left: 5px !important;
}

.top .title {
  font-family: 'Poppins', sans-serif;
  font-size: 31px !important;
  line-height: 100% !important;
  margin-top: -35px !important;
}

#compTitle {
  margin-top: 15px;
}

.progress-container {
  margin: 13px auto !important;
}

}

@media (max-width: 370px) {

.signs {
  max-width: 300px;
}

.btn-splash {
  width: 65px;
  height: 65px;
  background-size: 45px 45px;
  margin: 8px 5px 1px 5px;
}

.signs .btn-sign {
  font-size: 11px;
}

.btn-sm {
  width: 55px;
  height: 55px;
  background-position: center center;
  background-size: 38px 38px;
  margin: 5px 1px;
}

}

 /* Estilos para a barra de progresso */
 .progress-container {
  height: 15px;
  background-color: #dcdbdb;
  border-radius: 10px;
  position: relative;
  margin: 20px auto;
}

.progress-bar {
  height: 100%;
  background-color: #CE0023 !important;;
  border-radius: 10px;
  width: 0; 
  position: relative;
}

.progress-circle {
  width: 30px;
  height: 30px;
  background-color: #fc3355;
  border-radius: 50%;
  position: absolute;
  top: -10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.progress-circle i {
  color: white; 
  font-size: 18px;
}

@media only screen and (min-width: 720px) {
  .progress-container {
       width: 350px;
  }
  }