#head_page h1 {
    font-family: 'nexa-bold', Arial, Helvetica, sans-serif;
    text-align: center;
    font-weight: 400;
    color: #04a599;
    margin: 0
}
#content_page h2 {
    font-family: 'nexa-bold', Arial, Helvetica, sans-serif;
    text-align: center;
    color: #04a599;
    margin: 0;
    font-weight: 400
}
#content_page p, #content_page p a {
    font-family: open_sansregular, Arial, Helvetica, sans-serif;
    text-align: center;
    color: #616566;
    margin: 0;
}
#content_page p a {
    text-decoration: none;
    line-height: 2.5;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    letter-spacing: inherit;
    text-transform: inherit
}
strong {
    font-family: open_sansbold, Arial, Helvetica, sans-serif;
    font-weight: 400;
    color: #04a599
}
#content_page p.OBLIG {
    font-family: open_sansitalic, Arial, Helvetica, sans-serif
}
#form_contact {
    width: 90%;
    margin: 0 5%;
    font-family: open_sansregular, Arial, Helvetica, sans-serif;
}
fieldset {
    margin: 0;
    padding: 0;
    border: none
}
fieldset .element {
    margin: 0 0 24px;
    float: left;
    width: 100%
}
fieldset .element:last-child {
    margin: 0;
}
input,
textarea {
    padding: 2%;
    width: 96%;
    margin: 0;
    color: #616566;
    background-color: #e6f2f1;
    float: left;
    outline: 0;
    border: 1px solid #dae2e5;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -o-transition: all .25s ease;
    -ms-transition: all .25s ease;
    transition: all .25s ease
}
textarea {
    overflow: auto;
    resize: vertical;
}
#content_page .contact_p.OBLIG,
#content_page p.OBLIG {
    margin: 0 0 24px;
    line-height: 14px;
    font-size: 14px;
    text-align: right;
    padding: 0 6px
}
.submit,input[type=button],input[type=submit] {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    background-color: #04a599;
    border: solid 2px #04a599;
    text-indent: 0;
    display: block;
    color: #FFF;
    font-family: open_sansregular, Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    line-height: 1;
    width: 100%;
    text-decoration: none;
    text-align: center;
    margin: 0;
    text-transform: uppercase;
    -webkit-transition: all .s ease;
    -moz-transition: all .s ease;
    -o-transition: all .s ease;
    -ms-transition: all .s ease;
    transition: all .s ease;
}
p#invalid,
p#valid {
    font-family: open_sansregular, Arial, Helvetica, sans-serif;
    color: #616566;
    text-align: center;
    padding: 0;
    line-height: 1 !important;
    padding: 24px !important;
    margin: 0 0 24px 0;
}
.submit:hover,
input[type=button]:hover,
input[type=submit]:hover {
    border-color: #FFF
}
::-webkit-input-placeholder {
    color: #7c7d80
}
:-moz-placeholder {
    color: #7c7d80
}
::-moz-placeholder {
    color: #7c7d80
}
:-ms-input-placeholder {
    color: #7c7d80
}
input:required,
textarea:required {
    box-shadow: none
}
input:required:focus,
textarea:required:focus {
    border: 1px solid #dae2e5;
    outline: 0
}
input:required:hover,
textarea:required:hover {
    border: 1px solid #dae2e5;
    background-color: #FFF
}
input:required:valid,
textarea:required:valid {
    border: 1px solid #ccffd3;
    background-color: #ccffd3;
    background-image: url(../img/picto_on.png);
    background-repeat: no-repeat
}
input:required:focus:invalid,
textarea:required:focus:invalid {
    border: 1px solid #fcc;
    background-color: #fcc;
    background-image: url(../img/picto_off.png);
    background-repeat: no-repeat
}
p#valid {
    background-color: #ccffd3
}
p#invalid {
    background-color: #fcc
}
.coordonnees {
    margin: 48px 24px;
}
.coordonnees a {
    display: inline-block;
}
.map-responsive {
    overflow:hidden;
    padding-bottom:75%;
    position:relative;
    height:0;
}
.map-responsive iframe {
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}
@media only screen and (max-width:767px) {
    #content_page h2,
    #head_page h1 {
        font-size: 24px;
        line-height: 30px
    }
    input,
    input:required:focus:invalid,
    input:required:valid {
        background-position: 98% center
    }
    textarea,
    textarea:required:focus:invalid,
    textarea:required:valid {
        background-position: 98% 8px
    }
    #head_page h1 {
        padding: 24px 0
    }
    #content_page {
        line-height: 18px;
        padding: 12px 0
    }
    #content_page h2 {
        padding: 0 24px
    }
    #content_page .contact_p,
    #content_page p {
        font-size: 16px;
        line-height: 24px;
        padding: 12px 24px
    }
    input,
    textarea {
        line-height: 24px;
        font-size: 14px
    }
    .submit,input[type=button],input[type=submit] {
        font-size: 12px;
        padding: 12px;
    }
    p#invalid,
    p#valid {
        font-size: 14px;        
    }
}
@media only screen and (min-width:768px) {
    .map-responsive {padding-bottom:50%;}
    #form_contact {
        width: 75%;
        margin: 0 12.5%;
    }
    input,
    input:required:focus:invalid,
    input:required:valid {
        background-position: 99% center
    }
    textarea,
    textarea:required:focus:invalid,
    textarea:required:valid {
        background-position: 99% 8px
    }
    #head_page h1 {
        font-size: 30px;
        line-height: 30px;
        padding: 36px 0
    }
    #content_page {
        line-height: 20px;
        padding: 24px 0
    }
    #content_page h2 {
        font-size: 24px;
        line-height: 48px;
        padding: 12px 24px
    }
    #content_page .contact_p,
    #content_page p {
        font-size: 16px;
        line-height: 24px;
        padding: 0 24px 24px
    }
    input,
    textarea {
        line-height: 24px;
        font-size: 16px
    }
    .submit,input[type=button],input[type=submit] {
        font-size: 16px;
        padding: 16px;
    }
    p#invalid,
    p#valid {
        font-size: 16px;
    }
}
@media only screen and (min-width:1024px) {
    .map-responsive {padding-bottom:33.33%;}
    #head_page h1 {
        font-size: 36px;
        line-height: 36px;
        padding: 48px 0
    }
    #content_page {
        line-height: 24px;
        padding: 24px 0
    }
    #content_page h2 {
        font-size: 30px;
        line-height: 48px;
        padding: 12px 24px
    }
    #content_page .contact_p,
    #content_page p {
        font-size: 18px;
        line-height: 24px;
        padding: 0 24px 24px
    }
    input,
    textarea {
        line-height: 24px;
        font-size: 18px
    }
    .submit,input[type=button],input[type=submit] {
        font-size: 18px;
        padding: 18px;
    }
    p#invalid,
    p#valid {
        font-size: 18px;
    }
}