.mtlf-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
font-family: Arial, sans-serif;
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.mtlf-step-indicator {
display: flex;
justify-content: center;
margin-bottom: 30px;
padding: 0;
list-style: none;
}
.mtlf-step-indicator li {
flex: 1;
text-align: center;
position: relative;
color: #ccc;
font-weight: bold;
}
.mtlf-step-indicator li.active {
color: #007cba;
}
.mtlf-step-indicator li.completed {
color: #46b450;
}
.mtlf-step-indicator li::before {
content: attr(data-step);
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
border-radius: 50%;
background: #ccc;
color: #fff;
margin-bottom: 10px;
}
.mtlf-step-indicator li.active::before {
background: #007cba;
}
.mtlf-step-indicator li.completed::before {
background: #46b450;
content: "✓";
}
.mtlf-step-indicator li::after {
content: '';
position: absolute;
top: 20px;
left: 50%;
width: 100%;
height: 2px;
background: #ccc;
z-index: -1;
}
.mtlf-step-indicator li:last-child::after {
display: none;
}
.mtlf-step-indicator li.completed::after {
background: #46b450;
}
.mtlf-step {
display: none;
animation: fadeIn 0.3s ease-in;
}
.mtlf-step.active {
display: block;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
.mtlf-step h3 {
color: #333;
margin-bottom: 20px;
text-align: center;
font-size: 24px;
}
@media (max-width: 768px) {
.mtlf-row {
display: flex;
gap: 15px;
margin-bottom: 0px;
flex-wrap: wrap;
}
}
@media (min-width: 769px) {
.mtlf-row {
display: flex;
gap: 15px;
margin-bottom: 15px;
flex-wrap: wrap;
}
}
.mtlf-col {
flex: 1;
min-width: 200px;
}
.mtlf-col-full {
width: 100%;
}
.mtlf-field {
margin-bottom: 15px;
position: relative;
}
.mtlf-field label {
display: block;
margin-bottom: 5px;
font-weight: bold;
color: #333;
}
.mtlf-field label .required {
color: #dc3232;
}
.mtlf-field input,
.mtlf-field select,
.mtlf-field textarea {
width: 100%;
padding: 12px;
border: 2px solid #ddd;
border-radius: 4px;
font-size: 16px;
transition: border-color 0.3s ease;
box-sizing: border-box;
}
.mtlf-field input:focus,
.mtlf-field select:focus,
.mtlf-field textarea:focus {
outline: none;
border-color: #007cba;
box-shadow: 0 0 5px rgba(0,124,186,0.3);
}
.mtlf-field textarea {
resize: vertical;
min-height: 100px;
}
.mtlf-field .error {
border-color: #dc3232;
}
.mtlf-error-message {
color: #dc3232;
font-size: 14px;
margin-top: 5px;
display: none;
}
.mtlf-buttons {
display: flex;
justify-content: space-between;
margin-top: 30px;
gap: 15px;
}
.mtlf-btn {
padding: 12px 30px;
border: none;
border-radius: 4px;
font-size: 16px;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
text-align: center;
}
.mtlf-btn-primary {
background: #007cba;
color: white;
}
.mtlf-btn-primary:hover {
background: #005a87;
}
.mtlf-btn-secondary {
background: #f1f1f1;
color: #333;
}
.mtlf-btn-secondary:hover {
background: #e1e1e1;
}
.mtlf-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.mtlf-loading {
display: none;
text-align: center;
padding: 20px;
}
.mtlf-spinner {
border: 3px solid #f3f3f3;
border-top: 3px solid #007cba;
border-radius: 50%;
width: 30px;
height: 30px;
animation: spin 1s linear infinite;
margin: 0 auto;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.mtlf-success-message {
background: #d4edda;
color: #155724;
padding: 15px;
border-radius: 4px;
margin-top: 20px;
display: none;
text-align: center;
}
.mtlf-error-general {
background: #f8d7da;
color: #721c24;
padding: 15px;
border-radius: 4px;
margin-top: 20px;
display: none;
text-align: center;
} .pac-container {
border-radius: 4px;
border: 1px solid #ccc;
font-family: Arial, sans-serif;
}
.pac-item {
padding: 10px;
border-bottom: 1px solid #eee;
cursor: pointer;
}
.pac-item:hover {
background: #f5f5f5;
}
.pac-item-query {
font-weight: bold;
} @media (max-width: 768px) {
.mtlf-container {
margin: 10px;
padding: 15px;
}
.mtlf-row {
flex-direction: column;
gap: 0;
}
.mtlf-col {
min-width: auto;
}
.mtlf-step-indicator { gap: 5px;
}
.mtlf-step-indicator li {
font-size: 12px;
}
.mtlf-step-indicator li::before {
width: 30px;
height: 30px;
line-height: 30px;
font-size: 14px;
}
.mtlf-step-indicator li::after {
display: none;
}
.mtlf-step h3 {
font-size: 20px;
}
.mtlf-buttons {
flex-direction: column;
}
.mtlf-btn {
width: 100%;
margin-bottom: 10px;
}
}
@media (max-width: 480px) {
.mtlf-container {
margin: 5px;
padding: 10px;
}
.mtlf-field input,
.mtlf-field select,
.mtlf-field textarea {
font-size: 14px;
padding: 10px;
}
.mtlf-step h3 {
font-size: 18px;
}
} .mtlf-single-page {
max-width: 900px;
background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
border: 1px solid #e9ecef;
}
.mtlf-header {
text-align: center;
margin-bottom: 40px;
padding: 30px 20px;
background: linear-gradient(135deg, #007cba 0%, #005a87 100%);
color: white;
border-radius: 8px 8px 0 0;
margin: -20px -20px 15px -20px;
} .mtlf-single-page:not(:has(.mtlf-header)) {
border-radius: 8px;
}
.mtlf-single-page:not(:has(.mtlf-header)) .mtlf-form-sections {
margin-top: 0;
}
.mtlf-header h2 {
margin: 0 0 10px 0;
font-size: 28px;
font-weight: 600;
text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.mtlf-header p {
margin: 0;
font-size: 16px;
opacity: 0.9;
}
.mtlf-form-sections {
display: flex;
flex-direction: column;
gap: 15px;
}
.mtlf-section {
background: #ffffff;
border: 1px solid #e9ecef;
border-radius: 12px;
padding: 10px;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
transition: all 0.3s ease;
}
.mtlf-section:hover {
box-shadow: 0 4px 16px rgba(0,0,0,0.1);
transform: translateY(-2px);
}
.mtlf-section-title {
display: flex;
align-items: center;
gap: 12px;
margin: 4px 0 25px 0 !important;
font-size: 20px;
font-weight: 600;
color: #333;
padding-bottom: 15px;
border-bottom: 2px solid #f8f9fa;
}
.mtlf-section-icon {
font-size: 24px;
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center; border-radius: 50%;
color: white;
box-shadow: 0 2px 8px rgba(0,124,186,0.3);
}
.mtlf-submit-section {
text-align: center;
margin-top: 40px;
padding: 30px 0;
}
.mtlf-btn-submit-single {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 16px 40px;
font-size: 18px;
font-weight: 600;
background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
color: white;
border: none;
border-radius: 50px;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 16px rgba(40,167,69,0.3);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.mtlf-btn-submit-single:hover {
background: linear-gradient(135deg, #218838 0%, #1ea085 100%);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(40,167,69,0.4);
}
.mtlf-btn-submit-single:active {
transform: translateY(0);
}
.mtlf-btn-text {
font-weight: 600;
}
.mtlf-btn-icon {
font-size: 20px;
animation: float 2s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-3px); }
} .mtlf-single-page .mtlf-success-message {
background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
border: 1px solid #c3e6cb;
border-radius: 12px;
padding: 30px;
text-align: center;
box-shadow: 0 4px 16px rgba(40,167,69,0.2);
}
.mtlf-single-page .mtlf-error-general {
background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
border: 1px solid #f5c6cb;
border-radius: 12px;
padding: 30px;
text-align: center;
box-shadow: 0 4px 16px rgba(220,53,69,0.2);
}
.mtlf-success-icon,
.mtlf-error-icon {
font-size: 48px;
margin-bottom: 15px;
display: block;
}
.mtlf-single-page .mtlf-success-message h3,
.mtlf-single-page .mtlf-error-general h3 {
margin: 0 0 15px 0;
font-size: 24px;
font-weight: 600;
}
.mtlf-single-page .mtlf-success-message p,
.mtlf-single-page .mtlf-error-general p {
margin: 0;
font-size: 16px;
line-height: 1.5;
} .mtlf-single-page .mtlf-field input,
.mtlf-single-page .mtlf-field select,
.mtlf-single-page .mtlf-field textarea {
border: 2px solid #e9ecef;
border-radius: 8px;
padding: 14px 16px;
font-size: 16px;
transition: all 0.3s ease;
background: #ffffff;
}
.mtlf-single-page .mtlf-field input:focus,
.mtlf-single-page .mtlf-field select:focus,
.mtlf-single-page .mtlf-field textarea:focus {
border-color: #007cba;
box-shadow: 0 0 0 3px rgba(0,124,186,0.1);
background: #ffffff;
}
.mtlf-single-page .mtlf-field label {
font-weight: 600;
color: #495057;
margin-bottom: 8px;
font-size: 15px;
} @media (max-width: 768px) {
.mtlf-single-page {
margin: 10px;
padding: 15px;
}
.mtlf-header {
margin: -15px -15px 30px -15px;
padding: 20px 15px;
}
.mtlf-header h2 {
font-size: 24px;
}
.mtlf-header p {
font-size: 14px;
}
.mtlf-section {
padding: 20px;
}
.mtlf-section-title {
font-size: 18px;
gap: 10px;
}
.mtlf-section-icon {
width: 35px;
height: 35px;
line-height: 35px;
font-size: 20px;
}
.mtlf-btn-submit-single {
padding: 14px 30px;
font-size: 16px;
width: 100%;
justify-content: center;
}
.mtlf-form-sections {
gap: 20px;
}
}
@media (max-width: 480px) {
.mtlf-single-page .mtlf-field input,
.mtlf-single-page .mtlf-field select,
.mtlf-single-page .mtlf-field textarea {
padding: 12px 14px;
font-size: 14px;
}
.mtlf-section-title {
font-size: 16px;
flex-direction: column;
text-align: center;
gap: 8px;
}
.mtlf-success-icon,
.mtlf-error-icon {
font-size: 36px;
}
.mtlf-single-page .mtlf-success-message h3,
.mtlf-single-page .mtlf-error-general h3 {
font-size: 20px;
}
} .mtlf-field.location-valid input {
border-color: #46b450;
background-color: #f0f9f0;
}
.mtlf-field.location-valid input:focus {
border-color: #46b450;
box-shadow: 0 0 5px rgba(70, 180, 80, 0.3);
}
.mtlf-field.location-warning input {
border-color: #f39c12;
background-color: #fefaf0;
}
.mtlf-field.location-warning input:focus {
border-color: #f39c12;
box-shadow: 0 0 5px rgba(243, 156, 18, 0.3);
}
.mtlf-field.location-invalid input {
border-color: #dc3232;
background-color: #fff5f5;
}
.mtlf-field.location-invalid input:focus {
border-color: #dc3232;
box-shadow: 0 0 5px rgba(220, 50, 50, 0.3);
} .mtlf-field.location-valid::after {
content: "✓";
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
color: #46b450;
font-weight: bold;
font-size: 16px;
pointer-events: none;
}
.mtlf-field.location-warning::after {
content: "⚠";
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
color: #f39c12;
font-weight: bold;
font-size: 16px;
pointer-events: none;
}
.mtlf-field.location-invalid::after {
content: "✕";
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
color: #dc3232;
font-weight: bold;
font-size: 16px;
pointer-events: none;
} .mtlf-field {
position: relative;
} .mtlf-help-text {
display: block;
color: #666;
font-size: 12px;
margin-top: 5px;
font-style: italic;
}