:root {

  --primary-color: #4B365F;

  --primary-light: #6a4d86;

  --primary-dark: #2d213a;

  --accent-color: #FF5722;

  --text-color: #333;

  --text-light: #666;

  --bg-light: #f9f9f9;

  --white: #ffffff;

  --shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

  --border-radius: 12px;

  --transition: all 0.3s ease;

}



* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}



body {

  font-family: 'Poppins', sans-serif;70

  color: var(--text-color);

  background-color: var(--bg-light);

  line-height: 1.6;

}



h1, h2, h3, h4, h5, h6 {

  font-family: 'Montserrat', sans-serif;

  font-weight: 700;

}



/* Gradient Background */

.gradient-bg {

  background-image: linear-gradient(135deg, var(--primary-color), var(--primary-dark));

  color: var(--white);

  position: relative;

  overflow: hidden;

  padding-bottom: 5rem;

}



.gradient-overlay {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="none"/><path d="M0,0 L100,100" stroke="rgba(255,255,255,0.05)" stroke-width="0.5"/></svg>');

  background-size: 30px 30px;

}



/* Navigation */

header {

  padding: 1.5rem 5% 0;

  position: relative;

  z-index: 10;

}



nav {

  display: flex;

  justify-content: space-between;

  align-items: center;

  max-height: 250px;

}



.logo-container {

  display: flex;

  align-items: center;

}



#logo {

  width: 100px;

  height: 90px;

  border-radius: 15px;

  margin-right: 1rem;

  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);

}



#title img {

  width: calc(100%);

  height: 400px;

  vertical-align: middle;

}



.social-links {

  display: flex;

  gap: 1rem;

}



.social-link {

  width: 40px;

  height: 40px;

  border-radius: 50%;

  background-color: rgba(255, 255, 255, 0.1);

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--white);

  text-decoration: none;

  transition: var(--transition);

}



.social-link:hover {

  background-color: var(--white);

  color: var(--primary-color);

  transform: translateY(-3px);

}



/* Additional Padding  */





/* Hero Section */

#hero {

  text-align: center;

  padding: 5rem 10% 7rem;

  position: relative;

  z-index: 2;

  color: var(--primary-dark);

  max-width: 1200px;

  margin: 0 auto;

}



.tagline {

  font-size: 3rem;

  margin-bottom: 1.5rem;

  line-height: 1.2;

}



.hero-text {

  font-size: 1.2rem;

  max-width: 700px;

  margin: 0 auto;

  opacity: 0.9;

}



.scroll-indicator {

  position: relative;

  top: 40px;

  left: 0;

  transform: translateX(-50%);

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 0.5rem;

  cursor: pointer;

  animation: bounce 2s infinite;

}



.scroll-indicator p {

  font-weight: 500;

}



.scroll-indicator i {

  font-size: 1.2rem;

}



@keyframes bounce {

  0%, 20%, 50%, 80%, 100% {

    transform: translateY(0);

  }

  40% {

    transform: translateY(-10px);

  }

  60% {

    transform: translateY(-5px);

  }

}



/* Main Content */

main {

  max-width: 1200px;

  margin: -3rem auto 0;

  position: relative;

  z-index: 5;

}



section {

  background-color: var(--white);

  border-radius: var(--border-radius);

  margin-bottom: 2rem;

  padding: 3rem;

  box-shadow: var(--shadow);

}



.section-header {

  text-align: center;

  margin-bottom: 2rem;

}



.section-header h3 {

  font-size: 2rem;

  color: var(--primary-color);

  margin-bottom: 0.5rem;

}



.underline {

  height: 4px;

  width: 60px;

  background-color: var(--accent-color);

  margin: 0 auto;

  border-radius: 2px;

}



#about p {

  text-align: center;

  max-width: 800px;

  margin: 0 auto;

}



.survey-intro {

  text-align: center;

  max-width: 700px;

  margin: 0 auto 2rem;

}



/* Survey Styling */

#survey-container {

  max-width: 700px;

  margin: 0 auto;

}



.survey-form {

  display: flex;

  flex-direction: column;

  gap: 1.5rem;

}


