.container {
    max-width: 100vw;
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
}

.contact-title-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-title {
    font-size: 2.5rem;
    font-weight: bold;
    padding: 10px 0px;
    text-transform: capitalize;
    margin: 0;
    color: var(--app-main-dark-color);
    word-wrap: break-word;
    hyphens: auto;
}

.contact-subtitle {
    padding: 10px 0px;
    font-size: 1rem;
    margin: 0;
    color: #777777;
}

.contact-form-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
}

.contact-form-container {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--app-main-light-color);
    border-radius: 10px;
    padding: 20px;
    margin: 20px 0;
    width: 50%;
    z-index: 10;
}

.contact-input {
    display: flex;
    flex-direction: column;
}

label {
    margin-bottom: 2px;
    color: var(--app-main-dark-color);
}

label.required::after,
label[required]::after {
  content: " *";
  color: var(--app-main-dark-color);
  font-weight: bold;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
    padding: 10px;
    width: 100%;
    border-radius: 10px;
    border: 1px solid var(--app-main-light-color);
    font-size: 1rem;
    margin: 0 0 10px 0;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--app-main-dark-color);
  box-shadow: rgba(var(--app-main-light-color-rgb), 0.35) 0px 5px 15px;
}

.submit-container {
    display: flex;
    justify-content: end;
}

.form-error {
    color: red;
    font-size: 1.1rem;
}

@media (max-width: 1024px) {

    .contact-form-container {
        width: 70%;
    } 
}

@media (max-width: 768px) {
    .contact-title-container {
        margin: 0 1rem;
    }

    .contact-form-container {
        width: 100%;
        margin: 0 1rem;
    }
}