@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&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');

/* Main Form Container */
.form-theme.electoral-style {
    font-family: 'Roboto', sans-serif;
    background-color: #f7f7f7;
    color: #333;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    width: 100%; /* Full-width */
    margin: auto;
    border-top: 8px solid #2a5398; /* Blue theme border */
    margin-top:-20px;
}

/* Title and Description */
.form-theme.electoral-style .form-title {
    font-size: 32px;
    font-weight: 700;
    color: #2a5398; /* Electoral Blue */
    text-align: center;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.form-theme.electoral-style .form-description {
    font-size: 16px;
    color: #666;
    text-align: center;
    margin-bottom: 30px;
    font-style: italic;
}

/* Language Selector */
.form-theme.electoral-style .language-selector {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #2a5398;
    margin-bottom: 20px;
}

.form-theme.electoral-style .language-selector i {
    margin-right: 8px;
}

/* Input and Select Styling */
.form-theme.electoral-style input[type="file"],
.form-theme.electoral-style input[type="text"],
.form-theme.electoral-style input[type="email"],
.form-theme.electoral-style select,
.form-theme.electoral-style textarea {
    width: 100%;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    color: #333;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 20px;
    font-size: 15px;
}

.form-theme.electoral-style input[type="file"]:focus,
.form-theme.electoral-style input[type="text"]:focus,
.form-theme.electoral-style input[type="email"]:focus,
.form-theme.electoral-style select:focus,
.form-theme.electoral-style textarea:focus {
    border-color: #2a5398;
    box-shadow: 0 0 10px rgba(42, 83, 152, 0.2);
}

/* Column Form Layout */
.form-theme.electoral-style .col-form {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.form-theme.electoral-style .col-form > div {
    flex: 1 1 45%;
    min-width: 250px;
}

/* UL and LI Styling */
.form-theme.electoral-style ul {
    list-style-type: none;
    padding-left: 0;
    color: #444;
}

.form-theme.electoral-style ul li {
    margin-bottom: 15px;
    font-size: 15px;
}

/* Form Group Label */
.form-theme.electoral-style .form-group label {
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
    display: block;
}

/* Buttons */
.form-theme.electoral-style .btn-danger,
.form-theme.electoral-style .btn-info,
.form-theme.electoral-style .btn-success {
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    transition: background-color 0.3s ease, transform 0.2s ease;
    text-align: center;
    margin-top: 10px;
}

.form-theme.electoral-style .btn-danger {
    background-color: #d9534f;
}

.form-theme.electoral-style .btn-info {
    background-color: #5bc0de;
}

.form-theme.electoral-style .btn-success {
    background-color: #5cb85c;
}

/* Hover Effects for Buttons */
.form-theme.electoral-style .btn-danger:hover {
    background-color: #c9302c;
    transform: scale(1.02);
}

.form-theme.electoral-style .btn-info:hover {
    background-color: #31b0d5;
    transform: scale(1.02);
}

.form-theme.electoral-style .btn-success:hover {
    background-color: #449d44;
    transform: scale(1.02);
}

/* Submit Button */
.form-theme.electoral-style input[type="submit"] {
    background-color: #2a5398;
    color: #fff;
    font-weight: bold;
    border: none;
    padding: 14px 30px;
    border-radius: 8px;
    cursor: pointer;
    display: block;
    margin: 30px auto;
    transition: background-color 0.3s ease, transform 0.2s ease;
    width: fit-content;
}

.form-theme.electoral-style input[type="submit"]:hover {
    background-color: #23457d;
    transform: scale(1.05);
}

/* Responsive Design */
@media (max-width: 768px) {
    .form-theme.electoral-style .col-form > div {
        flex: 1 1 100%;
    }
}


/* Main Form Container */
.form-theme.civic-clarity {
    font-family: 'Arial', sans-serif;
    background-color: #f4f6f9;
    color: #2c3e50;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 100%; /* Full-width */
    border-left: 6px solid #2c3e50; /* Dark Blue Border */
    margin-top:-20px;
}

/* Title and Description */
.form-theme.civic-clarity .form-title {
    font-size: 28px;
    font-weight: 700;
    color: #2c3e50;
    text-align: center;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.form-theme.civic-clarity .form-description {
    font-size: 16px;
    color: #73787d;
    text-align: center;
    margin-bottom: 25px;
    font-style: italic;
}

/* Language Selector */
.form-theme.civic-clarity .language-selector {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #2c3e50;
    margin-bottom: 15px;
}

.form-theme.civic-clarity .language-selector i {
    margin-right: 6px;
}

/* Input and Select Styling */
.form-theme.civic-clarity input[type="file"],
.form-theme.civic-clarity input[type="text"],
.form-theme.civic-clarity input[type="email"],
.form-theme.civic-clarity select,
.form-theme.civic-clarity textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #dfe4ea;
    border-radius: 5px;
    background-color: #ffffff;
    color: #2c3e50;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 15px;
    font-size: 14px;
}

.form-theme.civic-clarity input[type="file"]:focus,
.form-theme.civic-clarity input[type="text"]:focus,
.form-theme.civic-clarity input[type="email"]:focus,
.form-theme.civic-clarity select:focus,
.form-theme.civic-clarity textarea:focus {
    border-color: #2c3e50;
    box-shadow: 0 0 6px rgba(44, 62, 80, 0.15);
}

/* Column Form Layout */
.form-theme.civic-clarity .col-form {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.form-theme.civic-clarity .col-form > div {
    flex: 1 1 48%;
    min-width: 240px;
}

/* UL and LI Styling */
.form-theme.civic-clarity ul {
    list-style-type: none;
    padding-left: 0;
    color: #444;
}

.form-theme.civic-clarity ul li {
    margin-bottom: 12px;
    font-size: 14px;
}

/* Form Group Label */
.form-theme.civic-clarity .form-group label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 5px;
    display: block;
}

/* Buttons */
.form-theme.civic-clarity .btn-danger,
.form-theme.civic-clarity .btn-info,
.form-theme.civic-clarity .btn-success {
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    transition: background-color 0.2s ease, transform 0.2s ease;
    text-align: center;
    margin-top: 8px;
}

.form-theme.civic-clarity .btn-danger {
    background-color: #c0392b;
}

.form-theme.civic-clarity .btn-info {
    background-color: #3498db;
}

.form-theme.civic-clarity .btn-success {
    background-color: #27ae60;
}

/* Hover Effects for Buttons */
.form-theme.civic-clarity .btn-danger:hover {
    background-color: #a52820;
    transform: scale(1.02);
}

.form-theme.civic-clarity .btn-info:hover {
    background-color: #2980b9;
    transform: scale(1.02);
}

.form-theme.civic-clarity .btn-success:hover {
    background-color: #1e8e4a;
    transform: scale(1.02);
}

/* Submit Button */
.form-theme.civic-clarity input[type="submit"] {
    background-color: #2c3e50;
    color: #fff;
    font-weight: bold;
    border: none;
    padding: 12px 26px;
    border-radius: 8px;
    cursor: pointer;
    display: block;
    margin: 25px auto;
    transition: background-color 0.3s ease, transform 0.2s ease;
    width: fit-content;
}

.form-theme.civic-clarity input[type="submit"]:hover {
    background-color: #243447;
    transform: scale(1.05);
}

/* Responsive Design */
@media (max-width: 768px) {
    .form-theme.civic-clarity .col-form > div {
        flex: 1 1 100%;
    }
}




/* Keyframes for Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.03);
    }
}

/* Main Form Container */
.form-theme.animated-theme {
    font-family: 'Lato', sans-serif;
    background-color: #f9f9f9;
    color: #3a3a3a;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    width: 100%;
    border-left: 5px solid #2c86bf;
    animation: fadeIn 1s ease-out;
}

/* Title and Description */
.form-theme.animated-theme .form-title {
    font-size: 28px;
    font-weight: bold;
    color: #2c86bf;
    text-align: center;
    margin-bottom: 15px;
    animation: fadeIn 1.2s ease-out;
}

.form-theme.animated-theme .form-description {
    font-size: 16px;
    color: #7a7a7a;
    text-align: center;
    margin-bottom: 30px;
    font-style: italic;
    animation: fadeIn 1.4s ease-out;
}

/* Language Selector */
.form-theme.animated-theme .language-selector {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #2c86bf;
    margin-bottom: 20px;
    animation: fadeIn 1.6s ease-out;
}

.form-theme.animated-theme .language-selector i {
    margin-right: 8px;
}

/* Input and Select Styling */
.form-theme.animated-theme input[type="file"],
.form-theme.animated-theme input[type="text"],
.form-theme.animated-theme input[type="email"],
.form-theme.animated-theme select,
.form-theme.animated-theme textarea {
    width: 100%;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: #ffffff;
    color: #3a3a3a;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 18px;
    font-size: 15px;
    animation: fadeIn 1.8s ease-out;
}

.form-theme.animated-theme input[type="file"]:focus,
.form-theme.animated-theme input[type="text"]:focus,
.form-theme.animated-theme input[type="email"]:focus,
.form-theme.animated-theme select:focus,
.form-theme.animated-theme textarea:focus {
    border-color: #2c86bf;
    box-shadow: 0 0 12px rgba(44, 134, 191, 0.3);
    transform: scale(1.02);
}

/* Column Form Layout */
.form-theme.animated-theme .col-form {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.form-theme.animated-theme .col-form > div {
    flex: 1 1 48%;
    min-width: 240px;
    animation: fadeIn 2s ease-out;
}

/* UL and LI Styling */
.form-theme.animated-theme ul {
    list-style-type: none;
    padding-left: 0;
    color: #4a4a4a;
}

.form-theme.animated-theme ul li {
    margin-bottom: 12px;
    font-size: 15px;
    animation: fadeIn 2.2s ease-out;
}

/* Form Group Label */
.form-theme.animated-theme .form-group label {
    font-weight: 600;
    color: #3a3a3a;
    margin-bottom: 6px;
    display: block;
    animation: fadeIn 2.4s ease-out;
}

/* Buttons */
.form-theme.animated-theme .btn-danger,
.form-theme.animated-theme .btn-info,
.form-theme.animated-theme .btn-success {
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    transition: background-color 0.3s ease, transform 0.3s ease;
    text-align: center;
    margin-top: 8px;
    animation: fadeIn 2.6s ease-out, pulse 1.5s infinite ease-in-out;
}

.form-theme.animated-theme .btn-danger {
    background-color: #e74c3c;
}

.form-theme.animated-theme .btn-info {
    background-color: #3498db;
}

.form-theme.animated-theme .btn-success {
    background-color: #27ae60;
}

/* Hover Effects for Buttons */
.form-theme.animated-theme .btn-danger:hover,
.form-theme.animated-theme .btn-info:hover,
.form-theme.animated-theme .btn-success:hover {
    transform: scale(1.05);
}

/* Submit Button */
.form-theme.animated-theme input[type="submit"] {
    background-color: #2c86bf;
    color: #fff;
    font-weight: bold;
    border: none;
    padding: 14px 30px;
    border-radius: 8px;
    cursor: pointer;
    display: block;
    margin: 28px auto;
    transition: background-color 0.3s ease, transform 0.3s ease;
    width: fit-content;
    animation: pulse 1.5s infinite ease-in-out;
}

.form-theme.animated-theme input[type="submit"]:hover {
    background-color: #236a92;
    transform: scale(1.05);
}

/* Responsive Design */
@media (max-width: 768px) {
    .form-theme.animated-theme .col-form > div {
        flex: 1 1 100%;
    }
}

/* --------------------- DE THEME --------------------------------- */

/* Hide helper and charachter count */
.form-theme.de-theme .maxlength-feedback {display: none;}
.form-theme.de-theme .help-block{display: none;}
/* Maximum width */
.form-theme.de-theme .theContent{max-width: 100%; padding: 5px;}

/* Thin gap between questions */
.form-theme.de-theme .form-group {margin-bottom: -5px;}

/* Section font */
.form-theme.de-theme h4, .form-theme.de-theme.h4 {font-family: 'Poppins', sans-serif; font-weight: 800; font-style: italic; line-height: 1.4; margin-left: 6px;}

/* Main Form Container */
.form-theme.de-theme {
    font-family: 'Poppins', sans-serif;
    background-color: #f4f6f9;
    color: #2c3e50;
    padding: 5px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 100%; /* Full-width */
    margin-top:-20px;
}

/* Title and Description */
.form-theme.de-theme .form-title {
    font-size: 28px;
    font-weight: 700;
    color: #2c3e50;
    text-align: center;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.form-theme.de-theme .form-description {
    font-size: 16px;
    color: #73787d;
    text-align: center;
    margin-bottom: 25px;
    font-style: italic;
}

/* Language Selector */
.form-theme.de-theme .language-selector {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #2c3e50;
    margin-bottom: 15px;
}

.form-theme.de-theme .language-selector i {
    margin-right: 6px;
}

/* Input and Select Styling */
.form-theme.de-theme input[type="file"],
.form-theme.de-theme input[type="text"],
.form-theme.de-theme input[type="email"],
.form-theme.de-theme select,
.form-theme.de-theme textarea {
    width: 100%;
    padding: 6px;
    border: 1px solid #dfe4ea;
    border-radius: 5px;
    background-color: #ffffff;
    color: #2c3e50;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 15px;
    font-size: 14px;
}

.form-theme.de-theme input[type="file"]:focus,
.form-theme.de-theme input[type="text"]:focus,
.form-theme.de-theme input[type="email"]:focus,
.form-theme.de-theme select:focus,
.form-theme.de-theme textarea:focus {
    border-color: #2c3e50;
    box-shadow: 0 0 6px rgba(44, 62, 80, 0.15);
}

/* Column Form Layout */
.form-theme.de-theme .col-form {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.form-theme.de-theme .col-form > div {
    flex: 1 1 48%;
    min-width: 240px;
}

/* UL and LI Styling */
.form-theme.de-theme ul {
    list-style-type: none;
    padding-left: 0;
    color: #444;
}

.form-theme.de-theme ul li {
    margin-bottom: 12px;
    font-size: 14px;
}

/* Form Group Label */
.form-theme.de-theme .form-group label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 5px;
    display: block;
    display: flex;
    align-items:center;
    gap: 8px
}

/* Buttons */
.form-theme.de-theme .btn-danger,
.form-theme.de-theme .btn-info,
.form-theme.de-theme .btn-success {
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    transition: background-color 0.2s ease, transform 0.2s ease;
    text-align: center;
    margin-top: 8px;
}

.form-theme.de-theme .btn-danger {
    background-color: #c0392b;
}

.form-theme.de-theme .btn-info {
    background-color: #3498db;
}

.form-theme.de-theme .btn-success {
    background-color: #27ae60;
}

/* Hover Effects for Buttons */
.form-theme.de-theme .btn-danger:hover {
    background-color: #a52820;
    transform: scale(1.02);
}

.form-theme.de-theme .btn-info:hover {
    background-color: #2980b9;
    transform: scale(1.02);
}

.form-theme.de-theme .btn-success:hover {
    background-color: #1e8e4a;
    transform: scale(1.02);
}

.form-theme.de-theme input[type="submit"]:hover {
    background-color: #243447;
    transform: scale(1.05);
}

/* Responsive Design */
@media (max-width: 768px) {
    .form-theme.de-theme .col-form > div {
        flex: 1 1 100%;
    }
}

.form-theme.de-theme input[type="radio"],
.form-theme.de-theme input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  position: relative;
  right: 0;
  bottom: 0;
  left: 0;
  height: 30px;
  width: 30px;
  transition: all 0.15s ease-out 0s;
  background: #cbd1d8;
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  margin-right: 0.5rem;
  outline: none;
  z-index: 1000;
}

.form-theme.de-theme input[type="radio"]:hover,
.form-theme.de-theme input[type="checkbox"]:hover {
  background: #9faab7;
}

.form-theme.de-theme input[type="radio"]:checked,
.form-theme.de-theme input[type="checkbox"]:checked {
  background: #4664B2;
}

.form-theme.de-theme input[type="radio"]:checked::before,
.form-theme.de-theme input[type="checkbox"]:checked::before {	
  width: 30px;
  height: 30px;
  display:flex;
  content: '\f00c';
  font-size: 20px;
  font-weight:bold;
  position: absolute;
  align-items:center;
  justify-content:center;
  font-family:'Font Awesome 5 Free';
}

.form-theme.de-theme input[type="radio"]:checked::after,
.form-theme.de-theme input[type="checkbox"]:checked::after {	
  -webkit-animation: click-wave 0.65s;
  -moz-animation: click-wave 0.65s;
  animation: click-wave 0.65s;
  background: #40e0d0;
  content: '';
  display: block;
  position: relative;
  z-index: 100;
}
.form-theme.de-theme input[type="radio"] {
  border-radius: 50%;
  vertical-align: middle;
  flex-shrink:0;
}
.form-theme.de-theme input[type="radio"]::after {
  border-radius: 50%;
  vertical-align: middle;
}

.form-theme.de-theme input[type="checkbox"] {
  vertical-align: middle;
  flex-shrink:0;
}
.form-theme.de-theme input[type="checkbox"]::after {
  vertical-align: middle;
}

.form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
}

/* Questions Background Color */
.form-theme.de-theme .formView li ul li {background: #E0E9FA;}
/* Sub-Questions Background Color */
.form-theme.de-theme .formView li ul li li {background: #f3f8f5;}

@keyframes click-wave {
  0% {
    height: 40px;
    width: 40px;
    opacity: 0.35;
    position: relative;
  }
  100% {
    height: 200px;
    width: 200px;
    margin-left: -80px;
    margin-top: -80px;
    opacity: 0;
  }
}

