 #training-survey {
     max-width: 1200px;
     margin: auto;
}
 #progress-bar {
     width: 100%;
     height: 10px;
     background: #ccc;
     margin-bottom: 20px;
     border-radius: 10px;
}
 #progress {
     height: 100%;
     width: 0%;
     background: #FF2D98;
     transition: width 0.3s ease;
     border-radius: 10px;
}
 .survey-step {
     display: none;
}
 .survey-step.active {
     display: block;
}
 .survey-btn-wrap {
     text-align: center;
}
 button {
     margin-top: 10px;
     padding: 10px;
     background: #0073e6;
     color: white;
     border: none;
     cursor: pointer;
}
 button:hover {
     background: #005bb5;
}
 .question-container {
     padding: 0px 0px 30px 0px;
     margin-bottom: 30px;
     border-radius: 0px;
     border-bottom: 1px solid #CCC;
}
 .question-container:last-of-type {
     border: none;
}
 .error-highlight {
     border-radius: 10px;
     background: #FFE3F0;
     padding: 20px 30px;
     border-bottom: 0px;
}
 .warning-message {
     color: #FF2D98;
     font-weight: 600;
     margin-top: 5px;
}
 .survey-step label {
     display: block;
     margin-bottom: 15px;
}
 .survey-step label:last-of-type {
     margin-bottom: 0px;
}
 .survey-step h2 {
     text-transform: uppercase;
     letter-spacing: 1px;
     display: flex;
     justify-content: flex-start;
     align-items: center;
     gap: 15px;
     flex-flow: row nowrap;
}
 .survey-step h2 i {
     font-size: 24px;
}
 .survey-btn-wrap {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 15px;
     flex-flow: row wrap;
}
 button#print-button {
     background: transparent;
     border: 1px solid #40405D;
     color: #40405D;
}
 button#print-button:hover {
     background: #fff;
}
 span.survey-btn-icon {
     margin-right: 10px;
}
 .location-group {
     border-bottom: 1px solid #ccc;
     padding-bottom: 30px;
     margin-bottom: 20px;
}
 .location-group:last-of-type {
     border: none;
     margin: 0;
     padding: 0;
}
 .location-options {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     padding: 10px 0;
}
 @media (max-width: 768px) {
     .location-options {
         grid-template-columns: repeat(2, 1fr);
    }
}
 @media (max-width: 480px) {
     .location-options {
         grid-template-columns: repeat(1, 1fr);
        /* 1 column */
    }
}
 .survey-step label[for=competitorRenewal24Months] {
     display: block !important;
     margin-bottom: 15px;
     width: 100% !important;
     font-size: 14px !important;
     font-weight: 600 !important;
     margin-bottom: 10px !important;
     margin-left: 10px !important;
}
#survey-form h1 {
    font-size: 24px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
 .survey-start-wrap {
     display: flex;
     justify-content: flex-start;
     align-content: center;
     flex-flow: row wrap;
     gap: 40px;
     padding: 60px 40px;
     margin-top: 20px;
     background: #fff;
     border-radius: 20px;
     box-shadow: 0px 4px 16px rgba(0, 0, 0, .16);
}
 .survey-start-content .survey-btn-wrap {
     justify-content: flex-start;
	 margin-top: 30px;
}
 #survey-form .survey-start-content h2 {
     font-size: 34px;
	 margin-top: 0px;
	 text-transform: unset;
     letter-spacing: unset;
}
 .survey-start-content {
     flex: 1 0 calc(50% - 40px);
}
 .survey-start-image {
     flex: 1 0 calc(50% - 40px);
}
 .survey-start-image img {
     border-radius: 10px!important;
}
 #training-recommendations a {
     color: #FF2D98;
}
 #training-recommendations a:hover {
     text-decoration: underline;
}
 #training-recommendations .category-wrap {
     margin-bottom: 30px;
     padding-bottom: 15px;
     border-bottom: 1px solid #CCC;
}
 #training-recommendations h3.category-title {
     display: flex;
     justify-content: flex-start;
     align-items: center;
     flex-flow: row nowrap;
     gap: 15px;
     width: 100%;
}
 #training-recommendations .category-icon {
     max-width: 24px;
}
