/*
 Theme Name:   Twenty Twenty-Four
 Description:  Twenty Twenty-Four Child
 Description: Twenty Twenty-Four is designed to be flexible,
 versatile and applicable to any website. Its collection of templates and patterns tailor to different needs,
 such as presenting a business,
 blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process,
 is fully compatible with the site editor,
 and takes advantage of new design tools introduced in WordPress 6.4.
 Template:     twentytwentyfour
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0 License: GNU General Public License v2 or later
License URI: http: //www.gnu.org/licenses/gpl-2.0.html
Text Domain:  twentytwentyfourchild
*/

@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");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --accent-color: 126,217,87;
  --secondary-color: 13, 13, 13;
  --background-color: 247, 246, 245;
  --question-color: 53, 53, 59;
  --question-checked-color: 0, 0, 0;
  --answer-color: 0, 0, 0;
  --answer-background-color: 255, 255, 255;
  --progressbar-text-color: 255, 255, 255;
}

body {
  font-family: "Poppins", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  background-color: #f7f6f5;
}

.form-card {
  background-color: #fff;
  border-radius: 16px;
  max-width: 730px;
  border: none;
  margin: 3rem auto 0;
  padding: 3rem 3rem 1.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .06), 0 4px 6px rgba(0, 0, 0, .1);
}

.form-card .card-body {
  padding: 0px;
}

.form-card .card-title {
  font-size: 32px;
  line-height: 38.4px;
  color: RGB(var(--accent-color));
  font-weight: 600;
}

.form-card .card-text {
  color: #424242;
  font-size: 16px;
  line-height: 22px;
}

.custom-radio {
  position: relative;
}

.form-card .custom-radio .btn {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
  padding: 17px 18px 17px 45px;
  gap: 0.875rem;
  border-radius: 12px;
  font-size: 14px;
  transition: all .15s linear;
  box-shadow: 0 0 0 rgba(0, 0, 0, .1), 0 0 0 rgba(0, 0, 0, .04);
  border: 1px solid #a6a6ab;
  height: 48px;
}

.form-card .custom-radio .btn:hover {
  border: 2px solid rgb(0, 225, 105)
}

.form-card .btn-check {
  clip: auto;
  left: 16px;
  top: 12px;
  box-shadow: none;
  border-color: #424242;
}

.form-card .form-check-input:checked {
  background-color: RGB(var(--accent-color));
  border-color: #fff;
}

.form-card .btn-check:checked+.btn,
.form-card .btn.active,
.form-card .btn.show,
.form-card .btn:first-child:active,
.form-card :not(.btn-check)+.btn:active {
  border: 1px solid RGB(var(--accent-color));
  background-color: RGB(var(--accent-color));
  color: #fff;
}

.form-card h4 {
  font-size: 24px;
  line-height: 31px;
  font-weight: 600;
  color: rgb(53, 53, 59);
}

.form-card p {
  font-size: 14px;
  font-weight: 400;
  color: #7f7f85;
}

.form-card .logo {
  max-width: 106px;
}

/* Additional styles for main-card */
.main-card h4 {
  color: RGB(var(--accent-color));
  font-size: 16px;
  font-weight: 700;
}

.main-card h5 {
  color: #000;
  font-size: 24px;
  font-weight: 600;
}

.main-card p {
  color: #7f7f85;
  font-size: 14px;
}

.main-card .form-label {
  font-size: 16px;
  font-weight: 700;
  color: #262b2b;
}

.main-card .form-control,
.main-card .form-control.is-invalid,
.main-card .form-control:invalid {
  border-radius: 8px;
  padding: 10px;
  font-size: 14px;
  box-shadow: none !important;
}

.main-card .form-control:not(.is-invalid):focus {
  border-color: RGB(var(--accent-color));
}

.main-card .btn-success {
  background-color: RGB(var(--accent-color));
  border: none;
  padding: 10px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  color: #000;
}

.main-card .btn-success:hover {
  background-color: rgba(var(--accent-color), 0.8);
}

.main-card a {
  color: RGB(var(--accent-color));
}

.main-card a:hover {
  text-decoration: underline;
}

.main-card .logo {
  max-width: 106px;
}

@media (max-width: 767.98px) {
  .form-card .card-title {
    font-size: 24px;
    line-height: 28px;
  }
  .quiz-container  {
    margin-top: 30px;
    margin-top: 2.5vh;
}

  .form-card h4 {
    font-size: 18px;
    line-height: 20px;
  }

  .form-card .custom-radio .btn,
  .form-card .custom-radio .btn:hover {
    padding: 17px 18px 17px 38px;
  }
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
  border: 1px solid red;
  color: #000;
  background-color: rgba(255, 116, 118, 0.7803921568627451);
}

.invalid-feedback {
  color: #dc3545;
  font-size: 12px;
  line-height: 12px;

}

@media (max-width:999px) {
  .progress {
    display: none;
  }
  
  .card {
    background: none;
    box-shadow: none;
    max-width: 100%;
    margin: 0px;
    padding: 0px !important;
  }

  .sm-logo {
    display: block;
    width: clamp(125px, 2vw, 250px);
    opacity: 1;
  }

  .logo {
    display: none;
  }

  .main-card-img {
    display: block;
    text-align: center;
  }

  .main-card-img>img {
    margin-bottom: 20px;
    width: 50%;
    text-align: center;
  }
}

@media (min-width: 1000px) {
  .progress {
    top: 23px;
    width: 730px;
    height: 32px;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-position: 50%;
    margin: 2.5rem auto 0;
    border-radius: 16px 16px 0 0;
    position: relative;
    background: linear-gradient(90deg, RGB(0, 225, 105) 0%, #CACACC 0%);
  }

  .sm-logo {
    display: none;
  }

  .logo {
    display: block;
  }

  .main-card-img {
    display: flex;
  }

  .main-card-img>img {
    max-width: 197px;
    height: 197px;
  }
}

.progress-bar {
  background-color: RGB(var(--accent-color));
}

.logo {
  opacity: 0.5;
}

.back-btn {
  font-weight: 600;
  font-size: 14px;
  line-height: 150%;
  color: #7f7f85
}

.loader {
    border: 4px solid #f3f3f3;
    border-top: 4px solid RGB(var(--accent-color));
    border-radius: 50%;
    width: 25px;
    height: 25px;
    animation: spin 2s linear infinite;
    text-align: center;
    margin: 0 auto;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}