.bloc.bloc_contact {
    padding-top: var(--height-header);
    min-height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bloc.bloc_contact .wrapper {
    padding: var(--gap-5);
    flex: 1;
    width: 100%;
    max-width: 1400px;
    display: flex;
    flex-direction: column;
    gap: var(--gap-4);
}

.bloc.bloc_contact .wrapper .top {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
}

.bloc.bloc_contact .wrapper .bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bloc.bloc_contact .wrapper .bottom .custom-form {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    max-width: 700px;
    gap: var(--gap);
}

.bloc.bloc_contact .wrapper .bottom .custom-form div.flex {
    gap: var(--gap);
    margin-bottom: var(--gap);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.bloc.bloc_contact .wrapper .bottom .custom-form div.flex.submit {
    padding-top: var(--gap-2);
    justify-content: center;
}

.bloc.bloc_contact .wrapper .bottom .custom-form div.flex.column {
    gap: var(--gap);
    margin-bottom: var(--gap);
    display: flex;
    flex-direction: column;
    color: var(--color-gris);
}

.bloc.bloc_contact .wrapper .bottom .custom-form div.flex.column p {
    margin-bottom: 0;
}

.bloc.bloc_contact .wrapper .bottom .custom-form div.flex.border {
    border: 1px solid var(--color-grey);
}

.bloc.bloc_contact .wrapper .bottom .custom-form select {
    font-family: var(--font-text);
    font-size: 1.4rem;
    font-style: italic;
    width: 100%;
    border: 1px solid var(--color-grey);
    border-radius: 0;
    padding: calc(var(--gap) / 2) var(--gap);
    transition: all 0.3s ease-out;
}

.bloc.bloc_contact .wrapper .bottom .custom-form input,
.bloc.bloc_contact .wrapper .bottom .custom-form textarea {
    font-family: var(--font-text);
    width: 100%;
    border: 1px solid var(--color-grey);
    border-radius: 0;
    padding: 0 var(--gap-xs);
    transition: all 0.3s ease-out;
}

.bloc.bloc_contact .wrapper .bottom .custom-form select:focus,
.bloc.bloc_contact .wrapper .bottom .custom-form input:focus,
.bloc.bloc_contact .wrapper .bottom .custom-form textarea:focus {
    outline: none !important;
    border: 1px solid var(--color-blue);
    box-shadow: 0 0 5px var(--color-blue);
}

.bloc.bloc_contact .wrapper .bottom .custom-form input {
    height: 35px;
}

.bloc.bloc_contact .wrapper .bottom .custom-form input[type=radio] {
    height: 20px;
}

.bloc.bloc_contact .wrapper .bottom .custom-form input[type=radio]:focus {
    box-shadow: none;
}

.bloc.bloc_contact .wrapper .bottom .custom-form input[type=submit] {
    cursor: pointer;
    width: 25%;
    background-color: var(--color-blue);
    border: 1px solid var(--color-blue);
    color: var(--color-white);
    padding: var(--gap-xs);
    text-transform: uppercase;
    transition: all 0.3s ease-out;
}

.bloc.bloc_contact .wrapper .bottom .custom-form input[type=submit]:hover {
    color: var(--color-blue);
    background-color: var(--color-white);
}

.bloc.bloc_contact .wrapper .bottom .custom-form input[type=checkbox] {
    height: 25px;
    width: 25px;
    margin-right: var(--gap);
}

.bloc.bloc_contact .wrapper .bottom .custom-form .checkbox>span {
    display: flex;
    align-items: center;
    margin: 0;
}

.bloc.bloc_contact .wrapper .bottom .custom-form .text,
.bloc.bloc_contact .wrapper .bottom .custom-form label {
    font-family: var(--font-text);
    font-weight: var(--font-text-regular);
    font-size: 1.4rem;
    color: var(--color-black);
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    width: 100%;
}

.bloc.bloc_contact .wrapper .bottom .custom-form div.flex.checkbox label {
    flex-direction: row;
    align-items: center;
}

.bloc.bloc_contact .wrapper .bottom .custom-form label textarea {
    padding: var(--gap-xs);
}

.bloc.bloc_contact .wrapper .bottom .custom-form ::placeholder {
    color: var(--color-grey);
    font-style: italic;
}

#form-messages {
    margin-top: var(--gap);
    font-size: 1.4rem;
}

#form-messages.success {
    color: green;
}

#form-messages.error {
    color: #e74c3c;
}

input.error,
select.error,
textarea.error {
    border-color: #e74c3c !important;
}

input[type=checkbox].error {
    outline: auto #e74c3c;
}

.bloc.bloc_contact .input-error {
    border: 2px solid #e74c3c;
}

.bloc.bloc_contact .field-error {
    color: #e74c3c;
    font-size: 1.4rem;
    margin-top: 4px;
}

/******************** RESPONSIVE ********************/
@media (max-width : 768px) {
    .bloc.bloc_contact .wrapper .top .paragraph {
        text-align: justify;
    }
}

@media (max-width : 480px) {
    .bloc.bloc_contact .wrapper {
        padding: var(--gap-5) var(--gap-2);
    }
}