.survey-form .form-group {
    padding: 0em 0 .75em;
}


.form-group {

  display: flex;

  flex-direction: column;

  gap: 0.5rem;

}



label {

  font-weight: 500;

  color: var(--text-color);

}



input, textarea, select {

  padding: 1rem;

  border: 2px solid #eaeaea;

  border-radius: 8px;

  font-size: 1rem;

  transition: var(--transition);

  font-family: 'Poppins', sans-serif;

}



input:focus, textarea:focus, select:focus {

  border-color: var(--primary-color);

  outline: none;

  box-shadow: 0 0 0 3px rgba(75, 54, 95, 0.1);

}



.button {

  display: inline-block;

  background-color: var(--primary-color);

  color: var(--white);

  padding: 1rem 2rem;

  border: none;

  border-radius: 8px;

  font-size: 1rem;

  font-weight: 600;

  cursor: pointer;

  transition: var(--transition);

  text-decoration: none;

  text-align: center;
  
  margin-top: -2rem;

}



.button:hover {

  background-color: var(--primary-light);

  transform: translateY(-3px);

  box-shadow: 0 5px 15px rgba(75, 54, 95, 0.3);

}



/* Completion Message */

#completion-message {

  text-align: center;

  padding: 2rem;

}



.success-animation {

  font-size: 5rem;

  color: #2ecc71;

  margin-bottom: 1.5rem;

  animation: scaleIn 0.5s ease-out;

}



@keyframes scaleIn {

  0% { transform: scale(0); opacity: 0; }

  100% { transform: scale(1); opacity: 1; }

}



#completion-message h2 {

  margin-bottom: 1rem;

  color: var(--primary-color);

}



#completion-message p {

  margin-bottom: 2rem;

  color: var(--text-light);

}



/* Footer */

footer {

  background-color: var(--primary-dark);

  color: var(--white);

  padding: 4rem 5% 2rem;

}



.footer-content {

  display: flex;

  justify-content: space-between;

  flex-wrap: wrap;

  gap: 2rem;

  max-width: 1200px;

  margin: 0 auto 3rem;

}



.footer-logo {

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 1rem;

}



.footer-logo-img {

  width: 80px;

  height: auto;

  border-radius: 10px;

}



.footer-links {

  display: flex;

  flex-direction: column;

  gap: 1rem;

}



.footer-link {

  color: rgba(255, 255, 255, 0.7);

  text-decoration: none;

  transition: var(--transition);

}



.footer-link:hover {

  color: var(--white);

}



.footer-social {

  display: flex;

  gap: 1rem;

}



.footer-social-link {

  width: 40px;

  height: 40px;

  border-radius: 50%;

  background-color: rgba(255, 255, 255, 0.1);

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--white);

  text-decoration: none;

  transition: var(--transition);

}



.footer-social-link:hover {

  background-color: var(--white);

  color: var(--primary-color);

}



.copyright {

  text-align: center;

  padding-top: 2rem;

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  font-size: 0.9rem;

  color: rgba(255, 255, 255, 0.6);

  max-width: 1200px;

  margin: 0 auto;

}



/* Responsive Design */

@media (max-width: 768px) {

    #title img {

        height: auto;

    }

    

  .tagline {

    font-size: 2.3rem;

  }

  

  section {

    padding: 2rem;

  }

  

  .footer-content {

    flex-direction: column;

    align-items: center;

    text-align: center;

  }

  

  .footer-links {

    flex-direction: row;

    flex-wrap: wrap;

    justify-content: center;

  }

  

  .footer-link {

    margin: 0 1rem;

  }

}



@media (max-width: 480px) {

  #hero, 

  #about,

  #survey-section { 

    margin-left: 2em;

    margin-right: 2em;

  }



  #hero {

    padding: 3rem 5% 5rem;

  }

  

  .tagline {

    font-size: 1.8rem;

  }

  

  section {

    padding: 1.5rem;

  }

  

  .button {

    width: 100%;

  }

}

.rc-anchor-dark {

  background: var(--primary-color) !important;

}

#recaptcha-container  {

  margin: 0 auto;

  width: fit-content;

}